PB007 Softwarové inženýrství I Cvičenie 9 – Design Class Diagram Valdemar Švábenský Fakulta informatiky, Masarykova univerzita, Brno 10. novembra 2015 Diagram tried – základný popis ∙ Diagram tried modeluje statickú štruktúru objektovo orientovaného systému ∙ Analytický diagram tried jednoducho a prehľadne modeluje triedy a vzťahy medzi nimi ∙ Návrhový diagram tried vzniká pridaním implementačných detailov do analytického diagramu tried Analytický diagram tried – ukážka Zdroj: https://is.muni.cz/auth/el/1433/podzim2015/PB007/um/sem/cz_files/06/06_Studium_ClassAnalyza.jpg Návrhový diagram tried – ukážka Zdroj: https://is.muni.cz/auth/el/1433/podzim2015/PB007/um/sem/cz_files/10/10_Studium_ClassNavrh.jpg Návrhový diagram tried ∙ Popisuje atribúty a metódy tried tak, že je možné podľa neho programovať (v konkrétnom jazyku) ∙ Atribúty: viditeľnosť, typ, východzie hodnoty ∙ Metódy: viditeľnosť, argumenty, typ návratovej hodnoty ∙ Do analytického diagramu sa pridávajú: ∙ Metódy, ktoré vznikli rozložením analytických operácií, konštruktory, get/set metódy, . . . ∙ Triedy vyžadované použitou technológiou – pre prácu s GUI, databázou, . . . ∙ Pre 1 analytickú triedu môže existovať viac návrhových Vzťahy typu celok – časť Agregácia: ∙ Celok môže/nemusí existovať bez časti ∙ Časť môže existovať bez celku ∙ Časť môže byť zdieľaná viacerými celkami Kompozícia: ∙ Celok zodpovedá za svoje časti (vytvára a maže ich) ∙ Časť nemôže existovať samostatne (bez celku) ∙ Časť patrí vždy práve jednému celku ∙ Ak je celok zrušený, musí buď zrušiť všetky svoje časti, alebo ich presunúť k inému objektu Vzťahy sú tranzitívne a asymetrické. Nesmú sa vyskytnúť cykly. Vzťahy medzi triedami Popis Príklad Asociácia obojsmerné prepojenie medzi triedami Agregácia druh asociácie vyjadrujúci vzťah celok – časť Kompozícia silnejšia forma agregá- cie Rozpracovanie asociácií Analýza Návrh 1:1 M:1 1:N M:N Zdroj: https://is.muni.cz/auth/el/1433/podzim2015/PB007/um/lec/06-Design.pdf Úlohy ∙ Na základe analytického modelu tried vytvorte návrhový model tried ∙ Upresnite analytické asociácie (pomenovanie, násobnosť, navigovateľnosť, agregácia/kompozícia, rozklad obojsmerných asociácií, asociačných tried a asociácií M:N) ∙ V prípade potreby pridajte pomocné implementačné triedy alebo rozhrania ∙ Vygenerujte PDF report a vložte ho do odovzdávarne „Week 09“ (skupiny 09, 10) ∙ Názov v tvare priezvisko1-priezvisko2-priezvisko3.pdf ∙ Odovzdáva jeden človek za svoj tím ∙ Deadline: 15.11. 23:59