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.

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.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!