El diseño de software
Es el proceso en el que se transforman los requerimientos del usuario a una forma concreta, la cual facilita al programador su implementación. Este es el primer paso de SDLC (Software Design Life Cycle).
El diseño de software se divide en 3 niveles:
Diseño de arquitectura: En este se identifica el software como un sistema de componentes que interactúan entre sí. En este nivel los diseñadores encuentran la manera de implementar la idea.
Diseño de alto nivel: Se enfoca en diseñar cómo los pequeños módulos se conectarán para alcanzar el objetivo del programa y crear un sistema más complejo. Se reconoce la estructura de cómo se comunicarán estos módulos.
Diseño de detalles: Es cuando implementamos el sistema y observamos lo que hace cada módulo, checamos que cada uno cumpla con su función establecida.
https://www.tutorialspoint.com/software_engineering/software_design_basics.htm