Design and Modeling of Software Systems

The course is not on the list Without time-table
Code Completion Credits Range Language
A4M33NMS Z,ZK 6 2+2c Czech
Department of Cybernetics

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.


The requirement for the examination and up-to-date information on lectures and seminars can be found at http://cw.felk.cvut.cz/doku.php/courses/a4m33nms/start

Syllabus of lectures:

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

Syllabus of tutorials:

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


Study Objective:

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+.

Study materials:

[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.

Further information:
No time-table has been prepared for this course
The course is a part of the following study plans:
Data valid to 2019-03-22
For updated information see http://bilakniha.cvut.cz/en/predmet12588104.html