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