GESTAPO

Antti Krats

Anna Kämäräinen

Kai Lahti

Kari Perttula

 

 

 

 

Tietotekniikan cum laude -työprojekti

Projektiraportti

13.1.2002

 

 

 

 

Jyväskylän yliopisto

tietotekniikan laitos


Tiivistelmä

Gestapo-ryhmä toteutti Jyväskylän yliopiston informaatioteknologian tiedekunnalle hälytys- ja seurantajärjestelmän syksyn 2001 aikana. Dokumentti kuvaa kyseisen tietotekniikan cum laude -työprojekti projektin läpivientiä ja asetettujen tavoitteiden toteutumista.

GESTAPO-projekti

Projektiryhmä:                          Antti Krats

                                                Anna Kämäräinen

                                                Kai Lahti

                                                Kari Perttula

 

Visuaalinen konsultti:                       Laura Kuurne

 

Tilaaja:                         Informaatioteknologian tiedekunta

                                                Jukka Järvinen

                                                Sauli Takkinen

 

Vastaava ohjaaja:                        Jukka-Pekka Santanen

 

Tekninen ohjaaja:                        Juha Lamberg

 

Työtila:                         Agora, C225.3

 

Laitteet:                                    Neljä PC-tietokonetta, joissa käyttöjärjestelmänä Windows 2000.

 

                                                3Com WWW-kamera, 2 kpl

                                                Logitech Quickcam -kamera

                                                NTC 33k -lämpövastuksia

                                                clip-1 IR -liikkeentunnistin, 2 kpl

                                                K&H GL-24 -koekytkentälevy

 

Ohjelmistonkehitystyökalut:              Delphi 6

 

Suunnittelutyökalut:                  Excel, Argo/UML


Sisältö

1        Johdanto   1

2      Tausta.. 2

3        Projektin resurssit.. 2

3.1            Henkilö-, laite- ja tilaresurssit  2

3.2            Laite- ja ohjelmistoresurssit  3

4        Projektille asetetut vaatimukset   4

5        Toteutuneen järjestelmän osat ja toiminnot.. 5

5.1            Järjestelmän sisältämät ohjelmat ja tiedostot  5

5.2            Toteutuneet hallintosovelluksen toiminnot  6

5.3            Toteutuneet seurantayksikön toiminnot  6

5.4            Toteutuneet tallennus- ja hälytysyksikön toiminnot  7

6        Työnjako ja aikataulu.. 8

6.1            Työnjaon toteutuminen   8

6.2            Aikataulun toteutuminen   9

7        Projektissa eteen tulleita ongelmia.. 11

8        Projekti oppimisen kannalta.. 12

9        Henkilökohtaiset kokemukset   13

9.1            Antti Krats. 13

9.2            Anna Kämäräinen   14

9.3       Kai Lahti 15

9.4            Kari Perttula.. 16

10            Yhteenveto.. 17

Lähteet. 15


1         Johdanto

Gestapo-projekti oli Jyväskylän yliopiston tietotekniikan laitoksen syksyn 2001 cum laude -työprojekti. Se toteutti informaatioteknologian tiedekunnalle valvonta- ja hälytysjärjestelmän, johon kuuluu mikrotietokoneisiin asenettavia kameroita sekä liikettä ja lämpötilaa tarkkailevia antureita. Järjestelmä hälyttää määriteltyjen hälytysrajojen rikkoutuessa sähköpostilla ja tekstiviestillä.

Järjestelmä toteutettiin hajautettuna. Siihen on mahdollista liittää useita seurantayksiköitä, joilta kerätyt kuvat ja mittaustiedot tallennetaan yhteiselle tallennusyksikölle. Kaikkien seurantayksiköiden tietojen katselu ja muokkaaminen onnistuu hallintasovelluksen avulla.

Projektin suunnittelu aloitettiin syyskuussa, ja järjestelmä esiteltiin projektien loppuesittelyssä joulukuussa. Alkuperäiset suunnitelmat projektin toteutukselle esitellään projekti- ja sovellusraporteissa. Projektissa syntyneiden sovellusten toimintaa kuvataan tarkemmin sovellusraportissa. Tämä dokumentti kuvaa projektin kulkua ideasta sovellukseksi.

