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.
5.2 Umfang 47<br />
5.2.2 Erweiterungen<br />
Neben diesen Einschränkungen gibt es auch noch Erweiterungen um zusätzliche<br />
Modellelemente. Diese bestehen aus Mengen von Entitäten und aus Relationen. Die<br />
neu eingeführten formalen Bezeichner sind in Tabelle 5-1 zusammengestellt.<br />
Bezeichner Bedeutung<br />
S Das System (enthält alle Modellelemente)<br />
A Menge aller Attribute in S<br />
C Menge aller Klassen in S<br />
I Menge aller Interfaces in S<br />
M Menge aller Parameter in S<br />
O Menge aller Operationen in S<br />
P Menge aller Pakete in S (einschließlich S)<br />
associates Relation für Assoziationsbeziehungen zwischen Klassen/Interfaces<br />
associates* Erweiterte associates-Relation (umfasst auch geerbte Assoziationen)<br />
contains Relation, die aussagt, dass ein Paket ein Modellelement enthält<br />
contains* Erweiterte contains-Relation (transitive Hülle)<br />
depends_on Aggregierte Relation für Beziehungen zwischen Klassen/Interfaces, die<br />
eine Abhängigkeit verursachen<br />
depends_on* Erweiterte depends_on-Relation (umfasst auch geerbte Abhängigkeiten)<br />
extends Relation für das Erben von Eigenschaften<br />
extends* Erweiterte extends-Relation (transitive Hülle)<br />
has Relation für das Enthaltensein von Eigenschaften in Klassen/Interfaces<br />
bzw. Klassen/Interfaces in Paketen<br />
has* Erweiterte has-Relation (umfasst auch geerbte Eigenschaften)<br />
realizes Relation für die Realisierung eines Interfaces durch eine Klasse<br />
realizes* Erweiterte realizes-Relation (umfasst auch geerbte Realisierungen)<br />
uses Relation für die Benutzung einer Klasse/eines Interfaces<br />
uses* Erweiterte uses-Relation (umfasst auch geerbte Benutzungen)<br />
Tabelle 5-1: Überblick über die formalen Bezeichner in ODEM<br />
Als Alternative zu den zusätzlichen Modellelementen wurde erwogen, die formale<br />
Definition von Metriken mit <strong>der</strong> Object Constraint Language (OCL; Warmer, Kleppe,<br />
1999) durchzuführen. Die OCL ist eine formale Sprache zur Formulierung von Einschränkungen<br />
auf UML-Modellen. Erste Versuche mit OCL zeigten jedoch, dass die<br />
Erstellung von Metrikdefinitionen schwierig ist. Außerdem sind sie schlecht zu lesen<br />
und zu verstehen. Darum wurde dieser Ansatz nicht weiterverfolgt. Hingegen hat<br />
Abreu (2001) später OCL erfolgreich eingesetzt, um auf <strong>der</strong> Basis des Metamodells<br />
GOODLY Metriken zu definieren. Es ist wahrscheinlich, dass sich seine Ergebnisse<br />
auf das UML-Metamodell übertragen lassen. Allerdings sind die notwendigen komplexen<br />
OCL-Ausdrücke nicht beson<strong>der</strong>s gut lesbar.