Logo ČVUT
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2019/2020

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
MI-ADP.16 Z,ZK 5 2P+1C Czech
Lecturer:
Petr Špaček (guarantor)
Tutor:
Petr Špaček (guarantor)
Supervisor:
Department of Software Engineering
Synopsis:

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

Requirements:

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

Syllabus of lectures:

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.

Syllabus of tutorials:

Práce na MVC hře

Study Objective:

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

Study materials:

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

Note:
Further information:
https://moodle-vyuka.cvut.cz/course/view.php?id=2255
Time-table for winter semester 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
Mon
Tue
Fri
Thu
roomTH:A-s134
Špaček P.
14:30–16:00
(lecture parallel1)
Thákurova 7 (FSv-budova A)
As134
roomT9:302
Špaček P.
16:15–17:45
ODD WEEK

(lecture parallel1
parallel nr.101)

Dejvice
NBFIT učebna
roomT9:302
Špaček P.
18:00–19:30
ODD WEEK

(lecture parallel1
parallel nr.103)

Dejvice
NBFIT učebna
roomT9:302
Špaček P.
16:15–17:45
EVEN WEEK

(lecture parallel1
parallel nr.102)

Dejvice
NBFIT učebna
Fri
Time-table for summer semester 2019/2020:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2019-10-16
For updated information see http://bilakniha.cvut.cz/en/predmet4663306.html