Este documento describe diferentes métodos de desarrollo de software, arquitecturas de software y técnicas de programación. Cubre cuatro generaciones de métodos de desarrollo de software como OMT, RUP, XP y OOHDM, y tres arquitecturas comunes como cliente-servidor, MVC y capas. También explica técnicas de programación como POO, programación orientada a aspectos y descomposición funcional y por objetos.