UML diagram. Vrste diagramov UML

20. 3. 2019

Diagram UML je specializiran grafični opisni jezik, namenjen modeliranju objektov pri razvoju različnih programov. Ta jezik ima širok profil in je odprt standard, v katerem se za ustvarjanje abstraktnega modela uporabljajo različni grafični simboli. UML je bil ustvarjen z namenom, da zagotovi definicijo, vizualizacijo, dokumentacijo in oblikovanje različnih sistemov programske opreme. Opozoriti je treba, da diagram UML sam po sebi ni programski jezik, ampak omogoča tudi generiranje ločene kode, ki temelji na njej.

Zakaj je potrebna?

Uporaba UML se ne konča s simulacijo vseh vrst programske opreme. Ta jezik se tudi danes aktivno uporablja za modeliranje različnih poslovnih procesov, vodenje načrtovanja sistemov in prikazovanje organizacijskih struktur.

S pomočjo UML lahko razvijalci programske opreme zagotovijo popolno soglasje v grafičnem zapisu, ki se uporablja za predstavitev skupnih konceptov, kot so: komponenta, generalizacija, razred, obnašanje in združevanje. Zaradi tega je dosežena večja koncentracija arhitekture in oblikovanja.

Prav tako je treba omeniti, da obstaja več vrst takih diagramov.

Razredni diagram

Diagram stanja uml

Diagram razreda UML je statični strukturni diagram, ki opisuje strukturo sistema in prikazuje atribute, metode in odvisnosti med več različnimi razredi.

Omeniti je treba dejstvo, da obstaja več pogledov na konstrukcijo takih diagramov, odvisno od tega, kako se bodo uporabljali:

  • Konceptualno. V tem primeru diagram UML razreda opisuje model določenega predmetnega področja in zagotavlja le razrede aplikacijskih objektov.
  • Posebno. Diagram se uporablja v procesu načrtovanja različnih informacijskih sistemov.
  • Realizacija. Diagram razreda vključuje vse vrste razredov, ki se neposredno uporabljajo v programski kodi.

Komponentni diagram

uml grafikon

Komponentni diagram UML je popolnoma statični strukturni diagram. Namenjen je prikazu razdelitve določenega sistema programske opreme v različne strukturne komponente, kot tudi povezav med njimi. Diagram sestavnih delov UML kot takega lahko uporablja vse vrste modelov, knjižnic, datotek, paketov, izvršljivih datotek in mnogih drugih elementov.

Sestavljena / sestavljena struktura

UML diagram kompozitne / kompozitne strukture je tudi statični strukturni diagram, vendar se uporablja za prikaz notranje strukture razredov. Če je mogoče, lahko ta diagram prikaže tudi interakcijo elementov, ki so v notranji strukturi razreda.

Podtip je UML-diagram sodelovanja, ki se uporablja za predstavitev vlog in interakcij različnih razredov znotraj meja sodelovanja. So zelo priročne, če želite simulirati vzorce oblikovanja.

Opozoriti je treba, da je možno istočasno uporabiti tipe UML in sestavljenih strukturnih diagramov.

Tabela uvajanja

Diagram aktivnosti

Ta diagram se uporablja za modeliranje delovnih vozlišč, kakor tudi za vse vrste artefaktov, ki so bili nameščeni na njih. V UML 2 so artefakti razporejeni na različnih vozliščih, v prvi različici pa so bile nameščene samo komponente. Diagram uvajanja UML se torej uporablja predvsem za drugo različico.

Med artefaktom in komponento, ki jo izvaja, se oblikuje odvisnost od manifestacije.

Objektni diagram

Ta pogled vam omogoča, da vidite celoten ali delni posnetek sistema, ki se ustvari v določenem trenutku. V celoti prikaže vse primere razredov določenega sistema s trenutnimi vrednostmi njihovih parametrov in tudi razmerja med njimi.

Diagram paketa

diagram uporabe primerov uporabe

Ta diagram je strukturen, njegova glavna vsebina pa so vse vrste paketov, pa tudi odnos med njimi. V tem primeru ni več trde delitve med več strukturnimi diagrami, zaradi česar se njihova uporaba najpogosteje ugotavlja samo zaradi udobja in sama po sebi nima nobenega semantičnega pomena. Treba je omeniti, da lahko različni UML-diagrami zagotovijo različne elemente (primeri: paketi in paketi paketov).

Njihova uporaba se izvaja, da bi zagotovili organizacijo več elementov v skupine na specifični osnovi, poenostavili strukturo in tudi organizirali delo z modelom tega sistema.

Tabela dejavnosti

diagram sestavnih delov

Diagram aktivnosti UML prikazuje razgradnjo določene dejavnosti na več delov. V tem primeru se izraz "dejavnost" nanaša na specifikacijo določenega izvedljivega obnašanja v obliki vzporednih in koordinirano zaporedno izvajanje različnih podrejenih elementov - ugnezdene vrste dejavnosti in različne akcije, ki jih združujejo tokovi od izhodov določenega vozlišča do vhodov drugega.

