CS 306 - Praktikum Software Engineering


This is the practical course accompanying Softwaretechnik I. It teaches students to apply their knowledge of the theory of software engineering by having them develop their own software system.

The students will receive a set of requirements for a software system just as if they were working on a real industrial project. Their tasks is then to produce a complete software system including a working implementation, a design document, etc. based on the requirements. The students will develop their own solutions in small teams. Each team will have regular meetings to discuss their progress and assign specific tasks to each student in the team.

The goal of this practical course is to gain a far deeper understanding of software engineering than is possible via studies of the theory alone.

Prerequisites: CS 302 - Praktische Informatik I, CS 307 - Algorithmen und Datenstrukturen, CS 304 - Programmierpraktikum I, CS 305 - Programmierpraktikum II

Evaluation: written report, developed software system, team meetings, colloquia, practical exams, programming projects


Lecture schedule

Thursday: 12:00 - 13:30 in A5, B144

First Lecture: 16.02.2017


Please join the following Ilias Group


Tutorial schedule

scheduled individually


Suggested Literature

  • Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (3rd edition), Prentice Hall, 2005 oder dt.: UML2 und Patterns angewendet, Mitp-Verlag, 2005
  • Pilone, Pitman, UML in a Nutshell, O'Reilly, 2005 (dt. 2006)
  • Alistair Cockburn, Writing Effective Use-Cases, ISBN: 0201702258
  • Einf├╝hrung in Junit: www.mm.informatik.tu-darmstadt.de/courses/helpdesk/junit4.pdf
  • Java ist auch eine Insel: openbook.galileocomputing.de/javainsel/