UML-mallinnus

ohjelmointikieli

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:n tausta

muokkaa

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]

Kaaviotyypit

muokkaa

UML:n pääkaaviotyyppejä ovat rakennekaaviot ja käyttäytymiskaaviot.[5]

 
UML:n kaaviohierarkia

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]

Käyttötarkoituksia

muokkaa
  • Ohjelmistosuunnittelu
  • Ajettavan koodin luominen
  • Järjestelmien arkkitehtuurit
  • Prosessitekniikka
  • Internet-portaalien rakenteet
  • Työvirtojen kuvaus
  • Liiketoimintaprosessien mallintaminen

Lähteet

muokkaa

Viitteet

muokkaa
  1. Object Management Group: About the Unified Modeling Language Specification Version 2.5. Object Management Group. Viitattu 18.9.2020.
  2. OOPSLA = Object-Oriented Programming, Systems, Languages & Applications
  3. a b c Fowler & Kendall 2002, 1-5
  4. Unified Modeling Language - UML Virtual Exhibitions in Informatics. Universität Klagenfurt. Arkistoitu 4.4.2020. Viitattu 18.9.2020.
  5. OMG® Unified Modeling Language® (OMG UML®): Version 2.5.1 (with change bars), 691
  6. a b c Unified Modeling Language. Wikipedia, 26.3.2023. Artikkelin verkkoversio. en
  7. Class diagram. Wikipedia, 4.2.2023. Artikkelin verkkoversio. en
  8. Use case diagram. Wikipedia, 19.1.2023. Artikkelin verkkoversio. en

Aiheesta muualla

muokkaa