Hlavní stránka | Seznam oborů/specializací | Seznam všech skupin předmětů | Seznam všech předmětů | Seznam rolí                Návod

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
NIE-ADP Architecture and Design patterns Rozsah kontaktní výuky: 2P+1C
Vyučující: Borský J. Způsob zakončení: Z,ZK
Zodpovědná katedra: 18102 ECTS Kredity: 5 Semestr: Z

Anotace:
The aim of this course is to provide students with practical knowledge of the basic principles of object-oriented design and its analysis, together with an understanding of the challenges, questions and compromises associated with advanced software design. In the first part of the course, students will review and deepen their knowledge of object-oriented programming and learn the most commonly used design patterns, which represent the best practices for solving typical software design problems. In the second part of the course, students will be introduced to the principles of design and analysis of software architecture including classical architectural designs, component systems and some advanced software architectures of large distributed systems. If you need to contact the teacher of NIE-ADP, please write an e-mail to Ing. Jiri Borsky borskjir@fit.cvut.cz

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

Osnovy cvičení:
Work on a MVC game

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:
Prerequisites: Knowledge of working with Unix / Linux and MS Windows operating systems on a common user level, active knowledge of some programming language, ability of algorithmic description of problem solving and basic knowledge of UML. # Materials for teaching the course during the semester are on the website https://courses.fit.cvut.cz/MI-ADP/en

Information and study materials to be found at https://courses.fit.cvut.cz/NI-ADP/en/index.html

Předmět je zahrnut do těchto studijních plánů:
Plán Obor Role Dop. semestr
NIE-TI.21 Computer Science 2021 VO 1
NIE-NPVS.21 Design and Programming of Embedded Systems 2021 V 1
NIE-PSS.21 Computer Systems and Networks 2021 V 1
NIE-PB.21 Computer Security 2021 V 1
NIE-SI.21 Software Engineering 2021 PS 1


Stránka vytvořena 29. 4. 2024, semestry: Z/2023-4, Z/2019-20, L/2021-2, L/2020-1, L/2022-3, Z/2021-2, L/2019-20, Z/2022-3, Z/2020-1, L/2023-4, Z/2024-5, 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