Gestapo-projektin projektisuunnitelma 13.1.2002

JYVÄSKYLÄN YLIOPISTO

TIETOTEKNIIIKAN LAITOS GESTAPO

Antti Krats

Anna Kämäräinen

Kai Lahti

Kari Perttula

Tietotekniikan cum laude -työprojekti

Projektisuunnitelma

01.13.02

Tiivistelmä

Gestapo-ryhmä toteuttaa Jyväskylän yliopiston informaatioteknologian tiedekunnalle hälytysjärjestelmän. Dokumentissa kuvataan projektin taustaa, tavoitteita , resursseja, työnjakoa ja aikataulua. Dokumentti on myös projektin työsuunnitelma.

GESTAPO-projekti

Projektiryhmä: Antti Krats

Laura Kuurne

Anna Kämäräinen

Kai Lahti

Kari Perttula

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. Erilaisia kameroita ja antureita.

Ohjelmistonkehitystyökalut: Delphi 6

Suunnittelutyökalut: Excel, Argo/UML

Sisältö
   
AIKATAULU JANAKAAVIONA...................................................................................................9

1 Johdanto

Gestapo-projekti toteuttaa syksyn 2001 kuluessa valvonta- ja hälytysjärjestelmän Jyväskylän yliopiston informaatioteknologian tiedekunnalle. Gestapo-projekti on Jyväskylän yliopiston tietotekniikan laitoksen syksyn 2001 cum laude -työprojekti.

Tämä dokumentti on Gestapo-projektin työsuunnitelma. Lisäksi suunnitteluvaiheessa laaditaan sovellukselle vaatimusmäärittely ja sovellussuunnitelma. Ennen projektin päättämistä kirjoitetaan sovellus- ja projektiraportit.

Projekti kehittää Windows-ympäristössä toimivan järjestelmän, jolla ohjataan kameroiden ja erilaisten antureiden toimintaa. Lisäksi järjestelmä kerää dataa kameroilta ja antureilta käyttäjän määräämin väliajoin, ja tallentaa ne myöhemmin tarkasteltaviksi. Kameroiden ja antureiden välittämää tietoa voidaan seurata myös reaaliaikaisesti. Hälytys voidaan lähettää ainakin tekstiviestinä, paikallisilla hälytyslaitteilla tai sähköpostina.

Lukuun 2 on kerätty dokumentissa käytettäviä termejä, jotka on syytä selittää. Luvussa 3 esitellään projektin taustaa ja luku 4 käsittelee projektin tavoitteita. Luvussa 5 käsitellään projektin toteutusta. Mahdolliset riskit projektin sujuvalle etenemiselle ja onnistumiselle on koottu lukuun 6. Seitsemäs luku kokoaa yhteen projektin käytössä olevat henkilö- ja materiaaliresurssit. Luvut 8 ja 9 käsittelevät projektin aikataulua ja työnjakoa. Luvussa 10 käsitellään testauksen yleisiä periaatteita.

2 Termit ja lyhenteet

Dokumentti sisältää seuraavia toteutettavan järjestelmän osiin liittyviä termejä ja lyhenteitä:

Hälytysyksikkö (engl.AlarmUnit, lyh AU) on toteutettavan järjestelmän osa, joka vastaa hälytyksen lähettämisestä.

Konfigurointitiedoston avulla seurantayksikölle kerrotaan sen toimintaa säätelevät parametrit

Loki on loki-tiedosto, johon tallennetaan seurantayksikön mittaamat tulokset sekä kameroilla otetut still-kuvat.

Hallintasovellus (engl. ConfigurationUnit, lyh. CU) on järjestelmän osa, jonka avulla suoritetaan järjestelmän monitorointi ja konfigurointi.

Monitorointi on järjestelmä laitteiden toiminnan seuraamista.

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

Tallennusyksikkö (engl. DataUnit, lyh. DU) koostuu konfigurointi- ja lokitiedostoista.

3 Projektin taustaa

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 valvoa vain tiloissa vierailemalla.

