Návrh softwarových systémů - B6B36NSS

Kredity 5
Semestry letní
Zakončení zápočet a zkouška
Jazyk výuky neurčen
Rozsah výuky 2P+2C+2D
Anotace
Modelovací jazyk a diagramy UML - pro návrh struktury system. Přidělení zodpovědností navrhovaným třídám. Návrh realizace USE-CASE pomocí návrhových vzorů pro strukturu. Modelování chování a vzory chování. Návrh logické architektury - styly a vzory. Návrh perzistentní vrstvy systému. Jazyk OCL a návrh byznys vrstvy. Rozhraní system. Bezpečnost systému a aspektově orientované programování.
Cíle studia
Předmět naučí studenty návrhu. Předmět dodá studentům pohled na návrh softwarových systémů, přehled o best practices, kvalitní implementaci a refaktorizaci, po absolvování kurzu bude student schopen efektivně navrhnout systém a naprogramovat jej.
Osnovy přednášek
1. Modelovací jazyk a diagramy UML - pro návrh struktury systému.
2. Přidělení zodpovědností navrhovaným třídám.
3. Návrh realizace USE-CASE pomocí návrhových vzorů pro strukturu I.
4. Návrh realizace USE-CASE pomocí návrhových vzorů pro strukturu II.
5. Modelování chování.
6. Vzory chování I.
7. Vzory chování II.
8. Návrh logické architektury - styly.
9. Návrh logické architektury - vzory MVC, Vrstvy, PAC, Mikrokernel, Broker.
10. Návrh perzistentní vrstvy systému.
11. Jazyk OCL.
12. Návrh byznys vrstvy.
13. Rozhraní systému, REST, Uživatelská rozhraní.
14. Bezpečnost systému a aspektově orientované programování.
Osnovy cvičení
1. Vize projektu a analýza.
2. Uplatnění zodpovědností a návrh.
3. Návrh struktury.
4. Návrh struktury.
5. Návrh chování.
6. Návrh chování.
7. TEST.
8. Návrh architektury.
9. Návrh architektury.
10. Perzistence.
11. Byznys vrstva.
12. Rozhraní a REST.
13. Testy, bezpečnosti a AOP.
14. TEST.
Literatura
Povinná literatura:
1. Craig Larman. 2004. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
2. Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.

Doporičená literatura:
1. Len Bass, Paul Clements, and Rick Kazman. 2003. Software Architecture in Practice (2 ed.). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
Požadavky
Sběr a modelování požadavků, Java, Datové struktury a algoritmy.