2II45: Software Architecture of Distributed Systems

Fall 2009-2010 [ Study Material | Homework Assignments | Essay | Exams ]

Course information page
A N N O U N C E M E N T S
13-Jan-2010 Guest lecture was canceled due to miscommunication.
Tom Verhoeff apologizes to all persons affected.
27-Nov-2009 There are 29 persons with 1 insufficent/missing HW so far.
These have now all been graded in peach.
25-Nov-2009 Homework Assignment 7 is avaible below
13-Nov-2009 Homework Assignment 6 is avaible below

Part 2: Study Material and Tentative Schedule

To read for Part 2 (collected by week; optional material is marked as such):

  1. [11 Nov 2009] Introduction to Software Architecture

  2. [18 Nov 2009] Architecture & Implementation

  3. [25 Nov 2009] Architecture & Requirements

  4. [02 Dec 2009] Architecture & Evaluation

  5. [09 Dec 2009] Component-Based Architecture

  6. [16 Dec 2009] Reverse Engineering and Architecture, Re-architecting

  7. [06 Jan 2010] Model-Driven Engineering/Architecture (MDE/MDA)

  8. [13 Jan 2010] Guest lecture by Roald Kruit from Mendix
    [CANCELED due to a miscommunication on the location]

Part 2: Homework Assignments

Submit your work (in couples) via peach, where you can also find the submission deadlines.
  1. Coupling and Distributed Architectures

    The notion of coupling between entities and the nature of such coupling arose in the time that most software ran on a single processor, and was written in a single programming language. Tighter coupling was discovered to be a major impediment to ease of understanding and to ease of change. Therefore, good design should strive for loosely coupled systems.

    1. Look up more about coupling in software (engineering) and explain how this concept also applies to distributed, heterogeneous systems, that is, explain in what way various kinds of coupling in such systems can affect ease of understanding and ease of change.
    2. Can you think of other reasons for being interested in coupling in distributed, heterogeneous systems?
    3. Explain, for some techniques from the area of distributed systems, how these can be viewed as contributing to looser coupling. Address at least two topics from the areas of Part 1: architectural styles for distributed systems (week 2), processes (week 3), communication (week 4), naming (week 5), replication (week 6).

  2. Quality Attribute Scenarios for Scalability (last homework assignment)

    Express a general and a concrete scalability requirement in the form of Quality Attribute Scenarios.

    Scalability was treated in Lecture 2 (slides, especially slide 8). Do not confuse scalability with a 'plain' performance requirement.

Essay (final assignment)

For details, see the Course information page.

When doing a type-2 essay (evaluate proposed architecture documents), you need to choose two architecture documents:

  1. One must be choosen from these two:
    1. FEI Small Dual Beam product family (Concerns software for electron/ion microscopes)
    2. Gaius (Generic Automated Integrated Universal System for wind tunnels)
  2. And one must be choosen from these two:
    1. Fred (Tablet PCs for patient waiting room)
    2. Obelisk (Software for camera watches)

Exam 2YI45