Luvussa 2 esitellään projektin taustaa. Lukuun 3 on koottu projektin vaatimat resurssit. Luvussa 4 esitellään tilaajan määrittelemät vaatimukset toteutuneelle projektille. Luvussa 5 esitellään järjestelmän osat ja toiminnot. Luku 6 käsittelee suunnitellun työnjaon ja aikataulun toteutumista. Seitsemänteen lukuun on kerätty projektin aikana esille tulleita ongelmia, ja luvussa 8 kuvataan opittuja asioita. Lukuun 9 on kerätty kaikkien projektiryhmän jäsenten henkilökohtaiset kokemukset projektista

2         Tausta

Jyväskylän yliopiston hallinto ei ole lupauksistaan huolimatta järjestänyt Agora-rakennuksen mikroluokkiin ja muihin toivottuihin tiloihin valvontajärjestelmää. Tästä johtuen Agoran tiloja ja laitteiden käyttöä voidaan seurata vain tiloissa vierailemalla.

Informaatioteknologian tiedekunnan ylläpitohenkilökunnalla on ollut tarve saada suora näköyhteys mikroluokkiin suoraan työtiloista. Tämä nopeuttaa asennus- ja ylläpitotehtäviä, sillä kameran avulla näkee helposti, onko luokka tyhjä.

Lisäämällä järjestelmään erilaisia antureita ja enemmän toiminnallisuutta muodostui toteutettavasta projektista mielenkiintoisempi. Järjestelmä toimii kuten oikea hälytysjärjestelmä. Samalla informaatioteknologian tiedekunta ja tietotekniikan laitos keräävät projektin kautta kokemuksia eri laitteista ja niiden ohjauksesta ohjelmallisesti.

3         Projektin resurssit

Luvuissa kuvataan projektin käyttöön varattuja resursseja.

3.1       Henkilö-, laite- ja tilaresurssit

Gestapo-projektiryhmä koostui tietotekniikan opiskelijoista Antti Krats, Anna Kämäräinen, Kai Lahti ja Kari Perttula.

Ryhmän visuaalisena konsulttina toimi taideaineiden opiskelija Laura Kuurne. Hän antoi palautetta käyttöliittymän ulkoasusta. Visuaalisen konsultin tehtävänä oli myös grafiikan suunnittelu käyttöliittymään, mutta tämä jäi toteutumatta.

Tilaajaa edustivat informaatioteknologian tiedekunnasta Sauli Takkinen ja Jukka Järvinen. Projektin vastaavana ohjaajana toimi Jukka-Pekka Santanen ja teknisenä ohjaajana Juha Lamberg tietotekniikan laitokselta.

Projektiryhmän käyttöön oli varattu Mattilanniemestä Agorasta tietotekniikan laitokselta projektihuone AgC225.3. Projektipalaverit pidettiin Agorassa työprojektien kokoustilassa.

3.2       Laite- ja ohjelmistoresurssit

Projektiryhmän käytössä oli 4 mikrotietokonetta. Tietokoneiden käyttöjärjestelmänä oli Windows 2000. Lisäksi tietokoneisiin oli asennettu sovelluksen ohjelmointiin, suunnitteluun sekä dokumentointiin tarvittavat ohjelmistot.

Sovellus toteutettiin Delphi 6 -ohjelmointityökalun avulla. Ryhmällä oli käytössä kaksi 3Comin WWW-kameraa ja Logitechin Quickcam -kamera. 3Comin kamerat asennettiin USB-väylään ja Logitechin kamera tulostimelle varattuun porttiin. Lämpöantureina käytettiin peliohjainporttiin kytkettyjä NTC 33k -lämpövastuksia. Liiketunnistimina käytettiin infrapunalla toimivia clip-1 IR -tunnistimia, jotka kiinnitettiin com-porttiin.

Projektin alkuvaiheessa antureita simuloitiin Kooma-projektilta perityllä testilaitteistolla, joka sisälsi com-porttiin liitettävän johdon. Testilaitteella tutkittiin porttien ohjelmallista lukemista ja antureiden kalibrointia. Yksinkertaisuudestaan huolimatta testilaitteisto oli hyvä apuväline portin pinnien tiloissa tapahtuvien muutoksien seuraamiseen.

Tilaaja toimitti testaamista varten koekytkentälevyn. Levyn avulla voitiin helposti yhdistää anturit johtoihin ja tarvittaessa muuttaa kytkentöjä tinaamatta.


4         Projektille asetetut vaatimukset

Sovelluksen minimivaatimukset määriteltiin ensimmäisessä projektipalaverissa 20.9.2001 seuraavasti:

