A clear description of functional requirements in the form of use cases is a convenient way to structure and understand the entire set of functional requirements of the system. This form is also convenient for agreeing with the customer about how the system will look and behave. However, once the requirements are approved, the system must be designed and developed. The task of analysis at this stage is to transform the description of use cases into a technically correct description of the structure and behavior of the system, understandable for the architect, developers, and testers. Good practice for such a description is visual modeling, including using UML (Unified Modeling Language).
UML allows you to represent all aspects of the designed system with any required accuracy. At the same time, for each use case, several diagrams of different types can be created - each type depicts its own aspect. The entire set of diagrams that reveal the inner logic of use cases constitutes the so-called system analytical model. It's on the basis of this model that the system architecture is further designed, system functions are implemented, and data structures are created.
This course is devoted to the study of the process of creating models – from the highest level to more detailed. During the course, trainees will practice creating and analyzing models. They will acquire the skills of detailed modeling of the system's functionality and rational distribution of responsibilities between its various parts. The basement of the course practice is an almost completed document that should be analyzed and improved by participants. So, participants obtain not only modeling and UML experience but also training in peer review, document analysis, and other activities that are natural to real projects. Some parts or principles of practical examples can be used by participants in their own projects.