Informaatioteknologian tiedekunnan yylä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 muodostuu 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.

4 Projektin tavoitteet

Projektin toteuttaa Windows 2000 -ympäristössä toimivan valvonta- ja hälytysjärjestelmän ja sitä ohjaavan sovelluksen. Järjestelmään voi kuulua useita seurantayksiköitä, jotka tallentavat keräämänsä datan yhteiseen lokiin. Lokista voidaan hakea tallennettuja tietoja ja kuvia jälkeenpäin. Hallintasovelluksen avulla järjestelmä konfiguroidaan toimimaan halutuilla parametreillä. Lisäksi sen avulla voidaan reaaliaikaisesti seurata seurantayksikön laitteiden toimintaa.

Seurantayksiköihin liitetään kameroita ja antureita. Laitteilta kerätään still-kuvia määrätyin väliajoin, ja ne tallennetaan kuvatiedostoina määriteltyyn lokihakemistoon. Samaan seurantayksikköön voidaan kameroiden lisäksi liittää esimerkiksi liikkeentunnistimia ja lämpöantureita, joilta kerätyt arvot tallennetaan lokitiedostoon. Mikäli käyttäjän määrittelemät hälytysrajat (esimerkiksi lämpötila kohoaa liian korkeaksi) täyttyvät, järjestelmän hälytysyksikkö lähettää hälytyksen.

Sovelluksen rakentamisen lisäksi ryhmän jäsenet oppivat käytännön ohjelmistoprojektin työtapoja ja saavat kokemusta laajemmasta ryhmätyöstä. Erilaisten dokumenttien, kuten pöytäkirjojen, suunnitelmien ja raporttien, kirjoittaminen tulee myös projektin kuluessa tutuksi. Osa ryhmän jäsenistä oppii myös uuden ohjelmointikielen, sillä Delphi-ohjelmistonkehitysympäristö tai Object Pascal ei ole entuudestaan jokaiselle tuttu.

5 Toteutus

Gestapo-projekti toteuttaa kuvan 1 mukaisen hälytysjärjestelmän. Järjestelmä toteutetaan hajautettuna siten, että siihen voi kuulua useita seurantayksiköitä. Seurantayksikkö koostuu valvottavaan tilaan sijoitetusta keskusyksiköstä ja sen laitteista (kamerat ja anturit) kuvan 1 mukaisesti.

Seurantayksiköt ovat kaikki periaatteeltaan identtisiä ja samanarvoisia järjestelmän osia. Erot eri seurantayksiköiden välillä ovat kameroiden ja antureiden lukumäärässä ja hälytystiedoissa. Hälytysyksikkö päättää hälytysten lähettämisestä seuranyksiköiltä saadun tiedon perusteella. Seurantayksiköillä on tieto siitä, tarvitseeko hälytystä lähettää hälytysyksikölle, esimerkiksi liikkeentunnistimen lauettua arki-iltapäivänä. Hallintasovellus on vain ikkuna järjestelmään. Sen avulla voidaan seurata seurantayksiköiltä lokitiedostoon tallennettuja ja reaaliaikaisia tietoja sekä konfiguroida järjestelmän toimintaa.

Kamerat ja anturit on kytketty suoraan seurantayksikön portteihin. Seurantayksikkö ohjaa laitteiden toimintaa sekä tallentaa mittaustulokset ja kuvat lokitiedostoon. Jokainen yksikkö lähettää tiedon hälytyksistä hälytysyksikölle. Hälytysyksikkö voi lähettää hälytyksen tekstiviestinä, paikallisella hälytyslaitteella, sähköpostina tai edellisten kombinaationa.

Lokiin tallennetaan antureilta kerätyt tiedot sekä kameroilta otetut still-kuvat. Tiedot yksilöidään seurantayksikön tunnuksella, päivämäärällä ja tarkalla ajalla.

Sovelluksen tarkemman suunnittelun yhteydessä kirjoitetaan vaatimusmäärittely, luokkamäärittely, ja määritellään loki- ja konfiguraatiotiedostojen rakenne.

