UML-kaavion huijauslehti ja viiteopas
โก รlykรคs yhteenveto
UML-diagrammien lunttilappu kokoaa Unified Modeling Language -kielen ydinmerkinnรคt yhteen lรคhteeseen: rakenteelliset ja kรคyttรคytymiseen liittyvรคt asiat, suhdetyypit ja pรครคkaaviot โ luokka, kรคyttรถtapaus, tilakone, aktiviteetti, sekvenssi, komponentti ja kรคyttรถรถnotto.

Asiat UML:ssรค
Asia voidaan kuvata miksi tahansa reaalimaailman olioksi tai objektiksi. Asiat jaetaan UML:ssรค eri luokkiin seuraavasti:
- Rakenteellisia asioita
- Kรคyttรคytymisen asioita
- Grouping asiat
- Annotaatioita
Rakenteellisia asioita
Rakenteelliset asiat koskevat jรคrjestelmรคn fyysistรค osaa. Se on UML-mallin substantiivi, kuten luokka, objekti, kรคyttรถliittymรค, yhteistyรถ, kรคyttรถtapaus, komponentti ja solmu.
Luokka:- Luokkaa kรคytetรครคn edustamaan erilaisia โโobjekteja. Sitรค kรคytetรครคn kohteen ominaisuuksien ja toimintojen mรครคrittรคmiseen.
Objekti:- Objekti on entiteetti, jota kรคytetรครคn kuvaamaan jรคrjestelmรคn kรคyttรคytymistรค ja toimintoja. Luokalla ja objektilla on samat merkinnรคt.
Esimerkki objektikaaviosta: - Alla UML-objektikaavio sisรคltรครค kaksi oliota nimeltรค Ferrari ja BMW, jotka kuuluvat luokkaan nimeltรค Car. Oliot ovat vain reaalimaailman olioita, jotka ovat luokan instansseja.
Kรคyttรถliittymรค :- Kรคyttรถliittymรค on samanlainen kuin malli ilman toteutustietoja. Ympyrรคmerkintรค edustaa sitรค. Kun luokka toteuttaa rajapinnan, toteutetaan myรถs sen toiminnallisuus.
Kรคyttรคytymisen asioita
Ne ovat UML-mallin verbejรค, kuten vuorovaikutukset, aktiviteetit ja tilakoneet. Kรคyttรคytymiseen liittyviรค asioita kรคytetรครคn jรคrjestelmรคn kรคyttรคytymisen kuvaamiseen.
Vuorovaikutuskaavio: - Vuorovaikutuskaavioita kรคytetรครคn visualisoimaan jรคrjestelmรคn eri komponenttien vรคlistรค viestivirtaa.
Grouping asiat
Se on paketti, jota kรคytetรครคn ryhmittelemรครคn semanttisesti toisiinsa liittyviรค mallinnuselementtejรค yhdeksi koheesioyksikรถksi.
Annotaatioita
Se on kuin muistiinpano, joka voidaan kirjoittaa malliin tallentaakseen tรคrkeitรค tietoja. Se on samanlainen kuin keltainen tarralappu.
Suhteet kirjoitetaan UML:ssรค
Suhteen avulla voit nรคyttรครค mallilla, kuinka kaksi tai useampi asia liittyy toisiinsa.
Yhdistyssuhde: - Se on joukko linkkejรค, jotka yhdistรคvรคt UML-mallin elementtejรค. Se on merkitty katkoviivalla, jonka molemmilla puolilla on nuolenkรคrkiรค. Molemmat puolet sisรคltรคvรคt elementin, joka kuvaa suhdetta.
Refleksiivinen assosiaatio: Refleksiivinen assosiaatio tarkoittaa, ettรค linkki tai yhteys voi olla lรคsnรค saman luokan objekteissa.
Ohjattu yhdistys: - Suunnatussa yhdistyksessรค virtaus on suunnattu. Yhteys luokasta toiseen virtaa vain yhteen suuntaan.
Riippuvuussuhde: - Se on yksi UML:n tรคrkeimmistรค merkinnรถistรค. Se mรครคrittelee riippuvuuden suunnan kohteesta toiseen.
Yleistyssuhde: - Sitรค kutsutaan myรถs vanhemman ja lapsen suhteeksi. Tรคmรคn tyyppistรค suhdetta kรคytetรครคn periytymiskรคsitteen esittรคmiseen.
Toteutussuhde: - Toteutussuhdetta kรคytetรครคn laajasti rajapintoja kuvaamaan.
Toteutus voidaan esittรครค kahdella tavalla:
- Kanonisen muodon kรคyttรคminen
- Elidoidun lomakkeen kรคyttรถ
Sรคvellys :- Yhdistelmรคaggregaatio kuvataan binรครคrisenรค assosiaationa, jonka aggregaatin (kokonaisuuden) pรครคssรค on tรคytetty musta vinoneliรถ. Se ei ole UML-standardirelaatio, mutta sitรค kรคytetรครคn silti useissa sovelluksissa.
Kokoonpano: - Aggregaatiosuhteessa riippuvainen objekti pysyy suhteen piirissรค, vaikka lรคhdeobjekti tuhoutuisi. Aggregaatio on assosiaation alityyppi. suhde UML:ssรค.
Abstract-luokat
Se on luokka, jolla on operaatioprototyyppi, mutta ei toteutusta. UML:ssรค ainoa ero luokan ja abs-luokan vรคlillรคtract-luokan erikoisuus on, ettรค luokan nimi kirjoitetaan yksinomaan kursiivilla.
Katsotaanpa esimerkkiรค tรคydellisestรค UML-luokkakaaviosta:
Pankkiautomaattijรคrjestelmรค on hyvin yksinkertainen, koska asiakkaiden tarvitsee painaa muutamia painikkeita saadakseen kรคteistรค. Pankkiautomaattien on kuitenkin lรคpรคistรคvรค useita turvakerroksia. Tรคmรค auttaa estรคmรครคn petoksia ja tarjoamaan kรคteistรค tai tilitietoja pankkiasiakkaille.
UML-kรคyttรถtapauskaavio
Kรคyttรถtapauskaavio kuvaa jรคrjestelmรคn toiminnallisuutta ja vaatimuksia toimijoiden ja kรคyttรถtapausten avulla. Kรคyttรถtapaukset mallintavat palveluita, tehtรคviรค ja toimintoja, joita jรคrjestelmรคn on suoritettava.
Kรคyttรถtapaus: - Kรคyttรถtapaukset ovat yksi oliomallinnuksen ydinkรคsitteitรค. Niitรค kรคytetรครคn kuvaamaan korkean tason toimintoja ja sitรค, kuinka kรคyttรคjรค kรคsittelee jรคrjestelmรครค.
Nรคyttelijรค :- Toimija on kokonaisuus, joka on vuorovaikutuksessa jรคrjestelmรคn kanssa. Kรคyttรคjรค on paras esimerkki nรคyttelijรคstรค.
Esimerkki kรคyttรถtapauskaaviosta
Alla olevassa kรคyttรถtapauskaaviossa on kaksi toimijaa nimeltรค opiskelija ja opettaja. Kรคyttรถtapauksia on yhteensรค viisi, jotka edustavat opiskelijahallintajรคrjestelmรคn tiettyรค toiminnallisuutta. Jokainen toimija on vuorovaikutuksessa tietyn kรคyttรถtapauksen kanssa.
UML-tilakonekaavio
Valtion kone: - Sitรค kรคytetรครคn kuvaamaan yksittรคisen komponentin eri tiloja ohjelmistokehityksen elinkaaren aikana.
Tilakoneessa on neljรค erilaista tilaa:
- Alkuperรคinen tila: - Alkutilasymbolia kรคytetรครคn osoittamaan tilakonekaavion alkua.
- Lopullinen tila: - Tรคtรค symbolia kรคytetรครคn osoittamaan tilakonekaavion loppua.
- Pรครคtรถslaatikko: - Se sisรคltรครค ehdon. Arvioidun suojatilan tuloksesta riippuen ohjelman suorittamiseen valitaan uusi polku.
- Siirtymรค: - Siirtymรค on jonkin tapahtuman aiheuttama muutos tilasta toiseen.
Esimerkki tilakoneen kaaviosta: - Tiloja on yhteensรค kaksi, ja ensimmรคinen tila osoittaa, ettรค kertakรคyttรถinen salasana (OTP) on syรถtettรคvรค ensin. Sen jรคlkeen kertakรคyttรถinen salasana (OTP) tarkistetaan pรครคtรถsruudussa; jos se on oikein, tapahtuu vain tilasiirtymรค ja kรคyttรคjรค validoidaan. Jos kertakรคyttรถinen salasana (OTP) on vรครคrรค, siirtymรครค ei tapahdu ja palataan jรคlleen lรคhtรถtilaan, kunnes kรคyttรคjรค syรถttรครค oikean kertakรคyttรถisen salasanan.
UML-toimintakaavio
Toimintakaavio: - Aktiviteettikaaviota kรคytetรครคn havainnollistamaan jรคrjestelmรคn eri osien suorittamia toimintoja.
- Alkutilat: Lรคhtรถvaihe ennen toiminnan aloittamista kuvataan alkutilana.
- Lopputilat: Tilaa, jonka jรคrjestelmรค saavuttaa tietyn prosessin pรครคttyessรค, kutsutaan lopputilaksi.
- Pรครคtรถslaatikko: Se on timantinmuotoinen laatikko, joka edustaa vaihtoehtoisia polkuja sisรคltรคvรครค pรครคtรถstรค. Se edustaa kontrollin virtausta.
Esimerkki aktiviteettikaaviosta: - Seuraava kaavio kuvaa sรคhkรถpostien kรคsittelyyn liittyvรครค toimintaa.
Sekvenssikaavio
UML:n sekvenssikaavion tarkoituksena on visualisoida viestivirran jรคrjestys jรคrjestelmรคssรค. Sekvenssikaaviota kรคytetรครคn minkรค tahansa skenaarion kรคyttรคytymisen tallentamiseen.
Yhteistyรถkaavio
Yhteistyรถ: - Sitรค edustaa pisteviiva ellipsi, jonka sisรครคn on kirjoitettu nimi.
Esimerkki yhteistyรถkaaviosta: -
Ajoituskaavio
Ajoituskaavio mรครคrittรครค, kuinka objekti muuttaa tilaansa kรคyttรคmรคllรค aaltomuotoa tai kuvaajaa. Sitรค kรคytetรครคn osoittamaan esineen muuntamista muodosta toiseen muotoon.
Esimerkki ajoituskaaviosta: -
UML-komponenttikaavio
Komponentti: - Komponenttimerkintรครค kรคytetรครคn edustamaan jรคrjestelmรคn osaa.
Solmu:- Solmua voidaan kรคyttรครค edustamaan verkkoa, palvelinta, reitittimiรค jne. Sen merkintรค on annettu alla.
Komponentin rakenne: - Komponentti esitetรครคn luokittelijan suorakulmiolla, joka on stereotyyppinen << komponentti >>.
Portti:- Portti on luokittelijan ja ulkoisen ympรคristรถn vรคlinen vuorovaikutuspiste. Se ryhmittelee semanttisesti yhtenรคisen joukon annettuja ja vaadittuja rajapintoja.
Esimerkki komponenttikaaviosta: -
Kรคyttรถรถnottokaavio
Kรคyttรถรถnottokaavio: - Kรคyttรถรถnottokaavio edustaa jรคrjestelmรคn fyysistรค nรคkymรครค.
Kรคyttรถรถnottokaavio koostuu seuraavista merkinnรถistรค:
- Solmu
- Komponentti
- Artefakti
- Kรคyttรถliittymรค
Esimerkki kรคyttรถรถnottokaaviosta: - Seuraava kรคyttรถรถnottokaavio kuvaa HTML5-videosoittimen toimintaa selaimessa.



































