Special topics of software engineering
Niveau
                                    second cycle, Master
                                
                            Learning outcomes of the courses/module
                                    The following learning outcomes are developed in the course:
- Building on the fundamentals of software engineering, students have in-depth knowledge of selected topics related to the development and evolution of software systems.
- Students know advanced methods of requirements analysis and are able to apply them efficiently
- Students have sound knowledge in the detailed design of software systems using design patterns.
- The students know procedures for the automation and support of large software systems.
                                
                            - Building on the fundamentals of software engineering, students have in-depth knowledge of selected topics related to the development and evolution of software systems.
- Students know advanced methods of requirements analysis and are able to apply them efficiently
- Students have sound knowledge in the detailed design of software systems using design patterns.
- The students know procedures for the automation and support of large software systems.
Prerequisites for the course
                                    Students bring the following requirements to the course:
- Students understand the basics of software engineering.
- Students understand object-oriented design using UML.
- Students understand Java, inheritance and polymorphism.
                                
                            - Students understand the basics of software engineering.
- Students understand object-oriented design using UML.
- Students understand Java, inheritance and polymorphism.
Course content
                                    Further and advanced topics in the field of software engineering are taught in this course. This includes the following focal points: In-depth topics in the fields of requirements analysis (e.g. SOPHIST rules, goal modelling) and design (e.g. design patterns, design principles); in-depth knowledge of agile development methods; procedures in the development of extensible software systems; automation in the development of large software systems (e.g. unit tests, continuous integration and DevOps). 
                                
                            Recommended specialist literature
                                    - Sommerville: Software Engineering, 10., aktualisierte Auflage, PEARSON, 2018.
- B. Brügge, A. H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, PEARSON, 2004.
- Rupp, Chris & die Sophisten: Requirements-Engineering und -Management, Hanser, 6. Auflage (2014)
- Van Lamsweerde, Axel: Requirements Engineering, Wiley (2009)
                            - B. Brügge, A. H. Dutoit: Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java, PEARSON, 2004.
- Rupp, Chris & die Sophisten: Requirements-Engineering und -Management, Hanser, 6. Auflage (2014)
- Van Lamsweerde, Axel: Requirements Engineering, Wiley (2009)
Assessment methods and criteria
                                    Written exam
                                
                            Language
                                    German
                                
                            Number of ECTS credits awarded
                                    6
                                
                            Semester hours per week
Planned teaching and learning method
                                    Lecture, quiz, presentation and discussion of task solutions
                                
                            Semester/trimester in which the course/module is offered
                                    1