ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

# Normalized Software Systems

Předmět není vypsán Nerozvrhuje se
Kód Zakončení Kredity Rozsah Jazyk výuky
MI-NSS.16 ZK 5 2P anglicky
Garant předmětu:
Přednášející:
Cvičící:
Předmět zajišťuje:
katedra softwarového inženýrství
Anotace:

Students will learn the foundations of Normalized Systems theory, which studies the evolvability of modular structures based on concepts from engineering such as stability from systems theory and entropy from thermodynamics.

Initially, the theory was developed at the level of software architectures, where the concept of stability was translated into the definition of so-called combinatorial effects. These effects occur when the impact of a change to the software architecture is dependent on the change itself, as well as on the size of the system. The latter is highly undesirable, as it will cause even a simple change to incur an ever-increasing impact as the size of the system grows over time. As such, combinatorial effects can be considered as a main cause of Lehman?s Law of Increasing Complexity (see, e.g., http://en.wikipedia.org/wiki/Lehman's_laws_of_software_evolution). Additionally, the concept of entropy was used in the study of which micro-states in a modular structure correspond with a given macro-state. This is related mainly to issues such as testing in software architectures.

Normalized Systems theory consists first of a set of principles which indicate where violations of stability and entropy-related issues occur in any given software architecture. These principles indicate that very fine-grained modular structures are required in order to control them. In the second part of the theoretical framework, it is shown how software architectures can be constructed based on 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 controlling for violations of the stability and entropy-related principles, allowing them to realize new levels of evolvability in software architectures.

Recently, Normalized Systems theory was also applied to the modular structures in business processes and enterprise architectures, with the goal of constructing a foundational theory for Enterprise Engineering.

Basic knowledge of basics of software engineering and programming languages.

Osnova přednášek:

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)

Lectures

1. Engineering basics

a. Stability in systems theory

b. Entropy in statistical thermodynamics

2. Normalized Systems Theory

a. NS principles

b. NS principles

c. NS elements

d. NS elements

3. NS Tools

a. NS expanders

4. Enterprise Engineering: applying NS theory to enterprises

a. Generalizing NS theory

b. Generalizing NS theory

d. NS Enterprise Architectures

5. Conclusion

a. Reflection: applying concepts from engineering to software and enterprises

Exercises

1. Exercises-Normalized Systems theory

a. Identification of Combinatorial Effects

b. Identification of Combinatorial Effects

c. GUI customizations

d. Security customizations

2. Exercises-Enterprise Engineering

b. Creation of an elementary element at the enterprise level

Osnova cvičení:
Cíle studia:

The goals of the subject are:

- to understand the concepts of stability and entropy, and their application to the context of evolvability of software architectures, business processes and enterprise architectures

- to understand the role of tools to build fine-grained modular structures at the software level

- to practice and learn the identification of combinatorial effects as well as the programming of customizations conforming to the NS principles

- to practice and learn the application of the NS principles to the level of BPMN processes and the design of NS elements at the enterprise level

Studijní materiály:

Mannaert Herwig, Verelst Jan. Normalized systems: re-creating information technology based on laws for software evolvability, isbn 978-90-77160-00-8-S.l., Koppa(2009).

Poznámka:

Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/view.php?id=2731

Další informace:
https://moodle-vyuka.cvut.cz/course/view.php?id=2731
Pro tento předmět se rozvrh nepřipravuje
Předmět je součástí následujících studijních plánů:
Platnost dat k 4. 3. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet4767806.html