Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Bewertung der Qualität objektorientierter Entwürfe - Worte-Projekt
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
28 4 Objektorientierter Entwurf<br />
auch die Ideen <strong>der</strong> Abstraktion, <strong>der</strong> Hierarchie und <strong>der</strong> Schichten (z. B. Constantine,<br />
1965; Dijkstra, 1968).<br />
Modulorientierter/Objektbasierter Entwurf<br />
Das System wird in Module aufteilt. Unter einem Modul verstand man ursprünglich<br />
(beim strukturierten Entwurf) eine Prozedur. Beim modulorientierten Entwurf fasst<br />
man, beeinflusst durch das Geheimnisprinzip und die Theorie <strong>der</strong> abstrakten Datentypen,<br />
Prozeduren und Datenstrukturen zu größeren Einheiten (Modulen) zusammen.<br />
Module, die Datenstrukturen mit den notwendigen Funktionen auf diesen<br />
Datenstrukturen zusammenfassen und kapseln, werden auch als Objekte bezeichnet;<br />
man spricht dann von objektbasiertem Entwurf (z. B. Booch, 1987).<br />
Objektorientierter Entwurf<br />
Der objektorientierte Entwurf nimmt zum objektbasierten Entwurf noch das Konzept<br />
von Vererbung und den damit zusammenhängenden Polymorphismus hinzu. Damit<br />
kann <strong>der</strong> objektorientierte Entwurf als eine Weiterentwicklung <strong>der</strong> bisher verfolgten<br />
Entwurfsstrategien angesehen werden. Allerdings scheint dennoch ein Umdenken<br />
beim Entwerfen erfor<strong>der</strong>lich zu sein, weshalb auch häufig von einem Paradigmenwechsel<br />
die Rede ist.<br />
4.2.2 Aktivitäten<br />
As systems become more complex, the design problem goes beyond the algorithms and data<br />
structures of the computation: designing and specifying the overall system structure emerges<br />
as a new kind of problem.<br />
(Jacobson et al., 1998, S. 62)<br />
Wie bereits in Abbildung 4-1 gezeigt können in <strong>der</strong> Entwurfsphase zwei verschiedene<br />
Aktivitäten unterschieden werden: Architekturentwurf und Komponentenentwurf.<br />
Architekturentwurf<br />
Der Architekturentwurf entwickelt die grobe Struktur <strong>der</strong> Lösung, die Architektur<br />
(zum Begriff Architektur siehe Abschnitt 4.3.1). Die wesentlichen Komponenten sind<br />
dabei in <strong>der</strong> Regel <strong>der</strong> funktionale Kern, die Benutzungsoberfläche und die Datenhaltung.<br />
Außerdem wird die Verteilung <strong>der</strong> Komponenten auf Rechnerknoten festgelegt.<br />
Das Vorgehen beim Architekturentwurf ist wie folgt: Das System wird zunächst hierarchisch<br />
in Subsysteme zerlegt, die verschiedene Aufgaben innerhalb des Systems<br />
wahrnehmen. Diese Subsysteme werden verfeinert, bis man zu den Atomen des<br />
Architekturentwurfs, den Komponenten, gelangt. Die Beziehungen zwischen den<br />
Komponenten, die Konnektoren, werden identifiziert. Dokumentiert werden schließlich<br />
die Subsysteme, die Komponenten, die Konnektoren und ihre Interaktion zur<br />
Laufzeit.<br />
Komponentenentwurf<br />
Der Komponentenentwurf legt zunächst die Schnittstellen <strong>der</strong> Komponenten nach<br />
außen fest. Außerdem werden wichtige Details für die Implementierung bestimmt,<br />
vor allem die zu verwendenden Algorithmen und Datenstrukturen (Feinentwurf).