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.

  • ๐Ÿงฑ UML:n asioita: Rakenteelliset, kรคyttรคytymiseen liittyvรคt, ryhmรคpingja annotatiiviset asiat ovat jokaisen mallin rakennuspalikoita.
  • ๐Ÿ”— Ihmissuhteet: Assosiaatio, riippuvuus, yleistys, toteutus, kompositio ja aggregaatio yhdistรคvรคt mallin elementtejรค.
  • ๐ŸŽญ Kรคyttรคytymiskaaviot: Kรคyttรถtapaus-, tilakone-, aktiviteetti-, sekvenssi-, yhteistyรถ- ja ajoituskaaviot kuvaavat dynaamista kรคyttรคytymistรค.
  • ๐Ÿ—๏ธ Rakennekaaviot: Luokka-, komponentti- ja kรคyttรถรถnottokaaviot kuvaavat jรคrjestelmรคn staattista ja fyysistรค rakennetta.
  • ๐ŸŽฏ Nopea viittaus: Jokainen merkintรคtapa nรคytetรครคn symbolillaan ja yhden rivin mรครคritelmรคllรครคn nopeaa hakua varten.

UML-kaavion huijauslehti ja viiteopas

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.

Rakenteelliset asiat UML:ssรค

Luokka:- Luokkaa kรคytetรครคn edustamaan erilaisia โ€‹โ€‹objekteja. Sitรค kรคytetรครคn kohteen ominaisuuksien ja toimintojen mรครคrittรคmiseen.

Rakenteelliset asiat UML:ssรค

Objekti:- Objekti on entiteetti, jota kรคytetรครคn kuvaamaan jรคrjestelmรคn kรคyttรคytymistรค ja toimintoja. Luokalla ja objektilla on samat merkinnรคt.

Rakenteelliset asiat UML:ssรค

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.

Rakenteelliset asiat UML:ssรค

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.

Kรคyttรคytymisasiat UML:ssรค

Vuorovaikutuskaavio: - Vuorovaikutuskaavioita kรคytetรครคn visualisoimaan jรคrjestelmรคn eri komponenttien vรคlistรค viestivirtaa.

Grouping asiat

Grouping asioita UML:ssรค

Se on paketti, jota kรคytetรครคn ryhmittelemรครคn semanttisesti toisiinsa liittyviรค mallinnuselementtejรค yhdeksi koheesioyksikรถksi.

Annotaatioita

Huomautuksia UML:ssรค

Se on kuin muistiinpano, joka voidaan kirjoittaa malliin tallentaakseen tรคrkeitรค tietoja. Se on samanlainen kuin keltainen tarralappu.

Suhteet kirjoitetaan UML:ssรค

Suhteet Kirjoita UML

Suhteen avulla voit nรคyttรครค mallilla, kuinka kaksi tai useampi asia liittyy toisiinsa.

Suhteet Kirjoita UML

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.

Suhteet Kirjoita UML

Refleksiivinen assosiaatio: Refleksiivinen assosiaatio tarkoittaa, ettรค linkki tai yhteys voi olla lรคsnรค saman luokan objekteissa.

Suhteet Kirjoita UML

Ohjattu yhdistys: - Suunnatussa yhdistyksessรค virtaus on suunnattu. Yhteys luokasta toiseen virtaa vain yhteen suuntaan.

Suhteet Kirjoita UML

Suhteet Kirjoita UML

Riippuvuussuhde: - Se on yksi UML:n tรคrkeimmistรค merkinnรถistรค. Se mรครคrittelee riippuvuuden suunnan kohteesta toiseen.

Suhteet Kirjoita UML

Suhteet Kirjoita UML

Yleistyssuhde: - Sitรค kutsutaan myรถs vanhemman ja lapsen suhteeksi. Tรคmรคn tyyppistรค suhdetta kรคytetรครคn periytymiskรคsitteen esittรคmiseen.

Suhteet Kirjoita UML

Toteutussuhde: - Toteutussuhdetta kรคytetรครคn laajasti rajapintoja kuvaamaan.

Suhteet Kirjoita UML

Toteutus voidaan esittรครค kahdella tavalla:

  • Kanonisen muodon kรคyttรคminen
  • Elidoidun lomakkeen kรคyttรถ

Suhteet Kirjoita UML

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.

Suhteet Kirjoita UML

Kokoonpano: - Aggregaatiosuhteessa riippuvainen objekti pysyy suhteen piirissรค, vaikka lรคhdeobjekti tuhoutuisi. Aggregaatio on assosiaation alityyppi. suhde UML:ssรค.

Abstract-luokat

AbstracUML-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-luokkakaavio

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รคytรค tapauskaaviota UML:ssรค

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รครค.

Kรคytรค tapauskaaviota UML:ssรค

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.

