Tässä diplomityössä kehitetty järjestelmä on sen kehityksen aikana ollut käytössä Teknillisen korkeakoulun fysiikan laboratoriossa tehtävässä fototransduktiotutkimuksessa, jonka tavoitteena on ollut näköreseptorien toiminta- ja säätömekanismien selvittäminen. Nykyisin järjestelmän ohjelmistoa käytetään myös Helsingin yliopiston biotieteiden laitoksella ja Teknillisen korkeakoulun lääketieteellisen tekniikan laboratoriossa. Järjestelmän kehityksen aikana tutkimuksen kohde on ollut pääasiassa selkärankaisen sauvasolu, mutta nykyisin järjestelmää käytetään myös tappitutkimuksessa.
Järjestelmän rekisteröintilaitteisto oli pääosin jo olemassa ennen tätä diplomityötä. Tässä työssä laitteistoon liitettiin digitaalisesti ohjattava magneettinen suljin. Näin tutkittavalle preparaatille annettavien valostimulusten ajoitusta voidaan ohjata mikrotietokoneella. Stimulusvalon intensiteetin tietokonesäätöä varten laitteistoon liitettiin digitaalisesti ohjattava askelmoottoriohjain ja askelmoottoriin kytketty kiekkomainen harmaakiila. Askelmoottoriohjausta testattiin myös preparaattia huuhtelevan elatusliuoksen nopeassa vaihdossa. Näitä laitteiston laajennuksia ei kuitenkaan käsitellä yksityiskohtaisesti, koska niiden osuus tähän diplomityöhön käytetystä ajasta on varsin pieni. Niinpä tämä työn kirjallinen osuus painottuu rekisteröinti- ja analyysiohjelmistojen kuvaamiseen. Ohjelmistot toteutettiin kokonaisuudessaan tämän diplomityön aikana.
Luvussa 2 selvitetään fototransduktiotutkimuksen taustoja ja esitetään työssä käsiteltävien signaalien syntymekanismit. Lisäksi esitellään signaalien mittaamiseen käytetyn laitteiston toimintaperiaate ja tutkimustyössä tehtävien mittausten tavoitteet.
Luvuissa 3 ja 4 käsitellään rekisteröinti- ja analyysijärjestelmät. Koska järjestelmät on toteutettu suurimmaksi osaksi ohjelmistona, lukujen rakenne on karkeasti tyypillisen ohjelmistodokumentaation mukainen. Rekisteröintilaitteiston laajennuksia käsitellään vain rekisteröintijärjestelmän kuvauksessa laitteiston ohjelmistolle asettamien vaatimusten kannalta.
Ohjelmistonkehityksessä lähtökohtana on yleensä luonnollisella kielellä esitetty vaatimusmäärittely ja lopputuloksena tietokoneelle suorituskelpoisia ohjelmia. Usein ohjelmistonkehityksen lopputuotteena voidaan myös pitää ohjelmiston lähdekoodia, josta binäärimuotoinen konekoodi voidaan tuottaa automaattisesti. Erilaiset ohjelmistonkehitysmenetelmät pyrkivät määrittelemään miten vaatimusmäärittelystä päästään lähdekoodiin. Dokumentaatio voidaan jakaa esim. jonkinlaiseen analyysidokumentaatioon tai toiminnalliseen määrittelyyn ja mallinnusdokumentaatioon tai tekniseen määrittelyyn. Pyrkimyksenä on, että toiminnallinen määrittely täyttää vaatimusmäärittelyn ehdot, tekninen määrittely toiminnallisen määrittelyn ehdot ja lähdekoodi teknisen määrittelyn ehdot. Toisaalta voidaan ajatella myös, että konekoodi on vain yksi askel tässä ketjussa, sillä sehän täyttää lähdekoodin ehdot ja näin koko ohjelmistonkehitykseen liittyvä dokumentaatio voidaan nähdä eritasoisina vaatimusmäärittelyinä. Eri menetelmissä tämä dokumentaatio vain jaotellaan, nimetään ja määritellään eri tavoin.
Tässä työssä ohjelmistot on pyritty dokumentoimaan kuvan 1.1 mukaisesti. Vaatimusmäärittely pyrkii kuvaamaan ohjelmistolle asetettavat vaatimukset lähinnä käyttäjän näkökulmasta. Analyysimallin tarkoitus on kuvata ohjelmistolle keskeiset käsitteet oliomallilla siten, että vaatimusmäärittely tulee täytetyksi ottamatta kantaa toteutuksen yksityiskohtiin. Mallissa on pyritty kuvaamaan lähinnä järjestelmän staattinen rakenne. Olioiden välisten suhteiden kuvaamiseen on käytetty OMT-notaation mukaisia luokkakaavioita [1]. Liitteessä A on kuvattu käytetyt merkinnät. Dynaamista käyttäytymistä voitaisiin kuvata esim. järjestelmän käyttökuvauksilla (use case [2]) ja olioiden vuorovaikutusta kuvaavilla kaavioilla (object interaction diagram), mutta ohjelmistojen pienen koon vuoksi algoritmien määrittely on jätetty ohjelmiston toteutukseen. Koska dynaamista käyttäytymistä ei ole kuvattu järjestelmätasolla, ohjelmiston testausta ei myöskään ole käsitelty. Analyysimalli toimii vaatimusmäärittelyn ohella varsinaisen toteutuksen ohjeistona. Erillinen lähdekoodin dokumentaatio on tarpeen vain koska nykyistä toteutusta ei ole laadittu esitettävän analyysin pohjalta.
Luvussa 5 esitetään esimerkkejä rekisteröinti- ja analyysijärjestelmien käytöstä ja luvussa 6 pohdintoja ja ajatuksia järjestelmän jatkokehityksestä. Luku 7 on diplomityön yhteenveto.