Universidad Simón Bolívar
Departamento de Computación y Tecnología de la Información
Trimestre Septiembre-Diciembre 2000

Ingeniería de Software 2



 

Programa Sinóptico

El proceso de mantenimiento de software en el modelo de desarrollo iterativo incremental. Arquitecturas de software orientado a objetos. Patrones de análisis y diseño. Criterios y evaluación del diseño orientado a objetos. Control de configuración. Refactorización. Diferencias entre las metodologías OMT y RPM. Ingeniería de software orientada a componentes. Manejo de riesgos en el desarrollo.  Elementos del  trabajo en equipo (teamwork) y control de proyectos. Programación Java.
 

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. Refactorización.

Análisis orientado a objetos: Revisión de metas, funciones y atributos del software.

Diferencias entre metodologías basadas en la notación UML: OMT, RPM.

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: Documento-vistas (document-views), 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 configuración: 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.

El rol de métodos formales en la Ingeniería de Software.

Programación Java.

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 (miembro, líder, coordinador de proyectos, docmaster, coordinador de arquitectura y diseño,  gerente de configuración, editor técnico, webmaster, coordinador de reuniones). 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 COCOMO 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.
 

Calendario

 
Semana Sesión Contenido Evaluación
1
1
Introducción al curso. Revisión del concepto de desarrollo incremental iterativo. Factores críticos de éxito para el desarrollo de software. Importancia del mantenimiento. Ejercicio de grupo: Parejas rotativas.  
2
Planteamiento inicial del proyecto del curso. Definición, metas, antecedentes. Manejo de un proyecto de mantenimiento. Evaluación de software a mantener: un modelo basado en una jerarquía de necesidades (Maslow-McConnell-Teruel). Situación política del proyecto.  
3
Aplicación del modelo de jerarquía de necesidades: hipótesis de trabajo, riesgo, acciones, responsable y fecha. Niveles de calidad. Formación de empresa-grupo. Uso de hojas de registro de actividad semanal. EnunciadoTarea 1.
2
4
Introducción a los procesos grupales. Características de un equipo de alto desempeño. Competencia, cooperación, autoafirmación. (A cargo de la Prof. Rocío Meneses)  
5
Roles. Prioritización de requerimientos. Manejo de reuniones: agenda, tiempo, cierre.  Enunciado Tarea 2.
6
Modelo conceptual: glosario y diagramas de clases. Arquitectura de capas. Arquitecturas de 2,3 y 4 niveles (tiers) para Sistemas de Información. El patrón Fachada (Façade).  EntregaTarea 1. 
3
7
Conformación y mantenimiento de equipos efectivos de trabajo. (A cargo de la Prof. Rocío Meneses)  
8
Presentación del usuario. Requerimientos correctivos.    Entrega Tarea 2.
 EnunciadoTarea 3.
9
La arquitectura de Delta Pensum 1.x. Paquetes en UML. El patrón Documento-Vista (Document-View). El patrón Editorial-Subscriptores (Publisher-Subscriber u Observer).Análisis de riesgos.
4
10
Estilos de liderazgo: ventajas y desventajas según situación y contexto. (A cargo de la Prof. Rocío Meneses)  EntregaTarea 3 (a).
11
Justificación del diseño de Delta Pensum 1.x: Encajables, bloques y elementos genéricos. El patrón Estrategia (Strategy).  
12
Justificación del diseño de Delta Pensum 1.x: Pensum, CalendarioCurricular, RecomendaciónCurricular.  EntregaTarea 3 (b).
EnunciadoTarea 4.
5
13
La solución de problemas en grupo (A cargo de la Prof. Rocío Meneses)  
14
Reuso de software en Delta Pensum: El caso de Claire . (A cargo del Prof. Ascánder Suárez).  Entrega de la planificación de laTarea 4. (11/10/2000)
15
Feriado
6
16
Planificación de proyectos.
17
Control de configuraciones.   
18
Una técnica de estimación basada en puntos de función y el modelo COCOMO (A cargo del Prof. Nagib Callaos)
7
19
Planificación en equipo (A cargo de la Prof. Rocío Meneses).
20
El patrón Decorador. Identificación de eventos del sistema, contratos, diagramas de colaboración.  
21
El patrón Fábrica Abstracta. La metodología Recommended Process and Models (RPM) de C. Larman.
8
22
Comunicación (A cargo de la Prof. Rocío Meneses)  
 
23
Patrones: Mediador, Estado, Unitario. Refactorización.  
24
Patrones: Peso Mosca, Constructor. Auto-evaluación de equipo.  
9
25
Toma de decisiones en equipo (Con la asesoría de la Prof. Rocío Meneses)
26
Anatomía de una decisión difícil: ¿Cuánto de Delta Pensum debe rehacerse para poder continuar su desarrollo?
27
Los métodos formales en Ingeniería de Software (A cargo del Prof. Jesús Ravelo)  
10
28
Los métodos formales en Ingeniería de Software. (A cargo del Prof. Jesús Ravelo)
29
 Manejo de stress (A cargo de la Prof. Nicolina Calvanesse)  
30
(A cargo del Prof. Nunzio Savino)  EntregaTarea 4 (última empresa).
EnunciadoTarea 5.
11
31
Manejo de diferencias y conflictos (A cargo de la Prof. Rocío Meneses).
32
(A cargo del Prof. Nunzio Savino)  
33
(A cargo del Prof. Nunzio Savino)  
12
34
Evaluación de pares y del grupo. EntregaTarea 5
35
Análisis del estado y de los procesos del proyecto.  
 
36
Discusión general sobre la experiencia del curso.  

Patrones y temas que quedan pendientes para Ingeniería de Software 3:


Esta página fue creada el 9 de septiembre de 2000.
Ultima actualización: 15 de noviembre de 2000.
Por favor dirija sus comentarios al Prof. Alejandro Teruel.