30.10.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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).

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!