uml types and description

12
TECHNICKÁ UNIVERZITA V KOŠICIACH FAKULTA ELEKTROTECHNIKY A INFORMATIKY Úvod do UML Základy softvérového inžinierstva 2022 Roman Kočan

Upload: roman

Post on 21-Dec-2015

224 views

Category:

Documents


2 download

DESCRIPTION

Some basic information about UML diagram in Slovak Language.

TRANSCRIPT

Page 1: UML types and description

TECHNICKÁ UNIVERZITA V KOŠICIACH

FAKULTA ELEKTROTECHNIKY A INFORMATIKY

Úvod do UML

Základy softvérového inžinierstva

2023 Roman Kočan

Page 2: UML types and description

Obsah

UML – Unified Modeling language.........................................................................................................3

Typy UML diagramov..........................................................................................................................3

Štrukturálne diagramy............................................................................................................................3

Diagramy správania................................................................................................................................5

Vytváranie UML..................................................................................................................................7

Verzie UML.........................................................................................................................................8

Potreba modelu..................................................................................................................................9

Zdroje...................................................................................................................................................10

Page 3: UML types and description

UML – Unified Modeling language Zjednotený modelovací jazyk, je určený na vizualizáciu, konštrukciu, špecifikáciu

a dokumentáciu systému. Daný systém popisuje na najabstraktnejšej úrovni. Zohľadňuje

model systému a špecifikáciu s požiadavkami. Na základe toho zjednodušuje celý proces

softvérového návrhu.

Základným cieľom je zjednodušiť a spresniť komunikáciu medzi programátormi. Bežný jazyk

– hovorená reč je nepresná, ale celý zdrojový kód je veľmi časovo náročný na vytvorenie

daného obrazu akú hierarchiu má daná aplikácia. Preto UML poskytne v krátkom čase,

presné a stručné informácie na celkový systém. Výhodou je, že nezávisí na programovacom

jazyku. Stále bude mať rovnakú podobu či ide o javu, C, C# alebo iné.

Typy UML diagramov

Štrukturálne diagramy

znázorňujú statické vlastnosti modelu. Sú to vlastnosti, ktoré sa nemenia v čase. Diagramy

odpovedajú na otázku: Čo je tu?

Diagramy tried (Class diagrams) – používajú sa na zobrazenie tried, rozhraní, ich detailov –

premenné, funkcie, privátne, verejné a vzťahov medzi nimi. Patrí medzi najpoužívanejšie.

Atribúty sú zapísané v tvare:

Page 4: UML types and description

visibility name[multiplicity]: type_expression = initial_value

Operátory sú zapísané v tvare:

visibility name(parameter_list): return_type_expression

Pri označovaní operátorov sa používajú je na výber z troch možností:

+ public# protected- private

Vzťahy v diagrame tried:

Asociácia – ak dve triedy musia o sebe navzájom vedieť

Agregácia – ak jedna trieda, patrí do kolekcie druhej triedy.

Generalizácia – ak jedna trieda dedí od druhej

Závislosť – medzi triedami, inštanciami

Realizácia – vzťah medzi špecifikáciou a implementáciou.

Diagramy komponentov (Component diagrams) – znázorňujú časti softvéru v

implementačnom prostredí.

Diagramy zloženej štruktúry (Composite structure diagrams) – spájajú diagramy tried

a komponentov. Ukazujú spoluprácu jednotlivých elementov v systéme.

Page 5: UML types and description

Diagramy rozmiestnenia (Deployment diagrams) – znázorňujú, ako je systém realizovaný a

priradený k rozličnému typu hardvéru. Obvykle sa používajú na zobrazenie toho, ako sú

komponenty nastavené počas behu systému.

Diagramy balíkov (Package diagrams) – Podobá sa na diagram tried, ale zobrazuje

zoskupenei jednotlivých tried a rozhraní do celkov.

Diagramy objektov (Object diagrams) – používajú tú istú syntax ako diagramy tried a

zobrazujú, ako spolu súvisia konkrétne inštancie tried v špecifickom časovom okamihu. Môžu

sa použiť na zachytenie vzťahov v systéme počas behu.

Diagramy správania

sa zameriavajú na správanie elementov v systéme , ukazujú ako sa systém mení v čase,

odpovedajú na žiadosti, eventy.

Diagramy aktivít (Activity diagrams) - zachycujú tok z jedného správania alebo aktivity do

druhého a interakciu medzi nimi.

Diagramy prípadov použitia (Use case diagrams) – zachytávajú funkčné požiadavky na

systém. Poskytujú pohľad nezávislý od implementácie na to, čo by systém mal robiť a

umožňujú tvorcom systému zamerať sa viac na potreby užívateľov, ako na detaily týkajúce sa

samotnej realizácie.

Page 6: UML types and description

Stavové diagramy (State machine diagrams) – zachytávajú vnútorné zmeny nejakého

elementu. Element môže byť ako jedna trieda, alebo ako celý systém.

Diagramy interakcií (Interaction diagrams) - V predchádzajúcej verzii jazyka UML sa výraz

diagramy interakcií týkal sekvenčných diagramov (sequence diagrams) a diagramov

spolupráce (collaboration diagrams). Tieto dva typy diagramov popisovali komunikáciu

medzi objektmi za účelom splnenia istej úlohy, napr. zadanie objednávky. V UML 2.0 výraz

diagramy interakcií zahŕňa sekvenčné diagramy, diagramy komunikácie, diagramy prehľadu

