UML-diagrammid: omadused, diagramm ja tüübid

⚡ Nutikas kokkuvõte

UML-diagrammid pakuvad tarkvarasüsteemide modelleerimiseks standardiseeritud visuaalset keelt.ping Arendusmeeskonnad dokumenteerivad objektorienteeritud disainilahendusi, edastavad keerulisi arhitektuurilisi otsuseid selgelt ja viivad enne rakendamise algust kooskõlla kõik projekti sidusrühmad.

  • 📐 Põhidefinitsioon: Ühendatud modelleerimiskeel (Unified Modeling Language) on ISO poolt tunnustatud standard, mis kasutab tarkvarasüsteemide objektorienteeritud disainide, struktuuride ja käitumise kujutamiseks piltdiagramme.
  • 🏛️ Kaks kategooriat: UML-diagrammid jagunevad struktuuridiagrammideks (komponentide staatiline vaade) ja käitumisdiagrammideks (interaktsioonide ja töövoogude dünaamiline vaade).
  • 🗂️ Struktuuriskeemid: Klassi-, objekti-, paketi-, komponendi- ja juurutusdiagrammid esindavad süsteemi elementide staatilist arhitektuuri ja seoseid.
  • Käitumisdiagrammid: Aktiivsus-, kasutusjuhtude ja olekumasinate diagrammid jäädvustavad süsteemi vooge, kasutajate interaktsioone ja olekute üleminekuid aja jooksul.
  • 🛠️ Tööriistad ja tehisintellekt: Tööriistad nagu StarUML, Visio ja Lucidchart UML-diagrammide visuaalne genereerimine; tehisintellektil põhinevad tööriistad saavad nüüd automaatselt genereerida täpseid diagramme lihtteksti kirjeldustest või lähtekoodist.
  • 📅 Versiooni ajalugu: UML on arenenud versioonist 1.1 (1997) versioonini 2.5.1 (2017), iga väljalaskega on lisatud diagrammitüüpe, parandatud semantikat ja lihtsustatud spetsifikatsiooni.

UML diagrammid

Tarkvarasüsteemid muutuvad kiiresti keerukaks ja meeskondadel, kes ei suuda arhitektuuri visualiseerida, on raskusi disainiotsuste edastamisega. UML pakub enne koodi kirjutamist ühist visuaalset märget.

Miks kasutada UML-i? Täielik ajalugu

1990ndad olid selliste objektorienteeritud keelte arengu ajastu nagu C++. Neid objektorienteeritud keeli kasutati keerukate, kuid mõjuvate süsteemide loomiseks.

Kuna väljatöötatud süsteeme oli keeruline mõista, põhjustas see projekteerimis- ja analüüsiprobleeme, mis tekkisid pärast süsteemi kasutuselevõttu. Süsteemi oli raske teistele selgitada.

Kohe pärast UML-i kasutuselevõttu tehti palju mängu muutvaid katseid ja lähenemisviise süsteemi nii keeruliste analüüsiülesannete lihtsustamiseks.

UML on objektorienteeritud ühtne modelleerimiskeel. Selle leiutasid 1994. ja 1995. aastal suurepärased tarkvarainsenerid Grady Booch, Ivar Jacobson ja James Rumbaugh tarkvarast Rational. Seda arendati kuni 1996. aastani.

Igal UML-i leiutajal, nimelt Grady Boochil, Ivar Jacobsonil ja James Rumbaugh'l, oli fantastiline idee keele kujundamiseks, mis vähendaks keerukust.

  • Boochi meetod oli objektide projekteerimisel ja ehitamisel töötamiseks väga paindlik.
  • Jacobsoni meetod pakkus suurepärase võimaluse kasutusjuhtumite ümbertöötamiseks. Sellel on ka võimas lähenemine kõrgetasemelisele disainile.
  • Rumbaugh’ meetod osutus tundlike süsteemide käsitlemisel väga kasulikuks.

Later aastal võeti UML-is kasutusele käitumismudelid ja olekudiagrammid, mille leiutas David Harel.

