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.

4.2 Klassifikationen des Entwurfs 29<br />

In <strong>der</strong> Praxis entstehen Architektur- und Komponentenentwurf eher parallel als<br />

sequentiell, da beim Komponentenentwurf häufig Fehler o<strong>der</strong> Schwächen im Architekturentwurf<br />

identifiziert werden; insbeson<strong>der</strong>e müssen häufig an<strong>der</strong>e Komponenten<br />

angepasst werden, mit denen die Komponente interagieren soll.<br />

4.2.3 Abstraktionsebenen<br />

Anhand des Abstraktionsgrads des Entwurfs kann zwischen logischem und physischem<br />

Entwurf unterscheiden werden.<br />

Logischer Entwurf<br />

Der logische Entwurf abstrahiert vom konkreten Kontext <strong>der</strong> geplanten Implementierung,<br />

z. B. <strong>der</strong> Plattform (Rechner, Betriebssystem, Netzwerke) und an<strong>der</strong>en Systemen,<br />

mit denen das System interagieren soll (z. B. Datenbank, Middleware). Auf<br />

diese Weise entsteht ein implementierungsneutraler Entwurf, <strong>der</strong> in dieser Form nicht<br />

direkt implementierbar ist.<br />

Physischer Entwurf<br />

Die Brücke vom logischen Entwurf zur Implementierung schlägt <strong>der</strong> physische Entwurf.<br />

Die im logischen Entwurf offen gelassenen Realisierungsentscheidungen werden<br />

auf <strong>der</strong> Basis von Anfor<strong>der</strong>ungen durch Kunden und Management, Kostenaspekten<br />

(z. B. Anschaffungs- und Betriebskosten, Einarbeitungszeit <strong>der</strong> Entwickler und<br />

Benutzer) und Effizienzüberlegungen (Laufzeit und Speicherbedarf) gefällt.<br />

Der Vorteil <strong>der</strong> Trennung zwischen logischem und physischem Entwurf ist, dass sich<br />

<strong>der</strong> Entwerfer zunächst keine Gedanken um Implementierungsprobleme und Effizienz<br />

machen muss, son<strong>der</strong>n sich auf die Aufteilung <strong>der</strong> Funktionalität auf Komponenten<br />

konzentrieren kann.<br />

4.2.4 Strukturen<br />

An object-oriented program’s run-time structure often bears little resemblance to its code<br />

structure. The code structure is frozen at compile-time, it consists of classes in fixed inheritance<br />

relationships. A program’s run-time structure consists of rapidly changing networks of<br />

communicating objects. In fact, the two structures are largely independent. Trying to un<strong>der</strong>stand<br />

one from the other is like trying to un<strong>der</strong>stand the dynamism of living ecosystems from<br />

the static taxonomy of plants and animals, and vice versa.<br />

(Gamma et al., 1995, S. 22)<br />

Beim objektorientierten Entwurf kann zwischen statischer und dynamischer Struktur<br />

unterschieden werden. Die statische Struktur beschreibt den Aufbau des Programms<br />

zur Übersetzungszeit, während die dynamische Struktur den Aufbau des Programms<br />

zur Laufzeit beschreibt.<br />

Statische Struktur<br />

Die statische Struktur besteht aus Klassen, Interfaces und Paketen sowie ihren Beziehungen<br />

untereinan<strong>der</strong>. Zu je<strong>der</strong> Klasse und zu jedem Interface werden Attribute und<br />

Operationen (ggf. auch Redefinitionen) angegeben. Zwischen Klassen und Interfaces<br />

können verschiedene Beziehungen bestehen: Es lassen sich Benutzungsbeziehung,

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!