Nykymaailmassa UML-mallinnus:stä on tullut erittäin tärkeä ja kiinnostava aihe monenlaisille ihmisille, yrityksille ja organisaatioille. Ilmestymisestään lähtien UML-mallinnus on kiinnittänyt yhteiskunnan huomion ja synnyttänyt loputtomia keskusteluja, keskusteluja ja pohdintoja sen tärkeydestä, vaikutuksista ja kehityksestä. Olipa kyseessä henkilökohtainen, ammatillinen, sosiaalinen tai kulttuurinen taso, UML-mallinnus on onnistunut ylittämään rajat ja vakiinnuttanut asemansa keskeisenä vertailukohtana nykyään. Tästä syystä on tärkeää analysoida ja käsitellä syvällisesti ja yksityiskohtaisesti kaikkia UML-mallinnus:een liittyviä näkökohtia, jotta voimme paremmin ymmärtää sen vaikutusta ja merkitystä jokapäiväisessä elämässämme.
Tämän artikkelin tai sen osan muoto tai tyyli kaipaa korjausta. Voit auttaa Wikipediaa parantamalla artikkelia. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: Johdantokappaleen jälkeen pelkkiä otsikoita ja listoja |
UML-mallinnus (engl. Unified Modeling Language) on Object Management Groupin (OMG) vuonna 1997 standardoima graafinen mallinnuskieli, joka sisältää 13 erilaista kaaviota. Kaavioista kuudella kuvataan rakennetta, kolmella käyttäytymistä ja neljällä vuorovaikutusta. UML on alun perin kehitetty järjestelmä- ja ohjelmistokehitystä varten. Se syntyi yhdistämällä kolme johtavaa oliomallinnustekniikkaa (OMT, Booch, OOSE). Uusin UML-standardi on 2.5.1 joulukuulta vuodelta 2017.[1]
UML on kehittynyt vähitellen oliokeskeisen suunnittelu- ja ohjelmistokehitystyön menetelmätarpeiden pohjalta. Fowler ja Kendall (2002) esittävät eri osa-alueiden keskeisiksi varhaisiksi toimijoiksi Portlandissa toimineen Smalltalk-ohjelmointikielen kehittäjäyhteisön, Object Management Groupin sekä Association for Computing Machineryn (ACM) järjestämät oliomenetelmien OOPSLA-konferenssit.[2] Henkilöistä he nimeävät merkittäviksi kehittäjiksi ja julkaisijoiksi mm. seuraavia: Grady Booch, Peter Coad, Ivar Jacobson, James Martin, Steve Mellor, Jim Odell, James Rumbaugh, Sally Shlaer ja Edward Yourdon. Monet heistä esittivät nimillään tunnetuksi tulevia menetelmiä ja kuvaustekniikoita. [3]
Kehitystyötä leimasivat sekä yhtenäistämispyrkimykset että koulukuntariidat. Jonkinlainen käännekohta oli vuosi 1994, jolloin Booch, Rumbaugh ja Jacobson liittyivät yhteen Rational Software Corporation -yrityksen palveluksessa ja alkoivat yhteistyön Boochin vuonna 1991 julkaiseman Object Modeling Technique -menetelmän (OMT) parissa. Heidät tunnettiin oliomenetelmien kehittäjäyhteisössä myöhemmin nimellä Three Amigos ("Kolme kaverusta").[3][4]
Lyhenne UML merkityksessä Unified Modelling Language otettiin laajemmin käyttöön vuonna 1996. Ensimmäisissä julkisissa kuvauksissa (OOPSLA 95) menetelmän nimenä oli ollut Unified Method.[3]
UML:n pääkaaviotyyppejä ovat rakennekaaviot ja käyttäytymiskaaviot.[5]
Rakennekaavio
Rakennekaavioilla voidaan kuvata rakennettavan ohjelmistojärjestelmän ohjelmistoarkkitehtuuria, sillä se kuvaa ohjelmistojärjestelmän staattisia osia. Rakennekaavio kuvaa ohjelmistojärjestelmän rakennetta ja siinä esitetään ne osat, jotka on oltava mallinnettavassa järjestelmässä. [6] Luokkakaavio on esimerkki ohjelmistojärjestelmän rakennetta kuvaavasta kaaviosta. Luokkakaavio (Class diagram) sisältää ohjelmistojärjestelmään kuuluvat luokat, luokkien ominaisuudet (attribuutit), niiden toiminnot, sekä luokkien väliset suhteet. [7]
Käyttäytymiskaavio
Käyttäytymiskaaviolla voidaan kuvata rakennettavan ohjelmistojärjestelmän toimivuutta, sillä se kuvaa ohjelmistojärjestelmän dynaamisia osia. Käyttäytymiskaviolla kuvataan ohjelmistojärjestelmän käyttäytymistä ja se mallintaa järjestelmässä toteutuvia tapahtumia. [6] Yksi käyttäytymiskaavion esimerkki on käyttötapauskaavio (Use case diagram), jolla kuvataan järjestelmän erityyppisiä käyttäjiä ja niiden vuorovaikutuksia järjestelmän kanssa. [8]
Vuorovaikutuskaavio
Vuorovaikutuskaaviolla kuvataan ohjelmistojärjestelmän osien välillä kulkevaa dataa, sekä käskyjen ja kutsujen suoritusjärjestystä. Esimerkki vuorovaikutuskaaviosta on sekvenssikaavio (Sequence diagram), joka kuvaa objektien välistä vuorovaikutusta ja niiden järjestystä. [6]