L2: Expressing Software Architecture in UML
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Druhá prednáška z architektúry softvérových systémov sa zameriava na vyjadrovanie architektúry graficky pomocou UML a na hranice tohto jazyka. Po organizačnom úvode sa so študentmi diskutuje, prečo vôbec kreslíme diagramy: kvôli ľahšej pochopiteľnosti, zobrazeniu modularizácie a súvislostí medzi časťami systému, komunikácii medzi vývojármi a zainteresovanými stranami (stakeholders), zachyteniu správania a podpore opätovného použitia softvéru. Na príklade diagramu tried e-shopu v nástroji Enterprise Architect sa ukazuje, že triedy môžu byť detailné aj abstraktné, no nástroje zle podporujú skrývanie a odkrývanie detailov. Diagram tried môže vyjadrovať aj vyššie koncepty, napríklad cez asociačné roly, kde položka objednávky združuje produkty aj služby bez spoločnej nadtriedy.
- - Diagramy uľahčujú pochopiteľnosť (comprehensibility) štruktúry softvéru a jeho modularizácie.
- - Grafické vyjadrenie podporuje komunikáciu medzi vývojármi a ostatnými zainteresovanými stranami (stakeholders).
- - Okrem štruktúry a súvislostí medzi časťami je dôležité zobraziť aj správanie (behavior), ktoré z kódu nie je zrejmé.
- - Pochopenie softvéru je nevyhnutné pre jeho vývoj, údržbu a opätovné použitie (reuse).
- - Diagram tried v UML umožňuje rôzne úrovne detailu, ale nástroje zvyčajne neponúkajú pohodlné selektívne skrývanie atribútov a operácií.
- - Triedy v diagrame nemusia zodpovedať triedam v kóde a môžu vyjadrovať vyššie koncepty.
- - Asociačná rola (napr. položka objednávky) zachytáva logické súvislosti aj medzi prvkami bez spoločnej nadtriedy.
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky