Teorie
UML (Unified Modeling Language) je standardizovaný jazyk pro vizuální modelování systémů. Nejčastěji se používá při analýze a návrhu softwaru. UML se dělí na strukturální a behaviorální diagramy.
• Strukturální: Class Diagram (třídy, asociace, dědičnost, kompozice/agregace), Object Diagram, Component Diagram, Deployment Diagram, Package Diagram. • Behaviorální: Use Case Diagram (aktéři, případy užití), Activity Diagram (tok činností, větvení, paralelismus, swimlanes), Sequence Diagram (interakce v čase – lifeline, message, activation), State Machine Diagram (stavový automat), Communication Diagram.
Základní vztahy v class diagramu: dědičnost (generalization), realizace (realization rozhraní), kompozice (silná vazba – vlastněná část), agregace (slabší celek–část), asociace (směrová/nesměrová), multiplicity (1, 0..1, , 1.., atd.). Viditelnost: + public, # protected, - private.
Use case diagram slouží k zachycení požadavků z pohledu aktérů. Sequence diagram jasně ukazuje, jaké zprávy si mezi sebou objekty posílají a v jakém pořadí. Activity diagram umí dobře popsat workflow včetně podmínek a paralelizace. State machine se hodí na entity se stavovým chováním (např. objednávka: Nová → Zaplacena → Odeslána → Doručena / Zrušena).
Tahák
- 1Strukturální vs. behaviorální diagramy
- 2Class: asociace, agregace, kompozice, dědičnost, multiplicity
- 3Use Case: aktér, hranice systému, scénáře
- 4Sequence: lifeline, synch/async message, activation
- 5Activity: rozhodnutí, mergy, fork/join, swimlanes
- 6State machine: stavy, přechody, události, akce
Typické otázky u maturity
- 1Vysvětlete rozdíl mezi agregací a kompozicí v class diagramu.
- 2Kdy použijete activity diagram místo sequence diagramu?
- 3Jak byste modelem UML podpořil sběr požadavků od zákazníka?