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.
8.3 Wartbarkeit 107<br />
auswirkt (höhere Komplexität). Neu hinzugenommen wird die Verfolgbarkeit, die in<br />
keinem <strong>der</strong> untersuchten Modelle vorkommt.<br />
Die resultierenden Kriterien des Faktors Wartbarkeit sind in Abbildung 8-1 dargestellt.<br />
Ein Pfeil bedeutet, dass das Kriterium den Faktor positiv beeinflusst. Im Folgenden<br />
werden die einzelnen Kriterien (von links nach rechts) diskutiert.<br />
Wartbarkeit<br />
Knappheit Strukturiertheit Entkopplung Zusammenhalt Einheitlichkeit Dokumentierung Verfolgbarkeit<br />
Abbildung 8-1: Kriterien des Faktors Wartbarkeit<br />
8.3.1 Knappheit<br />
Weniger ist mehr.<br />
(Mies van <strong>der</strong> Rohe)<br />
Vollkommenheit entsteht offensichtlich nicht dann, wenn man nichts mehr hinzuzufügen hat,<br />
son<strong>der</strong>n wenn man nichts mehr wegnehmen kann.<br />
(Antoine de Saint-Exupéry, Wind, Sand und Sterne)<br />
Inside every large program there is a small program trying to get out.<br />
(C.A.R. Hoare)<br />
Ultimately, the best software design assimilates all its functions to a few clear and simple principles.<br />
(Nelson, 1990, S. 236)<br />
Definition<br />
Knappheit bedeutet, im Entwurf mit wenig Konstrukten in einer geringen Anzahl<br />
von Ausprägungen auszukommen. Schon die große Zahl an Zitaten aus verschiedenen<br />
Bereichen (Architektur, Flugzeugbau und Software-Entwicklung) deutet auf die<br />
große Bedeutung <strong>der</strong> Knappheit hin.<br />
Beispiele für Knappheit beim objektorientierten Entwurf sind:<br />
• eine minimale Anzahl von Klassen,<br />
• eine minimale öffentliche Schnittstelle einer Klasse,<br />
• eine minimale Anzahl von Attributen und Methoden in einer Klasse,<br />
• eine minimale Anzahl von Parametern bei Methoden,<br />
• eine minimale Anzahl von Beziehungen (Assoziationen, Vererbung etc.) zwischen<br />
Klassen<br />
• das Vermeiden von Code-Duplikation durch entsprechenden Entwurf (z. B. Template<br />
Methods; Gamma et al., 1995).