2.13.8 SE/Diseño de API y Modelado
Temas:
Core
- Principios de diseño de API
- Consistencia
- Las API consistentes son más fáciles de aprender y menos propensas a errores
- La consistencia es tanto interna (entre diferentes partes de la API) como externa (siguiendo patrones comunes de API)
- Capacidad de composición (composability)
- Documentación de contratos
- Las operaciones de la API deben describir su efecto en el sistema, pero generalmente no su implementación
- Precondiciones, postcondiciones e invariantes
- Capacidad de expansión (expandability)
- Reporte de errores
- Los errores deben ser claros, predecibles y accionables
- La entrada que no coincida con el contrato debe producir un error
- Los errores que pueden gestionarse de manera confiable sin reportarse deben gestionarse
- Identificar y codificar invariantes de datos e invariantes temporales
- Modelos estructurales y de comportamiento de diseños de software
Aprendizaje esperado (Learning Outcomes):
Core:
- Diseñar una API para un solo componente de un sistema de software grande, incluyendo la identificación y documentación de las invariantes, el contrato y las condiciones de error de cada operación [Diseñar]
- Evaluar una descripción de API en términos de consistencia, capacidad de composición y capacidad de expansión [Evaluar]
- Expandir un diseño existente para incluir una nueva funcionalidad [Crear]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM