Objectives of the course

The participants will after the course have detailed knowledge of software architecture, and design patterns and frameworks in particular and insight into software testing and test-driven development.

Learning outcomes

The participants must at the end of the course be able to:

Course contents

Software architecture and quality attributes, in particular techniques for developing reliable and flexible systems: responsibility-driven design, design patterns, frameworks, and variability management. Techniques and tools for testing. Tools for large system development, like UML, build-management, software configuration management, and test execution.