Diagram aktivnosti UML se pogosto uporablja za modeliranje različnih poslovnih procesov, vzporednih in zaporednih izračunov. Poleg tega simulirajo različne tehnološke postopke.

Grafični stroj

Ta pogled se imenuje in nekoliko drugače - diagram stanja UML. Ima državni stroj s preprostimi in sestavljenimi stanjami ter prehodi.

Končni državni stroj je specifikacija zaporedja različnih stanj, skozi katere prehaja določen predmet, ali interakcije kot odziv na določene dogodke v njenem življenju, pa tudi odziv objekta na takšne dogodke. Stanje, ki uporablja diagram stanja UML, je dodeljeno izvornemu elementu in se uporablja za določanje obnašanja njegovih primerkov.

Tako imenovane zmajeve sheme se lahko uporabijo kot analogi takih diagramov.

Uporabite diagrame primerov

diagram zaporedja uml

Diagram primerov uporabe UML predstavlja vse odnose, ki nastajajo med akterji, kot tudi različne primere uporabe. Njena glavna naloga je izvedba popolnega sredstva, s katerim bo stranka, končni uporabnik ali nek razvijalec lahko skupaj razpravljal o obnašanju in funkcionalnosti določenega sistema.

Če se v postopku modeliranja sistema uporablja diagram uporabe primerov UML, bo analitik:

  • Jasno ločite simulirani sistem od okolja.
  • Prepoznajte akterje, njihovo interakcijo s tem sistemom in njegovo pričakovano funkcionalnost.
  • V glosarju postavimo predmetno področje različnih konceptov, ki se nanašajo na podroben opis funkcionalnosti tega sistema.

Če je v UML razvit diagram uporabe, se postopek začne s tekstovnim opisom, ki ga dobimo z delom s stranko. Hkrati je treba opozoriti na dejstvo, da so v celoti izpuščene različne nefunkcionalne zahteve v postopku izdelave modela precedensov, za njih pa bo oblikovan ločen dokument.

Komunikacije

Komunikacijski diagram, tako kot diagram zaporedja UML, je prehoden, to pomeni, da izraža interakcijo, vendar ga istočasno prikazuje na različne načine, in če je potrebno s potrebno stopnjo natančnosti, lahko pretvorite eno v drugo.

Komunikacijski diagram odraža interakcije, ki se pojavljajo med različnimi elementi sestavljene strukture, kot tudi vloge sodelovanja. Njegova glavna razlika od diagramov zaporedja je, da jasno kaže razmerja med več elementi, čas pa se ne uporablja kot ločena meritev.

Ta tip odlikuje popolnoma brezplačna oblika za organiziranje več objektov in povezav na enak način, kot je to storjeno v objektnem diagramu. Če je treba ohraniti vrstni red sporočil v tej prosti obliki, se izvede njihovo kronološko številčenje. Branje tega diagrama se začne z začetnim sporočilom 1.0 in se nadaljuje v smeri, v kateri se sporočila prenašajo z enega objekta na drugega.

Večina teh diagramov prikazuje natančno iste informacije, ki jih zagotavlja diagram zaporedja, vendar zato, ker uporablja drugačen način predstavitve informacij, postane veliko lažje prepoznati določene stvari na enem diagramu kot na drugem. Prav tako je treba omeniti, da je v komunikacijskem diagramu bolj jasno, s katerimi elementi je vsak posamezen element v interakciji, medtem ko diagram zaporedja jasneje prikazuje vrstni red medsebojnih vplivov.

Diagram zaporedja

Diagram razreda uml

Diagram zaporedja UML prikazuje interakcije med več objekti, ki so urejeni glede na čas, v katerem se pojavijo. Na takem grafikonu se prikaže časovno urejena interakcija med več objekti. Zlasti prikazuje vse predmete, ki so vključeni v interakcijo, kot tudi celotno zaporedje sporočil, ki jih izmenjujejo.

Glavni elementi v tem primeru so označbe različnih objektov, kot tudi navpične črte, ki predstavljajo prehod časa in pravokotnikov, ki zagotavljajo aktivnost določenega objekta ali njegovo delovanje.

Tabela sodelovanja

Ta vrsta diagramov vam omogoča, da prikažete interakcijo med več objekti, ki se abstrahirajo od zaporedja oddajnih sporočil. Ta vrsta diagramov v kompaktni obliki odraža v sebi absolutno vsa prenesena in prejeta sporočila določenega objekta, kot tudi formate teh sporočil.

Ker so diagrami zaporedja in komunikacija preprosto drugačen pogled na iste postopke, Rational Rose omogoča ustvarjanje zaporedja diagramov iz komunikacije ali obratno, prav tako pa opravlja njihovo popolnoma avtomatsko sinhronizacijo.

Pregledi interakcij

