Universidad Simón Bolívar
Dpto. de Computación y Tecnología de la Información
Ingeniería de Software II (CI-4712)
Trimestre: Enero - Marzo 2005


[Información General]   [Programa]   [Cronograma]   [Noticias]   [Proyecto]   [Evaluación]   [Bibliografía]   [Links]  


Programa del Curso

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".