Back to top

Advanced Topics of Software Engineering

Last modified Oct 9

News

  • First lecture: Friday, 19.10.2018, 08:30, MI HS 1
  • First tutorial: Monday, 05.11.2018

 

Weekly time sheet

  Mo Tu We Th Fr
8-10      

Group 7
01.10.011

(Backup!)

Lecture
HS 1
Group 1
01.11.018
   
10-12

  Group 5
00.11.038
   
       
12-14

Lecture
Interims 1

  Group 6
01.11.018
   
     
14-16

Group 2
01.11.018
       
Group 4
01.11.018
     
16-18

Group 3
01.11.018

     
       

 

Organization of exercise

  • Please register for your preferred tutorial block in TUM Online. (Registration will open 16.10.2018)
  • Detailed information is available in TUM Online.
  • Tentative schedule
NrDayTimeRoomTutors
Group 1   Monday 09:15 – 11:00 01.11.018

Ahmed Elnaggar 

Group 2 Monday 14:15 - 16:00 01.11.018 Martin Kleehaus
Group 3  Monday 16:15 - 18:00 01.11.018

Martin Kleehaus

Group 4 Tuesday 15:15 - 17:00 01.11.018 Ahmed Elnaggar
Group 5  Wednesday 10:15 - 12:00 01.11.038 

Patrick Holl

Group 6 Wednesday 12:15 - 14:00 01.11.018 Patrick Holl

Group 7

(Backup! This group will only be offered
if all other groups are full! )

Thursday 08:15 - 10:00 01.10.011 Daniel Braun
  • Exercise bonus
    • 0.3 bonus for the final grade (Only if you pass the exam)
    • Not transferable to the next semesters (But applicable to repetition exam)

 

Content

  1. The context of software engineering
    1. Introduction and overview
    2. Factors affecting the design of a software system
    3. Characteristics of software systems in different domains
    4. Case studies from two domains (Two guest lectures!)
  2. From requirements to system design
    1. Software architecture
    2. Software libraries and frameworks
    3. Antipatterns in software engineering
    4. Model-driven software engineering
    5. Software product line engineering
    6. Safety
    7. Information security
    8. Testability
  3. Software architectures and their trade-offs
    1. Introduction to distributed systems and middleware 
    2. Database-centric architectures
    3. Message-oriented architectures
    4. Object-oriented architectures
    5. Component-based architectures
    6. Service-oriented architectures
  4. From source code to physical deployment
    1. Introduction and historical perspective
    2. Version control
    3. Continuous integration
    4. Continuous deployment
    5. Virtual machines and containers
    6. Software architectures for the cloud

Because students in Automotive Software Engineering have a different curriculum, the number of ECTS credits and thus the scope of the lecture and the exam differentiates as follows:

Module noStudiesECTSScope of the exam

IN2126

Masters in automotive software engineering

6

Chapter 1, 2, and 3

IN2309

Other than automotive software engineering

8

Everything that is covered in the lecture

Assessment Method / Exam

  • There will be a written exam at the end of the lecture
    • Date - 12.02.2019
    • Time - 10:30
    • Duration
      • IN2039 - 100 minutes (100 points)
      • IN2126 - 75 minutes (75 points)
    • Location - tba
  • Students must register for the exam in TUM Online
  • Language of examination – English only
  • Closed-book exam
    • English dictionary is allowed

Prerequisites

Attendandce to the lecture "Introduction to Software Engineering (IN0006)".

Intended Learning Outcomes

  • Appreciate software engineering:
    • Build complex software systems in the context of frequent change
  • Understand
    • how quality attributes affect the software architecture and conversely, how architectures influence these attributes in different domains
    • why there is  a need to make quality trade-offs while considering different software architectures including component-based and service-oriented architectures
    • how to efficiently deliver the developed software system to the stakeholders
  • Be able to apply
    • modeling techniques
    • system analysis and design by considering quality trade-offs
    • patterns, guidelines, and best-practices in software engineering
    • tools for system configuration, integration, and deployment

References

Title

Authors

Design rules: The power of modularity Baldwin, C.Y. and Clark, K.B. (2000).
The Pragmatic Programmer: From Journeyman to Master Hunt A. and Thomas D. (2000).
Patterns of enterprise application architecture Fowler M. (2002).
Pattern-oriented software architecture volume 1: a system of patterns Schmidt, D., Meunier R., Stal, M., Rohnert, H., and Buschmann, F. (1996).
What is enterprise ontology? Dietz J. LG. (2006).
Object-oriented design with applications Grady B. (1991).
Continuous integration Fowler M. (2006).
The deployment production line Jez H., Read C., and North D. (2006).
Softwaretechnik: Praxiswissenfür Software-Ingenieure Johannes S. (2003).
Getting Started - About Version Control  
Software Product Line Engineering. Pohl, K., Böckle G. and Linden F. (2005).
AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. The Upstart Gang of Four (1998).