Este documento habla sobre los fundamentos de la ingeniería de software, incluyendo el modelado de requerimientos, la arquitectura de software y diferentes tipos de arquitecturas como la centrada en datos, de flujo de datos, orientada a objetos y en capas. También explica que la taxonomía se refiere a la clasificación científica y que muchos sistemas se desarrollan sin considerar la arquitectura lo que puede causar problemas de escalabilidad y mantenibilidad.