Object Management Group (OMG) tunnistas UML-i standardiks 1997. aastal. Object Management Group vastutab UML-i haldamise eest alates selle standardiks vastuvõtmisest.

2005. aastal kiitis Rahvusvaheline Standardiorganisatsioon UML-i heaks ISO standardiks. Seda kasutatakse erinevates tööstusharudes objektorienteeritud mudelite loomiseks.

Uusim UML-i versioon on 2.5.1, mis ilmus 2017. aasta detsembris.

UML-i versioonid

kuupäev versioon Meist
november 1997 1.1 UML-i võttis vastu Object Management Group. See oli UML-i esimene versioon.
märtsil 2000 1.3 Olemasolevale mudelile tehti väike täiendus koos märkimisväärsete muudatustega semantikas, tähistusedja UML-i metamudelid.
septembris 2001 1.4 See oli UML-i olulise uuenduse periood. See skaleeris UML-i, pakkudes erinevaid laiendusi. Diagrammides tutvustati nähtavust, artefakti, stereotüüpe.
märtsil 2003 1.5 UML-ile lisati sellised funktsioonid nagu protseduurid, andmevoo mehhanism.
jaanuar 2005 1.4.2 ISO aktsepteeris UML-i standardina.
august 2005 2.0 UML-i lisati uued diagrammid, nagu objekt, pakett, ajastus, interaktsioon. Tegevus- ja järjestusskeemidele lisati uusi funktsioone. Koostööskeem nimetati ümber suhtlusskeemiks. Olemasolevatesse diagrammidesse viidi sisse mitmeid funktsioone ja muudatusi.
aprill 2006 2.1 UML 2.0-s tehti parandused.
veebruar 2007 2.1.1 Upgrades võeti kasutusele UML 2.1-s.
november 2007 2.1.2 UML 2.1.1 määratleti uuesti.
veebruar 2009 2.2 UML 2.1.2 vead parandati.
võib 2010 2.3 UML 2.2 vaadati üle ja komponentide diagrammides tehti väiksemaid muudatusi.
august 2011 2.4.1 Tehti muudatusi klassides, pakettides ja stereotüüpides. UML 2.3 muudeti täiustusfunktsioonidega.
juuni 2015 2.5 UML 2.4.1 vaadati üle väikeste muudatustega. UML muudeti varasemast lihtsamaks. Kasutusele võeti kiirem toimimine ja tõhusamate mudelite genereerimine. Eemaldati vananenud funktsioonid. Mudelid ja mallid kui abikonstruktsioonid eemaldati.

UML-i omadused

  1. See on üldistatud modelleerimiskeel.
  2. See erineb tarkvara programmeerimiskeeltest nagu Python, C, C++Jne
  3. See on pildikeel, mida saab kasutada võimsate modelleerimiselementide genereerimiseks.
  4. See on seotud objektorienteeritud disaini ja analüüsiga.
  5. Sellel on piiramatult rakendusi isegi väljaspool tarkvaratööstust. Seda saab kasutada tehase töövoo visualiseerimiseks.

Kontseptuaalne mudel

Enne UML-i kontseptsiooniga alustamist tuleb mõista kontseptuaalse mudeli põhitõdesid.

Kontseptuaalne mudel koosneb erinevatest mõistetest, mis on omavahel seotud. See aitab meil mõista

  • Mis on objektid?
  • Kuidas toimub suhtlus protsessi läbiviimiseks?

UML-is on nõutav kontseptuaalne mudel. Enne süsteemi tegelikku modelleerimist peate mõistma üksusi ja nendevahelisi suhteid.

