Software Design

Software Design

Integrated course, 4.00 ECTS


Course content

Introduction in object-oriented software design: (i) Modeling of software systems using UML; (ii) Introduction to design patterns; (iii) Refactoring using design Patterns.

Learning outcomes

On completion of the course, students have fundamental knowledge about software design, improvement of software qulity, specification of requirements including the optimization of user interfaces.

Recommended or required reading and other learning resources / tools

Martin Fowler, UML Distilled, 2004
Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides, Design Patterns, 1995
Robert C. Martin, Agile Software Development, 2002
Lisa Crispin and Janet Gregory, Agile Testing, 2009
Gerard Meszaros, xUnit Test Patterns, 2007

Lukas Mathis, Designed for Use, 2011
Jakob Nielson; Usability Engineering,2004
Joel Spolsky; User Interface Design for Programmers, 2001
Donald Norman, Design of Everyday Things, 1988

Axel van Lamsweerde, Requirements Engineering: From System Goals to UML Models to Software Specifications, John Wiley & Sons, 2009
Klaus Pohl, Requirements Engineering, Springer, 2010 Alistair Cockburn, Writing Effective Use Cases, Addison-Wesley, 2000
Bernd Oestereich, Objektorientierte Geschäftsprozessmodellierung mit der UML, dpunkt Verlag, 2003
Professional Journals: ACM, IEEE

Mode of delivery

2 ECTS lecture; 2 ECTS tutorial

Prerequisites and co-requisites

Software Development

Assessment methods and criteria

Lecture: Final Exam; Tutorial: Continuous Assessment