Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can class visibility be shown on UML class diagrams?

Class visibility is an important part of object design. I have not seen any example diagrams showing non-public classes in several UML books, nor have I seen a way to show class visibility in Enterprise Architect, among other tools. Enterprise Architect and other tools allow you to set the class visibility in the metamodel, but I have yet to see a way to show this in the diagrams.

like image 558
Kevin Stephenson Avatar asked Nov 06 '11 22:11

Kevin Stephenson


1 Answers

According to the UML spec v2.5 beta 2 not only the NamedElement but also the PackageableElement has the attribute Visibility of type VisibilityKind

from p48:

PackageableElement [Abstract Class]

..[snip]..

Attributes

  • visibility : VisibilityKind [0..1] = public A PackageableElement must have a visibility specified if it is owned by a Namespace. The default visibility is public.

Constraints

  • namespace_needs_visibility A PackageableElement owned by a Namespace must have a visibility. inv: visibility = null implies namespace = null

I haven't found any notation guidelines for this visibility however

like image 106
Geert Bellekens Avatar answered Sep 28 '22 06:09

Geert Bellekens