Software Specification and Architecture
Course code: 2IW80
Team
Time and location:
- Lectures: Tuesday, 13:45-15:30 (AUD 15) and Thursday, 10:45-12:30 (AUD 15).
- Instruction sessions: Tuesday, 15:45-17:30.
- Group meetings: Thursday 8:45-10:30. Register your group!
Instructor/supervisor | Instruction location | Group meeting location |
Anton Wijs | MF 13 | MF 3.098 |
Kees Huizing | MF 14 | MF 3.123 |
Sarmen Keshishzadeh | MF 15 | MF 3.140 |
Ulyana Tikhonova | not applicable | MF 5.199 |
Target audience:
- Mandatory:
- Bachelor Software Science, Software Science/Web-Science, Software Science/Mathematics
- Bachelor Computer Science (BTI, 2011 or earlier)
- Bachelor College package: preparation master Information Security Technology
- Homologation for Embedded Systems master programs (ES, EIT-ES, preparatory program for polytechnical graduates)
- Elective: any other Bachelor College major
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
- describe existing software systems or software systems to be developed by means of basic specification techniques;
- derive an architectural description for a software system based on its specification.
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:
Grading
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:
- Students that did not participate in the final exam, get the final grade NV (niet verschenen, no show).
- Students that did participate in the final exam, and their average grade of 2IW81 and 2IW82 is lower than 5.5 get as the final grade the average grade of 2IW81 and 2IW82, rounded to the nearest integer value.
- Students that did participate in the final exam, their average grade of 2IW81 and 2IW82 is 5.5 or higher and their final exam grade (2IW81) is lower than 5 get the final grade 5.
- Students that did participate in the final exam, their average grade of 2IW81 and 2IW82 is 5.5 or higher and their final exam grade (2IW81) is 5 or higher get as the final grade the average grade of 2IW81 and 2IW82, rounded to the nearest integer value.
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.
-
In Assignment 1 you should elaborate on the description provided and extract requirements for the software system to be implemented. Then, you will
review the requirements submitted by a different group to ensure that they are detailed enough to develop a specification. Based on the feedback you will then
revise the requirements document, and submit it to us for grading. Next you will create the specification based on the revised requirements document.
Specification developed is again checked by your peers. Based on their feedback, you revise the specification and submit it for grading.
Grades for the revised requirements document and the revised specification together will determine the grade for Assignment 1 "Software specification":
requirements (30%) and specification (70%).
-
In Assignment 2 you should design architecture for the system to be built, review an architecture description provided by a different group and revise your own description.
- Grading policy and grades: A1 Requirements
Lectures
The list of lectures and topics is subject to change. Powerpoint presentations will be made available after the class.