Kรคytรค tapauskaaviota UML:ssรค

UML-tilakonekaavio

Tilakonekaavio UML:ssรค

Valtion kone: - Sitรค kรคytetรครคn kuvaamaan yksittรคisen komponentin eri tiloja ohjelmistokehityksen elinkaaren aikana.

Tilakoneessa on neljรค erilaista tilaa:

  1. Alkuperรคinen tila: - Alkutilasymbolia kรคytetรครคn osoittamaan tilakonekaavion alkua.
  2. Lopullinen tila: - Tรคtรค symbolia kรคytetรครคn osoittamaan tilakonekaavion loppua.
  3. Pรครคtรถslaatikko: - Se sisรคltรครค ehdon. Arvioidun suojatilan tuloksesta riippuen ohjelman suorittamiseen valitaan uusi polku.
  4. Siirtymรค: - Siirtymรค on jonkin tapahtuman aiheuttama muutos tilasta toiseen.

Tilakonekaavio UML:ssรค

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 UML:ssรค

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.

Toimintakaavio UML:ssรค

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.

Sekvenssikaavio UML:ssรค

Yhteistyรถkaavio

Yhteistyรถkaavio UML:ssรค

Yhteistyรถ: - Sitรค edustaa pisteviiva ellipsi, jonka sisรครคn on kirjoitettu nimi.

Esimerkki yhteistyรถkaaviosta: -

Yhteistyรถkaavio UML:ssรค

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

Ajoituskaavio UML:ssรค

UML-komponenttikaavio

Komponenttikaavio UML:ssรค

Komponentti: - Komponenttimerkintรครค kรคytetรครคn edustamaan jรคrjestelmรคn osaa.

Komponenttikaavio UML:ssรค

Solmu:- Solmua voidaan kรคyttรครค edustamaan verkkoa, palvelinta, reitittimiรค jne. Sen merkintรค on annettu alla.

Komponenttikaavio UML:ssรค

Komponentin rakenne: - Komponentti esitetรครคn luokittelijan suorakulmiolla, joka on stereotyyppinen << komponentti >>.

Komponenttikaavio UML:ssรค

Portti:- Portti on luokittelijan ja ulkoisen ympรคristรถn vรคlinen vuorovaikutuspiste. Se ryhmittelee semanttisesti yhtenรคisen joukon annettuja ja vaadittuja rajapintoja.

Esimerkki komponenttikaaviosta: -

Komponenttikaavio UML:ssรค

Kรคyttรถรถnottokaavio

Kรคyttรถรถnottokaavio: - Kรคyttรถรถnottokaavio edustaa jรคrjestelmรคn fyysistรค nรคkymรครค.

Kรคyttรถรถnottokaavio koostuu seuraavista merkinnรถistรค:

  1. Solmu
  2. Komponentti
  3. Artefakti
  4. Kรคyttรถliittymรค

Kรคyttรถรถnottokaavio UML:ssรค

Esimerkki kรคyttรถรถnottokaaviosta: - Seuraava kรคyttรถรถnottokaavio kuvaa HTML5-videosoittimen toimintaa selaimessa.

Kรคyttรถรถnottokaavio UML:ssรค

UKK

Kyllรค. Tekoรคlyavustajat voivat muuntaa luokkien, toimijoiden tai tyรถnkulkujen selkokielisen kuvauksen UML-kaaviokoodiksi (kuten PlantUML tai merenneito), joka nรคkyy kaaviona. RevTarkastele tulostetta, koska tekoรคly saattaa jรคttรครค huomiotta suhteita tai moninaisuutta.

Kyllรค. Tekoรคlyllรค avustetut kรครคnteisen suunnittelun tyรถkalut voivat lukea luokkia ja metodeja koodista ja luoda luokka- tai sekvenssikaavioita. Tรคmรค nopeuttaa dokumentointia, vaikka kehittรคjien tulisi varmistaa, ettรค luodut kaaviot heijastavat tarkoitettua arkkitehtuuria.

UML-kaaviot voidaan jakaa kahteen luokkaan: rakennekaaviot (luokka, objekti, komponentti, kรคyttรถรถnotto), jotka nรคyttรคvรคt staattisen rakenteen, ja kรคyttรคytymiskaaviot (kรคyttรถtapaus, aktiviteetti, tilakone, sekvenssi), jotka nรคyttรคvรคt jรคrjestelmรคn kรคyttรคytymisen ajan kuluessa.

Uusin julkaistu versio on UML 2.5.1, jonka Object Management Group (OMG) julkaisi vuonna 2017. Se tarkensi UML 2.x -spesifikaatiota, ja useimmat nykyaikaiset kaaviotyรถkalut tukevat sen merkintรคtapaa.

Tiivistรค tรคmรค viesti seuraavasti: