Mittausohjelmiston spesifikaatiokomponentin analyysi ja kehittäminen
Singh, Devinder (2012)
Singh, Devinder
2012
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2012-12-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201212101353
https://urn.fi/URN:NBN:fi:tty-201212101353
Tiivistelmä
Ohjelmistoarkkitehtuurilla on suuri merkitys ohjelmistojen kehityksessä. Se takaa, että ohjelmiston rakenne pysyy modulaarisena ja helposti ymmärrettävänä. Arkkitehtuuri helpottaa järjestelmän testausta, ylläpitoa ja kehittämistä. Ohjelmistoarkkitehtuuri jää useimmiten dokumentoimatta johtuen aikatauluongelmista. Seurauksena on, että eri henkilöt saattavat tehdä hyvin erilaisia olettamuksia siitä, mitkä asiat kuuluvat ohjelmiston arkkitehtuuriin ja mitkä eivät. Pidemmällä aikavälillä arkkitehtuuridokumentaation puuttuminen johtaa ohjelmiston ja sen arkkitehtuurin rapautumiseen.
Ohjelmiston kehitysprosessissa tietomallin dokumentointi on yhtä tärkeä kuin ohjelmistoarkkitehtuurin dokumentointi. Muutos tietomallissa johtaa muutoksiin ohjelmakoodiin ja muutokset ohjelmakoodissa saattavat vaatia muutoksia tietomalliin. Kummassakin tapauksessa koituu kustannuksia.
Tässä työssä perehdytään mittausohjelmiston spesifikaatiokomponenttiin. Kysymyksessä on spesifikaatiokomponentin uudistaminen (re-engineering). Mittausohjelmisto koostuu useasta eri komponentista ja toimii tietyn tuotteen kehityksen tukena. Tämän työn tavoitteena on kuvata spesifikaatiokomponentin arkkitehtuuri käyttäen apuna takaisinmallinnustyökalua. Tämän lisäksi on tarkoitus mallintaa ja analysoida spesifikaatiokomponentin tietomalli. Analyysin perusteella esitetään paranneltu tietomalli.
Aluksi työssä perehdytään mittausohjelmistoon ja sen eri komponentteihin. Tarkoituksena on antaa yleiskuvaus mittausohjelmistosta ja kertoa kunkin komponentin vastuut. Sen jälkeen esitetään lyhyesti työssä sovellettua takaisinmallinnustyökalua ja kuvataan miten sen soveltaminen onnistui. Sitten arvioidaan aikaansaatua arkkitehtuuria käyttäen skenaariopohjaiseen arviointiin perustuvaa menetelmää ja esitetään lyhyesti arvioinnin tulokset. Tämän jälkeen kuvataan spesifikaatiokomponentin tietomalli ja tuodaan esille sen puutteet. Esitettyihin puutteisiin ehdotetaan ratkaisuvaihtoehdot, joiden pohjalta kuvataan paranneltu tietomalli. Sitten esitetään ratkaisuvaihtoehdot, jotka hyödyntävät spesifikaation tietoa raporttien ja raporttipohjien muodostamiseen. Tämä on työn keskeisimpiä tuloksia. Lopuksi kuvataan ja arvioidaan toteutettua ratkaisuvaihtoehtoa.
Tässä työssä saatujen havaintojen perusteella takaisinmallinnustyökalu ei yksinään riitä ohjelmiston ymmärtämisessä ja takaisinmallintamisessa. Työkalujen ohella tarvitaan ohjelmakoodin tutkimista ja analysointia. Analysointia helpottavat ohjelmiston järkevä rakenne ja siinä sovelletut koodauskäytännöt. Komponenttien välinen riippumattomuus helpottaa komponenttien ylläpitämistä ja muutosten tekemistä. Samaan instanssiin liittyvien tietojen hajautus useaan luokkaan ei aina kuitenkaan ole järkevin ratkaisu muutostenhallinnan kannalta.
Ohjelmiston kehitysprosessissa tietomallin dokumentointi on yhtä tärkeä kuin ohjelmistoarkkitehtuurin dokumentointi. Muutos tietomallissa johtaa muutoksiin ohjelmakoodiin ja muutokset ohjelmakoodissa saattavat vaatia muutoksia tietomalliin. Kummassakin tapauksessa koituu kustannuksia.
Tässä työssä perehdytään mittausohjelmiston spesifikaatiokomponenttiin. Kysymyksessä on spesifikaatiokomponentin uudistaminen (re-engineering). Mittausohjelmisto koostuu useasta eri komponentista ja toimii tietyn tuotteen kehityksen tukena. Tämän työn tavoitteena on kuvata spesifikaatiokomponentin arkkitehtuuri käyttäen apuna takaisinmallinnustyökalua. Tämän lisäksi on tarkoitus mallintaa ja analysoida spesifikaatiokomponentin tietomalli. Analyysin perusteella esitetään paranneltu tietomalli.
Aluksi työssä perehdytään mittausohjelmistoon ja sen eri komponentteihin. Tarkoituksena on antaa yleiskuvaus mittausohjelmistosta ja kertoa kunkin komponentin vastuut. Sen jälkeen esitetään lyhyesti työssä sovellettua takaisinmallinnustyökalua ja kuvataan miten sen soveltaminen onnistui. Sitten arvioidaan aikaansaatua arkkitehtuuria käyttäen skenaariopohjaiseen arviointiin perustuvaa menetelmää ja esitetään lyhyesti arvioinnin tulokset. Tämän jälkeen kuvataan spesifikaatiokomponentin tietomalli ja tuodaan esille sen puutteet. Esitettyihin puutteisiin ehdotetaan ratkaisuvaihtoehdot, joiden pohjalta kuvataan paranneltu tietomalli. Sitten esitetään ratkaisuvaihtoehdot, jotka hyödyntävät spesifikaation tietoa raporttien ja raporttipohjien muodostamiseen. Tämä on työn keskeisimpiä tuloksia. Lopuksi kuvataan ja arvioidaan toteutettua ratkaisuvaihtoehtoa.
Tässä työssä saatujen havaintojen perusteella takaisinmallinnustyökalu ei yksinään riitä ohjelmiston ymmärtämisessä ja takaisinmallintamisessa. Työkalujen ohella tarvitaan ohjelmakoodin tutkimista ja analysointia. Analysointia helpottavat ohjelmiston järkevä rakenne ja siinä sovelletut koodauskäytännöt. Komponenttien välinen riippumattomuus helpottaa komponenttien ylläpitämistä ja muutosten tekemistä. Samaan instanssiin liittyvien tietojen hajautus useaan luokkaan ei aina kuitenkaan ole järkevin ratkaisu muutostenhallinnan kannalta.