Programa Sinóptico:
Proceso de desarrollo y mantenimiento de software en el marco de desarrollo
iterativo e incremental. Arquitecturas de software orientadas a objetos.
Patrones. Criterios y evaluación del diseño orientado a objetos.
Elementos de Gerencia de Proyectos: planificación, control, riesgos,
calidad. Administración de Requerimientos. Manejo de configuraciones.
Trabajo en equipo.
Programa Detallado:
Revisión de elementos de la Ingeniería del software orientada
a objetos. El proceso de mantenimiento de software y el desarrollo iterativo
incremental. Evaluación de un proyecto de software con miras a
su mantenimiento.
Calidad en el desarrollo de software (CMM - CMMI).
Comparación de metodologías de desarrollo de Software.
Importancia de la administración de requerimientos. El ciclo de
vida de una solicitud. Uso de atributos asociados a requerimientos. Herramientas
de soporte.
Arquitectura y diseño orientado a objetos: Arquitectura de capas
y arquitectura de planificación. Arquitecturas de 2,3 y 4 niveles
(tiers) para Sistemas de Información. Patrones: MVC (model-view-controller),
editorial-suscriptores (publish-subscribe), estrategia, estado, comando,
peso mosca, fachada, decorador, mediador, constructor, fábrica
abstracta, unitario (singleton). Evaluación de diseños según
criterios como facilidad de uso, eficiencia, seguridad, complejidad, flexibilidad,
auditabilidad y esfuerzo.
Control de configuraciones: Arquitectura de una configuración,
versión, variante, promoción, liberación (release)
y rama. Manejo de cambios. Versión base (baseline), deltas positivos
y negativos, operaciones de solicitud, reserva, bloqueo, préstamo
y actualización de elementos de una configuración. Plan
de gestión de configuración.
Ingeniería de software orientada a componentes. Programación
Java y uso de componentes.
El rol de métodos formales en la Ingeniería de Software.
Trabajo en equipos y control de proyectos: Introducción a los
procesos grupales efectivos. Fases de la etapa de formación de
grupos. Funciones de cumplimiento de tareas y funciones de mantenimiento
del grupo. Liderazgo. Roles. Manejo efectivo y eficiente de una sesión
de trabajo (agenda, minutas, conducción de sesiones). Planificación
y distribución de tareas. Introducción a la estimación
de complejidad de un proyecto y puntos de función como modelos
de estimación. Seguimiento y visibilidad del progreso. Identificación
y manejo de riesgos, confidencialidad, relaciones con el cliente y análisis
post-mortem. Toma de decisiones en un grupo. Comunicación. Administración
de diferencias y conflictos. Negociación. Manejo de "stress".
|