·        Hallintosovelluksella tulee voida reaaliaikaisesti seurata kameroita sekä antureita.

·        Tiedot tallennetaan lokitiedostoon.

·        Hälytykset lähetetään tekstiviestillä.

Tilaaja ei siis määritellyt järjestelmälle täsmällisiä tavoitteita, joten vaatimusmäärittely oli osa projektin tehtäviä. Käytännössä vaatimukset, toiveet ja suunnitelmat tarkentuivat projektipalaverien myötä. Uusia ideoita ja toivottavia ominaisuuksia ideoitiin projektipalavereissa runsaasti, joista osa ehdittiin toteuttaakin. Mahdolliselle jatkokehittäjälle jäi kuitenkin vielä runsaasti valmiiksi mietittyjä ideoita.

Projektisuunnitelmassa toteutettava järjestelmä jaettiin kuuteen osaan: pääohjain, porttien luku, kameroiden ohjaus, hälytysten käsittely, käyttöliittymän toteutus ja dokumentointi. Toteutetun järjestelmän osia kuvataan tarkemmin sovellusraportissa.


5         Toteutuneen järjestelmän osat ja toiminnot

Projektin tuloksena syntynyt järjestelmä täyttää luvussa 4 esitetyt tilaajan määrittelemät minimivaatimukset. Luvussa kuvataan järjestelmän sisältämiä ohjelmia ja tiedostoja

5.1       Järjestelmän sisältämät ohjelmat ja tiedostot

Järjestelmä koostuu seuraavista osista:

Hallintosovelluksella            (engl. Configuration Unit, lyh. CU) suoritetaan järjestelmän konfigurointi, sekä sen toiminnan seuranta.

Hälytysyksikkö            (engl. Alarm Unit, lyh. AU) on toteutettavan järjestelmän osa, joka vastaa tekstiviesti- tai sähköpostihälytysten lähettämisestä.

Konfigurointitiedoston            avulla seuranta- ja hälytysyksikölle kerrotaan sen toimintaa säätelevät parametrit.

Lokitiedostostoihin            tallennetaan seurantayksiköiden mittaamat tulokset.

Seurantayksikkö            (engl. Surveillance Unit, lyh. SU) on järjestelmän osa, joka vastaa kameroiden ja antureiden ohjauksesta.

Tallennusyksikkö            Tallennusyksikkö (engl. Data Unit, lyh. DU) koostuu konfigurointitiedostoista ja lokitiedostoista.

5.2       Toteutuneet hallintosovelluksen toiminnot

Hallintosovellukselta nähdään seurantayksikkökohtaiset tuoreimmat tiedot. Vanhoja tietoja voi selata hallintosovelluksella samoin seurantayksiköittäin. Hälytykset voidaan välittää tekstiviestinä matkapuhelimeen ja sähköpostitse.

Minimivaatimuksien (katso luku 4) lisäksi hallintosovelluksen avulla käyttäjä voi konfiguroida järjestelmän toimintaa. Seurantayksiköiden asetuksia voidaan muuttaa laitekohtaisesti ja määritellä jokaiselle laitteelle yksilölliset hälytysrajat.

Hallintosovelluksella voidaan konfiguroida hälytysyksikön toimintaa määrittelemällä erilaisia hälytystasoja erilaisilla prioriteeteilla eli "vakavuusasteilla". Jokaiselle prioriteetille voidaan määritellä, mitä hälytystapoja käytetään (tekstiviesti, sähköposti ja paikallinen hälytyslaite). Eri prioriteeteille voidaan myös määritellä eri kohdeosoitteita. Esimerkiksi prioriteetille 1  voidaan määritellä GSM-numeroksi 040-1234567 ja sähköpostiosoitteeksi alarms@mit.jyu.fi. Vastaavasti priotiteetille 2 voidaan määritellä GSM-numeroksi 044-7654321 ja sähköpostiosoitteeksi gestapoalarms@mit.jyu.fi.

Vanhojen tietojen katselu onnistuu hallintosovelluksen avulla. Tallennusyksiköltä haettavat kuvat esitetään kuvasarjana, jossa kuva vaihtuu sekunnin välein. Seurantayksikön kameran ottamat kuvat haetaan tallennusyksiköltä, ja kuvasarja alkaa pyöriä automaattisesti. Käyttäjä voi määritellä itse päiväyksen ja kellonajan mukaan, mistä hetkestä alkaen kuvia haluaa katsoa.

