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.
A.9 Theoretische Validierung 201<br />
Axiom W2. Das Axiom gilt, sofern man von <strong>der</strong> vernünftigen Annahme ausgeht,<br />
dass Klassen endlich viele Attribute, Methoden und Beziehungen haben sowie<br />
Bezeichner eine endliche Länge haben. Dann kann es nur endliche viele Klassen mit<br />
einer bestimmten Anzahl von Attributen geben, so dass die Bedingung erfüllt ist.<br />
Axiom W3. Das Axiom gilt. Man wähle eine Klasse P mit einem Attribut a und eine<br />
Klasse Q mit einem Attribut b. Dann gilt P ≠ Q ∧ NAC(P) = NAC(Q)<br />
Axiom W4. Das Axiom gilt. Man wähle eine Klasse P mit einem Attribut und eine<br />
funktional äquivalente Klasse Q mit zwei Attributen (z. B. P mit einem weiteren,<br />
unnötigen Attribut). Dann gilt P ≡ Q ∧ NAC(P) ≠ NAC(Q)<br />
Axiom W5. Das Axiom gilt. Werden zwei Klassen P und Q miteinan<strong>der</strong> verschmolzen,<br />
gehen keine Attribute verloren. Daher ist die Zahl <strong>der</strong> Attribute in <strong>der</strong> kombinierten<br />
Klasse mindestens so hoch wie in den Ursprungsklassen. Damit gilt NAC(P) ≤<br />
NAC(P;Q) ∧ NAC(Q) ≤ NAC(P;Q).<br />
Axiom W6. Das Axiom gilt. Man wähle P und Q so, dass sie gleich viele Attribute<br />
haben, aber Q mindestens ein Attribut besitzt, das P nicht hat. R wählt man gleich P.<br />
Bei <strong>der</strong> Verschmelzung von P und R kommt nichts dazu, bei <strong>der</strong> Verschmelzung von<br />
R und Q schon. Die Reihenfolge spielt bei <strong>der</strong> Verschmelzung keine Rolle, daher lässt<br />
sich das Beispiel auf a) und b) anwenden. Damit gilt NAC(P) = NAC(Q) ∧ NAC(P;R) ≠<br />
NAC(Q;R) ∧ NAC(R;P) ≠ NAC(R;Q).<br />
Axiom W8. Das Axiom gilt, weil das Umbenennen von Bezeichnern keinen Einfluss<br />
auf die Anzahl <strong>der</strong> Attribute hat. 3<br />
Die am Beispiel gezeigte Beweisführung lässt sich auf die an<strong>der</strong>en Metriken übertragen.<br />
Ergebnis <strong>der</strong> Untersuchung ist, dass die Axiome W1, W2, W3, W4, W6 und W8<br />
für alle Metriken gelten. W5 gilt für alle Metriken mit Ausnahme von DITC, bei <strong>der</strong> es<br />
einen Spezialfall gibt, <strong>der</strong> W5 nicht erfüllt (siehe DIT bei Chidamber, Kemerer, 1994,<br />
S. 483f.). Für die Verfeinerungen gelten dieselben Axiome wie die ursprüngliche<br />
Metrik. Alle Metriken (mit einer leichten Einschränkung bei DITC) besitzen also theoretische<br />
Validität als Komplexitätsmetriken.<br />
12.5.2 Kopplungsmetriken<br />
Für die theoretische Validierung <strong>objektorientierter</strong> Kopplungsmetriken können auch<br />
die Axiome von Briand et al. (1999) verwendet werden:<br />
Axiom BDW1 (Nichtnegativität). Kopplung ist nie negativ.<br />
∀ P: m(P) ≥ 0<br />
Axiom BDW2 (Nullwert). Klassen ohne Beziehungen nach außen können keine<br />
Kopplung haben, also soll die Kopplung 0 sein.<br />
∀ P: m(P) = 0 ⇔ P hat keine Beziehungen nach außen<br />
Axiom BDW3 (Monotonie). Fügt man einer Klasse weitere Beziehungen hinzu, wird<br />
die Kopplung nicht kleiner, son<strong>der</strong>n bleibt gleich o<strong>der</strong> steigt.<br />
3. Der Son<strong>der</strong>fall, durch Umbenennung zwei Attribute desselben Namens (und desselben Typs) zu<br />
erhalten, ist möglich. Es gibt aber eine Wohlgeformtheitsbedingung in <strong>der</strong> UML, die eine solche<br />
Klasse für ungültig erklärt, so dass eine solche Klasse kein Messgegenstand sein kann.