Back to top

Advanced Topics of Software Engineering

Last modified by Florian Matthes Feb 8

News

  • Repeat exam review will be on Thursday, April 21th, from 8:00 - 9:00 am in room 01.12.035.
  • 24.02.2016 >> Main exam seating arrangement announced [A-P] Horsaal 1, [Q-Z] - Interims 2
  • 22.02.2016 >> Repeat exam date announced - 29.03.2016
  • 28.10.2015 >> Updated exam date (25.02.2016)
  • 14.10.2015 >> Lectures will not be recorded
  • 12.10.2015 >> Please register for the tutor exercises via TUMonline
  • 12.10.2015 >> The exercises will start in the second week of the lecture period (19.10.2015)
  • 23.09.2015 >> Register for the lecture in TUM Online - Standardgruppe.
  • 23.09.2015 >> Course content will be made available via Moodle.
  • 23.09.2015 >> The tentative course schedule is available in TUM Online.
  • 23.09.2015 >> The lectures are on Thursdays and Fridays (8:30--10:00) @ Interims Hörsaal 2.
  • 23.09.2015 >> The first lecture is on 15.10.2015.

Organization of exercise

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

Carlo Di Domenico

Group 2 Monday 13:00 - 15:00 01.11.018 Carlo Di Domenico
Group 3  Monday 15:00 - 17:00 01.11.018

Carlo Di Domenico

Group 4 Tuesday 15:00 - 17:00 01.11.018 Alexander Fromm
Group 5  Wednesday 10:00 - 12:00 00.11.038

Tobias Schrade

Group 6  Wednesday 12:00 - 14:00 00.11.038 Tobias Schrade
Group 7 Wednesday 14:00 - 16:00 01.12.035 Alexander Fromm
  • 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)

 If you have any further queries, please contact Manoj M. < manoj.mahabaleshwar [at] tum.de >

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 - 25.02.2016
    • Time - 13:30 to 15:15
    • Duration
      • IN2039 - 100 minutes (100 points)
      • IN2126 - 75 minutes (75 points)
    • Location
      • [A-P] Horsaal 1
      • [Q-Z] Interims 2
  • Students must register for the exam in TUM Online
  • Language of examination – English only
  • Closed-book exam
    • English dictionary is allowed
  • Repeat exam
    • Date -29.03.2016
    • Time - 13:30 - 15:15.
    • Location - MW 1801, Ernst-Schmidt-Hörsaal (5508.01.801)

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).