Reaaliaikaiset tiedot ilmoitetaan seurantayksikkökohtaisesti. Antureilta näytetään viimeisimmät mitatut arvot. Kamerakuvan voi päivittää Refresh-painikkeen avulla, jolloin seurantayksikkö ottaa uuden kuvan.

5.3       Toteutuneet seurantayksikön toiminnot

Seurantayksikkö sijoitetaan valvottavaan tilaan. Yksikkö muodostuu mikrotietokoneesta ja siihen liitetystä kamerasta ja antureista.

Kameralle ja antureille määritellään hallintosovelluksen avulla mittausintervalli. Kyseisen aikavälin mukaan laitteet välittävät arvot tallennusyksikölle.

Seurantayksikön laitteille määritellään myös hälytysrajat. Mittaukset suoritettuaan seurantayksikkö vertaa arvoja hälytysrajoihin. Hälytysrajojen rikkoutuessa seurantayksikkö ilmoittaa tapahtumasta tallennusyksikölle. Tallennusyksikkö ilmoittaa hälytysrajojen rikkoutumisesta hälytysyksikölle.

Hallintosovelluksella erilaisten hälytysprioriteettien määrittely on mahdollista. Nykyisessä versiossa kuitenkin seurantayksikkö käsittelee kaikki hälytysrajojen rikkoutumiset samalla tavalla, käytännössä prioriteetillä 1.

5.4       Toteutuneet tallennus- ja hälytysyksikön toiminnot

Tallennusyksikkö tallentaa seurantayksiköiden antureiden ja kameroiden välittämän datan lokitiedostoihin. Lokiin tallennettujen tietojen lisäksi tallennusyksikkö sisältää seurantayksiköiden ja hälytysyksikön konfigurointitiedostot.

Hälytysyksikön tehtävänä on päättää hälytyksen välittämisestä tekstiviestinä tai sähköpostina. Hälytysyksikkö osaa käsitellä erilaisia prioriteettejä. Ominaisuutta ei kuitenkaan voi tällä hetkellä hyödyntää, koska seurantayksikkö käsittelee kaikki hälytysrajojen rikkoutumiset samalla tavalla.

Hälytysten käsittelyn logiikka on hyvin yksinkertainen. Hälytysyksikkö lähettää kaikki sille ilmoitetut hälytykset eteenpäin määriteltyjen asetusten mukaan. Hälytysyksikön asetukset määritellään luvussa 6.1 kuvatulla tavalla.

6         Työnjako ja aikataulu

Aikataulun ja työnjaon suunnittelu oli hyvin vaikeaa, koska kenellänkään ryhmän jäsenistä ei ollut kokemusta näin laajasta ohjelmointiprojektista. Oli hyvin vaikeaa arvioida, paljonko aikaa kuluu yksittäisten dokumenttien kirjoittamiseen tai komponentin ohjelmointiin.

Työnjaosta päästiin nopeasti yhteisymmärrykseen, vaikka vaatimusten määrittely olikin vielä kesken. Projektin alkumetreillä suoritetussa työnjaossa oli kuitenkin se riski, että vaatimusten tarkentuessa ryhmän jäsenten työmäärät olisivat saattaneet vaihdella runsaasti.

6.1       Työnjaon toteutuminen

Jokaiselle ryhmän jäsenelle määriteltiin oma vastuualueensa, sekä sovittiin yhteisistä tehtävistä. Projektisuunnitelmassa sovittiin, että Antti ja Kai toteuttavat porttien luvun ja pääohjaimen. Annan tehtäväksi sovittiin käyttöliittymän suunnittelu ja toteutus. Kari vastasi hälytysten käsittelystä. Yhteisiksi tehtäviksi sovittiin dokumentointi ja testaus.

Käytännössä projektin toteutus jakautui arkkitehtuurin mukaan. Kai toteutti kommunikoinnissa käytettävät asiakas- ja palvelinkomponentit. Antti teki tallennusyksikön ja Kari hälytysyksikön. Anna vastasi hallintasovelluksesta. Antti ja Kai tekivät yhdessä antureiden ohjauksessa käytettävät komponentit. Tämän jälkeen Kai kasasi seurantayksikön komponenttien pohjalta, ja teki myös kameran ohjaukseen käytettävän komponentin. Lisäksi Antti suunnitteli ohjelman käynnistysikonin.

Työnjako onnistui hyvin. Kaikilla ryhmän jäsenillä oli koko projektin ajan yhtä paljon tekemistä, joka näkyy selvästi ajankäyttövihkoista.