UML-iga alustamiseks on vaja järgmisi objektorienteeritud kontseptsioone:

  • objektSee on reaalse maailma üksus. Ühes süsteemis on saadaval mitu objekti. See on UML-i põhiline ehituskivi.
  • klassKlass pole midagi muud kui konteiner, kus hoitakse objekte ja nendevahelisi seoseid.
  • Abstracmine: see on mehhanism, mis kujutab olemit ilma rakenduse üksikasju näitamata. Seda kasutatakse objekti käitumise visualiseerimiseks.
  • Pärisosa: See on mehhanism olemasoleva klassi laiendamiseks, et luua uus klass.
  • Polümorfism: See on mehhanism mitmel erineval otstarbel kasutatava objekti esitamiseks.
  • Kapseldamine: See on meetod objekti ja andmete ühendamiseks üheks üksuseks. See tagab tiheda sideme objekti ja andmete vahel.

Ülalolevaid nimetatakse ka põhilised ehitusplokid UML-ist.

Mis on UML-skeem?

UML diagrammid on ühtse modelleerimiskeele väljund. See on klasside, objektide ja nendevaheliste suhete piltlik esitus. UML diagramm on mudel, mis kirjeldab süsteemi osa. Seda kasutatakse süsteemi funktsionaalsuse või disaini määratlemiseks. Diagramm peab olema selge ja lühike, et vaataja sellest hõlpsasti aru saaks.

UML-diagrammid on jagatud kolme erinevasse kategooriasse, näiteks

  • Struktuuriskeem
  • Käitumisdiagramm
  • Interaktsiooni diagramm

Struktuuriskeemid UML-is

Struktuuriskeeme kasutatakse süsteemi staatilise vaate esitamiseks. See esindab süsteemi osa, mis moodustab süsteemi struktuuri. Struktuuriskeem näitab erinevaid süsteemis olevaid objekte.

Järgmised on erinevad UML-i struktuuriskeemid:

  • Klassiskeem
  • Objekti diagramm
  • Pakendi skeem
  • Komponentide diagramm
  • Paigaldusskeem

Käitumisdiagrammid UML-is

Iga reaalse maailma süsteemi saab esitada kas staatilisel või dünaamilisel kujul. Süsteemi peetakse täielikuks, kui seda väljendatakse nii staatilisel kui ka dünaamilisel viisil. Käitumisdiagramm kujutab süsteemi toimimist.

UML-diagramme, mis käsitlevad süsteemi staatilist osa, nimetatakse struktuurskeemideks. UML-diagramme, mis käsitlevad süsteemi liikuvaid või dünaamilisi osi, nimetatakse käitumisdiagrammideks.

Järgmised on erinevad UML-i käitumisskeemid:

  • Tegevusskeem
  • Kasutusjuhtumi diagramm
  • Seisu masina skeem

Interaktsiooniskeemid UML-is

Interaktsiooniskeem pole midagi muud kui käitumisdiagrammide alamhulk. Seda kasutatakse süsteemi erinevate kasutusjuhtumite elementide vahelise voo visualiseerimiseks. Interaktsiooniskeeme kasutatakse kahe üksuse vahelise interaktsiooni ja nende sees andmete liikumise näitamiseks.

Järgmised on erinevad interaktsiooniskeemid UML-is:

  • Ajastusskeem
  • Järjestusskeem
  • Koostöö diagramm

Ülaltoodud diagrammide üksikasjalikku selgitust selgitatakse edasistes õpetustes.

Struktuurilised vs käitumuslikud UML-diagrammid

Allolev tabel võrdleb kahte UML-diagrammi kategooriat, et aidata meeskondadel valida õige tüüp.

Atribuut Struktuuriskeemid Käitumisdiagrammid
vaade Staatiline Dünaamiline
Focus Komponendid ja nende seosed Süsteemi toimingud ja interaktsioonid
Näited Klass, objekt, pakett, komponent, juurutamine Tegevus, Kasutusjuhtum, Olekumasin
Esmane kasutus Archistruktuur ja andmebaaside disain Töövoog, kasutajateekonnad, oleku üleminekud
Loodud millal Süsteemi struktuuri eelnev määratlemine Käitusaja käitumise ja äriloogika modelleerimine

UML-i tööriistad

UML-diagrammide genereerimiseks on turul saadaval palju tööriistu. Mõned on töölauapõhised, samas kui teisi saab kasutada võrgus. Allpool on kureeritud loend tööriistadest, mida saab kasutada UML-mudelite loomiseks.

