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

Architektonické a návrhové vzory

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
MI-ADP.16 Z,ZK 5 2P+1C česky
Přednášející:
Petr Špaček (gar.)
Cvičící:
Petr Špaček (gar.)
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ů.

Požadavky:
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í:
Cíle studia:
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.fit.cvut.cz/courses/MI-ADP.16/

Rozsah: 2p+1c

Další informace:
https://moodle.fit.cvut.cz/courses/MI-ADP.16/
Rozvrh na zimní semestr 2019/2020:
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Po
Út
St
Čt
místnost TH:A-s134
Špaček P.
14:30–16:00
(přednášková par. 1)
Thákurova 7 (FSv-budova A)
As134
místnost T9:302
Špaček P.
16:15–17:45
LICHÝ TÝDEN

(přednášková par. 1
paralelka 101)

Dejvice
NBFIT učebna
místnost T9:302
Špaček P.
18:00–19:30
LICHÝ TÝDEN

(přednášková par. 1
paralelka 103)

Dejvice
NBFIT učebna
místnost T9:302
Špaček P.
16:15–17:45
SUDÝ TÝDEN

(přednášková par. 1
paralelka 102)

Dejvice
NBFIT učebna

Rozvrh na letní semestr 2019/2020:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 22. 9. 2019
Aktualizace výše uvedených informací naleznete na adrese http://bilakniha.cvut.cz/cs/predmet4663306.html