En este punto, ya sabemos lo que hay que hacer, el análisis ya ha definido los requisitos y el documento de análisis arquitectónico identifica cómo dividir el programa para afrontar su desarrollo, pero ¿Cómo hacerlo?.
Se debe dividir el sistema en partes y establecer qué relaciones habrá entre ellas.
Decidir qué hará exactamente cada parte.

En definitiva, debemos crear un modelo funcional-estructural de los requerimientos del sistema global, para poder dividirlo y afrontar las partes por separado.
En este punto, se deben tomar decisiones importantes, tales como:
- Entidades y relaciones de las bases de datos.
- Selección del lenguaje de programación que se va a utilizar.
- Selección del Sistema Gestor de Base de Datos.
- Etc.
En líneas generales, de esta fase obtendremos dos salidas:
- Documento de Diseño del Software, que recoge información de los aspectos anteriormente mencionados.
- Plan de pruebas a utilizar en la fase de pruebas, sin entrar en detalles de las mismas.
Nota: en ocasiones, el diseño de arquitectura, que aquí ha sido tratado como una labor a realizar en la fase de análisis, es considerado como una primera tarea de la fase de diseño