¿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 aplicar correctamente las buenas prácticas enunciadas.
| 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.
Este ejemplo es un diagrama que se construyo durante el proceso de preparación para presentar los exámenes y obtener las certificaciones CAMP, PMP y PMI-ACP del PMI. Adicionalmente las certificaciones SMAC, STMAC y SPOAC del Scrum Institute.


Pregunta tipo examen.
Pregunta: La definición que mejor se ajusta para el diseño de software. ¿Debe ser?
A) Es el conjunto de actividades enfocadas a la corrección de errores, mejoras de las capacidades, eliminación de funciones obsoletas y optimización.
B) 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.
C) 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.
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.
Si deseas validar el nivel de conocimiento con relación a: el diseño de software Inicia el simulador
Sobre el autor.
Juan David López Pava: profesional en administración de empresas y desarrollo de software con certificaciones del PMI y Scrum Institute, apasionado por la transformación digital y la dirección de proyectos de tecnología.