Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2025/2026

Architektonické a návrhové vzory

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
ANI-ADP Z,ZK 5 2P+1C česky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Cílem tohoto předmětu je poskytnout studentům praktickou znalost základních principů objektově orientovaného návrhu a jeho analýzy, společně s pochopením výzev, otázek a kompromisů spojených s pokročilým softwarovým návrhem. V první části předmětu si studenti zopakují a prohloubí znalosti týkající se objektově orientovaného programování a seznámí se s nejčastěji používanými návrhovými vzory, které představují nejlepší praktiky řešení typických problémů softwarového návrhu. V druhé části předmětu budou studenti seznámeni s principy návrhu a analýzy softwarové architektury zahrnující klasické architektonické vzory, komponentové systémy a některé pokročilé softwarové architektury rozsáhlých distribuovaných systémů.

Kombinace přednášek a cvičení s využitím e-learningového portálu pro zadávání úloh a školního GitLabu s podporou CI/CD. Důraz je kladen na osvojení praktických dovedností v programování a řešení úloh.

Požadavky:

Pro získání zápočtu je třeba dostatek bodů ze semestrální práce. Zkouška má povinnou písemnou a ústní část.

Osnova přednášek:

1. Rostoucí složitost problémů v kontextu objektově orientovaného paradigmatu, rekapitulace OOP, rekapitulace UML.

2. Charakteristiky dobrého a špatného návrhu. Základní principy objektového návrhu (DRY, KIS, SoC, YAGNI, LoD, ZOI, SOLID).

3. Klasifikace návrhových vzorů. Prezentace vzorů nutných pro implementaci semestrálního projektu.

4. Prezentace vzorů pro vytváření objektů.

5. Prezentace strukturálních vzorů.

6. Prezentace vzorů pro chování objektů.

7. Vzory pro funkcionální programování.

8. Vzory pro konkurentní programování.

9. Principy softwarových architektur a komponentových systémů. Jazyky pro popis architektur.

10. Základní architektonické vzory.

11. Pokročilé architektonické vzory.

12. Map-Reduce a autonomní systémy.

13. Reaktivní programování a aktorový model.

Osnova cvičení:

bude doplněno

Cíle studia:

Cílem tohoto předmětu je poskytnout studentům praktickou znalost základních principů objektově orientovaného návrhu a jeho analýzy, společně s pochopením výzev, otázek a kompromisů spojených s pokročilým softwarovým návrhem. V první části předmětu si studenti zopakují a prohloubí znalosti týkající se objektově orientovaného programování a seznámí se s nejčastěji používanými návrhovými vzory, které představují nejlepší praktiky řešení typických problémů softwarového návrhu. V druhé části předmětu budou studenti seznámeni s principy návrhu a analýzy softwarové architektury zahrnující klasické architektonické vzory, komponentové systémy a některé pokročilé softwarové architektury rozsáhlých distribuovaných systémů.

Studijní materiály:

1. Robert Martin: Clean Architecture: A Craftsman's Guide to Software Structure and Design. Pearson, 2017. ISBN 978-0134494166.

2. Suyanarayana, G. - Smarthyam, G. - Sharma, T.: Refactoring for Software Design Smells: Managing Technical Debt. Elsevier, 2014. ISBN 13: 978-9351073055.

3. Bass, L. - Clements, P. - Kazman, R.: Software Architecture in Practice (3rd Edition). Addison-Wesley, 2012. ISBN 978-0321815736.

4. Buschmann, F. - Meunier, R. - Rohnert, H. - Sommerlad, P. - Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, 1996. ISBN 978-0-471-95869-7.

Poznámka:

Information about the subject and teaching materials can be found at https://courses.fit.cvut.cz/MI-ADP/ Range: 2p + 1c This course is presented in Czech.

Další informace:
https://courses.fit.cvut.cz/MI-ADP
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 24. 12. 2025
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8417006.html