Estoy modelando un diagrama de clase. Un atributo de una clase es una enumeración. ¿Cómo modelo esto? Normalmente se hace algo así:
- name : string
Pero, ¿cómo se hace esto con un enum?
Estoy modelando un diagrama de clase. Un atributo de una clase es una enumeración. ¿Cómo modelo esto? Normalmente se hace algo así:
- name : string
Pero, ¿cómo se hace esto con un enum?
Si tu herramienta de modelado UML tiene soporte para especificar una Enumeración, deberías usar esa opción. Es probable que sea más fácil de hacer y le dará a tu modelo una semántica más sólida. Visualmente, el resultado será muy similar a una Clase con un Estereotipo <>
, pero en el metamodelo UML, una Enumeración es en realidad un (meta)tipo separado.
+---------------------+
| <> |
| DayOfTheWeek |
|_____________________|
| Sunday |
| Monday |
| Tuesday |
| ... |
+---------------------+
Una vez que esté definida, puedes usarla como tipo de un Atributo al igual que lo harías con un Datatype o el nombre de una de tus propias Clases.
+---------------------+
| Event |
|_____________________|
| day : DayOfTheWeek |
| ... |
+---------------------+
Si estás usando ArgoEclipse o ArgoUML, hay un menú desplegable en la barra de herramientas que selecciona entre Datatype, Enumeration, Signal, etc, lo que te permitirá crear tus propias Enumeraciones. El compartimiento que normalmente contiene Atributos puede entonces poblarse con EnumerationLiterals para los valores de tu enumeración.
Aquí tienes una imagen de un ejemplo ligeramente diferente en ArgoUML:
Puedes usar literales. Según la especificación de UML, son especificaciones de valores conocidos.
A continuación se muestra un ejemplo de un literal de enumeración tomado de IBM Rational Rose.
Aquí tienes un enlace a la especificación de UML si realmente te apetece un poco de lectura adicional :)
Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.