Skip to content
IRC-CodingIRC-Coding
UMLUse CaseGRASPSOLIDDesign PatternsPatrones Arquitectónicos

Análisis y Diseño: UML, Use Cases, GRASP y SOLID

Análisis vs diseño: estructura de requisitos con Use Cases y UML, diagramas de clases y secuencias, principios GRASP y SOLID, patrones arquitectónicos.

S

schutzgeist

2 min read
Análisis y Diseño: UML, Use Cases, GRASP y SOLID

Aplicar análisis y procedimientos de diseño

Este artículo es una aclaración de conceptos sobre análisis y procedimientos de diseño, incluyendo preguntas de examen, componentes clave y etiquetas.

In a Nutshell

El análisis estructura el problema desde el punto de vista técnico y delimita el alcance. El diseño transforma los resultados en una solución técnica con responsabilidades claras, interfaces y objetivos de calidad.

Descripción técnica compacta

Análisis

Objetivo: claridad, testeabilidad, delimitación del sistema.

Artefactos típicos:

  • Descripciones de casos de uso
  • Diagramas UML
  • Glosario
  • Criterios de aceptación

Diseño

Objetivo: estructura y procesos viables.

  • Modelos estructurales: diagrama de clases
  • Modelos de comportamiento: diagramas de secuencia, actividad y estado
  • Precisión: precondiciones, postcondiciones, posiblemente OCL

Principios y heurísticas:

  • GRASP (por ejemplo, Controller, Creator, Low Coupling, High Cohesion)
  • SOLID (SRP, OCP, LSP, ISP, DIP)

Los atributos de calidad (seguridad, rendimiento, confiabilidad) se capturan como requisitos no funcionales y se abordan a través de tácticas arquitectónicas.

Puntos clave relevantes para examen

  • Análisis = “¿Qué?”, Diseño = “¿Cómo?”
  • Formular criterios de aceptación de manera medible
  • Modelar estructura y comportamiento por separado
  • GRASP: asignar responsabilidades de forma coherente
  • Demostrar SOLID (relevante para IHK)
  • Requisitos de calidad como escenarios
  • Trazabilidad: requisito → modelo → prueba
  • Versionado + aprobaciones

Componentes clave

  1. Captura de requisitos
  2. Modelo estructural (diagrama de clases)
  3. Modelo de comportamiento (secuencia/actividad)
  4. Modelo de estado (ciclo de vida)
  5. Precisión (precondiciones/postcondiciones/OCL)
  6. Principios de diseño (SOLID)
  7. Responsabilidades (GRASP)
  8. Patrones (Patterns/patrones arquitectónicos)
  9. QS (revisiones, prototipos, TDD)
  10. Trazabilidad

Ejemplo práctico (tienda en línea: pedido)

Análisis:
- Actor: Cliente
- Caso de uso: "Realizar pedido"
- Criterio de aceptación: Pago autorizado -> Pedido creado

Diseño (extracto):
- Clases: Pedido, Carrito, Pago
- Servicio: PedidoService
- Adaptador: AdaptadorServicioPago
- Repositorio: RepositorioPedido

Flujo:
- Calcular suma
- Autorizar pago
- Guardar pedido
- Enviar confirmación

Ventajas y desventajas

Ventajas

  • Mejor comunicación
  • Mayor testeabilidad
  • Menos riesgos de cambios

Desventajas

  • Esfuerzo inicial
  • Riesgo de sobremodelar
  • Disciplina necesaria en mantenimiento y versionado

Preguntas típicas de examen (con respuesta breve)

  1. ¿Análisis vs. Diseño? El análisis describe qué, el diseño concreta cómo.
  2. ¿Para qué sirve GRASP? Asignar responsabilidades de forma coherente.
  3. ¿Para qué sirve SOLID? Mejorar mantenibilidad y testeabilidad.
  4. ¿Cómo asegurar consistencia entre caso de uso y modelos? Los mensajes en el diagrama de secuencia corresponden a operaciones en el diagrama de clases.

Estrategia de aprendizaje

  1. Escribir caso de uso y criterios de aceptación.
  2. Diagrama de secuencia para el escenario principal.
  3. Asignar responsabilidades (GRASP).
  4. Validación SOLID + pruebas unitarias.

Continúa en la ruta de aprendizaje SOLID

Todos los artículos SOLID están ahora completos. Volver al primer artículo: Clean Code y principios SOLID.

Fuentes más importantes

  1. https://www.omg.org/spec/UML
  2. https://refactoring.guru/design-patterns
Volver al blog
Share:

Nächster Artikel in Ingeniería de Software

Weiterlesen
Artefactos y Binarios: Versionado y SBOM

Entradas relacionadas