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.1 Vorüberlegungen 103<br />
8.1.4 Indikatoren<br />
We cannot build high-level quality attributes like reliability or maintainability into software.<br />
What we can do is identify and build in a consistent, harmonious, and complete set of product<br />
properties (such as modules without side effects) that result in manifestations of reliability and<br />
maintainability. We must also link these tangible product properties to high-level quality<br />
attributes.<br />
(Dromey, 1996, S. 33)<br />
Die eigentlich interessanten Eigenschaften des entworfenen Systems (z. B. Effizienz<br />
o<strong>der</strong> Wartbarkeit) lassen sich erst aus <strong>der</strong> Realisierung heraus zuverlässig bewerten.<br />
In <strong>der</strong> Entwurfsphase ist man daher auf Indikatoren angewiesen, die sich aus dem<br />
Entwurf heraus erheben lassen (z. B. Kopplung). Deshalb konzentriert sich das <strong>Qualität</strong>smodell<br />
auf Aspekte, die sich auf <strong>der</strong> Basis von ODEM beurteilen lassen.<br />
8.1.5 Schwerpunkt Wartbarkeit<br />
I suspect that some programmers think that their program will be so good that it won’t have to<br />
be changed. This is foolish. The only programs that don’t get changed are those that are so bad<br />
that nobody wants to use them. Designing for change is designing for success.<br />
(Parnas, 1994, S. 282)<br />
Der Schwerpunkt des <strong>Qualität</strong>smodells liegt auf <strong>der</strong> Wartbarkeit, da die Wartung im<br />
Software-Lebenszyklus den größten Kostenfaktor darstellt. Mindestens die Hälfte des<br />
Gesamtaufwands fließt in die Wartung (Boehm, 1976; Lientz, Swanson, 1980). Daher<br />
kann eine Kostenreduktion am ehesten dadurch erreicht werden, dass man den Aufwand<br />
für diese Phase reduziert. Der Wartungsaufwand selbst zerfällt nach Sneed<br />
(1988) in vier Bereiche:<br />
• Stabilisierung, d. h. Fehlerkorrektur,<br />
• Optimierung, d. h. Verbesserungen <strong>der</strong> Effizienz und <strong>der</strong> Struktur,<br />
• Anpassung, d. h. durch die Umwelt erzwungene Modifikationen (technische o<strong>der</strong><br />
fachliche), und<br />
• Erweiterung, d. h. Hinzunahme weiterer Funktionen.<br />
Tabelle 8-1 zeigt die Verteilung des Aufwands auf die vier Bereiche nach Lientz,<br />
Swanson (1980) und Sneed (1988). Die Verteilung ist bei beiden ähnlich: Der Anteil<br />
<strong>der</strong> Fehlerkorrektur ist mit etwa 25% relativ gering; die übrigen Wartungstätigkeiten,<br />
die meistens Entwurfsstrukturen beeinflussen, überwiegen mit etwa 75%. Daraus<br />
lässt sich schließen, dass die Entwurfsqualität bei <strong>der</strong> Wartung eine wesentliche Rolle<br />
spielt. Arthur (1988) betont dies mit <strong>der</strong> Aussage: „Maintenance productivity is a<br />
direct function of the quality of the existing system.“<br />
Dass Anpassung und Erweiterung unvermeidlich sind, hat sich auch schon in „Gesetzen“<br />
des Software Engineerings nie<strong>der</strong>geschlagen. Lehmans First Law of Software<br />
Evolution (Lehman, 1980) sagt: „A program that is used and that as an implementation<br />
of its specification reflects some reality, un<strong>der</strong>goes continual change or becomes<br />
progressively less useful.“ Das bedeutet, das System wird sich im Laufe <strong>der</strong> Zeit<br />
än<strong>der</strong>n – o<strong>der</strong> als unbrauchbar weggeworfen. Bersoffs First Law of System Engineering<br />
(Bersoff et al., 1980) verschärft diese Aussage noch: „No matter where you are in<br />
the system life cycle, the system will change and the desire to change it will persist