6.2       Aikataulun toteutuminen

Kuten taulukosta 1 voi havaita, projektin suunniteltu aikataulu petti heti alkumetreillä. Suunnitteludokumenttien kirjoittamiseen meni monikertaisesti enemmän aikaa kuin aluksi arveltiin. Vaatimusten määrittely ja suunnittelu kesti yllättävän pitkään, joten dokumentointi viivästyi. Projektisuunnitelma myöhästyi kuukauden ja sovellussuunnitelma vähän yli kuukauden.

Varsinainen ohjelmointi aloitettiin jo ennen projektisuunnitelman ja sovellussuunnitelman valmistumista. Aluksi porttien ja kameroiden ohjelmallista ohjausta kokeiltiin pienillä testiohjelmilla, joita voitiin myöhemmin käyttää itse järjestelmässä. Ohjelmointi sujui aika nopeasti, joten aikataulussa pysyttiin porttien luvun osalta.


 

 

Suunniteltu valmistumisajankohta

Toteutunut valmistumisajankohta

Suunnittelu

 

 

Projektisuunnitelma

4.10.

5.11.

Sovellussuunnitelma

18.10.

28.11.

 

 

 

Järjestelmän toteuttaminen

 

 

Porttien luku

22.11.

20.11.

Seurantayksikkö

22.11.

19.12.

Hälytysyksikkö

6.12.

19.12.

Tallennusyksikkö

6.12.

19.12.

Hallintosovellus

6.12.

20.12.

 

 

 

Dokumentit

 

 

Sovellusraportti

14.1.

13.1.

Projektiraportti

14.1.

 

Käyttöohje

10.1.

 

 

 

 

Testaus ja virheen jäljitys

 

 

Testaus

15.12.

9.1.

Virheiden korjaus ja viimeistely

21.12.

10.1.

Taulukko 1. Suunniteltu ja toteutunut aikataulu.

Alkuperäiseen suunniteltuun aikatauluun merkityt järjestelmän ohjelmaosiot (muun muassa pääohjain ja pelkkä käyttöliittymä) muuttuivat työn edetessä. Tästä syystä alkuperäisen suunnitelman ja toteutuneen ajankäytön suhdetta on vaikea arvioida. Pääohjain muuttui koko seurantayksiköksi ja käyttöliittymä hallintasovellukseksi. Kaikki osat kuitenkin valmistuivat loppuesittelyyn mennessä, vaikka alunperin testaus olikin tarkoitus aloittaa jo 6.12.

Järjestelmän testausta aloiteltiin melkein kaksi viikkoa aikataulusta myöhässä, eikä kunnollista testausta ehditty projektin puitteissa suorittaa. Loppudokumenttien kirjoitusta oli tarkoitus aloittaa jo marraskuun lopussa, mutta siitäkin myöhästyttiin kolme viikkoa.

7         Projektissa eteen tulleita ongelmia

Projektin aihe oli kaikille projektin jäsenille täysin vieras. Kenelläkään meistä ei ollut mitään kokemusta mikrotietokoneen porttien ohjelmallista ohjaamisesta tai lukemisesta. Ohjelmointityökalukin oli osalle täysin tuntematon.

Teknisen ohjaajamme ja myös tilaajan edustajan avustuksella pääsimme alkuun. Heti alussa järjestettyjen perehdytystilaisuuksien ansioista pääsimme nopeasti itse asiaan. Loppujen lopuksi seurantayksikön laitteiden kanssa oli hyvin vähän ongelmia.

Suurin ongelma koko projektissa oli järjestelmän eri yksiköiden välillä tapahtuva tiedostojen siirto. Ongelman ratkaisuun ja kommunikointikomponenttien ohjelmointiin meni yllättävän kauan. Tiedostonsiirrossa eteen tulleiden ongelmien ratkettua koko järjestelmän osien yhteen liittäminen voitiin aloittaa.

Seurantayksiköön liitettäviä antureita saatiin testattavaksi vasta marraskuun puolessa välillä. Tämä hieman hidasti projektin etenemistä. Testilaitteiston avulla kuitenkin päästiin alkuun.

Kosteusanturiakin olisi ollut mukava päästä testaamaan, mutta tilattua laitetta ei saatu. Seurantayksikköön voidaan kuitenkin lisätä helposti on/off-tyyppinen kosteutta mittaava laite.