interakcií a časové diagramy. Diagramy spolupráce boli nahradené diagramami komunikácie,

ktoré sú ich trošku jednoduchšou verziou. Každý 22 z týchto štyroch typov diagramov

reprezentuje určitý aspekt komunikácie medzi objektmi a poskytuje osobitý pohľad na túto

komunikáciu.

Sekvenčné diagramy (Sequence diagrams) - zdôrazňujú typ a poradie správ posielané medzi

objektmi počas realizácie správania. Sú najbežnejším typom diagramov interakcií a sú veľmi

intuitívne pre nových používateľov UML.

Page 7: UML types and description

Diagramy komunikácie (Communication diagrams) – zameriavajú sa na objekty zúčastňujúce

sa určitého správania a ich štruktúru, a takisto si všímajú správy, ktoré si medzi sebou

posielajú.

Diagramy prehľadu interakcií (Interaction overview diagrams) – sú určitou verziou

diagramov aktivít, avšak namiesto zdôrazňovania aktivity v každom kroku sa zameriavajú na

to, ktoré elementy sa porieľajú na vykonávaní danej aktivity.

Časové diagramy (Timing diagrams) – zameriavajú sa na podrobné časové špecifikácie pre

správy. Majú špecifickú notáciu na zaznamenanie toho, ako dlho má systém spracovávať a

odpovedať na správy.

Vytváranie UMLNa vytváranie UML diagramov sa dá najjednoduchšie použiť hociaký program, ktorý

umožňuje kreslenie, prípadne podporuje základné geometrické útvary napríklad Skicár,

Microsoft Word.

Programy, špecializované iba na kreslenie UML modelov majú výhodu v tom, že jednotlivé

tvary, farby, spojitosti, možnosti už majú preddefinované, preto vytvorenie takejto schémy je

v podstate iba vyskladanie tvarov. Medzi takéto programy s nutnosťou stiahnutia a inštalácie

patrí napr. Visual paradiam, UMLet, Oracle SQL data modeller alebo UML studio. Existujú aj

taktiež webové stránky, ktoré priamo ponúkajú možnosť cez internetový prehliadač vytvoriť

Page 8: UML types and description

daný model a neskôr ho vyexportovať do podporovaného formátu napr.

www.lucidchart.com, www.dravio.com, www.yuml.me a ďalšie.

Programy špecializované iba na konkrétny typ UML modelu, ako napríklad Oracle SQL data

modeller podporujú vytvorenie modelu z kódu alebo opačne - na základe modelu vytvorenie

kódu. Tento princíp sa využíva v MDE – model driven engeneering, kde na základe

detailného UML modelu, dokáže program vygenerovať funkčnú kostru programu,

spĺňajúceho požiadavky.

Verzie UML

Nevýhody verzie 1.x (1.0, 1.1, ...) spočívali v neformálnosti, nejednoznačnosti, podporovali

veľké množstvo diagramov a prvkov, ale nepodporovali komunikáciu, napríklad

prostredníctvom portov, konektorov, a protokolov. Preto vo verzii 2.0 bola väčšia časť

nedostatkov odstránená, keď už nie úplne, tak aspoň čiastočne. Pribudli nové diagramy

a dosťveľká zmena spočívala aj v zmene niektorý názvov (tabuľka).

Page 9: UML types and description

UML 1.4 model element name UML 2.0 model element name

Association end Member end and Property

Object (when used in activity diagrams) Object node

Object (when used in sequence diagrams) Lifeline

Collaboration diagrams Communication diagrams

Swimlane (or partition) ActivityPartition

Activity Structured activity node

Decision Decision node or merge node

Final State or end state Final Activity Node

Initial state or start state Initial node

Object Instance (in activity diagrams) Central buffer node

State Structured activity node

State machine Structured activity node

Synchronization bar (synch bar) Fork node or Join node

Transition (on an activity diagram) Control flow

Transition condition (guard condition) Control flow guard

Formal Argument Template Parameter Substitution

Formal Arguments (collection of Formal Arguments) Template Binding

Three-tiered diagrams Class diagrams

Class Instance Lifeline

Self-link Message pathway

Connection relationship Communication Path

Process (in a deployment diagram) Artifact

Processor Execution environment

Destruction marker Stop node

Focus of Control Execution Occurrence

Action UML activity

State diagram Statechart diagram

Potreba modelu

Dátové modelovacie modely sú potrebné z niekoľkých dôvodov. Okrem spomínanej abstrakcie

a zjednodušeného pohľadu na dané softvérového riešenia, poskytuje možnosť experimentovania

Page 10: UML types and description

s viacerými možnými riešeniami, znižuje riziko chýb, ktoré by mohli zvyknúť zo zle navrhnutých

závislostí a vzťahov, ktoré by sa pri konečnom štádiu zle opravovali, čo by bolo finančne a časové

náročné.

Page 11: UML types and description

Zdroje

http://www.uml.org

http://sk.wikipedia.org/wiki/Unified_Modeling_Language

http://en.wikipedia.org/wiki/Unified_Modeling_Language

https://sites.google.com/site/valasek/oss/uml-diagramy

http://www.itnetwork.cz/uml-uvod-historie-vyznam-a-diagramy

http://i.msdn.microsoft.com/dynimg/IC294848.png

http://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/CheckEmail.svg/440px-

CheckEmail.svg.png

http://www.visual-paradigm.com/VPGallery/img/diagrams/TimingDiagram/Timing-Diagram-

Sample.png