Main page | Study Branches/Specializations | Groups of Courses | All Courses | Roles                Instructions

A course is the basic teaching unit, it's design as a medium for a student to acquire comprehensive knowledge and skills indispensable in the given field. A course guarantor is responsible for the factual content of the course.
For each course, there is a department responsible for the course organisation. A person responsible for timetabling for a given department sets a time schedule of teaching and for each class, s/he assigns an instructor and/or an examiner.
Expected time consumption of the course is expressed by a course attribute extent of teaching. For example, extent = 2 +2 indicates two teaching hours of lectures and two teaching hours of seminar (lab) per week.
At the end of each semester, the course instructor has to evaluate the extent to which a student has acquired the expected knowledge and skills. The type of this evaluation is indicated by the attribute completion. So, a course can be completed by just an assessment ('pouze zápočet'), by a graded assessment ('klasifikovaný zápočet'), or by just an examination ('pouze zkouška') or by an assessment and examination ('zápočet a zkouška') .
The difficulty of a given course is evaluated by the amount of ECTS credits.
The course is in session (cf. teaching is going on) during a semester. Each course is offered either in the winter ('zimní') or summer ('letní') semester of an academic year. Exceptionally, a course might be offered in both semesters.
The subject matter of a course is described in various texts.

NIE-NSS Normalized Software Systems Extent of teaching: 2P
Instructor: Pergl R., Suchánek M. Completion: ZK
Department: 18102 Credits: 5 Semester: L

Annotation:
Students will learn the foundations of normalized systems theory that studies the evolvability of modular structures based on concepts from engineering, such as stability from system theory and entropy from thermodynamics. Students will understand a set of principles that indicate where violations of stability and entropy-related issues occur in any given software architecture. In the second part of the course, students learn how to construct software architectures using a set of 5 design patterns called elements. These elements provide the core functionality of information systems in terms of storing data, executing actions, workflows, connectors, and triggers, while handling violations of the stability and entropy-related principles. This knowledge allows students to realize new levels of evolvability in software architectures.

Lecture syllabus:
Course will be realized in a block (concentrated) form in the first or second week of May. The main lecturer will be prof. Jan Verelst from University of Antwerp, co-author of the book Normalized Systems (see study materials)
1. (2) Engineering basics: stability in systems theory; entropy in statistical thermodynamics.
2. (3) Normalized Systems Theory: principles, elements.
3. (3) Normalized systems tools: expanders, Prime Radiant.
4. (3) Enterprise Engineering: applying the NS theory to enterprises.
5. (2) Reflection: applying the concepts from engineering to software and enterprises.

Seminar syllabus:
There are not exercises.

Literature:
1. Mannaert, H. - Verelst, J. - De Bruyn, P. : Normalized systems theory : from foundations for evolvable software toward a general theory for evolvable design. Koppa, 2016. ISBN 978-90-77160-09-1.
2. Mannaert, H. - Verelst, J. : Normalized Systems: Re-creating Information Technology based on Laws for Software Evolvability. Koppa, 2009. ISBN 978-90-77160-00-8-S.
3. Ford, N. - Parsons, R.- Kua, P. : Building Evolutionary Architectures: Support Constant Change. O?Reilly Media, Inc., 2017. ISBN 978-1491986363.

Requirements:
Basic knowledge of basics of software engineering and programming languages.

Information about the subject and teaching materials can be found at https://moodle-vyuka.cvut.cz/course/view.php?id=6943

The course is also part of the following Study plans:
Study Plan Study Branch/Specialization Role Recommended semester
NIE-TI.21 Computer Science 2021 VO 2
NIE-NPVS.21 Design and Programming of Embedded Systems 2021 V 2
NIE-SI.21 Software Engineering 2021 PS 2
NIE-DBE.2023 Digital Business Engineering PV 2
NIE-PB.21 Computer Security 2021 V 2
NIE-PSS.21 Computer Systems and Networks 2021 V 2


Page updated 29. 3. 2024, semester: L/2021-2, Z,L/2023-4, Z/2021-2, Z/2020-1, Z/2019-20, L/2020-1, Z,L/2022-3, L/2019-20, Send comments to the content presented here to Administrator of study plans Design and implementation: J. Novák, I. Halaška