
Planificación de un proyecto de software: Planteamiento del problema, captura de metas, requerimientos funcionales y atributos de un software. Riesgos sencillos de un desarrollo.
Modelado orientado a objetos: Necesidad de múltiples modelos. La notación UML.
Análisis orientado a objetos: Roles del analista, el usuario y el patrocinador. El modelo de uso: actores, casos de uso. Prototipado de pantallas. El modelo estructural: clases, atributos, métodos, herencia y asociaciones.
Diseño orientado a objetos: Arquitectura de capas: presentación, aplicación, almacenamiento. Evaluación de diseños según criterios como facilidad de uso, eficiencia, seguridad, complejidad, flexibilidad, auditabilidad y esfuerzo. El modelo de clases. Diagramas de secuencias de eventos del sistema. Contratos. El uso de uno de los siguientes tipos de diagramas en el diseño detallado: diagrama de colaboración, diagrama de interacción o ONN (Object Navigation Notation). Principios de diseño: experticia, acoplamiento y cohesión. El uso de patrones de diseño como observador (model-view-controller, publish-subscribe), iterador, estrategia, apoderado (proxy), decorador, fábrica abstacta y compuesto.
Programación Java.
Pruebas informales (testing): Definición. Barreras psicológicas. Planificación y seguimiento del proceso de pruebas basado en el registro de fallas y defectos. Pruebas unitarias. Pruebas de integración. Pruebas de sistemas.
Documentación: Elaboración de manuales. El manual de instalación. El manual del usuario.
Control de proyectos: Nociones básicas de trabajo en equipo,
roles (por ej. miembro, coordinador de proyecto, editor técnico,
webmaster,
coordinador de base de datos, coordinador de arquitectura), hojas de registro
de trabajo, el uso del web site del equipo, planificación,
control, seguimiento, coordinación de reuniones, manejo de agenda,
distribución explícita de tareas, identificación y
manejo de riesgos sencillos, ética del ingeniero de software, estimación
informal de tiempo, caminos críticos y análisis post-hoc
(postmortem).