Sovelluksen muuttujien nimeämisessä käytetään unkarilaista notaatiota, ja se kommentoidaan englannin kielellä. Notaatio esitellään esimerkein sovellussuunnitelmassa. Käyttöliittymän kieleksi tulee samoin englanti, joten monikielisyydelle ei ole tarvetta.

Kuva 1. Kehitettävän valvontajärjestelmän rakenne.

6 Riskit ja niiden hallinta

Laitteisto-ongelmat voivat viivästyttää projektin etenemistä. Kameroiden ja antureiden ohjaus on kaikille ryhmän jäsenille uusi asia. Ongelmaa pyritään ratkaisemaan ohjaajien järjestämillä pereh-dytystilaisuuksilla sekä omatoimisella tutustumisella laitteisiin.

Laitteisto-ongelmiin luemme myös mahdollisesti rikkoutuvat osat ja laitteet, kuten kiintolevy tai kamera. Rikkoutuneiden kiintolevyjen ei kuitenkaan pitäisi aiheuttaa viivästystä, mikäli asian-mukainen varmuuskopiointi on suoritettu.

Delphi 6 -ohjelmistonkehitysympäristö on osalle ryhmän jäsenistä vieras. Tämä saattaa hiukan hidastaa sovelluksen ohjelmointia. Itsenäinen työkaluun ja sen toimintaan tutustuminen jo suunnitteluvaiheessa ennen ohjelmoinnin aloittamista on olennaista projektin onnistumisen kannalta.

Tietoturvaongelmia ei periaatteessa voi ilmetä projektin osalta. Projekti on julkinen, sekä samalla kaikki tuotettu lähdekoodi ja dokumentit ovat julkisia. Sovelluksen tietoturva perustuu käyttöjärjestelmän tarjoamiin palveluihin.

7 Resurssit

Projektiryhmä koostuu Jyväskylän yliopiston tietotekniikan laitoksen pääaineopiskelijoista: Antti Krats, Anna Kämäräinen, Kai Lahti ja Kari Perttula. Projektin visuaalisena konsulttina toimii taidehistorian opiskelija Laura Kuurne. Tilaajaa edustavat Jukka Järvinen ja Sauli Takkinen. Tietotekniikan laitokselta projektiryhmälle on nimetty vastaavaksi ohjaajaksi Jukka-Pekka Santanen sekä teknisenä ohjaajana toimii Juha Lamberg.

Tietotekniikan laitos on asettanut projektiryhmän käyttöön lukittavan työhuoneen, johon on sijoitettu neljä PC-tietokonetta. Koneisiin on asennettu Windows 2000 -käyttöjärjestelmä ja Delphi 6 -ohjelmointityökalu. Tilaaja on toimittanut projektiryhmälle kaksi 3Comin WWW-kameraa ja yhden Logitechin quickcam-kameran. Liiketunnistimena käytetään clip-1 IR -tunnistinta, lämpötilaa mitataan NTC 33k -lämpövastuksilla ja märkä/kuiva-anturina toimii Alsor elec -magneettikytkimet. Porttien tilan tutkimiseen on käytetty sekä com- että peliporttiin kytkettyjä johtoja.

8 Työnjako

Projektin toteutus voidaan jakaa kuuteen osaan: pääohjain, porttien luku, kameroiden ohjaus, hälytysten käsittely, käyttöliittymän toteutus sekä dokumentointi.

Järjestelmän ohjelmien osalta on alustavasti sovittu , että Antti Krats ja Kai Lahti toteuttavat porttien luvun ja pääohjaimen (kuvassa 1 seurantayksikkö). Anna Kämäräinen suunnittelee ja toteuttaa käyttöliittymän (kuvassa 1 hallintasovellus) ja Kari Perttula vastaa hälytysten ohjelmallisesta käsittelystä (hälytysyksikössä). Dokumentaation kirjoittaminen on kaikkien ryhmän jäsenten yhteinen tehtävä. Laura Kuurne toimii visuaalisena konsulttina sekä suunnittelee ja toteuttaa käyttöliittymään grafiikkaa.

