Klassensichtbarkeit ist ein wichtiger Teil des Objektdesigns. Ich habe keine Beispieldiagramme gesehen, die nicht-öffentliche Klassen in mehreren UML-Büchern zeigen, noch habe ich eine Möglichkeit gesehen, die Klassensichtbarkeit in Enterprise Architect unter anderen Tools zu zeigen. Mit Enterprise Architect und anderen Tools können Sie die Klassensichtbarkeit im Metamodell festlegen, aber ich muss noch eine Möglichkeit sehen, dies in den Diagrammen darzustellen.
Gemäß der UML-Spezifikation v2.5 beta 2 hat nicht nur das NamedElement, sondern auch das PackableableElement das Attribut Visibility vom Typ VisibilityKind
von p48:
PacketableElement [Abstract Class]
.. [Schnipsel] ..
Attribute
- Sichtbarkeit: VisibilityKind [0..1] = public Ein PackableableElement muss eine Sichtbarkeit aufweisen, wenn es einem Namespace gehört. Die Standardsichtbarkeit ist öffentlich.
Einschränkungen
- namespace_needs_visibility Ein PacketableElement, das einem Namespace gehört, muss eine Sichtbarkeit aufweisen. inv: Sichtbarkeit = Null impliziert Namespace = null
Ich habe jedoch keine Notationsrichtlinien für diese Sichtbarkeit gefunden
UML unterstützt die Sichtbarkeit in einer Programmiersprachen-neutralen Weise, sowohl im Metamodell als auch in der Repräsentation.
Es gibt eine Enumeration namens VisabilityKind, die an verschiedenen Stellen verwendet wird (siehe die UML 2.3-Überstruktur-Spezifikation Abschnitt 7.3.5.5 p142).
In Klassendiagrammen gibt es verschiedene Möglichkeiten, die Sichtbarkeit zu veranschaulichen. Am gebräuchlichsten ist es, '-' zu verwenden, um private Merkmale darzustellen, und '+', um Öffentlichkeit darzustellen. Zum Beispiel:
%Vor%Siehe Abbildung 7.28 / 7.29 auf Seite 52 der Spezifikation für weitere Beispiele.
hth.
Ich denke, Sie müssen sich unidirektional und bidirektional ansehen Verein
Ich habe es gerade in der UML 2.4.1 Infrastructure nachgeschlagen. In Abbildung 10.3 p. 95 Sie sehen die Klasse als einen Typ definiert, der ein NamedElement ist, das ein Element ist. Mit dem Visibility-Paket hat ein NamedElement eine Sichtbarkeit wie in 9.21.1 auf p definiert. 88, wenn es zu einem Namensraum gehört. Also Klasse hat eine Sichtbarkeit, wenn Sie Sichtbarkeiten haben. Sie können die üblichen Schreibweisen mit + - # und ~ (S. 89) verwenden.
VisualParadigm kann dies tun.
Wenn Sie Ihre Klasse mit einem Stereotyp definieren (sagen Sie & lt; & lt; Klasse & gt; & gt;), können Sie dem Stereotyp ein Form-Skript zuweisen. Wenn Sie nur eine Dekoration angeben, sollte diese die Standardzeichnung für eine Klasse verwenden und Ihre Dekoration hinzufügen, die abhängig von der Bereichseigenschaft der Klasse bedingt sein kann:
%Vor%Dies druckt ein P in der oberen linken Ecke einer öffentlichen Klasse. Sie können jedoch auch ein Symbol verwenden.
Leider kann ich keine Form finden, ein Shapescript einer standardmäßigen nicht stereotypen Klasse zuzuordnen. Wer weiß, wie man das macht?
Tags und Links uml class-diagram enterprise-architect class-visibility