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

Architectural and Design Patterns

Zobrazit rozvrh
Kód Zakončení Kredity (ECTS) Rozsah Jazyk výuky
ANIE-ADP Z,ZK 5 2P+1C anglicky
Garant předmětu:
Jan Kurš
Přednášející:
Marek Bělohoubek, Jiří Borský, Jan Kurš, Jan Zimolka
Cvičící:
Marek Bělohoubek, Jiří Borský, Jan Kurš, Jan Zimolka
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. Increasing complexity of problems in an OO paradigm, recapitulation of OOP and UML.

2. Good and bad design. Basic principles of object design (DRY, KIS, SoC, YAGNI, LoD, ZOI, SOLID).

3. Classification of design patterns. Patterns necessary for implementation of a semester project.

4. Presentation of patterns for creating objects.

5. Presentation of structural patterns.

6. Presentation of patterns for object behavior.

7. Patterns for functional programming.

8. Patterns for concurent programming.

9. Principles of software architectures and component systems. Languages for describing architectures.

10. Basic architectural patterns.

11. Advanced architectural patterns.

12. Map-Reduce and autonomous systems.

13. Reactive programming and actor model.

Osnova cvičení:

bude doplněno

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

Další informace:
https://courses.fit.cvut.cz/NI-ADP/index.html
Rozvrh na zimní semestr 2026/2027:
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
místnost JP:B-571
Kurš J.
18:00–19:30
(přednášková par. 1)
Jugoslávských partyzánů 3
St
Čt
místnost JP:B-571
Bělohoubek M.
16:15–17:45
(přednášková par. 1
paralelka 101)

Jugoslávských partyzánů 3
Pá
Rozvrh na letní semestr 2026/2027:
Rozvrh není připraven
Předmět je součástí následujících studijních plánů:
Platnost dat k 15. 10. 2026
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet8579006.html