UML-kaavioinnin ja -tietokantamallinnuksen opas
Miksi UML?
UML tuli tunnetuksi 1990-luvulla kolmen ohjelmistoinsinöörin - Grady Boochin, Ivar Jacobsonin ja James Rumbaughin - ansiosta, koska he halusivat kehittää vähemmän kaoottisen tavan esittää yhä monimutkaisempaa ohjelmistokehitystä ja samalla erottaa metodologian ja prosessin toisistaan. Nykyään UML on edelleen kehittäjien, projektipäälliköiden, yritysten omistajien, teknologiayrittäjien ja eri alojen ammattilaisten vakiomuotoinen merkintätapa.
Mitä hyötyä UML:stä on?
- Yksinkertaistaa monimutkaisuutta
- Pitää viestintälinjat avoimina
- Automatisoi ohjelmistojen ja prosessien tuotantoa
- Auttaa ratkaisemaan pysyviä arkkitehtuuriongelmia
- Parantaa työn laatua
- Vähentää kustannuksia ja markkinoille saattamisen aikaa
UML-kaavioiden tyypit
Asiakkaista ja projektipäälliköistä teknisiin kirjoittajiin, suunnittelijoihin, analyytikoihin, koodaajiin ja laadunvarmistukseen, testaajiin, jokainen rooli käyttää tarpeisiinsa sopivaa kaaviota. Tämä tarkoittaa, että jokainen ulkoasu vaatii erilaista painotusta ja erilaista yksityiskohtien tasoa. Tavoitteena on, että UML:n avulla voidaan ilmaista visuaalisesti kaavioita, joita kaikkien on helppo ymmärtää.
Rakennekaaviot
Käyttäytymiskaaviot
Katsotaanpa tarkemmin, millaisia erilaisia UML-kaavioita kuhunkin luokkaan kuuluu:
1. Rakenteelliset UML-kaaviot
Luokkakaavio. Tätä ohjelmistokehityksessä yleisintä kaaviotyyppiä käytetään kuvaamaan järjestelmän loogista ja fyysistä suunnittelua ja osoittamaan sen luokat. Se muistuttaa vuokaaviota, koska luokat on esitetty laatikoilla. Tämä kaavio havainnollistaa eri luokkia ja niiden keskinäistä suhdetta, ja kussakin luokassa on kolme lokeroa:
- Ylin osa: luokan nimi
- Keskimmäinen osa: luokkamääritteet
- Alaosa: luokkamenetelmät tai -toiminnot
Esimerkki UML-luokkaliittymäkaaviosta. Malli ladattavissa.
Objektikaavio. Tätä kaaviota käytetään usein tapana tarkistaa luokkakaavion tarkkuus. Toisin sanoen, toimiiko se käytännössä? Se näyttää järjestelmän kohteet ja niiden väliset suhteet ja antaa paremman kuvan mahdollisista korjausta vaativista suunnitteluvirheistä.
Komponenttikaaviot. Se tunnetaan myös nimellä komponenttivuokaavio, ja siinä esitetään elementtien loogiset ryhmittelyt ja niiden väliset suhteet. Toisin sanoen se antaa yksinkertaisemman kuvan monimutkaisesta järjestelmästä pilkkomalla sen pienempiin osiin. Kukin kappale on esitetty suorakulmaisessa laatikossa, jonka sisälle on kirjoitettu sen nimi. Liitännät määrittelevät eri komponenttien väliset suhteet/riippuvuudet.
Yhdistelmärakennekaavio. Kukaan muu kuin ohjelmistokehitysalan ammattilainen ei juurikaan käytä tätä. Miksi? Vaikka se on samanlainen kuin luokkakaavio, se menee syvemmälle ja kuvaa useiden luokkien sisäisen rakenteen ja näyttää niiden väliset vuorovaikutukset. Ellet ole kehittäjä, ylimmän tason näkymässä on todennäköisesti tarpeeksi tietoa.
Käyttöönottokaavio. Tässä kaaviossa näkyvät laitteiston (solmut) ja ohjelmiston (artefaktit) osat ja niiden suhteet. Se tarjoaa visuaalisen esityksen siitä, missä kukin ohjelmistokomponentti on otettu käyttöön.
Käynnistä yrityksesi Microsoft 365:n pikakurssilla
Pakettikaavio. Tätä käytetään mallin muodostavien pakettien välisten riippuvuuksien kuvaamiseen. Päätavoitteena on esittää monitasoisen järjestelmän muodostavien suurten komponenttien välinen suhde.
Profiilikaavio. Tämä ei ole niinkään kaavio vaan enemmänkin kieli. Profiilikaavio auttaa luomaan uusia ominaisuuksia ja semantiikkaa UML-kaavioihin määrittelemällä mukautettuja stereotyyppejä, merkittyjä arvoja ja rajoituksia. Näiden profiilien avulla voit mukauttaa UML-metamallia eri alustoille (esim. Java Platform, Enterprise Edition (Java EE) tai Microsoft .NET Framework) ja aloille (esim. liiketoimintaprosessien mallintaminen, palvelukeskeinen arkkitehtuuri, lääketieteelliset sovellukset ja muut).
2. Käyttäytymistä kuvaavat UML-kaaviot:
Esimerkki perus-UML-käyttötapauskaaviosta. Malli ladattavissa.
Käyttötapauskaavio. Tässä kuvataan, mitä järjestelmä tekee, mutta ei sitä, miten se tekee sen. Käyttötapaus on joukko tapahtumia, jotka tapahtuvat, kun "toimija" käyttää järjestelmää prosessin suorittamiseen. Toimijalla tarkoitetaan ketä tahansa tai mitä tahansa, joka on vuorovaikutuksessa järjestelmän kanssa (henkilö, organisaatio tai sovellus) järjestelmän ulkopuolelta. Käyttötapauskaavio kuvaa visuaalisesti kyseisiä sekvenssejä ja edustaa järjestelmän toiminnallisia vaatimuksia.
Vuorovaikutuksen yleiskatsauskavio. Tämä usein monimutkainen kaavio on samanlainen kuin toimintokaavio, koska molemmissa esitetään toimintojen vaiheittainen järjestys. Vuorovaikutuskaavio on kuitenkin toimintokaavio, joka koostuu eri vuorovaikutuskaavioista. Niissä käytetään samoja merkintöjä kuin toimintokaaviossa (alku-, loppu-, päätös-, yhdistämis-, haarautumis- ja liittymissolmut), ja niihin on lisätty elementtejä, kuten vuorovaikutus, vuorovaikutuksen käyttö, aikarajoite ja kestorajoite.
Ajoituskaavio. Kun ajoitus on keskeisellä sijalla, käytetään tätä UML-kaaviota. Se tunnetaan myös sekvenssi- tai tapahtumakaaviona, eikä siinä näytetä, miten kohteet ovat vuorovaikutuksessa tai muuttavat toisiaan. Toiminnallisesti se näyttää, miten objektit ja toimijat toimivat aikajanalla. Tässä keskitytään siihen, kuinka kauan tapahtumat kestävät ja millaisia muutoksia tapahtuu kestorajoitusten mukaan. Ajoituskaavion tärkeimpiä osia ovat seuraavat:
- Elinkaari: yksittäinen osallistuja
- Tilan aikajana: eri tilat, joiden läpi elinkaari kulkee putken sisällä
- Kestorajoitus: rajoituksen täyttymiseen tarvittava aika
- Aikarajoite: aika, jonka kuluessa osallistujan on täytettävä jokin tehtävä
- Tuhoamisesiintymä: paikka, jossa objektin elinkaari päättyy. Mikään muu tapahtuma ei ilmesty tuhoutumisen jälkeen elinkaarelle.
Tilakonekaaviot. Tätä kaaviota kutsutaan myös tilakaavioksi, ja sitä käytetään, kun objektin käyttäytyminen on monimutkaista ja yksityiskohdat ovat tärkeitä. Sen avulla voidaan kuvata yhden objektin (tai joskus operaattorin) käyttäytymistä ja sitä, miten se muuttuu sisäisten ja ulkoisten tapahtumien perusteella.
Sekvenssikaavio. Tämä visuaalisesti houkutteleva kaavio on suosittu muuallakin kuin muotoiluyhteisössä, ja se sopii hyvin kaikenlaisten liiketoimintaprosessien esittämiseen. Se yksinkertaisesti paljastaa järjestelmän rakenteen ja näyttää viestien ja vuorovaikutuksen toimijoiden ja kohteiden välillä kronologisessa järjestyksessä. Sekvenssikaavioissa näkyy yksinkertainen iterointi ja haarautuminen. Se sopii hyvin monitehtäväiseen työskentelyyn.
Viestintäkaavio. Viestintä- tai yhteistyökaavio on samanlainen kuin sekvenssikaavio. Siinä korostetaan kuitenkin esineiden välistä viestintää. Se näyttää vuorovaikutukseen osallistuvien objektien organisaation, ja siinä on monimutkaisempi iterointi ja haarautuminen.
Tietokantamallit
UML on kasvattanut suosiotaan myös tietokantojen mallintamisen merkintätapana. Nämä mallit ovat loistava visuaalinen apuväline aivoriihessä, vapaamuotoisessa kaavioinnissa ja ideoiden työstämisessä.
Vaikka UML:llä ei ole määrittelyjä tietomallinnustavarten, se voi olla hyödyllinen työkalu kaavioinnissa, erityisesti koska tietokannoista saatuja tietoja voidaan käyttää oliopohjaisessa ohjelmoinnissa.
Tarkastellaan erilaisia tietokantamalleja, joita voit luoda:
- Hierarkkinen tietokantamalli. Vanha mutta hyvä, tämän mallin tiedot on järjestetty puumaiseen rakenteeseen. Puu koostuu useista ryhmistä, joita kutsutaan segmenteiksi. Se käyttää yksi-moneen-yhteyttä. Tietojen käyttö on myös ennakoitavissa.
- Verkkomalli. Tämä malli on muodoltaan graafi, jossa suhdetyypit ovat kaaria ja objektityypit solmuja. Toisin kuin muissa tietokantamalleissa, verkkomallin skeemaa ei ole rajoitettu ristikkoon tai hierarkiaan.
- Objektipohjainen tietokantamalli. Tässä mallissa käytetään kokoelmaa objekteja eli uudelleenkäytettäviä ohjelmistoelementtejä ja niihin liittyviä ominaisuuksia ja menetelmiä. Esimerkiksi multimediatietokannassa voi olla kuvia, joita ei voida tallentaa relaatiotietokantaan. Tai hypertekstitietokanta sallii linkityksen muihin objekteihin.
- Relaatiomalli. Tällöin tiedot jäsennetään relaatioiden eli ruudukkomaisten matemaattisten rakenteiden avulla, joissa on sarakkeita ja rivejä. Se on periaatteessa taulukko.
- Objektirelaatiomalli. Kuten nimestä käy ilmi, tämä malli on edellä mainittujen kahden mallin yhdistelmä. Se tukee objekteja, luokkia, periytymistä ja muita oliosuuntautuneita elementtejä, mutta se tukee myös tietotyyppejä, taulukkorakenteita ja muuta vastaavaa kuin relaatiotietomallissa.
- Entiteettisuhdemalli. Tämä koostuu entiteettityypeistä (ihmiset, paikat tai asiat). Se näyttää suhteet, jotka voivat olla niiden välillä. Määrittelemällä oliot, niiden attribuutit ja osoittamalla niiden väliset suhteet entiteettisuhdekaavio havainnollistaa tietokantojen loogisen rakenteen.
- Asiakirjamalli. Se on suunniteltu pikemminkin asiakirjojen tai puolistrukturoitujen tietojen kuin atomisoitujen tietojen tallentamiseen ja hallintaan. Siinä on puurakenne, jossa jokainen solmu on dokumentin osaa edustava objekti.
- Entiteetti-attribuutti-arvomalli. Entiteetti-attribuutti-arvomalleissa, tai avoimen rakenteen malleissa tiedot tallennetaan kolmena sarakkeena
- Entiteetti (mitä kuvataan)
- Määrite tai parametri (esimerkiksi nimi, kuvaus, tietotyyppi)
- Määritteen arvo
- Tähtirakenne. Tämä on yksinkertaisin versio ulottuvuusmallista, jossa tiedot on järjestetty ulottuvuuksiin ja faktoihin. Sitä käytetään liiketoimintatiedustelussa ja tietovarastoinnissa, koska se soveltuu suurten tietokokonaisuuksien kyselyyn.
Yksinkertaistaminen ohjelmistolla
Olitpa sitten luomassa tietokantamalleja tai UML-kaavioita, ohjelmistotyökalun käyttö yksinkertaistaa ja parantaa prosessia. Muista valita sellainen, jonka avulla voit:
- Luo ammattimaisia kaavioita valmiiden mallien ja tuhansien muotojen avulla sisältöekosysteemissä, joka täyttää alan standardit, kuten UML 2.5, mutta myös BPMN 2.0 ja IEEE.
- Herätä kaaviot henkiin tietojen peittokuvan, kuvakkeiden, värien ja grafiikan avulla, jotta tietoja on helpompi käsitellä, mukaan lukien yksivaiheinen Excelin tietojen visualisointi.
- Tee yhteistyötä muiden kanssa käyttämällä yhteiskirjoittamista, kommentointia ja merkintöjä.
- Kommunikoi yksi versio totuudesta ja käytä kaavioita lähes mistä tahansa selaimella tai laitesovelluksilla.
Ohjelmistokehityksessä ja muissa kuin ohjelmistojärjestelmissä monilla teollisuudenaloilla visuaalisten UML-kaavioiden käyttö voi olla ratkaisevan tärkeää käyttäytymisprosessien ja -rakenteiden rakentamisen onnistumisen kannalta. Tämän vaiheittaisen oppaan avulla saat lisätietoja UML-kaavioiden luomisesta ohjelmistojen avulla.
Marin on osa Microsoftin markkinointitiimiä. Hän on innoissaan siitä, miten yrittäjät voivat paremmin aloittaa, hallita ja kasvattaa yritystään.
Seuraa Microsoft 365:tä