Arkkitehtuurihahmojen visualisoija Tutkimusalue: Ohjelmistotekniikka - ohjelmistoarkkitehtuurit, mittaaminen, käyttöliittymät Asiakkaat: MAISA-projekti (Juha Gustafsson, Lilli Nenonen, Jukka Paakki, Inkeri Verkamo) Työn aihepiiri: Työ liittyy laitoksen MAISA-tutkimushankkeeseen, jossa kehitetään menetelmiä ja työkaluja ohjelmiston laadun mittaamiseen sen arkkitehtuurikuvauksesta. Kehitettävillä mittareilla pyritään ennustamaan ohjelmiston erilaisia laatuominaisuuksia sen suunnitteluvaiheessa, jo ennen koodaukseen ryhtymistä. Tällaisia ennustettavia ominaisuuksia ovat esimerkiksi ohjelmiston koko, uudelleenkäytettävyys ja suorituskyky. Työn kuvaus: MAISA-menetelmän ydinajatus on etsiä automaattisesti UML-kielellä mallinnetusta ohjelmiston arkkitehtuurista tuttuja hahmoja, joista aiemmin kerätyn tietämyksen perusteella voidaan ennustaa lopullisen ohjelmiston ominaisuuksia. Tällaisia hahmoja voivat olla esimerkiksi yleiset suunnittelumallit (design patterns) ongelmamallit (anti-patterns) taikka sovellusalue- tai yrityskohtaisesti käyttökelpoisiksi havaitut muunlaiset rakenteelliset ja arkkitehtuurissa havaittavat säännönmukaisuudet. Tämän ohjelmistotuotantoprojektin tavoitteena on kehittää prototyyppi löydettyjen hahmojen visualisointiin. Hahmot ovat aina osa UML-kielistä arkkitehtuurikuvausta, josta ne on voitava tunnistaa jatkoanalyysiä varten. Projektiryhmän tehtävänä on suunnitella tapa havainnollistaa annettuja hahmoja UML:n luokkakaavioista (class diagrams) ja sekvenssikaavioista (sequence diagrams). Havainnollistamiseen tuotetaan myös työkaluprototyyppi, joka toteutetaan keväällä 1999 toimineen Suma-ohjelmistotuotantoprojektin työn pohjalta. Sumassa kehitettiin UML-luokkakaavioiden piirustustyökalu, jota tässä projektissa jalostetaan edelleen ja jonka rinnalle kehitetään sekvenssikaavioiden piirustustyökalu. Molempiin piirustusvälineisiin liitetään hahmonvisualisointipiirre. Toteutusympäristö: Java ja tarvittavat kirjastot tai sovelluskehykset (Swing, JHotDraw). Erityisvaatimukset: Perusteet oliomenetelmistä. Liittyminen aikaisempiin ohjelmistotuotantoprojekteihin: Työssä jatketaan kevään 1999 Suma-projektia: http://www.cs.helsinki.fi/group/suma/