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

worte.projekt.de
von worte.projekt.de Mehr von diesem Publisher
30.10.2013 Aufrufe

198 A Metriken für QOOD A.6 Dokumentierung Auch für die Dokumentierung ist eine subjektive Bewertung nötig. Zwar kann bei entsprechenden Dokumentierungskonventionen automatisch geprüft werden, ob Kommentare im geforderten Umfang vorhanden sind, doch ist es sehr schwer, automatisch zu prüfen, ob die Kommentare sinnvoll und hilfreich sind. A.7 Verfolgbarkeit Die Verfolgbarkeit lässt sich nicht direkt aus dem UML-Modell ermitteln, da es für die Verknüpfung von UML-Artefakten mit den Anforderungen kein standardisiertes Verfahren gibt. Für Klassen und Pakete kann man nur beurteilen, wie gut dokumentiert ist, auf welche Anforderungen ihr Vorhandensein zurückzuführen ist. Eine (sinnvolle) objektive Metrik dafür lässt sich leider nicht angeben. Auf der Systemebene kann man eine objektive Metrik angeben, die sich allerdings nicht auf der Basis von ODEM ermitteln lässt: Die Metrik RTTR (ratio of traceable to total requirements) ist das Verhältnis der Anzahl der im Entwurf verfolgbaren Anforderungen zur Gesamtzahl der Anforderungen. Je größer der Wert, desto besser. Neben der reinen Anzahl verfolgbarer Anforderungen könnte auch zusätzlich eine Gewichtung der Anforderungen vorgenommen werden, so dass die Verfolgbarkeit wichtiger oder instabiler Anforderungen stärker berücksichtigt wird als die Verfolgbarkeit unwichtiger oder stabiler Anforderungen. Eine solche Verfeinerung ist allerdings Aufgabe des spezifischen Qualitätsmodells. Sofern ein bestimmtes Verfahren zur Verknüpfung von UML-Artefakten mit den Anforderungen existiert, kann diese Metrik auch automatisiert erhoben werden, nachdem ODEM um die entsprechenden Konstrukte erweitert wurde. In UML ist ein spezielles Stereotyp «trace» für Abstraktionsbeziehungen zwischen UML-Modellelementen definiert (im UML-Metamodell repräsentiert durch die Klasse Abstraction, vgl. Abbildung 5-2). Mit Hilfe einer solchen Beziehung lässt sich Tracing in UML realisieren. Es kann aber wohl nicht davon ausgegangen werden, dass sich alle Anforderungen in UML sinnvoll darstellen lassen (z. B. als Anwendungsfälle) und dass alle «trace»-Beziehungen vorhanden sind. A.8 Wartbarkeit Die wesentlichen Metriken zur Wartbarkeit stecken bereits in den Kriterien. Neu hinzugenommen werden können nur noch Metriken, die über das UML-Modell hinausgehen. Beispielsweise kann auf der Basis eines Szenario-basierten Bewertungsansatzes die (adaptive) Wartbarkeit gemessen werden, indem für jedes Änderungsszenario die Schwierigkeit der Änderung bewertet und eine Gesamtbewertung ermittelt wird (vgl. Abschnitt B.8). Solche Metriken müssen aber speziell für jedes spezifische Qualitätsmodell entwickelt werden.

A.9 Theoretische Validierung 199 A.9 Theoretische Validierung Bevor die objektiven Metriken angewendet werden, sollten sie theoretisch validiert sein. Die Metriken zu Knappheit, Strukturiertheit und Entkopplung in QOOD lassen sich als Komplexitätsmetriken auffassen, weshalb sich das Axiomensystem von Weyuker (1988) für Komplexitätsmetriken auf sie anwenden lässt. Zusätzlich gibt es noch ein Axiomensystem vom Briand et al. (1999) für Kopplungsmetriken, die spezifisch für die Metriken der Entkopplung betrachtet werden können. 12.5.1 Komplexitätsmetriken Weyuker (1988) hat eine Liste von neun Axiomen publiziert, die für Komplexitätsmetriken, die Programme auf syntaktischer Basis bewerten, gelten sollten. Sei m eine Komplexitätsmetrik und P, Q, R seien Programme. Dann muss gelten: Axiom W1. Es muss Programme geben, die unterschiedliche Komplexität besitzen. Damit sollen Metriken ausgeschlossen werden, die allen Programmen die gleiche Komplexität zuweisen. ∃ P, Q: m(P) ≠ m(Q) Axiom W2. Die Anzahl der Programme, welche die gleiche Komplexität besitzen, muss endlich sein. Damit wird eine feinere Unterscheidung in Komplexitätsklassen gefordert als bei Axiom W1. ∀ c ≥ 0: |{P | m(P) = c}| < ∞ Axiom W3. Es muss Programme geben, welche die gleiche Komplexität besitzen. Damit soll (als Gegenpol zu Axiom W2) eine zu feine Klassifikation (z. B. eine Gödelisierung) ausgeschlossen werden. ∃ P, Q: P ≠ Q ∧ m(P) = m(Q) Axiom W4. Es muss funktional äquivalente Programme geben, die unterschiedliche Komplexität besitzen. Damit soll sichergestellt werden, dass die Komplexität der Implementierung und nicht die der implementierten Funktion gemessen wird. ∃ P, Q: P ≡ Q ∧ m(P) ≠ m(Q) (≡ist die funktionale Äquivalenz) Axiom W5. Werden zwei Programme kombiniert, muss die Komplexität des Ganzen mindestens so groß sein wie die seiner Teile. ∀ P, Q: m(P) ≤ m(P;Q) ∧ m(Q) ≤ m(P;Q) (; kombiniert zwei Programme) Axiom W6. Wird ein Programm mit zwei verschiedenen Programmen gleicher Komplexität kombiniert, können die Komplexitäten der Resultate unterschiedlich sein. Das Axiom soll sicherstellen, dass es mindestens einen solchen Fall je Kombinationsreihenfolge gibt. a) ∃ P, Q, R: m(P) = m(Q) ∧ m(P;R) ≠ m(Q;R) b) ∃ P, Q, R: m(P) = m(Q) ∧ m(R;P) ≠ m(R;Q) Axiom W7. Werden die Anweisungen eines Programms permutiert, kann sich die Komplexität ändern (sie muss aber nicht). Daher wird gefordert, dass es eine Permutation eines Programms geben muss, die eine andere Komplexität hat als das Programm selbst. Damit wird aber von allen Komplexitätsmetriken verlangt, dass sie

