1. Diseño arquitectónico: Esto implica definir la estructura general del sistema, identificar sus componentes principales y sus interacciones, y elegir las tecnologías y plataformas que se utilizarán. Establece el plan de alto nivel.
2. Diseño detallado: Esto se centra en los detalles de cada componente identificado en el diseño arquitectónico. Implica especificar estructuras de datos, algoritmos, interfaces y otros detalles de bajo nivel necesarios para la implementación. Es el "cómo" lograr la arquitectura.
3. Diseño de interfaz: Esto implica el diseño de las interacciones entre los diferentes componentes del sistema, así como la interfaz de usuario (UI) si corresponde. Asegura la comunicación y la usabilidad perfecta tanto para los componentes del sistema interno como para los usuarios externos. Esto cubre las API internas y los aspectos externos orientados al usuario.