Saltar al contenido
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » Aprovechamiento del análisis de robustez para un diseño eficiente de sistemas

Aprovechamiento del análisis de robustez para un diseño eficiente de sistemas

Introducción

Análisis de robustez, inicialmente introducido por el Método Objectory de Ivar Jacobson pero posteriormente excluido del Lenguaje Unificado de Modelado (UML), es una práctica valiosa en la ingeniería de software. Este método consiste en descomponer el texto narrativo de los casos de uso para identificar el conjunto principal de objetos que participan en esos casos de uso y clasificar estos objetos según sus roles. Al hacerlo, el análisis de robustez facilita una conexión fluida entre los casos de uso y las clases de dominio, alineándose efectivamente con la arquitectura de software Modelo-Vista-Controlador (MVC).

Es importante destacar que el análisis de robustez no es un componente integral de UML, pero requiere el uso de estereotipos para ser aplicado de manera efectiva. Profundicemos en los símbolos clave utilizados en los diagramas de análisis de robustez:

Robustness Analysis Diagram symbols

1. Objeto de frontera (o objeto de interfaz): Son los canales de comunicación a través de los cuales los actores interactúan con el sistema.

2. Objeto de entidad: Normalmente representan objetos dentro del modelo de dominio, estos entes almacenan y gestionan los datos del sistema.

3. Objetos de control: Sirven como el «pegamento» entre los objetos de frontera y los objetos de entidad, los objetos de control desempeñan un papel fundamental en la coordinación de las funciones del sistema. En el contexto de MVC, son análogos a los controladores.

Visión general del diagrama de análisis de robustez

Para ilustrar el concepto con más detalle, consideremos una descripción sencilla de caso de uso en formato textual:

«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 «Registrar». El sistema registra al estudiante en el curso.»

Esta narrativa puede traducirse en un diagrama claro de análisis de robustez:

Robustness analysis diagram

Además, puede utilizar una etiqueta de texto para adjuntar la descripción del caso de uso en el lado derecho del diagrama de robustez, mejorando la claridad y el contexto.

Robustness Analysis Diagram chekcing

Cuatro reglas de conexión para los diagramas de análisis de robustez

Para garantizar la consistencia y el cumplimiento de las mejores prácticas, es fundamental recordar las siguientes cuatro reglas fundamentales de conexión para los diagramas de análisis de robustez:

  1. Los actores solo pueden interactuar con objetos de frontera.
  2. Los objetos de frontera solo pueden comunicarse con controladores y actores.
  3. Los objetos de entidad solo pueden interactuar con controladores.
  4. Los controladores pueden comunicarse con objetos de frontera, objetos de entidad y otros controladores, pero no directamente con actores.

Robustness Analysis Diagram connection rules

Estas reglas garantizan un diseño de sistema estructurado y eficiente, alineándose con los principios del patrón Modelo-Vista-Controlador.

La Ley de Demeter

El análisis de robustez se alinea con la «Ley de Demeter» (LoD), enfatizando el acoplamiento débil y minimizando la transferencia de conocimiento entre unidades de software. La LoD promueve los siguientes principios:

  1. Cada unidad debería tener un conocimiento limitado sobre otras unidades, principalmente las estrechamente relacionadas.
  2. Las unidades deberían comunicarse únicamente con sus «amigos» inmediatos (colaboradores directos) y evitar interacciones con unidades ajenas o distantes.
  3. Los objetos deberían asumir lo mínimo posible sobre la estructura o propiedades de otros objetos, promoviendo la ocultación de información.

Estos principios facilitan el diseño de software modular y mantenible.

Cinco pasos para crear el análisis de robustez

  1. Analizar el texto del caso de uso:Comience desglosando el texto del caso de uso una oración a la vez.
  2. Identificar objetos:Dibuje actores, objetos de límite, objetos de entidad y controladores según el contexto del texto.
  3. Crear conexiones:Establezca conexiones entre los elementos del diagrama.
  4. Mantener la claridad:Asegúrese de que cualquier persona que revise el diagrama pueda relacionarlo fácilmente con el texto del caso de uso.
  5. Perfeccionar el texto del caso de uso:Modifique el texto del caso de uso según sea necesario para eliminar ambigüedades y referirse explícitamente a objetos de límite y objetos de entidad.

El análisis de robustez actúa como un puente, conectando las descripciones de casos de uso con diagramas visuales y fomentando una comprensión más profunda de la funcionalidad del sistema.

Desarrollar escenarios de casos de uso utilizando diagramas de secuencia MVC

Basándose en la base del análisis de robustez, puede crear escenarios de casos de uso, tanto normales como alternativos, utilizando un conjunto de diagramas de secuencia relacionados que siguen el formato MVC. En los diagramas de secuencia MVC:

  • Entidadesrepresentan los datos del sistema.
  • Límitesactúan como interfaces con los actores del sistema.
  • Controlesmediar las interacciones entre límites y entidades, coordinando la ejecución de comandos.

Los controladores dentro de los diagramas de secuencia MVC a menudo corresponden a escenarios específicos de casos de uso y pueden distinguirse visualmente utilizando estereotipos en las líneas de vida.

MVC sequence diagram example

Conclusión

El análisis de robustez es una herramienta valiosa en el diseño de sistemas, que ayuda a traducir de manera eficiente los casos de uso en una arquitectura de software clara y estructurada. Cuando se combina con diagramas de secuencia MVC, proporciona un enfoque integral para el desarrollo de software, promoviendo la modularidad y la mantenibilidad. Al seguir estas prácticas, puede garantizar un proceso de desarrollo de software más fluido y mejorar la calidad general de sus proyectos.

Deja una respuesta