Arquitectura de software. Patrones y antipatrones en el diseño de software. Metodologías para el desarrollo de software. Mantenimiento de software.