198 A Metriken für QOOD<br />

A.6 Dokumentierung<br />

Auch für die Dokumentierung ist eine subjektive <strong>Bewertung</strong> nötig. Zwar kann bei<br />

entsprechenden Dokumentierungskonventionen automatisch geprüft werden, ob<br />

Kommentare im gefor<strong>der</strong>ten Umfang vorhanden sind, doch ist es sehr schwer, automatisch<br />

zu prüfen, ob die Kommentare sinnvoll und hilfreich sind.<br />

A.7 Verfolgbarkeit<br />

Die Verfolgbarkeit lässt sich nicht direkt aus dem UML-Modell ermitteln, da es für die<br />

Verknüpfung von UML-Artefakten mit den Anfor<strong>der</strong>ungen kein standardisiertes Verfahren<br />

gibt.<br />

Für Klassen und Pakete kann man nur beurteilen, wie gut dokumentiert ist, auf welche<br />

Anfor<strong>der</strong>ungen ihr Vorhandensein zurückzuführen ist. Eine (sinnvolle) objektive<br />

Metrik dafür lässt sich lei<strong>der</strong> nicht angeben. Auf <strong>der</strong> Systemebene kann man eine<br />

objektive Metrik angeben, die sich allerdings nicht auf <strong>der</strong> Basis von ODEM ermitteln<br />

lässt: Die Metrik RTTR (ratio of traceable to total requirements) ist das Verhältnis <strong>der</strong><br />

Anzahl <strong>der</strong> im Entwurf verfolgbaren Anfor<strong>der</strong>ungen zur Gesamtzahl <strong>der</strong> Anfor<strong>der</strong>ungen.<br />

Je größer <strong>der</strong> Wert, desto besser.<br />

Neben <strong>der</strong> reinen Anzahl verfolgbarer Anfor<strong>der</strong>ungen könnte auch zusätzlich eine<br />

Gewichtung <strong>der</strong> Anfor<strong>der</strong>ungen vorgenommen werden, so dass die Verfolgbarkeit<br />

wichtiger o<strong>der</strong> instabiler Anfor<strong>der</strong>ungen stärker berücksichtigt wird als die Verfolgbarkeit<br />

unwichtiger o<strong>der</strong> stabiler Anfor<strong>der</strong>ungen. Eine solche Verfeinerung ist allerdings<br />

Aufgabe des spezifischen <strong>Qualität</strong>smodells.<br />

Sofern ein bestimmtes Verfahren zur Verknüpfung von UML-Artefakten mit den<br />

Anfor<strong>der</strong>ungen existiert, kann diese Metrik auch automatisiert erhoben werden,<br />

nachdem ODEM um die entsprechenden Konstrukte erweitert wurde. In UML ist ein<br />

spezielles Stereotyp «trace» für Abstraktionsbeziehungen zwischen UML-Modellelementen<br />

definiert (im UML-Metamodell repräsentiert durch die Klasse Abstraction, vgl.<br />

Abbildung 5-2). Mit Hilfe einer solchen Beziehung lässt sich Tracing in UML realisieren.<br />

Es kann aber wohl nicht davon ausgegangen werden, dass sich alle Anfor<strong>der</strong>ungen<br />

in UML sinnvoll darstellen lassen (z. B. als Anwendungsfälle) und dass alle<br />

«trace»-Beziehungen vorhanden sind.<br />

A.8 Wartbarkeit<br />

Die wesentlichen Metriken zur Wartbarkeit stecken bereits in den Kriterien. Neu hinzugenommen<br />

werden können nur noch Metriken, die über das UML-Modell hinausgehen.<br />

Beispielsweise kann auf <strong>der</strong> Basis eines Szenario-basierten <strong>Bewertung</strong>sansatzes<br />

die (adaptive) Wartbarkeit gemessen werden, indem für jedes Än<strong>der</strong>ungsszenario<br />

die Schwierigkeit <strong>der</strong> Än<strong>der</strong>ung bewertet und eine Gesamtbewertung ermittelt wird<br />

(vgl. Abschnitt B.8). Solche Metriken müssen aber speziell für jedes spezifische <strong>Qualität</strong>smodell<br />

entwickelt werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!