Referencias Bibliográficas: [Gamma et al., 1994a,Pressman and Maxim, 2019]
Temas
- Principios de diseño de sistemas. Fundamentos de Sistemas (SF) -Reliability
- Niveles de abstracción (por ejemplo, diseño arquitectónico y diseño detallado)
- Separación de preocupaciones (separation of concerns)
- Ocultación de información (information hiding)
- Acoplamiento y cohesión (coupling and cohesion)
- Arquitectura de software. Fundamentos de Sistemas (SF) -Reliability
- Paradigmas de diseño
- Descomposición funcional de arriba hacia abajo/diseño por capas
- Arquitectura orientada a datos
- Análisis y diseño orientado a objetos
- Diseño dirigido por eventos
- Arquitecturas estándar (por ejemplo, cliente-servidor y arquitecturas de microservicios incluyendo discusiones sobre REST, n-capas, tuberías y filtros, Modelo Vista Controlador)
- Identificar límites y dependencias de componentes
- Programación a gran escala vs programación a pequeña escala (programming in the large vs programming in the small). Fundamentos de Sistemas (SF) -Reliability
- Malos olores del código (code smells) y otras indicaciones de la calidad del código, distintas de la corrección. Seguridad (SEC) -Engineering
Aprendizaje esperado (Learning Outcomes)
- Identificar la arquitectura de software estándar de un diseño de alto nivel dado [Analizar]
- Seleccionar y usar un paradigma de diseño apropiado para diseñar un sistema de software simple y explicar cómo se han aplicado los principios de diseño de sistemas en este diseño [Evaluar]
- Adaptar un diseño de sistema defectuoso para que siga mejor principios como la separación de preocupaciones o la ocultación de información [Crear]
- Identificar las dependencias entre un conjunto de componentes de software en un diseño arquitectónico [Analizar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM