2016-06-30 11 views
1

Wie implementiere ich eine Einschränkung in einem UML-Klassendiagramm; Nehmen wir an, ich möchte, dass ein Benutzer den Bedingungen zustimmt, bevor er sich registrieren kann.Einschränkungen im UML-Klassendiagramm

+0

http://www.uml-diagrams.org/uml-core.html#comment – xmojmr

+1

@xmojmr oder meinten Sie http://www.uml-diagrams.org/constraint.html :-) –

+0

@ThomasKilian Ich meinte "Note" aber Constraint klingt besser :-) – xmojmr

Antwort

4

Die Modellierung in einer UML beschränkt sich nicht nur auf eine Art von Diagrammen, und ich kann mir kaum ein funktionales Modell vorstellen, das beispielsweise nur Klassendiagramme enthält.

Was Sie beschreiben, ist im Grunde genommen ein Verhalten, während das Klassendiagramm einen statischen Teil des Systems beschreibt. Anstatt diese Informationen in ein Klassendiagramm zu übertragen, sollten Sie eines der Verhaltensdiagramme mit Aktivitätsdiagramm und Sequenzdiagramm als zwei Hauptoptionen betrachten.

Wie für das Klassendiagramm selbst können Sie ein gewisses Maß an Abhängigkeit durch Constraints zeigen. Dies ist jedoch nur eine Abhängigkeit von der Entitätenebene (z. B. in der Account-Klasse das Attribut termsAndConditionsAcceptanse: Boolean könnte eine Einschränkung haben, dass es nicht null ist und nur True-Wert erlaubt ist). Beachten Sie jedoch, dass es keinen Vorrang von Aktionen oder Schritten der Registrierung gibt. Das kann nur mit Verhaltensdiagrammen modelliert werden, die ich Ihnen definitiv zur Lösung dieses Problems empfehle.

Nur für die Vollständigkeit der Antwort Zwecke. Die Einschränkung wird in geschweiften Klammern entweder inline nach einem Attribut oder in einem separaten Fach in einer Klassenentität oder als eine Notiz angezeigt, die mit einer Klasse oder einer anderen Art von Entität verknüpft ist, für die die Einschränkung gilt. Wie UML-Spezifikation sagt die Einschränkung dieser Notation haben sollte:

<constraint> ::= ‘{‘ [ <name> ‘:’ ] <boolean-expression> ‘ }’ 

Siehe 7.6 von UML-Spezifikation für weitere Einzelheiten.