TU Delft
Year
print this page print this page     
NEDERLANDSENGLISH
Organization
2016/2017 Electrical Engineering, Mathematics and Computer Science Master Computer Science
IN4315
Software Architecture
ECTS: 5
Responsible Instructor
Name E-mail
Prof.dr. A. van Deursen    Arie.vanDeursen@tudelft.nl
Dr. A.E. Zaidman    A.E.Zaidman@tudelft.nl
Contact Hours / Week x/x/x/x
0/0/4/0
Education Period
3
Start Education
3
Exam Period
Different, to be announced
Course Language
English
Expected prior knowledge
Software engineering
Course Contents
The software architecture course offers students a chance to learn and experience the concepts of designing, modeling, analyzing and evaluating software design and software architectures. Furthermore, the course provides students with a discussion forum in which recent articles in the area of software architecture are presented and discussed. The course also features a number of guest lectures to show the state-of-the-art of software architecture in industry.

Topics covered by this course are: fundamentals of software architectures, modeling and designing software architectures, architectural patterns and styles, architecture viewpoints and perspectives, the role of the software architect, analyzing and evaluating software architectures, component and plug-in frameworks, software product lines, service oriented architectures, code quality, technical debt, refactoring.

The course includes extensive labwork in groups of four, in which the actual architectures of existing open source systems are analyzed in considerable detail. These systems are taken from github, and student teams are challenged to actually contribute to the systems under analysis in the course.
Study Goals
Bring students into the position that they can (1) explain the key architectural concepts and methods for modeling software architectures; (2) apply viewpoints and perspectives to model software architectures; (3) discuss the benefits of architecting and the role of the software architect; (4) evaluate and validate software architectures; (5) explain and discuss the concepts of component-based and plugin architectures, service-oriented architectures, and software product lines; (6) explain and recognise technical debt and have an understanding of possible refactorings.
Education Method
Interactive lectures, lab assignment, paper presentation and discussion.
Literature and Study Materials
The course uses the book "Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives" by Nick Rozanski and Eoin Woods, Addison-Wesley Professional 2005, ISBN: 9780321112293. Additional reading material will be announced in the lectures.
Assessment
No written exams. Lab assignment, paper and presentation.
Special Information
Twitter handle: https://twitter.com/delftswa