Objectives and Outcomes
Mastering fundamental concepts and techniques of software systems design in various domains. The
acquired knowledge provides a deeper understanding of how software systems work in different
domains. The course also provides the necessary knowledge for the design and implementation of
specific software systems and represents the basis for experimental research in the field of computer
Software architecture. Software systems design. Mathematical basis of model-based specification.
Abstraction and modularity. Poor connectivity and high cohesion of software system elements.
Functional requirements of the software system. Software development process. Software system quality
assessment. Software system limitations. Software system security. Software system life cycle. Software
system with a large amount of data. Knowledge-based systems. Case studies of software systems in
different domains: biological systems, financial systems, educational systems, library systems.
Theoretical and formal aspects of software engineering. Analysis, testing and verification of software
A part of the course is dedicated to independent research work that includes writing a paper or
implementing a specific solution into the field of software systems.