Definición del diseño de software
El diseño de software es el proceso de preparación del plan para una aplicación de software que satisface los requisitos funcionales de un problema y no viola sus restricciones no funcionales. Durante este proceso, es necesario hacer concesiones, como el compromiso entre el rendimiento y el consumo de recursos, de modo que la aplicación se optimice para satisfacer los requisitos no funcionales. No puede haber compensaciones entre los requisitos funcionales porque todos deben cumplirse.
Qué (requisitos) frente a cómo (diseño): El proceso de diseño convierte el "qué" en el "cómo".
Hay 2 fases en el proceso de diseño:
- Diseño arquitectónico - El proceso de tallar la aplicación en componentes y asignar el comportamiento/funcionalidad a cada componente y detallar cómo los componentes van a interactuar entre sí.
- Diseño detallado - El proceso de dividir los componentes individuales en clases e interfaces que pueden ser implementadas.
Aquí hay un esquema del ciclo de vida del Análisis y Diseño Orientado a Objetos:
Las 2 fases de diseño están resaltadas en azul