¿Qué es el marco de modelo-vista-controlador (MVC)? Modelo MVC con análisis de robustez UML

Model-View-Controller (MVC) es un patrón de diseño básico que separa la lógica de la interfaz de usuario de la lógica empresarial. El patrón Model-View-Controller (MVC) es una forma de dividir una aplicación en tres componentes distintos; el modelo, la vista y el controlador.

Marco MVC usando modelado UML

Este modelo-vista-controlador se puede describir mejor visualmente mediante el análisis de robustez en notación UML estereotipada, propuesta por primera vez por Ivar Jacobson en su libro premiado Ingeniería de software orientada a objetos (consulte las referencias a continuación) y explicada con más detalle por Doug Rosenberg et al. . en su libro Modelado de objetos UML basado en casos de uso.

¿Cómo modelar el marco MVC con el diagrama de secuencia UML?

Aquí hay un diagrama de secuencia simple e hipotético para MVC. Lo que ve en el diagrama anterior es que un usuario web inicia una consulta y genera un evento que es procesado por el controlador para obtener la información requerida del modelo, validar la información y devolver el conjunto de resultados a la vista.

Los objetos de entidad (modelo) no son más que la información o los datos que buscan sus objetos de contorno. Estos pueden ser tablas de bases de datos, archivos de Excel, sesiones «transitorias» o datos almacenados en caché o algo por el estilo.

  • Describa los objetos que existen a lo largo del tiempo y que se relacionan principalmente con el estado persistente.
  • Por lo general, los objetos del modelo de dominio
  • Cosas que debemos controlar y almacenar

Los objetos de límite (Vista) son objetos con los que los actores (p. ej., usuarios) se comunican en su sistema de software. Estos objetos pueden ser cualquier ventana, pantalla, cuadro de diálogo y menú, u otra interfaz de usuario en su sistema. Puede identificarlos fácilmente al analizar los casos de uso.

  • describir las conexiones entre el sistema y el entorno que se comunican.
  • Utilizado por los actores cuando se comunican con el sistema
  • Solo los objetos de entidad pueden iniciar eventos.
  • (por lo general, los principales elementos de la interfaz de usuario, por ejemplo, pantallas)

Los objetos de control (controladores) son objetos comerciales o sus servicios web comerciales. Aquí es donde captura las reglas comerciales que se utilizan para filtrar los datos que se presentarán al usuario, lo que solicita. Entonces, el controlador en realidad controla la lógica comercial y la transformación de datos.

  • describir el comportamiento en un caso de uso particular.
  • El «pegamento» entre los objetos de contorno y los objetos de entidad
  • Capture reglas y políticas comerciales
  • (nota: a menudo implementado como métodos de otros objetos)

Reglas de conexión en el modelo MVC

Considere que los objetos de límite y los objetos de entidad son sustantivos, mientras que los controladores son verbos.

Aquí están las cuatro reglas básicas de conexión.

  • Los actores solo pueden interactuar o comunicarse con objetos de contorno.
  • Los objetos de contorno solo pueden comunicarse con controladores y actores.
  • Los objetos de entidad solo pueden interactuar con los controladores.
  • Los controladores pueden comunicarse con objetos de contorno y objetos de entidad, así como con otros controladores, pero no con actores.

Recuerde que tanto los objetos de contorno como los objetos de entidad son sustantivos, mientras que los controladores son verbos. Los sustantivos no pueden hablar con otros sustantivos, pero los verbos pueden hablar con sustantivos o verbos.

Diagrama de análisis de robustez de un vistazo

Supongamos que tenemos la siguiente descripción de caso de uso simple en formato de texto:

Desde la página de detalles del estudiante, el profesor hace clic en el botón »Agregar cursos» y el sistema muestra la lista de cursos. El profesor selecciona el nombre de un curso y presiona el botón »Registrarse». El sistema registra al estudiante para el curso.

Ahora puede crear un diagrama de robustez simple de acuerdo con el caso de uso anterior:

Diagrama de análisis de robustez

También puede usar una etiqueta de texto para adjuntar la descripción del caso de uso en el lado derecho del diagrama de Robustez.

Cinco pasos para crear un análisis de robustez

  1. El análisis de robustez para un caso de uso se realiza recorriendo el texto del caso de uso.
  2. Una oración a la vez, y dibujando los actores, el límite apropiado, los objetos de entidad y los controladores, y las conexiones entre los diversos elementos del diagrama.
  3. Debería poder ajustar el curso básico y todos los cursos alternativos en un diagrama.
  4. Cualquiera que revise un diagrama de robustez debería poder leer un curso de acción en el texto del caso de uso, rastrear con el dedo las asociaciones en el diagrama y ver una coincidencia clara entre el texto y la imagen.

Probablemente tendrá que volver a escribir el texto de su caso de uso mientras hace esto, para eliminar la ambigüedad y hacer referencia explícita a objetos de límite y objetos de entidad. La mayoría de la gente no escribe un texto de caso de uso perfecto en el primer borrador. Entonces podemos usar el análisis de robustez para cerrar la brecha entre el texto del caso de uso y el diagrama.

Comprobación del diagrama de análisis de robustez

Desarrollar un escenario de caso de uso utilizando diagramas de secuencia MVC

Con base en el Análisis de Robustez, podemos desarrollar escenarios de casos de uso (normales o alternativos) utilizando un conjunto de diagramas de secuencia relacionados en formato MVC. De manera similar, el diagrama de secuencia MVC tiene objetos de interfaz, objetos de controlador y objetos de entidad:

  • Las entidades son objetos que representan datos del sistema: Cliente, Producto, Transacción, Carrito, etc.
  • Los límites son objetos que interactúan con los actores del sistema: UserInterface, DataBaseGateway, ServerProxy, etc.
  • Los controles son objetos que median entre límites y entidades.

Ejemplo de diagrama de secuencia MVC

Orquestan la ejecución de comandos provenientes del límite al interactuar con entidades a través de los objetos del límite. Un objeto de controlador a menudo corresponde al escenario de caso de uso y, a menudo, se representa mediante un diagrama de secuencia.

Puede usar estereotipos para la línea de vida en el diagrama de secuencia de MVC para aclarar visualmente qué tipo de objetos está usando en el MVC como en el Diagrama de análisis de robustez anterior.

Diagrama de secuencia de robustez

Ejemplo de diagrama de secuencia MVC

Supongamos una aplicación que te permite buscar personas. La interfaz de usuario debe tener un campo de texto donde el usuario pueda ingresar una cadena de búsqueda y puede tener un botón para iniciar la búsqueda. Finalmente debe tener un área donde se muestren los resultados de la búsqueda. En nuestro caso, se implementa con un componente de lista.

El escenario de caso de uso «Búsqueda de personas» es:

  • El usuario ingresa una cadena de búsqueda en el campo de texto
  • El usuario hace clic en el botón de búsqueda.
  • El resultado de la búsqueda se muestra en la lista de resultados.

Ejemplo de diagrama de secuencia MVC

El diagrama de secuencia anterior muestra cómo el clic del botón del usuario se mueve a través de la aplicación hasta que el resultado finalmente se muestra en el componente de la lista.

Referencias

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.