Ryhmän jäsenten välisessä kommunikoinnissakin oli välillä ongelmia. Toisinaan tuntui, ettei ollut täsmällisiä sanoja kuvaamaan ongelmaa. Puheentulkintaongelmia oli erityisesti alussa runsaasti. Välillä jopa riideltiin pikkuasioista, ja myöhemmin huomattiin olevamme kaikki samaa mieltä.

Kaiken kaikkiaan varsinaisia ongelmia oli yllättävän vähän, kun ottaa huomioon täysin vieraan aihealueen. Pienemmät ongelmat ratkesivat aina nopeasti. Ohjelmointityökalun kanssa oli ylipäänsä hyvin vähän ongelmia, sillä työkalu itsessään sisältää erittäin hyvät ohje- ja esimerkkitiedostot.

8         Projekti oppimisen kannalta

Projektityöskentely oli pääosin kaikille ryhmän jäsenille uutta. Osa oli ollut aikaisemmin asiaa käsittelevillä kursseilla, mutta käytännön kokemusta ei ollut. Projektityöskentely koettiin kuitenkin mielenkiintoiseksi ja haastavaksi uuden aihealueen myötä.

Annalle Delphi-ohjelmointityökalu oli uusi. Antti, Kai ja Kari olivat aikaisemmin ohjelmoineet Delphillä, mutta oppivat kuitenkin runsaasti uusia asioita esimerkiksi tiedonsiirrosta ja porttien luvusta.

Esiintymiskokemusta kenelläkään ei juurikaan ollut. Opponoinneissa ja loppuesittelyssä sai hyvää harjoitusta esiintymisestä. Palautteen perusteella oli helpompi kiinnittää huomioita oman esiintymisensä ongelmakohtiin.

Dokumentointiin kului runsaasti aikaa. Projektin aikana kuitenkin opittiin kirjoittamaan raporteista täsmällisempiä ja selkeämpiä. Kaikki ryhmän jäsenet eivät olleet koskaan aikaisemmin kirjoittaneet pöytäkirjoja tai esityslistoja. Palaverien myötä tämäkin taito tuli hankittua.


9         Henkilökohtaiset kokemukset

Luvussa kuvataan projektiryhmän jäsenten henkilökohtaisia mietteitä projektin sujumisesta.

9.1       Antti Krats

Projekti alkoi palaverillä, jossa kerrottiin hyvin epämääräisesti halutusta seurantajärjestelmästä. Itse asiassa saimme sähköpostiimme viestin, jossa kerrottiin kolmelle ranskalaisella viivalla sovelluksen toiminnallisuudesta. Tämä tosin johtui siitä, ettei tilaajakaan tiennyt, mitä halusi.

Aloitimme tehtävän purkamisen piirtämällä piirroksia ja kaavioita järjestelmän arkkitehtuurista. Tällä tavoin pääsimme nopeasti aiheeseen sisälle, ja saimme jotain näytettävää tilaajalle. Tilaajalla ja ryhmällämme oli erilaisia käsityksiä arkkitehtuurista projektin alkupäässä, mutta pikkuhiljaa pääsimme yhteisymmärrykseen.

Mielestäni järjestelmän suunnitteluun kului huomattava osa projektiin varatusta ajasta. Minua alkoi hirvittää, kun huomasin toteutukseen jäävän ainoastaan noin kuukauden verran aikaa. Päätimmekin aloittaa ohjelmoinnin jo suunnittelun aikana toteuttamalla sellaisia komponentteja, joihin järjestelmän arkkitehtuuri ei vaikuttaisi. Näihin kuuluivat kameran ja antureiden hallitseminen mikrotietokoneeseen liitettyjen porttien kautta. Projektin onneksi ryhmässä oli elektroniikan asiantuntijana Kari. Ilman häntä ryhmältä olisi kulunut paljon aikaa oheislaitteiden liitäntöihin tutustumiseen.

Anna suunnitteli hallintosovelluksen käyttöliittymää, josta tuli odotettua monimutkaisempi. Sen ulkoasua käsiteltiin palavereissa useaan otteeseen, ja välillä tuntuikin, kannattaako siihen uhrata niin paljon aikaa. Tuntui huvittavalta, kun ensiksi jokin nappi haluttiin johonkin paikkaan ja seuraavassa palaverissä se otettiin kokonaan pois. Lopputulos kuitenkin miellytti sekä ryhmää että tilaajia.

