¿Qué es el diseño de software?
El diseño de software, es el proceso de definir una solución de software centrando el esfuerzo en detallar las necesidades de los usuarios haciendo uso del lenguaje de negocio o funcional.
Beneficios que ofrece el diseño de software.
✔ Tener a disposición la documentación de los requisitos de software.
✔ Tener definido el framework con el cual se va a construir el software.
✔ Tener definido los patrones de diseño de programación con los cuales se va a construir el software.
✔ Tener definido la experiencia de usuario que se desea transmitir con el uso del software
Buenas prácticas para la implementación.
✔ Tomar los problemas o las oportunidades de negocio a alto nivel y comenzar su descomposición para conocer los detalles.
✔ Ordenar y priorizar los detalles identificados en el punto anterior.
✔ Documentar las especificaciones de los requisitos de software.
✔ Identificar los frameworks, los patrones de diseño de programación y la experiencia de usuario que mejor se ajusta para implementar los requisitos de software.
Pre-Condiciones y Post-Condiciones.
Este cuadro expone los pasos previos y posteriores que se deben ejecutar para asegurar la entrega de valor, garantizando que cada fase esté alineada con los objetivos del negocio, las necesidades del usuario y los resultados esperados del proyecto.
| Paso | Acción clave | Condición |
|---|---|---|
| 1. La planificación del software. | Diseñar el plan de arquitectura, escritura de código, pruebas y mantenimiento del software. | Pre. |
| 2. El análisis de software. | Identificar lo que se espera del software a nivel de funcionamiento, estructura del software e insumos de infraestructura. | Pre. |
| 3. El diseño de software. | Ver el contenido de la presente guía. | N/A. |
| 4. La programación de software. | Construir código limpio, de calidad y escalable. | Post. |
| 5. Las pruebas de software. | Evaluar y verificar que un programa o aplicación de software opera de forma correcta para lo que fue programado. | Post. |
| 6. El mantenimiento de software. | Corregir y evolucionar el software a partir de la recepción de bugs y requerimientos. | Post. |
¿Quiénes son responsables?
El responsable del diseño de software es el product owner, quien hace parte de la oficina de entrega de valor.
Ejemplo.
La(s) siguiente(s) imagen(es) interactivas te permitirán navegar por los diferentes elementos de nivel superior y sus pares, facilitando el acceso a los conceptos y al flujo de navegación entre los contenidos.
Si visualizas dos imágenes interactivas, la primera presenta los elementos de nivel superior y la segunda los elementos pares. Si únicamente visualizas una imagen, esta corresponde a los elementos pares.
Imagen interactiva: La Ingenieria de Software.

Imagen interactiva: El diseño de software.

Pregunta tipo examen.
Pregunta: La definición que mejor se ajusta para el diseño de software. ¿Debe ser?
A) Es el proceso de entender el problema o necesidad a alto nivel para analizar el funcionamiento del software, la estructura del software y los insumos de infraestructura para garantizar que el producto de software técnicamente funcionará de forma correcta.
B) Es el proceso de construir programas o aplicaciones a partir de la definición de planes que abarquen la arquitectura, la escritura de código, las pruebas y el mantenimiento.
C) Es el proceso de evaluar y verificar que un programa o aplicación de software opera de forma correcta para lo que fue programado.
D) Es el proceso de definir una solución de software centrando el esfuerzo en detallar las necesidades de los usuarios haciendo uso del lenguaje de negocio o funcional.