The lecture deals with the fundamentals of systematic and engineering software development with a focus on model-based software development. Various process models, both classical and agile, are presented. The lecture teaches methods for software development and quality assurance within these models and presents modelling languages such as the object-oriented modelling language UML. Various diagram types such as class diagrams, use case diagrams, activity diagrams, sequence diagrams and state diagrams are covered. Software tools are also used as examples.
The course focuses on
-
Process models (classic, agile)
-
UML (Unified Modelling Language): Class diagrams, use case diagrams, activity diagrams, sequence diagrams, state diagrams
-
Model-based process model
-
Consistent software development method from requirements specification and modelling through to implementation and testing of the software
-
Model-based testing
-
Domain-specific languages (metamodelling, UML profiles, SysML, BPMN)
The lecture is accompanied by exercises in which the lecture content is taken up, deepened and applied to exemplary development tasks.
In addition, practical exercises are used to deepen knowledge of the Java programming language.
Practical examples are used to learn the relationships between the design and implementation of software applications. In addition, students will learn how to transfer familiar programming concepts learnt using the Python language to another programming language and new areas of application.