Problemas del Diseño de Software. Niveles de Diseño. Reutilización de software. Importancia. Mecanismos de reutilización. Tecnologías de reutilización. Reutilización de Diseño. Reutilización en Orientación a Objetos.
Modelo. Arquitectura de Software. Niveles de Diseño de Software. Estilos arquitectónicos. Lenguajes de especificación de arquitecturas. Validación de Arquitecturas. Atributos de calidad de software. Casos de Estudio.
Definición. Objetivos y principios. Componentes y Arquitecturas de Sistemas. Arquitecturas de Componentes. Contratos. Proceso de Desarrollo. Casos de Estudio.