Skip to main content
Version: Next

📐 Diseño de Software

Este proceso establece las actividades, responsabilidades y directrices para realizar el diseño técnico de un proyecto de software, asegurando que la solución propuesta sea escalable, mantenible y cumpla con los requisitos establecidos.

🎯 Objetivo

  • Establecer un proceso estandarizado para el diseño de software que garantice la creación de arquitecturas robustas, componentes bien definidos e interfaces claras que satisfagan los requisitos funcionales y no funcionales del proyecto.

📥 Entradas

  1. Documento de Especificación de Requisitos (SRS).
  2. Historias de usuario.
  3. Restricciones técnicas y de negocio.
  4. Estándares de arquitectura organizacional.
  5. Análisis de riesgos técnicos.

⚙️ Proceso

FaseDescripciónResponsableMeta y práctica específica del CMMI
Análisis de RequisitosRevisar y analizar los requisitos funcionales y no funcionales para identificar componentes principales, restricciones técnicas y decisiones arquitectónicas clave.Encargado del diseño / Architecture OwnerRD, SP 1.1 (Desarrollar el entendimiento con el cliente de los requisitos), TS, SP 1.1 (Desarrollar soluciones alternativas y criterios de selección)
Diseño de ArquitecturaDefinir la arquitectura de alto nivel del sistema:
- Seleccionar patrones arquitectónicos (MVC, microservicios, etc.)
- Definir componentes principales y sus interacciones
- Especificar tecnologías y frameworks a utilizar
- Crear diagramas de arquitectura
Arquitecto de SoftwareTS, SP 2.1 (Diseñar la solución), TS, SP 2.2 (Establecer un paquete de datos técnicos)
Diseño de ComponentesDetallar el diseño de cada componente del sistema:
- Definir interfaces
- Documentar patrones de diseño a aplicar
Encargado del diseño / Architecture OwnerRD SP 2.1 (Establecer los requisitos de producto y de componente de producto), TS, SP 2.3 (Diseñar interfaces usando criterios establecidos), TS, SP 2.4 (Realizar análisis de hacer, comprar o reutilizar)
Diseño de Base de DatosCrear el modelo de datos (MER, MR, diccionario de datos):
- Diseñar esquema de base de datos
- Definir tablas, relaciones e índices
Encargado del diseño / Architecture OwnerTS, SP 2.1 (Diseñar la solución), CM, SP 1.1 (Identificar ítems de configuración)
Diseño de Interfaces de UsuarioDiseñar la experiencia e interfaz de usuario:
- Crear wireframes y mockups
- Definir flujos de navegación
- Especificar guías de estilo y componentes UI
- Validar accesibilidad y usabilidad
Diseñador UX/UITS SP 2.1 (Diseñar el producto o los componentes de producto), TS, SP 3.1 (Establecer criterios de interfaz), VAL, SP 1.1 (Seleccionar productos para validación).
Validación del DiseñoRevisar y validar el diseño completo:
- Realizar revisiones técnicas con el equipo
- Verificar cumplimiento de requisitos
- Evaluar riesgos técnicos
- Aprobar el diseño para implementación
PM / Architecture Owner / StakeholdersVER, SP 1.2 (Realizar revisiones entre pares), TS, SP 3.2 (Evaluar soluciones alternativas), RD SP 3.4 (Analizar los requisitos para conseguir un equilibrio).
DocumentaciónConsolidar toda la documentación de diseño:
- Agregar el diseño a la wiki (Matriz RTM, manual de arquitectura, estrategia técnica, MER, MR)
Encargado del diseño / Architecture Owner / Equipo de DesarrolloTS, SP 2.2 (Establecer un paquete de datos técnicos), CM, SP 1.3 (Crear o liberar líneas base), RD SP 2.2 (Asignar los requisitos de componente de producto).

📤 Salidas

  1. Diagramas de arquitectura y componentes.
  2. Modelo de base de datos.
  3. Prototipos de interfaz de usuario.
  4. Matriz de trazabilidad requisitos-diseño.

📎 Recursos relacionados

📚 Historial de cambios

Versiones
Tipo de versiónDescripciónFechaColaborador
1.0.0Creación inicial del proceso de diseño de software.05/06/2025Daniel Contreras Chávez
1.1.0Mapeo de prácticas.06/06/2025Daniel Contreras Chávez