Tekstin muuntaminen UML-kaavioiksi sekä kyseisten menetelmien tarkkuus, edut ja ongelmat: Systemaattinen kirjallisuuskatsaus
Hippula, Pauliina (2026)
Hippula, Pauliina
2026
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
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ä
2026-05-29
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202605296551
https://urn.fi/URN:NBN:fi:tuni-202605296551
Tiivistelmä
Nykyään kehitetään paljon erilaisia sovelluksia ja ohjelmistoja, joiden sisäisen rakenteen tai kokonaisuuden hahmottaminen voi kuitenkin olla haastavaa. Visuaalinen mallinnus voi auttaa ratkaisemaan ainakin osan tällaisista ohjelmistokehityksen haasteista. Eräs tällaisista visuaalisista mallinnuskielistä on UML (Unified Modeling Language), jonka avulla voidaan tuottaa monenlaisia ohjelmistosuunnittelussa tarvittavia kaavioita. UML-kaavioiden piirtäminen tarkoitukseen varatuilla työkaluilla voi kuitenkin olla haastavaa, joten vaihtoehtoiset tavat kaavioiden muodostamiseen voivat olla hyödyllisiä. Tämän vuoksi tässä tutkielmassa tutkitaan tapoja, joilla tekstiä voisi muuttaa UML-kaavioiksi.
Tämän tutkielman tavoitteena oli selvittää kirjallisuuskatsauksen keinoin, millaisia ratkaisuja on olemassa tekstin muuntamiseksi UML-kaavioiksi, millaisia etuja ja ongelmia kyseisiin menetelmiin liittyy ja kuinka tarkkoja muunnokset ovat. Tavoitteena oli lisätä tietoa ja ymmärrystä näistä UML-kaavioita generoivista menetelmistä sekä niiden ominaisuuksista henkilöille ja tahoille, jotka voisivat hyötyä tällaisesta tiedosta.
Tutkimusmenetelmänä käytettiin systemaattista kirjallisuuskatsausta. Lähteitä etsittiin tietokannoista sekä sisällytettyjen artikkeleiden lähteistä Snowballing-menetelmää hyödyntäen. Tiedonhakuprosessin jälkeen lopulliseen analyysiin sisällytettiin yhteensä 10 artikkelia. Ne teemoitettiin, ja teemoituksen perusteella muodostettiin tutkielman lopulliset tulokset. Tuloksista havaittiin, että tutkimukseen sisällytetyistä menetelmistä suurin osa generoi sekvenssi- ja luokkakaavioita. Muutamat menetelmistä generoivat käyttötapaus-, komponentti- tai koostekaavioita.
Useimmat löydetyistä menetelmistä toimivat siten, että käyttäjä kirjoitti luonnollisella kielellä kuvauksen järjestelmästä, josta kaavio generoitiin. Tämän jälkeen kaaviota generoiva järjestelmä tunnisti kaavion elementit, joiden perusteella generoitiin tekstimuotoinen UML kaavio, esimerkiksi PlantUML- tai XMI-notaatiota käyttäen. Lopuksi järjestelmä generoi tämän tekstimuotoisen UML:n avulla kuvamuotoisen UML-kaavion, joka näytettiin käyttäjälle. Useimpien menetelmien tarkkuudet olivat melko hyvät. Menetelmien eduista ja ongelmista suurin osa liittyi kaaviogenerointiin ja käyttäjän näkökulmaan. Näiden lisäksi käsiteltiin myös esimerkiksi ajansäästöä, uutuusarvoa ja työkalujen ja datan aiheuttamat ongelmat.
Tämän tutkielman tavoitteena oli selvittää kirjallisuuskatsauksen keinoin, millaisia ratkaisuja on olemassa tekstin muuntamiseksi UML-kaavioiksi, millaisia etuja ja ongelmia kyseisiin menetelmiin liittyy ja kuinka tarkkoja muunnokset ovat. Tavoitteena oli lisätä tietoa ja ymmärrystä näistä UML-kaavioita generoivista menetelmistä sekä niiden ominaisuuksista henkilöille ja tahoille, jotka voisivat hyötyä tällaisesta tiedosta.
Tutkimusmenetelmänä käytettiin systemaattista kirjallisuuskatsausta. Lähteitä etsittiin tietokannoista sekä sisällytettyjen artikkeleiden lähteistä Snowballing-menetelmää hyödyntäen. Tiedonhakuprosessin jälkeen lopulliseen analyysiin sisällytettiin yhteensä 10 artikkelia. Ne teemoitettiin, ja teemoituksen perusteella muodostettiin tutkielman lopulliset tulokset. Tuloksista havaittiin, että tutkimukseen sisällytetyistä menetelmistä suurin osa generoi sekvenssi- ja luokkakaavioita. Muutamat menetelmistä generoivat käyttötapaus-, komponentti- tai koostekaavioita.
Useimmat löydetyistä menetelmistä toimivat siten, että käyttäjä kirjoitti luonnollisella kielellä kuvauksen järjestelmästä, josta kaavio generoitiin. Tämän jälkeen kaaviota generoiva järjestelmä tunnisti kaavion elementit, joiden perusteella generoitiin tekstimuotoinen UML kaavio, esimerkiksi PlantUML- tai XMI-notaatiota käyttäen. Lopuksi järjestelmä generoi tämän tekstimuotoisen UML:n avulla kuvamuotoisen UML-kaavion, joka näytettiin käyttäjälle. Useimpien menetelmien tarkkuudet olivat melko hyvät. Menetelmien eduista ja ongelmista suurin osa liittyi kaaviogenerointiin ja käyttäjän näkökulmaan. Näiden lisäksi käsiteltiin myös esimerkiksi ajansäästöä, uutuusarvoa ja työkalujen ja datan aiheuttamat ongelmat.
