|
Vorlesung Softwaretechnologie SS'99 |
15.04.1999
|
(zu bearbeiten bis 22.4.1999)
Aufgabe 2.1: (SE-Prinzipien)
Überlegen Sie, wozu die in der Vorlesung angesprochenen sieben
Prinzipien dienen und fassen Sie sie dementsprechend in kleinere
Gruppen zusammen, so daß jede Gruppe bestimmte Eigenschaften
beim SW-Design unterstützt.
Aufgabe 2.2: (SE-Prinzipien / Modularität)
Betrachten Sie das Prinzip der Modularität etwas genauer.
Beschreiben Sie am Beispiel eines Häuserbaus, welche Arbeiten
zur Fertigstellung notwendig sind und ob sie sequentiell oder
parallel ausgeführt werden können. Erläutern Sie Ihre
Vorgehensweise bei der Lösung der Aufgabe.
Aufgabe 2.3: (SE-Prinzipien / Modularität)
Will man das Prinzip der Modularität in der Praxis anwenden, so
sollten die folgenden drei Ziele verfolgt werden, nämlich
Diskutieren Sie die Bedeutung dieser Ziele und überlegen Sie, wie sich in diesem Zusammenhang die Begriffe "top-down" und "bottom-up" einordnen lassen.
Aufgabe 2.4: (Objektorientierung / Typsysteme)
In der Vorlesung wurden Typen und Subtypen wie folgt
eingeführt:
Diskutieren Sie anhand der folgenden zwei Beispiele,
|
|
|
|
|
Tip: Versuchen Sie sich jeweils Anwendungsfälle der beiden Klassen zu konstruieren, in der die Subtypbeziehung / Ersetzbarkeit angenommen wird, so daß diese Anname anschließend zu Fehlern führt.
Aufgabe 2.5: (Praxis: JUnit)
Für folgende Übung installieren Sie JUnit.
Erarbeiten Sie sich das Beispiel, das sich im Verzeichnis
$INSTALL_DIR/samples/ befindet. (Hinweise hierzu befinden
sich im Verzeichnis $INSTALL_DIR/doc/, sowie ein
ausführlicher Artikel auf der JUnit-Homepage.)
Überlegen Sie sich anschließend, welche Änderungen an
den Beispielquelltexten durchgeführt werden müßten,
um zusätzlich zu den bekannten europäischen Währungen
den Euro zu unterstützen? Welche Alternativen gibt es? Bei
welcher Alternative können die existierenden Testprogramme
unverändert übernommen werden? Mit welchen
zusätzlichen Testfällen kann die neue Funktionalität
getestet werden? (Wer Lust hat, kann die Euro-Unterstützung
implementieren. ;-) Quelltexte, die an costanza@cs.uni-bonn.de
geschickt werden, werden gerne genauer begutachtet und
kommentiert.)
Literatur:
Die Grundlage für die Aufgaben 2.1 bis 2.3 liefert Kapitel 3
aus dem Buch von Ghezzi et al.