Me hakkame kasutama StarUML Rakendus UML-diagrammide genereerimiseks.

Installimise etapid: avage link: http://staruml.io/download

Vastavalt teie arvuti spetsifikatsioonidele. Laadige alla rakenduse mis tahes versioon. Siin valime aknad.

StarUML paigaldamine

Kui rakendus on alla laaditud, installige see kõigi vaikeseadetega. Pärast installimist käivitage StarUML rakendus teie arvutis.

Näete järgmist akent,

StarUML paigaldamine

Nüüd saate alustada UML-diagrammide loomist.

KKK

📊 UML 2.x defineerib 14 ametlikku diagrammitüüpi, mis jagunevad kahte põhirühma: 7 struktuuridiagrammi (klass, objekt, komponent, juurutus, pakett, liitstruktuur, profiil) ja 7 käitumisdiagrammi (kasutusjuhtum, tegevus, olekumasin, järjestus, kommunikatsioon, ajastus, interaktsiooni ülevaade).

🗄️ UML-diagrammid modelleerivad objektorienteeritud tarkvarasüsteeme ja hõlmavad nii struktuuri kui ka käitumist. Entiteetide-suhete (ER) diagrammid keskenduvad ainult andmebaasi skeemile ja andmeüksuste vahelistele seostele. UML-klassi diagrammid võivad küll esindada andmebaasi tabeleid, kuid neil on ka objektorienteeritud semantika, mis ER-diagrammidel puudub.

🏢 Jah. UML-i kasutatakse endiselt laialdaselt ettevõtte arhitektuuris, manussüsteemides ja reguleeritud tööstusharudes, nagu rahandus ja tervishoid. Agiilsed meeskonnad kasutavad sageli kergemaid alamhulki – kõige sagedamini klassi- ja järjestusskeeme –, samas kui täielikud UML-i komplektid on endiselt levinud suuremahuliste süsteemide disainis ja valitsusprojektides.

🤖 Jah. Tehisintellekti mudelid, näiteks ChatGPT ja GitHub Copilot, saavad genereerida PlantUML või merineitsi süntaks lihtteksti kirjeldustest või lähtekoodist. Tööriistad nagu Lucidchart ja Visio on nüüd manustanud tehisintellekti abilisi, mis loovad loomulikus keeles olevatest viipadest sekunditega klassi-, järjestus- ja kasutusjuhtude diagramme.

🛠️ Juhtivad tehisintellektil põhinevad UML-tööriistad hõlmavad järgmist Lucidcharttehisintellekti diagrammigeneraator, Microsoft Visio Copilot, Eraser.io ja Draw.io koos ChatGPT pluginatega. PlantUML Koos mis tahes suure keelemudeliga võimaldab arendajatel kirjutada diagramme koodina, samas kui GitLab ja GitHub Copilot saavad olemasolevatest repositooriumidest klassidiagramme pöördprojekteerida.

⭐ Klassiskeemid ja järjestusskeemid on kõige laialdasemalt kasutatavad. Klassiskeemid modelleerivad staatilist struktuuri ja koodi arhitektuuri, samas kui järjestusskeemid jäädvustavad objektide interaktsiooni ajas, mistõttu on mõlemad populaarsed nii agiilsete kui ka suurettevõtete meeskondade disainidokumentatsioonis.

🔍 Klassiskeem määratleb süsteemi plaani – klassid, atribuudid, meetodid ja seosed. Objektiskeem näitab nende klasside tegelike eksemplaride hetktõmmist kindlal hetkel koos tegelike väärtustega, illustreerides, kuidas struktuur käitusajal välja näeb.

🎓 Ei. UML on visuaalse modelleerimise tähistus, mitte programmeerimiskeel, seega saavad algajad seda õppida ilma kodeerimisoskusteta. Lihtsate UML-diagrammide loomise alustamiseks piisab objektorienteeritud programmeerimise põhimõistete, näiteks objektide, klasside ja seoste mõistmisest.

Võta see postitus kokku järgmiselt: