Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025
UPOZORNĚNÍ: Jsou dostupné studijní plány pro následující akademický rok.

Úvod do objektové architektury

Zobrazit rozvrh
Kód Zakončení Kredity Rozsah Jazyk výuky
18UOA Z,ZK 4 2P+2C česky
Garant předmětu:
Přednášející:
Rudolf Pecinovský
Cvičící:
Rudolf Pecinovský
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Předmět je určen studentům, kteří znají základy objektových konstrukcí programovacího jazyka Python, výhodná je i základní znalost objektových rysů jazyků Java a C++. Seznámí studenty hlouběji s obecným objektovým paradigmatem a především se zásadami, kterými je vhodné se řídit při budování rozsáhlejších aplikací. Na několika postupně budovaných a zdokonalovaných aplikacích demonstruje, jak se dodržování těchto základ uplatní při postupném vylepšování a zdonolavoání aplikací podle rostoucích požadavků azákazníka.

Požadavky:

Předpokládá se znalost jazyka Python na úrovni učebnice «Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání».

Osnova přednášek:

1. Historie a koncepce objektového paradigmatu, rozdíly jeho implementace v různých programovacích jazycích.

2. Koncepce platformy a její vliv na aplikovatelnost programů.

3- Grafický jazyk UML jako nástroj pro návrh a zobrazení architektury.

4. Tři typy a dva způsoby dědění

5. Třída versus interface versus trait, koncepce protokolů v jazyku Python

6. Dědění třídy versus implementace rozhraní versus mixin

7. Zásady návrhu objektové architektury

8. Principy aspektově orientovaného programování

9. Základní principy funkcionálního programování

10. Návrhové vzory a jejich uplatnění při návrhu programu

11. Principy souběžného programování a typy souběžného programování podporované v jazyk Python

12. Implementace vícevláknového, víceprocesového a asynchronního programování v jazyku Python

11. Uplatnění vzoru interpret při návrhu knihovny regulárních výrazů

12. Architektonické vzory

Osnova cvičení:

1. Návrh programu podle klasického strukturovaného paradigmatu.

2. Převod programu na objektové paradigma a implementace požadovaného API.

3. Oddělení části pro vizualizaci aplikací návrhového vzoru Posluchač

a zprovoznění zaměnitelnosti různých implementací vizualizace.

5. Návrh jednoduché aplikace typu Kalkulačka s výměnnými CPU a zobrazoovacími moduly aplikací vzoru Most.

4. Návrh API umožňující oddělení jádra budované aplikace od nadstavby.

5. Demonstrace vhodného API na jednoduchost implementace vzájemné zaměnitelnosti různých jader a různých nadstaveb.

6. Modifikace stávající aplikace pro podporu různých typů souběžného porgramování.

7. Návrh architektury rozsáhlejší aplikace a způsoby jejího testování v průběhu vývoje.

Cíle studia:

Osvojit si zásady práce podle objektově orientovaného paradigmatu a naučit se aplikovat zásady OOP při řešení praktických úloh.

Studijní materiály:

Doporučená literatura:

[1] PECINOVSKÝ Rudolf: Začínáme programovat v jazyku Python 3. rozšířené a aktualizované vydání. Grada 2024. ISBN 978-80-271-7747-8 (ePub), ISBN 978-80-271-7746-1 (pdf), ISBN 978-80-271-5467-8 (print).

[2] PECINOVSKÝ Rudolf: Návrhové vzory 33 vzorových postupů pro objektové programování. Brno: Computer Press, 2007. ISBN 978-80-251-1582-4.

[3] FOWLER Martin et al.: Patterns of enterprise application architecture. Boston: Addison-Wesley, 2003. XXIV, 533 s. The Addison-Wesley signature series. ISBN 0-321-12742-0.

[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka algoritmických konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6061-7.

[4] PECINOVSKÝ Rudolf: Python 3.14 Podrobná příručka objektových konstrukcí jazyka. Praha: Grada Publishing, 2025, ISBN 978-80-271-6062-4.

Poznámka:
Rozvrh na zimní semestr 2024/2025:
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 BR:009
Pecinovský R.
16:00–19:50
(přednášková par. 1)
Břehová 7
poč. učebna 009

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