Subject description - A4M33NMS

Summary of Study | Summary of Branches | All Subject Groups | All Subjects | List of Roles | Explanatory Notes               Instructions
A4M33NMS Design and Modeling of Software Systems Extent of teaching:2+2c
Guarantors:  Roles:PO,V Language of
Teachers:  Completion:Z,ZK
Responsible Department:13133 Credits:6 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 and 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
MPIB Common courses V
MPKME1 Wireless Communication V 1
MPKME5 Systems of Communication V 1
MPKME4 Networks of Electronic Communication V 1
MPKME3 Electronics V 1
MPKME2 Multimedia Technology V 1
MPEEM1 Technological Systems V 1
MPEEM5 Economy and Management of Electrical Engineering V 1
MPEEM4 Economy and Management of Power Engineering V 1
MPEEM3 Electrical Power Engineering V 1
MPEEM2 Electrical Machines, Apparatus and Drives V 1
MPOI5 Software Engineering PO 1
MPKYR4 Aerospace Systems V 1
MPKYR1 Robotics V 1
MPKYR3 Systems and Control V 1
MPKYR2 Sensors and Instrumentation V 1
MPOI1 Artificial Intelligence V
MPOI5NEW Software Engineering V
MPOI4NEW Computer Graphics and Interaction V
MPOI5 Software Engineering V
MPOI4 Computer Graphics and Interaction V
MPOI3 Computer Vision and Image Processing V
MPOI2 Computer Engineering V

Page updated 24.6.2019 12:52:41, semester: Z,L/2020-1, L/2018-9, Z,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)