DF14900 Software Engineering (2011)

New course leaders 2012, 2014:
In 2012, Peter Bunus was the main course responsible for this course.
In 2014, the course will be organized by Kristian Sandahl.

The next instance of this course will be given 10-13 january 2011, and held in room Herbert Simon at IDA, Linköping university.

The oral exam will be on monday 7 february at 15:00-17:00 in SaS-grupprum 2 (directly opposite C. Kessler's office).

Graduate course, 4.5hp (3gp) given annually in january

CUGS core course, National Graduate School in Computer Science (CUGS)
Mandatory course for CUGS doctoral students in computer science (course code FDA149).
This course is not open for undergraduate students. Undergraduate students are kindly referred to our related master-level courses Design Patterns, Software Testing and Component-based software.

Goals: The course gives a broad overview of the theory of software engineering and treats selected topics in more depth.

Prerequisites: Data structures and algorithms; Programming in an object-oriented language (Java or C++)

Organization and dates

Ca. 21 hours of lectures (3.5 full days)

The course is given in an intensive format ("crash course") at IDA, Linköping.
The exam will be in Linköping.
For questions about local arrangements, accommodation etc., please contact the CUGS secretary, Anne Moe.

The dates, start and end times below are confirmed.

Lecture room: Herbert Simon, IDA, E-house, upper floor.

Schedule and Contents

(Note: The slide sets below may be updated shortly before each lecture.)

Day 1: Monday 10 jan 2011, 09:15-12:00 and 13:15-17:00

1 Introduction: Software Engineering Kristian Sandahl
2 Software life cycles and processes Kristian Sandahl
3 Software project managementKristian Sandahl
4 Introduction to UML ...Christoph Kessler
5 ... and design patterns Christoph Kessler
6 Exercise: Eclipse IDE, design pattern example Mattias Eriksson

Day 2: Tuesday 11 jan 2011 09:15-12:00 and 13:15-17:00

7 Requirements engineering
Kristian Sandahl
8 Usability metrics
Kristian Sandahl
9 Software quality managementKristian Sandahl
10 Guest lecture (SaS seminar, 13:15-14:30):
Testing Web Applications with the Atomic Section Model
Jeff Offutt
11 Software testing (14:30-15:15) Mariam Kamkar
12 Introduction to component and composition systems (15:45-17:00) Christoph Kessler

Day 3: Wednesday 12 jan 2011 09:15-12:00 and 13:15-17:00

13 OO Technology: Properties and Limitations for Component-Based Software Engineering
Interfaces, design by contract, syntactic and semantic substitutability, covariance, contravariance, specialization.
Inheritance considered harmful: syntactic and semantic fragile base class problem. View-based composition.
Christoph Kessler
Mid-term evaluation Christoph Kessler
14 Metamodeling and metaprogrammingChristoph Kessler
15 JavaBeans Mikhail Chalabine
16 Enterprise Java Beans (EJB) Mikhail Chalabine
17 Aspect-oriented programming and Aspect-JMikhail Chalabine

Day 4: Thursday 13 jan 2011 09:15-12:00

18 Background reading: COTS problems and solutions
Christoph Kessler
19 Software architectural styles Christoph Kessler
20 Model-driven architecture (MDA) Christoph Kessler


Oral exam: Monday 7 feb 2011 15:00-17:00 in SaS-grupprum 2 (directly opposite C. Kessler's office).
Examinators: Christoph Kessler, Kristian Sandahl.


Further literature on specific topics will be announced in the course.

Other material


Course leader

Local arrangements, accommodation, travel information etc.

Course secretary




No aids are allowed: No books, no papers, no notes.


4.5 credit points (3 gp)

The grades are U, G (fail, pass).

Organized by

CUGS national graduate school in computer science, and
Department of Computer Science, Linköping University


Overlap with other courses:

Mid-term evaluation

The report on the mid-term evaluation on 12 jan 2011 is available here.

The course was last given

Christoph Kessler