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

Architecture and Design Patterns

Přihlášení do KOSu pro zápis předmětu Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
MIE-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:

The objective of this course is to provide students with both work knowledge about the underlying foundations of object-oriented design and analysis as well as with understanding of the challenges, issues, and tradeoffs of advanced software design.

In the first part of the course, the students will refresh and deepen their knowledge of object-oriented programming and get familiar with the commonly used object-oriented design patterns that represent the best practices for solving common software design problems. In the second part the students will be introduced to the principles of software architecture design and analysis. This includes the classical architectural styles, component based systems, and some advanced software architectures used in large-scale distributed systems.

Požadavky:
Osnova přednášek:

1. Fundamentals of object-oriented paradigm.

2. Characteristics of good and bad designs; Basic principles of object-oriented design (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion).

3. Classification of object-oriented design patterns; Creational patterns (Factory, Builder, Prototype, Singleton).

4. Structural patterns (Adapter, Bridge, Composite, Decorator, Facade, Proxy).

5. Behavioral patterns (Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template method, Visitor).

6. Principles of software architectures and component systems; Architecture description languages; Architecture design patterns for distributed applications.

7. Basic architecture styles (Monolithic, Client-Server, Multi-tiers, Component-based, Event-driven, Pipes and filters, Peer-to-peer, Plug-ins).

8. Advanced architectural styles (Service-oriented, Blackboard, Data-centric, Representational state transfer - REST, share nothing, space-based).

9. Specialized patterns (Map-Reduce).

10. Reactive architectures.

11. Autonomic architectures (MAPE-K).

Osnova cvičení:
Cíle studia:

The objective of this course is to provide students with both work knowledge about the underlying foundations of object-oriented design and analysis as well as with understanding of the challenges, issues, and tradeoffs of advanced software design.

In the first part of the course, the students will refresh and deepen their knowledge of object-oriented programming and get familiar with the commonly used object-oriented design patterns that represent the best practices for solving common software design problems. In the second part the students will be introduced to the principles of software architecture design and analysis. This includes the classical architectural styles, component based systems, and some advanced software architectures used in large-scale distributed systems.

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/MIE-ADP.16/

Rozsah: 2p+1c

Další informace:
https://moodle.fit.cvut.cz/courses/MIE-ADP.16/
Rozvrh na zimní semestr 2018/2019:
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-1247
Špaček P.
09:15–10:45
(paralelka 1)
Thákurova 7 (FSv-budova A)
seminární místnost

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