Pääohjain yhdistää järjestelmän eri osat toimivaksi kokonaisuudeksi. Pääohjain sijaitsee seurantayksikössä (kuva 1), jossa se vastaa toimintatietojen konfiguroinnista ja kerättyjen tietojen tallennuksessa lokiin. Porttien lukukomponentilla luetaan antureilta arvot, ja kameroiden ohjauskomponentti ottaa kuvia määrätyin väliajoin.

Hälytysten käsittely sijaitsee järjestelmässä hälytysyksikössä. Hälytysten käsittelyn tehtävänä on lähettää hälytys ainakin tekstiviestinä, sähköpostilla tai hälytyslaitteella. Hälytysten käsittely voi myös lähettää useista yhtäaikaista hälytyksistä koostetun hälytyksen (teksti- tai sähköpostiviestin).

Käyttöliittymä toimii hallintasovelluksena. Sen avulla käyttäjä muokkaa hälytysyksikön ja seurantayksiköiden toimintatietoja. Käyttöliittymän avulla voidaan myös muodostaa suora yhteys valvottavaan tilaan tai selata tallennettuja tietoja lokista.

9 Projektin aikataulu

Projekti alkoi 14.9.2001 ja päättyy, kun valmis sovellus on luovutettu tilaajalle. Projekti toteutetaan siten, että sovellus ja dokumentointi ovat valmiina viimeistään 14.1.2002.

Projektille on suunniteltu aikataulu sekä tarkistuspäivämäärät. Liitteen 1 janakaavioon on merkitty tehtävien aikajanat ja sijoittuminen projektin aikatauluun. Kyseiseen taulukkoon on merkitty vastuuhenkilö(t) seuraavilla nimikirjainlyhenteillä:

AKr Antti Krats

AKä Anna Kämäräinen

KLa Kai Lahti

KPe Kari Perttula

Välitavoitteina ja aikataulussa pysymisen mittareina käytetään seuraavia päivämääriä, joihin mennessä tehtävien tulee olla hyväksytysti suoritettu:

2.11.2001 Projektisuunnitelma

9.11.2001 Sovellussuunnitelma

6.12.2001 Ensimmäinen testattava versio valmis

15.12.2001 Testausta vaille valmis sovellus

15.12.2001 Sovelluksen loppuesittely

21.12.2001 Testattu ja kommentoitu sovellus

14.1.2002 Projektin dokumentointi valmis, projektin päättäminen

Aikatauluun voidaan tarpeen vaatiessa tehdä muutoksia viikoittaisissa projektipalavereissa.

10 Yleisiä testauksen periaatteita

Kaikki sovelluksen osat testataan huolellisesti jo ohjelmointivaiheessa. Jokainen ryhmän jäsen testaa jokaisen aliohjelman välittömästi sen valmistuttua. Tällä pyritään siihen, että valmista ohjelmaa testatessa ei jouduta etsimään virheittäkääntyviä, mutta väärin toimivia osia.

Kaikki suuremmat osat testataan myös välittömästi niiden valmistuttua. Testaukseen osallistuvat kaikki ryhmän jäsenet. Testausta suoritetaan useilla Windows-käyttöjärjestelmillä (95, 98, NT, 2000). Erityisesti sovellusta testataan sellaisella koneella, joka ei sisällä Delphi-ohjelmankehitysympäristöä.

Osien valmistuttua ne yhdistetään kokonaiseksi sovellukseksi. Yhdistämiseen ja kokonaisuuden testaukseen pyritään jo ennen aikatauluun merkittyä päivämäärää. Kaikki ryhmän jäsenet osallistuvat koko sovelluksen testaamiseen. Lopullisen sovelluksen testaamiseen osallistuvat myös tilaajan edustajat sekä ohjaajat.

Sovelluksen loppukäyttäjiltä olisi hyvä saada palautetta ennen kuin ohjelma on valmis. Varsinkin käyttöliittymän käytettävyydestä voi olla tekijöillä ja käyttäjillä erilaiset näkemykset.