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
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.
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ö
  |   |
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.
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.
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.
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.
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.
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.
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.