Introduction Seminar to the UML
The Concepts and the Elements of the Unified Modeling Language
Modern software development has a lot to do with conceptual work and little with the design of mathematical-numerical algorithms. Yet the image of a computer scientist being twin brothers with a mathematician lingers persistently among society. In reality this belief is only true on a small scale. Only in the rarest cases today’s software development means being occupied with mathematical subjects. The developer’s main task consists in most cases in making usable and structuring existing knowledge. To that effect, the methods of software development today must offer assistance in the structuring of knowledge and in the communication of knowledge contents. The object-oriented software development is one of said methods that relies on language structures in order to achieve the above-mentioned performances for the technical implementation of software.
To describe the contents of object-oriented solutions, it is also possible to choose graphical representations in addition to the text form. In order for these graphical representations to be interpreted unambiguously, they created a standard with the Object Management Group - OMG for short - that defines the symbols and semantics of a graphical representation for object-oriented software. Today UML is an important tool for the object-oriented software development and it is hard to imagine working without it. That is why this course pursues the goal of a comprehensive introduction to the use of UML in modern software development. In addition to the software point of view, this course is also concerned with the process point of view on a software project.
There are numerous tools that assist software developers in creating diagrams. However, at this point, a gently critical tone needs to be struck regarding a specific matter: there are also some tools that promise a complete graphical modeling of software throughout the entire development process. These modeling tools follow their own logic, which is not inherent in UML. UML is not a methodology; it is process-neutral! Modeling promises made by reputable UML tool manufacturers are not inherent in UML and should be upheld by the same manufacturers who raise such expectations in their advertising. As the provider and trainer of this seminar, I cannot fulfill such a promise under any circumstances. I have personally had bad experiences with such raised expectations in several software projects at different companies. Among many developers, there is a kind of consensus that UML is not suitable for software development, as the use of UML is often associated with the use of an overpriced and unsuitable modeling tool.
..back to the seminar description
All diagram types of the UML are discussed and put into the context of the object-oriented development. For this purpose we refer to examples that are practiced and discussed together. The software life cycle acts as methodical backbone to the course. The different phases of the SW life cycle are prepared and discussed with UML diagrams. A key aspect of the course is supporting the discipline of analysis and design. It also shows how the UML is involved in the software development process.
The Following Diagram Types are Covered:
- Use Case Diagrams
- Activity Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- Analysis Class Diagrams
- Design Class Diagrams
- Introduction to the Design Patterns
- State Diagrams
- Module Diagrams
- Installation Diagrams
The discussion of the diagram types takes place against the background of process-related software development. Practical exercises are carried out based on realistic problems. For this purpose it is indeed possible to use any UML tool.
Last modified 01.12.2023