Projektin loppupuolella meille tuli kiire. Loppuesittely lähestyi päivä päivältä, eikä kaikkiin ongelmiin tuntunut löytyvän ratkaisua. Sovellusten välinen kommunikointi, joka on järjestelmän tärkein lenkki, takkuili pahasti. Muutamien pitkien iltojen jälkeen ongelmat ratkesivat, sovellukset toimivat yhteen ja järjestelmä pysyi pystyssä loppuesittelyn ajan. Työ palkitsi tekijäänsä.

9.2       Anna Kämäräinen

Projekti lähti mielestäni hitaasti käyntiin, mutta loppuesittelyn lähestyessä vapaa-ajanvietto-ongelmia ei ollut. Hitaan aloituksen suurimpana syynä oli luultavasti se, ettei meillä ollut aluksi pienintäkään aavistusta siitä, mitä oltiin tekemässä tai miten.

Delphi oli täysin uusi tuttavuus, ja inho kaikkea ohjelmointiin liittyvää kohtaan oli suunnaton. Rehellisyyden nimissä täytyy myöntää, että ennakko-odotukset eivät olleet kovin ruusuiset. Ei auttanut muu kuin ottaa kirja pieneen kätöseen ja aloittaa autolaskurista. Parin illan jälkeen sain lisättyä jo polkupyöriä ja kuorma-autojakin.

Delphin perusjutut opin loppujen lopuksi aika nopeasti, ja vastenmielisyys ohjelmointia kohtaan karisi nopeasti. Ahaa-elämyksiä syntyi runsaasti, mikä piti motivaatiota yllä, mutta välillä ei epätoivokaan ollut kaukana.

Kaikki ohjelmistojen suunnitteluun liittyvät termit ja esimerkiksi käyttötapaus-kuvaukset olivat vielä syyskuussa täysin hepreaa. Syvällisestihän niihin ei ollut aikaa perehtyä, mutta pintapuolisesti tuli tutustuttua. Nyt on kuitenkin kalpea aavistus, mistä on kyse.

Visuaalisesta konsultista oli mielestäni enemmän suoranaista haittaa kuin hyötyä. Aikaa meni yhden ylimääräisen informointiin, ja lopputulos oli puhdas nolla. Jos jatkossa on tarkoitus käyttää visuaalisia konsultteja, eduksi kyseisen tehtävän hoitamiselle saattaisi olla oleskelu Suomessa.

Kurssi oli työläs ja aikaa vievä. Toisinaan oli pipo hiukan liian kireällä, mutta pääasiassa meillä oli hauskaa. Välillä jopa liiankin hauskaa.

9.3       Kai Lahti

Projektien alkaessa minulla ei ollut juurikaan kokemuksia kameroiden eikä antureiden ohjaamisesta ohjelmallisesti. Aihe tuntui kuitenkin hyvin mielenkiintoiselta, ja lähdin innolla mukaan projektiin. Ohjelmointiympäristö oli minulle ennestään tuttu.

 Nopeasti tuli kuitenkin esille, ettei tilaajalla ollut täsmällisiä vaatimuksia toteutettavalle järjetelmälle. Tästä aiheutui suunnitteluvaiheen pitkittyminen, ja myös pieni tympääntyminen aiheeseen. Välillä tuntui, että eihän tämä etene ollenkaan. Päätimme kuitenkin ryhmän kanssa koodailla kaikenlaisia testiohjelmia, joiden avulla saimme jonkinlaista kuvaa kameroiden ja antureiden kyvyistä ja käyttömahdollisuuksista. Loppua kohden projekti alkoi sujua rivakammin. Toiminnallisuuden näkyville tuleminen innoitti tekemään yhä enemmän.

Projekti on ollut hyvin opettavainen projekti toiminnan ja laitteistojen kannalta. Ryhmän sisäisessä toiminnassa meillä ei ollut suurempia ongelmia.

9.4       Kari Perttula

Projektissa syntyi varsin lupaavalta vaikuttava prototyyppi puutteellisesta alkumäärittelystä huolimatta. Projektin alkumääritykset olivat niukat ja tästä aiheutui ylimääräistä työtä. Toisaalta ryhmä sai näin muodoin enemmän valinnanvapautta projektia suunnitellessaan. Työnjako selkeytyi projektin edetessä, ja muotoutui lopulta hyvin toimivaksi. Aivan kaikkea ei saatu tehtyä, mutta kaikki oleellinen protossa jo on ja toimii.

