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.3 Kern 51<br />
• uses: C × (C ∪ I)<br />
Eine Klasse benutzt eine Klasse (o<strong>der</strong> ein Interface). Eine Klasse kann beliebig viele<br />
an<strong>der</strong>e Klassen benutzen, auch keine. Für die Benutzung gibt es unterschiedliche<br />
Zwecke, z. B. die Instantiierung, den Aufruf einer Operation, die Verwendung als<br />
Parametertyp in einer Operation o<strong>der</strong> als Typ eines Attributs. Eine Klasse benutzt<br />
sich in <strong>der</strong> Regel selbst, diese implizite Benutzung wird aber traditionell nicht<br />
berücksichtigt. Die Ableitung vom UML-Metamodell ist analog zur uses-Relation<br />
bei den Interfaces.<br />
5.3.5 Attribut<br />
A ist die Menge aller Attribute, die im System vorkommen.<br />
Attribute<br />
• name: Name. Der Name des Attributs.<br />
• type: Classifier. Typ des Attributs, <strong>der</strong> sich aus <strong>der</strong> gerichteten Assoziation von<br />
StructuralFeature mit Classifier im UML-Metamodell ergibt.<br />
• visibility: VisibilityKind. Sichtbarkeit des Attributs, kann die Werte public, protected<br />
und private annehmen.<br />
• ownerScope: ScopeKind. Gibt an, ob es sich um eine Klasseneigenschaft (Wert classifier)<br />
o<strong>der</strong> eine Objekteigenschaft (Wert instance) handelt.<br />
5.3.6 Operation<br />
O ist die Menge aller Operationen, die im System vorkommen.<br />
Attribute<br />
• name: Name. Der Name <strong>der</strong> Operation.<br />
• visibility: VisibilityKind. Sichtbarkeit des Attributs, kann die Werte public, protected<br />
und private annehmen.<br />
• ownerScope: ScopeKind. Gibt an, ob es sich um eine Klasseneigenschaft (Wert classifier)<br />
o<strong>der</strong> eine Objekteigenschaft (Wert instance) handelt.<br />
Beziehungen<br />
• has: O × M<br />
Eine Operation besitzt einen Parameter. Eine Operation kann beliebig viele Parameter<br />
haben, auch keine. Sofern eine Operation eine Rückgabe hat, wird diese<br />
durch einen Pseudoparameter in <strong>der</strong> Parameterliste repräsentiert, <strong>der</strong> speziell<br />
gekennzeichnet ist (siehe Abschnitt 5.3.7).<br />
2. Falls es zwischen zwei Modellelementen Assoziationen verschiedener Art gibt, wird das Attribut<br />
aggregation mit <strong>der</strong> stärksten Assoziationsart belegt, d. h. composite vor aggregate vor none. Die<br />
Alternative wäre die Einführung drei verschiedener Relationen und einer zusammenfassenden<br />
Relation. Dies erscheint hier allerdings überdimensioniert, weshalb die Ungenauigkeit im oben<br />
genannten Spezialfall in Kauf genommen wird.