Software Specification and Architecture

Course code: 2IW80


Time and location:

Instructor/supervisorInstruction locationGroup meeting location
Anton WijsMF 13MF 3.098
Kees HuizingMF 14MF 3.123
Sarmen KeshishzadehMF 15MF 3.140
Ulyana Tikhonovanot applicableMF 5.199

Target audience:

Background information on the course:

Method for software specification consisting of the description of data, functionality, and behaviour. In this course we study a number of basic specification techniques including, e.g., class diagrams and use cases. Based on these specifications we discuss how architecture of a software system can be constructed. A number of important approaches to software architecture are discussed. The possibilities and constraints of these approaches are investigated, resulting in guidelines for their application.

Prerequisites: Knowledge of basic procedural and object-oriented programming techniques.

Learning objectives:

After completing this course, you will be expected to be able to

Literature Numerous books have been published on UML, formal specification techniques and software architecture. While information available on the slides should be sufficient to complete the course successfully, you might consider consulting the following documents to deepen your knowledge:


The final grade will be determined based on two partial grades obtained for 2IW81 (Final exam Software specification and architecture) and 2IW82 (Assignments Software specification and architecture).

Determining the final grade
We follow the Bachelor College rules:

2IW81 (Final exam Software specification and architecture)
The final exam will take place on April 15, 2014, 9:00-12:00. The resit will take place on June 24, 2014, 14:00-17:00.
April exam. Answers to the multiple choice questions (corrected on June 20, 2014).

2IW82 (Assignments Software specification and architecture)
The assignments will be made available on Peach. You can access Peach with your usual university login. Please do not forget to join "2IW80 Software Specification and Architecture".
Keep in mind that the deadlines are strict and no late submissions will be accepted (either by Peach or by me).

This year we will have two group assignments. You should submit both assignments: failure to do so will result in a failing grade. The final grade of students that have submitted both assignments will be calculated as the average of the assignment grades. In both assignments you will be required to work on the "Foxes and Dolphins" board game.


The list of lectures and topics is subject to change. Powerpoint presentations will be made available after the class.
AUD 15Feb 4Introduction. Requirements.
AUD 15Feb 6UML Use Cases.
AUD 15Feb 11UML Activity Diagrams and State Machines.
AUD 15Feb 13UML Class Diagrams.
AUD 15Feb 18UML Package Diagrams, Component Diagrams and Deployment Diagrams
AUD 15Feb 20UML Sequence Diagrams and Timing Diagrams
AUD 15Feb 25Formal specifications: Event-B and UML-B
AUD 15Feb 27Exercise session on Event-B and UML-B
Mar 3No class. Carnaval.
Mar 7No class. Carnaval.
AUD 15Mar 11Introduction to Software Architecture.
AUD 15Mar 13Domain-Specific Software Architectures and Architecture Patterns.
AUD 15Mar 18Architecture Styles I.
AUD 15Mar 20Architecture Styles II. Architecture Description Languages.
AUD 15Mar 25Guest lecture: Yanja Dajsuren. Automotive Software Architecture.
AUD 15Mar 27Recapitulation session.
Apr 1Catch-up week. No class.
Apr 3Catch-up week. No class.