Ryhmän sisäisessä tiedon kulussa oli satunnaisia katkoksia, mutta niistä selvittiin suhteellisen nopeasti. Tarvittaessa apua pyydettiin, saatiin ja annettiin. Yleisesti ryhmä tuntui tulevan ihan hyvin toimeen keskenään.

Sain tehtyä suurimman osan omaan osuuteeni kuuluvista toiminnoista. Tekemäni koodi on mielestäni selkeää ja kohtuullisesti kommentoitua. Virheiden käsittelyyn en ehtinyt syventyä riittävästi, joten hälytysyksikön vakaus ei ole kaikin osin tyydyttävällä tasolla. Olin itse hieman yllättynyt, kuinka paljon sain aikaan.

Projektiin tarvittavien tekniikoiden testaus ja arvionti kärsi testilaitteiden (lähinnä erilaisten antureiden) saamisen viivästymisestä.

Teknistä ohjaajaa ryhmän ei tarvinnut kovin usein vaivata. Silloin kun häneltä jotain kysyimme, hän useimmiten kykeni ongelman ratkaisemaan, tai ainakin osoittamaan suuntaa, mistä ratkaisua hakea. Projektipalavereissä Juha esitti runsaasti kommentteja. Monet hänen ehdotuksistaan ovat vaikuttaneet projektin lopputulokseen. Dokumentointia olisi voinut kommentoida enemmän.

10    Yhteenveto

Hälytys- ja valvontajärjestelmä oli aiheena kaikille vieras, mutta mielenkiintoinen. Projektin lopputuloksena syntynyt järjestelmä täyttää mielestämme tilaajan asettamat minimivaatimukset ja sisältää muitakin toimintoja. Kaikkia ideoita ei luonnollisestikaan ehditty toteuttaa tiukassa neljän kuukauden aikataulussa, vaikka intoa olisi ollutkin.

Kaikki ryhmän jäsenet olivat tyytyväisiä projektin etenemiseen. Ongelmat ratkesivat nopeasti joko omin voimin tai ohjaajien avustuksella. Ryhmähenki säilyi hyvänä koko projektin ajan, ja koko ryhmän mielestä projekti oli antoisa kokemus.

Lähteet

Borland Developer Support Staff, Question and Answer Database, "How can I capture an image from a video source?", saatavilla WWW-muodossa <URL: http://community.borland.com/article/0,1410,16037,00.html>, 1999.

Matlus.com, "Delphi -TCP/IP, PART 3 - Build the Server for the Telnet Client", Delphi Tutorials, saatavilla WWW-muodossa <URL: http://www.matlus.com/scripts/website.dll/Tutorials?DelphiTCPIP&TCPIPDataClient&4>.

Diprode Software, TFlightJoystick-komponentti, saatavilla WWW-osoitteesta <URL: http//www.diprode.com/delphicomponents.htm>, 2000.

Hirsjärvi, Remes ja Sajavaara, "Tutki ja kirjoita",Tammi, Vantaa, 2001.

IANA, "RS-232: Connectors and Cabling", saatavilla WWW-muodossa <URL: http://www.uwsg.indiana.edu/usail/peripherals/serial/rs232/>, luettu 8.10.2001.

Järvinen, Jani, "Delphi: sovellusten opas", Teknolit, Jyväskylä, 2000.

Lappalainen, Vesa, "Delphi 4: Peruskussi" Jyväskylän yliopisto, tietotekniikan laitos, 1997.

Krats Antti, Kämäräinen Anna, Lahti Kai ja Perttula Kari, "Gestapo-projektin projektisuunnitelma", Jyväskylän yliopisto, tietotekniikan laitos, 2001.

Krats Antti, Kämäräinen Anna, Lahti Kai ja Perttula Kari, "Gestapo-projektin sovellussuunnitelma", Jyväskylän yliopisto, tietotekniikan laitos, 2001.

Rantanen Santtu, "Palveluntuottajan kytkeytyminen eri operaattoreiden SMSC-keskuksiin", Teletekniikan erikoistyö, Teknillinen korkeakoulu, 2001.

The Trustees of Indiana University, "Port numbers", saatavilla WWW-muodossa <URL: http://www.iana.org/assignments/port-numbers>, 2001.

Visdómine Luis, "Joystick port", saatavilla WWW-muodossa <URL: http://www.gea.ucm.es/~padilla/extrawork/joystick.html>, luettu 3.10.2001.