Subject description - AE4M33NMS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
AE4M33NMS Design and Modeling of Software Systems
Roles:PO, V Extent of teaching:2P+2C
Department:13133 Language of teaching:EN
Guarantors:  Completion:Z,ZK
Lecturers:  Credits:6
Tutors:  Semester:Z


The subject introduces to the design process of a software system from requirements gathering to a detailed object-oriented design. It is based on existing development methodologies, especially object-oriented, and the UML language will be used as a dominant formalism. The subject is oriented mainly on reliability analysis and formal and informal methods to reduce error rate in design phases.

Study targets:

The course is aimed to learn the student how to design a software system. After successful completion of the course, the student is able to actively apply the object-oriented software design methodology using UML and to design multi-threaded applications. Further on, he gets an overview of technologies for distributed application design including RPC, RMI, web services, Corba and COM+.

Course outlines:

1. User requirements, system functionality definition, formal and informal procedures to user specification
2. Technical specification, structural system design, relationship of functional and non-functional requirements on systems
3. Description and use of UML language
4. System design using UML
5. Object-oriented design
6. Object-oriented design
7. Object-oriented design
8. Component design, module identification, guidelines for creating API
9. Distributed components, distributed systems, design and formalisms
10. Distributed system design, properties of distributed systems
11. Synchronous and asynchronous systems, event-driven systems
12. System integration, error rate, error propagation
13. Integration of systems, integration of external data sources, external dependencies
14. Design risk management, technical plan of the project

Exercises outline:

1. Organization, safety rules, rules for credit assignment
2. User requirements, requirements specification
3. Technical specification, structural system design, functional and non-functional requirements
4. Examples of modeling in UML language - requirements and class models
5. Communication and collaboration models in UML, semestral work assignment
6. Autonomous work - object-oriented design
7. Autonomous work - object-oriented design
8. Autonomous work - component design, interface design
9. Example of distributed system design
10. Event-driven systems
11. Data source integration
12. Semestral work presentation
13. Semestral work presentation
14. Credits


[1] Rumbauhg, J., Blaha, M., Premerlani, W., Eddy, F., Lorenson, W.:
Object-oriented Modelling and Design. Prentice Hall, 1991
[2] Beneš, J.: Manažerské informační systémy. Automatizace, 2000
[3] Mařík a kol.: Umělá inteligence I-IV.


The requirement for the examination are published at Up-to-date information on lectures and seminars can be found at


Object-oriented analysis and design, UML, Unified Modeling Language, multi-threaded applications, race conditions, distributed applications, RPC, RMI, Corba, web services, COM+.

Subject is included into these academic programs:

Program Branch Role Recommended semester
MEKME1 Wireless Communication V 1
MEKME5 Systems of Communication V 1
MEKME4 Networks of Electronic Communication V 1
MEKME3 Electronics V 1
MEKME2 Multimedia Technology V 1
MEOI5 Software Engineering PO 1
MEEEM1 Technological Systems V 1
MEEEM5 Economy and Management of Electrical Engineering V 1
MEEEM4 Economy and Management of Power Engineering V 1
MEEEM3 Electrical Power Engineering V 1
MEEEM2 Electrical Machines, Apparatus and Drives V 1
MEKYR4 Aerospace Systems V 1
MEKYR1 Robotics V 1
MEKYR3 Systems and Control V 1
MEKYR2 Sensors and Instrumentation V 1

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