Subject description - B4M36SWA

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
B4M36SWA Software Architectures
Roles:PO Extent of teaching:2P+2C
Department:13136 Language of teaching:CS
Guarantors:Al-Beywanee B. Completion:Z,ZK
Lecturers:Al-Beywanee B., Bureš M., Frajták K. Credits:6
Tutors:Al-Beywanee B., Bureš M., Frajták K., Šebek J. Semester:L


In this course students become familiar with the general requirements for software (SW) architecture and related quality parameters that are monitored by software architectures. Individual requirements and parameters are discussed in the context of current architectural standards and design patterns that students practically learn through exercises. In this course, besides the technology perspective on software architecture is also taken into an account the management aspect.

Course outlines:

1. Introduction - SW architectures, meaning, context of the development cycle.
2. Characteristics and quality software architectures
3. architectural styles
4. II architectural styles, communication patterns.
5. Basic principles of cloud applications
6. Linux Containers - basic concepts, advanced features
7. Multicontainer application orchestration containers, automatic deployment and scaling
8. Platform as a service extension capabilities through automatic deployment containers, development environments, public cloud
9. Deployment of traditional Java EE applications in the cloud
10. Microservice-based architecture, deployment and operation of cloud microservices
11. Evaluation of properties of software architectures.
12. Security in the context of software architecture.
13. Alternative design of architecture and components.
14. Reserve.

Exercises outline:

1. Úvod - do SW architektur, význam, kontext vývojového cyklu.
2. Vlastnosti a kvality, SW architektur
3. Architektonické styly
4. Architektonické styly II, komunikace, vzory.
5. Základní principy cloudových aplikací
6. Linuxové kontejnery - základní koncepty, pokročilé vlastnosti
7. Vícekontejnerové aplikace, orchestrace kontejnerů, automatické nasazení a škálování
8. Platforma jako služba, rozšíření schopností přes automatické nasazení kontejnerů, vývojová prostředí, veřejný cloud
9. Nasazení tradičních Java EE aplikací v cloudu
10. Architektura založenaá na mikroslužbách, nasazení a provoz mikroslužeb v cloudu
11. Vyhodnocení vlastností SW architektur.
12. Bezpečnost v kontextu SW architektury.
13. Alternativní návrhy architektury a komponent.
14. Rezerva.


1. Fowler, M .: Patterns of Enterprise Application Architecture, Addison-Wesley Professional, 2002.
2. Bass, L .: Software Architecture in Practice, Addison-Wesley Professional, 2012.
3. James Turnbull: The Docker Book
4. Jeff Nickoloff: Docker in Action
5. Kelsey Hightower: Kubernetes: Up and Running
6. Sam Newman, Building Microservices
7. Claus Ibsen, Jonathan Anstey: Camel in Action
9. Matt Stine: Migrating to Cloud Native Application Architectures
10. Michael T. Nygard: Release It!
11. Markus Eisele: Modern Java EE Design Patterns



Subject is included into these academic programs:

Program Branch Role Recommended semester
MPOI6_2016 Software Engineering PO 2
MPOI6_2018 Software Engineering PO 2

Page updated 18.9.2020 12:51:52, semester: Z,L/2020-1, L/2019-20, Z/2021-2, Send comments about the content to the Administrators of the Academic Programs Proposal and Realization: I. Halaška (K336), J. Novák (K336)