Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2023/2024
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Architektonické a návrhové vzory

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
MI-ADP.16 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ů.

Od B201 je vypisována nová, ekvivalentní verze předmětu - NI-ADP.

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. # Materiály pro výuku předmětu během semestru jsou na webové stránce https://courses.fit.cvut.cz/MI-ADP

Osnova přednášek:

1. Základy objektově orientovaného programování.

2. Charakteristiky dobrého a špatného návrhu. Základní principy objektového návrhu (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion).

3. Klasifikace návrhových vzorů. Prezentace vytvářecích vzorů (Factories, Builder, Prototype, Singleton).

4. Prezentace strukturálních vzorů (Adapter, Bridge, Composite, Decorator, Facade, Proxy).

5. Prezentace vzorů pro chování objektů (Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template method, Visitor).

6. Principy softwarových architektur a komponentových systémů.

6. Jazyky pro popis architektur. Architektonické návrhové vzory pro distribuované aplikace.

7. Základní architektonické vzory (Monolithic application, Client-server, Multi-tiers, Component-based, Event-driven, Pipes and filters, Peer-to-peer, Plug-ins).

8 . Základní architektonické vzory (Monolithic application, Client-server, Multi-tiers, Component-based, Event-driven, Pipes and filters, Peer-to-peer, Plug-ins).

9. Pokročilé architektonické vzory (Service-oriented, Blackboard, Data-centric application, Representational state transfer - REST, Shared nothing architecture, Space-based architecture).

10. Specializované návrhové vzory (Map-Reduce).

11. Reaktivní architektury.

12. Autonomické architektury.

Osnova cvičení:

Práce na MVC hře

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ů.

Od B201 je vypisována nová, ekvivalentní verze předmětu - NI-ADP.

Studijní materiály:

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

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/view.php?id=2255.

Tento předmět obsahově navazuje na bakalářský předmět Object-Oriented Programming

Vypisována nová, ekvivalentní verze předmětu NI-ADP.

Další informace:
https://miadp.fit.cvut.cz
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 27. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4663306.html