Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2 značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
NI-ADP | Architektonické a návrhové vzory | Rozsah kontaktní výuky: | 2P+1C | ||
---|---|---|---|---|---|
Vyučující: | Borský J., Křikava F., Zimolka J. | Způsob zakončení: | Z,ZK | ||
Zodpovědná katedra: | 18102 | ECTS Kredity: | 5 | Semestr: | Z |
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ů.
Osnovy 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. Základní architektonické vzory. | |
10. | Pokročilé architektonické vzory. | |
11. | Map-Reduce a autonomní systémy. | |
12. | Reaktivní programování a aktorový model. |
Osnovy cvičení:
Práce na MVC hře
1. | Analýza domény MVC hry | |
2. | implementace MVC, herní entity | |
3. | Observer, Abstract-Factory, Visitor | |
4. | Strategy, State, Proxy, Memento | |
5. | Command, Bridge, Test | |
6. | Finalní revize kódu a odezdávání |
Literatura:
1. | Gamma, E. - Helm, R. - Johnson, R. - Vlissides, J. M.: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994, ISBN 0201633612 | |
2. | Buschmann, F. - Meunier, R. - Rohnert, H. - Sommerlad, P. - Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns, Wiley, 1996, ISBN 978-0321815736 | |
3. | Bass, L. - Clements, P. - Kazman, R.: Software Architecture in Practice (3rd Edition), Addison-Wesley, 2012, ISBN 978-03218157364. | |
4. | Martin, R. C.: Agile Software Development, Principles, Patterns, and Practices, Prentice Hall, 2002, ISBN 0135974445 |
Požadavky:
Předpokládá se znalost práce s operačními systémy typu Unix/Linux a MS Windows na běžné uživatelské úrovni, aktivní znalost nějakého programovacího jazyka, schopnost algoritmického popisu řešení problému a základní znalost UML.
|
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 28. 3. 2024, semestry: Z/2022-3, L/2020-1, L/2019-20, L/2023-4, L/2022-3, Z/2023-4, Z/2019-20, Z/2021-2, Z/2020-1, L/2021-2, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: J. Novák, I. Halaška |