Betriebssystemtechnik (OSE) - SS 2007
Aufgabe 4: Domänenentwurf
In dieser Aufgabe soll die Implementierung der Programmfamilie
weitgehend geplant werden. Ergebnis des Domänenentwurfs soll eine Referenzarchitektur sein, beschrieben durch geeignete Hilfsmittel wie Klassendiagramme und Spezifikation der wichtigsten Schnittstellen. Beim Domänenentwurf wird auch festgelegt, welche Features aus der Analyse tatsächlich implementiert werden sollen.
| Ausgabetermin |
Vorgabe |
(spätester) Abgabetermin |
| 24.05.2005 |
im svn |
31.05.2007 12:00 (Teil 1: Belanghierachie)
06.06.2007 18:00 (Teil 2: Vollständige Referenzarchitektur) |
Lernziele
- Umgang mit Belanghierachien
- Ein Gefühl für funktionale Abhängigkeiten bekommen
- Anwenden des "Prinzip der minimalen Ergänzung"
- Anwenden der aus der Vorlesung bekannten Entwurfstechniken für BS-Produktlinien
Aufgabenbeschreibung
Die Bearbeitung erfolgt wieder in der Gruppe. Um euch während der Bearbeitung des Domänenentwurfs auch zwischendurch schonmal ein Feedback geben zu können, haben wir beschlossen die Aufgabe in 2 Teile zu zerlegen:
Teil 1: Erstellen einer Belanghierachie
Wie in der Übung am 24.5. gezeigt, sollt ihr zunächst eine
Belanghierachie des jeweiligen Subsystems erstellen. Belanghierachien
wurden auch in der Vorlesung behandelt. Sie zeigen die zu
implementierenden "Funktionalitäten" (nicht im Sinne von C/C++, sondern
allgemein) und deren Abhängigkeiten. Die Struktur ist per
Definition nicht zyklisch, meistens ein Baum. Wenn doch zyklische
Beziehungen zwischen den identifizierten Funktionen auftauchen, hilft
meist Verfeinerung und das Bilden eines "Sandwiches" (siehe
Vorlesungsfolien). Die Belanghierarchie wird schrittweise
verfeinert, bis die Implementierung jeder Funktion durch eine oder
wenige Klassen, Aspekte oder C Funktionen realisitisch erscheint.
Das Repository enthält nun für jede Domäne im Unterverzeichnis <my-domain>/ eine Datei
<my-domain>_design.lyx. Das ist eure Vorgabe. Neben der Domänenanalyse werden nun auch die Entwurfsdokumente im Binder
AOStubs.pdf zusammengefasst.
Für die erste Abgabe erwarten wir wenigstens die
Belanghierachie, wobei man die Verfeinerungen komplexer Funktionen in
separate Bilder auslagern kann. Die Funktionen sollten kurze Namen
haben und nachfolgend in wenigen Sätzen erläutert
werden. Orientiert Euch bei der Benennung bitte auch an dem bestehenden OOStubs.
Teil 2: Erstellen der Referenzarchitektur
Im nächsten Schritt sollt ihr dann aus der Belanghierachie die Modulstruktur (bestehend aus Klassen und Aspekten) für eure jeweilige Teildomäne herleiten und spezifizieren.
Für die Abgabe soll das Dokument aus Teil 1 um eine Beschreibung
der Architektur ergänzt werden. Dabei sollen die Beziehungen zwischen
den einzelnen Modulen (Klassen und Aspekte) über UML-Diagramme
dargestellt werden und textuell erläutert werden. Dazu gehört auch
eine Aufstellung der jeweils angebotenen Methoden und ihrer Signatur.
Des Weiteren soll jede Gruppe auflisten, was sie an Funktionalität von den anderen Gruppen braucht.
Abgabe
Die Abgabe beider Teilaufgaben erfolgt durch Einpflegen in das Repository zu den oben angegebenen Deadlines.
Bitte checkt früh und häufig ein, so dass wir alle
bereits vor dem Abgabetermin einmal hineinschauen können.