sencillos - En diagramas de clase UML, ¿qué son las clases de frontera, las clases de control y las clases de entidad?
diagrama de objetos uml (5)
A menudo se usa con / como parte de OOAD y modelado de negocios. La definición de Neil es correcta, pero básicamente es idéntica a MVC, pero simplemente se abstrae para el negocio. El "Buen resumen" está bien hecho, así que no lo copiaré aquí, ya que no es mi trabajo, más detallado pero en línea con los puntos de Neil.
Ahora estoy usando NetBeans como mi IDE de elección, y tiene un complemento para modelado UML. En el diagrama de clases, hay elementos de modelo conocidos como Boundary Class
, Control Class
y Entity Class
. Sin embargo, no puedo encontrar una buena definición de ellos, pero encontré este sitio en UML Class Diagrams.
El patrón de entidad de control de frontera tiene dos versiones:
- antiguo estructural, descrito en 127 (entidad como elementos del modelo de datos, control como funciones, límite como interfaz de la aplicación)
- nuevo patrón de objeto
Como un patrón de objeto:
- Boundary es una interfaz para "otro mundo"
- Controle en cualquier lógica interna (como un servicio en el patrón DDD)
- Entity es un servicio de persistencia para objetos (como un repositorio en el patrón DDD).
Todas las clases tienen operaciones (ver anti-patrón del modelo anémico de Fowler)
Todos ellos son un componente modelo en el patrón MVC. Las normas:
- Only Boundary proporciona servicios para el "otro mundo"
- Boundary puede llamar solo a Controll
- El control puede llamar a cualquiera
- La entidad no puede llamar a nadie (!), Solo ser llamado.
jz
En realidad, los Diagramas de Robustez (o Diagramas de Análisis, como a veces se los llama) son solo Diagramas de Clase especializados. Son parte de UML y lo han sido desde el principio (ver el libro de Jacobson, El proceso de desarrollo de software unificado, parte de la serie de libros "Tres Amigos"). El libro antes mencionado tiene una buena definición de estas tres clases en pp 183-185.
Estos son estereotipos de clase utilizados en el análisis.
las clases límite son las que se encuentran en el límite del sistema: las clases con las que usted u otros sistemas interactúan
clases de clases de entidad son las entidades comerciales típicas, como "persona" y "cuenta bancaria"
las clases de control implementan alguna lógica comercial u otra
Los diagramas de robustez se escriben después de los casos de uso y antes de los diagramas de clase. Ayudan a identificar los roles de los pasos del caso de uso. Puede usarlos para garantizar que sus casos de uso sean lo suficientemente robustos como para representar los requisitos de uso para el sistema que está creando.
Implican:
- Actores
- Casos de uso
- Entidades
- Límites
- Controles
Mientras que el patrón Model-View-Controller se usa para las interfaces de usuario, el Patrón de Entidad-Control-Límite (BCE) se usa para los sistemas. Los siguientes aspectos del BCE se pueden comparar con una versión abstracta de MVC, si es útil:
Entidades (modelo)
Objetos que representan datos del sistema, a menudo del modelo de dominio.
Límites (ver / servicio colaborador)
Objetos que interactúan con los actores del sistema (por ejemplo, un usuario o servicio externo ). Windows, pantallas y menús son ejemplos de límites que interactúan con los usuarios.
Controles (controlador)
Objetos que median entre límites y entidades. Estos sirven como el pegamento entre los elementos de frontera y los elementos de la entidad, implementando la lógica requerida para administrar los diversos elementos y sus interacciones. Es importante comprender que puede decidir implementar controladores dentro de su diseño como algo distinto a los objetos: muchos controladores son lo suficientemente simples como para ser implementados como un método de una entidad o clase de límite, por ejemplo.
Cuatro reglas se aplican a su comunicación:
- Los actores solo pueden hablar con objetos fronterizos.
- Los objetos de límite solo pueden hablar con controladores y actores.
- Los objetos de la entidad solo pueden hablar con los controladores.
- Los controladores pueden hablar con objetos de contorno y objetos de entidades, y con otros controladores, pero no con los actores
Comunicación permitida:
Entity Boundary Control
Entity X X
Boundary X
Control X X X