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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

5.3 Kern 49<br />

und I muss in genau einem Paket enthalten sein (mit Ausnahme von S, das in keinem<br />

Paket enthalten ist).<br />

Die Komposition im UML-Metamodell von ModelElement in NameSpace lässt sich<br />

als Relation formulieren. contains(p,q) gilt genau dann, wenn eine Komposition<br />

zwischen p in <strong>der</strong> Rolle namespace und q in <strong>der</strong> Rolle ownedElement existiert.<br />

5.3.3 Interface<br />

I ist die Menge aller Interfaces, die im System vorkommen.<br />

Attribute<br />

• name: Name. Der Name des Interfaces.<br />

• isAbstract: Boolean. Interfaces sind immer abstrakt (Wert true).<br />

• visibility: VisibilityKind. Bedeutung und Herleitung analog zu <strong>der</strong> bei den Paketen.<br />

Beziehungen<br />

• extends: I × I<br />

Ein Interface erweitert ein an<strong>der</strong>es Interface, d. h. es erbt von ihm. Ein Interface<br />

kann beliebig viele Interfaces erweitern, auch keine.<br />

Im UML-Metamodell wird diese Beziehung durch die Klasse Generalization repräsentiert.<br />

extends(i,j) gilt genau dann, wenn es eine Instanz g von Generalization gibt,<br />

bei <strong>der</strong> die Rolle g.parent mit j und die Rolle g.child mit i belegt ist.<br />

• has: I × O<br />

Ein Interface besitzt eine Operation. Ein Interface kann beliebig viele Operationen<br />

haben, auch keine. Geerbte Operationen zählen nicht mit.<br />

Im UML-Metamodell wird das Besitzen einer Operation durch die Komposition<br />

zwischen Classifier und Feature (einer Oberklasse von Operation) modelliert. has(i,o)<br />

gilt genau dann, wenn es eine Instanz <strong>der</strong> Komposition gibt, bei <strong>der</strong> die Rolle owner<br />

mit i und die Rolle feature mit o besetzt ist.<br />

• uses: I × (C ∪ I)<br />

Ein Interface benutzt eine Klasse o<strong>der</strong> ein Interface. Ein Interface kann beliebig<br />

viele an<strong>der</strong>e Klassen/Interfaces benutzen, auch keine. Für die Benutzung gibt es<br />

unterschiedliche Gründe, z. B. die Verwendung als Parametertyp in einer Operation.<br />

Im UML-Metamodell steht die Klasse Usage für Benutzungsbeziehungen. uses(i,j)<br />

gilt genau dann, wenn es eine Instanz u von Usage gibt, bei <strong>der</strong> die Rolle u.client mit<br />

i und die Rolle u.supplier mit j belegt ist.<br />

5.3.4 Klasse<br />

C ist die Menge aller Klassen, die im System vorkommen.<br />

Attribute<br />

• name: Name. Der Name <strong>der</strong> Klasse.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!