To so UML-diagrami, ki se nanašajo na različne diagrame aktivnosti in vključujejo tako Sekvenčne elemente kot konstrukte krmilnega toka.

Treba je omeniti, da ta format združuje diagrami Sodelovanje in Sekvenca, ki nudita možnost z različnih zornih kotov razmisliti o interakciji med več objekti v sistemu, ki se oblikuje.

Sinhronizacijski grafikon

Gre za alternativno različico diagrama zaporedja, ki izrecno prikazuje spremembo stanja na življenjski liniji z določeno časovno lestvico. Lahko je zelo uporabna v različnih aplikacijah v realnem času.

Kakšne so prednosti?

Treba je omeniti nekaj prednosti, ki razlikujejo diagram uporabe UML in druge:

  • Jezik je objektno usmerjen, zaradi česar so tehnologije za opis rezultatov analize in oblikovanja, ki so bile izvedene, semantično blizu metodam programiranja v vseh vrstah objektno usmerjenih jezikov sodobnega tipa.
  • S pomočjo tega jezika lahko sistem opišemo iz skoraj vseh možnih vidikov in na enak način opišemo različne vidike njegovega obnašanja.
  • Vsi diagrami so razmeroma preprosti za branje tudi po razmeroma hitrem seznanjanju z njegovo skladnjo.
  • UML vam omogoča, da razširite in uvedete lastne grafične in besedilne stereotipe, kar prispeva k njegovi uporabi ne samo v programskem inženirstvu.
  • Jezik je precej razširjen in se razvija precej aktivno.

Slabosti

Kljub dejstvu, da se konstrukcija UML diagramov razlikuje po masi svojih prednosti, se pogosto kritizirajo zaradi naslednjih slabosti:

  • Odpuščanje. V veliki večini primerov kritiki pravijo, da je UML prevelik in zapleten, pogosto pa to ni upravičeno. Vsebuje precej redundantnih ali skoraj neuporabnih konstrukcij in diagramov, najpogosteje pa gre za drugo verzijo, ne pa za prvo verzijo, saj v novejših revizijah obstaja več kompromisov, ki jih je »razvil odbor«.
  • Različne netočnosti v semantiki. Zaradi tega, ker je UML opredeljen s kombinacijo samega sebe, angleščine in OCL, ji manjka togost, ki je neločljivo povezana z jeziki, ki so natančno definirani s tehniko formalnega opisa. V določenih situacijah se abstraktna sintaksa OCL, UML in angleščine začenja nasprotovati, medtem ko so v drugih primerih nepopolne. Netočnost opisa jezika se prav tako odraža tako pri uporabnikih kot pri dobaviteljih orodij, kar v končni fazi vodi do nezdružljivosti orodij zaradi edinstvenega načina interpretacije različnih specifikacij.
  • Problemi v procesu izvajanja in študija. Vse omenjene težave povzročajo določene težave pri izvajanju in proučevanju UML, kar še posebej velja, ko vodstvo inženirje prisilno uporablja, medtem ko jim manjkajo predhodne spretnosti.
  • Koda odraža kodo. Drugo mnenje je, da pomen ni lepega in privlačnega modela, ampak samih delovnih sistemov, kar pomeni, da je kodeks projekt. V skladu s tem mnenjem je treba razviti učinkovitejši način pisanja programske opreme. UML se običajno vrednoti v pristopih, ki zbirajo modele za regeneracijo izvršljive ali izvorne kode. V resnici pa to morda ni dovolj, ker v tem jeziku ni Turingovih lastnosti popolnosti in vsaka generirana koda bo na koncu omejena na to, kar lahko UML orodje za tolmačenje prevzame ali definira.
  • Neskladje obremenitve Ta izraz izhaja iz teorije sistemske analize za določitev nezmožnosti vnosa določenega sistema za zaznavanje drugačnega rezultata. Kot pri vseh standardnih zapisih lahko UML nekatere sisteme predstavlja bolj učinkovito in bolj strnjeno kot drugi. Tako je razvijalec bolj nagnjen k tistim rešitvam, ki so bolj udobne za prepletanje vseh prednosti UML-ja, kot tudi drugih programskih jezikov. Ta problem je bolj očiten, če razvojni jezik ne ustreza osnovnim načelom objektno usmerjene ortodoksne doktrine, to pomeni, da ne poskuša delovati v skladu z načeli OOP.
  • Poskuša biti univerzalen. UML je jezik za modeliranje splošnega namena, ki poskuša zagotoviti združljivost s katerim koli obstoječim jezikom obdelave. V okviru določenega projekta, da bi oblikovalska ekipa dosegla končni cilj, morate izbrati ustrezne zmogljivosti tega jezika. Poleg tega so možni načini za omejitev obsega uporabe UML na določenem področju skozi formalizem, ki ni popolnoma artikuliran, ampak je sam po sebi predmet kritike.

Zato uporaba tega jezika ni pomembna v vseh primerih.