calendarización de proyectos de software
DESCRIPTION
Exposición Procesos Ingeniería del SoftwareTRANSCRIPT
Procesos de Ingeniería de Software
Calendarización de Proyectos de Software
Introducción
• El reciente aumento de aplicaciones en donde se utiliza la computadora ha sido posible debido a un hardware de bajo costo, por lo cual la demanda de software ha crecido de forma exponencial.
Introducción
• Esto implica que son necesarias técnicas y tecnología eficientes de Ingeniería de Software para resolver los múltiples problemas que se derivan de las aplicaciones en donde se desarrollan sistemas de software de gran tamaño.
Introducción
• Cada proyecto de software presenta distintos problemas en su desarrollo, los cuales involucran personas, equipo, usuarios del software y ambiente de la aplicación. Por estas razones, cada proyecto debe resolver el problema de la producción del software.
Conceptos Básicos
• Aunque existen muchas razones por las cuales el software se entrega con rechazo, entre ellas: fechas límite irrealizables, cambios en requisitos, riesgos, dificultades humanas y técnicas, falta de comunicación, fallas en la gestión del proyecto.
¿Por qué las cosas van mal?• Las técnicas de estimación son pobremente
desarrolladas. • Se confunde esfuerzo con progreso, suponiendo
que hombres y meses son intercambiables. • El progreso de la calendarización es pobremente
monitoreado. • Cuando un resbalón en la calendarización es
reconocido, la respuesta tradicional es añadir mano de obra.
Calendarización
• Es una actividad que distribuye estimaciones de esfuerzo a través de la duración planificada del proyecto, al asignar el esfuerzo a tareas específicas de ingeniería del software.
Principios Básicos
• Compartimentación.• Interdependencia.• Asignación de tiempo.• Validación del esfuerzo.• Definición de responsabilidades.• Definición de resultados.• Definición de hitos.
• Tareas y Subtareas tienen interdependencias basadas en su secuencia.
• Trabajo paralelo --> Tareas concurrentes deben estar coordinadas.
• Red de Tareas: representación gráfica del flujo de tareas de un proyecto.
• Dos posibles enfoques:– Calendarización macroscópica.– Calendarización detallada.
Definición de una red de Tareas
Red de Tareas (Macroscópica)
1.1Determinación
ámbito concepto
1.2Planeación concepto
1.3aEvaluaciónRiesgo Téc.
1.3bEvaluaciónRiesgo Téc.
1.3cEvaluaciónRiesgo Téc.
1.4Prueba de Concepto
Integración a, b, c
1.5aImplementación
Concepto
1.5bImplementación
Concepto
1.5cImplementación
Concepto 1.6Reacción Cliente
• Pueden utilizar técnicas/herramientas calendarización de proyectos.– PERT (Técnica de evaluación y revisión de programa)– CPM (Método de la Ruta Crítica)
• Información etapas tempranas:• Estimación de esfuerzo• Descomposición de la función del producto• Selección del modelo de proceso y conjunto de tareas
apropiadas.• Descomposición de Tareas.
Calendarización
Diagrama de Gantt.Uno por proyecto ó uno por cada función.Diamantes (rombos) marcan hitos.
Seguimiento de la Calendarización realizado:◦ Reuniones valorar estado.◦ Evaluación de resultados proceso de ingeniería
software.◦ Hitos.◦ Comparar fechas: tentativa-real inicio tarea usando
tabla de tareas.
Cronogramas
• Hitos Técnicos: análisis OO completado– Se han denido y revisado todas las clases y la jerarquía
de clase.– Se han denido y revisado los atributos de clase y las
operaciones asociadas con una clase.– Se han establecido y revisado las relaciones de clase.– Se ha creado y revisado un modelo de comportamiento.– Se han anotado las clases reutilizables.
Seguimiento del Proyecto OO (1/*)
Seguimiento del Proyecto OO (1/*)
• Hitos Técnicos: diseño OO completado
– Se han definido y el conjunto de subsistemas.– Las clases de han revisado y asignado a los
subsistemas.– Se han identificado las responsabilidades y
colaboraciones.– Se ha creado y revisado un modelo de
comportamiento.
Seguimiento del Proyecto OO (1/*)
• Hitos Técnicos: análisis OO completado– Se han definido y revisado todas las clases y la jerarquía
de clase.
– Se han definido y revisado los atributos de clase y las operaciones asociadas con una clase.
– Se ha creado y revisado el diseño de las clases.– Se ha creado y revisado el modelo de
comunicación.
Seguimiento del Proyecto OO (1/*)
Hitos Técnicos: programación OO completada
• Cada nueva clase se ha implementado en código a través del modelo de diseño.
• Se han implementado las clases obtenidas (de una librería de reutilización).
• Se ha construido el prototipo o incremento.
Seguimiento del Proyecto OO (1/*)
Hitos Técnicos: prueba OO
• Se ha revisado la correción y que estén completos el análisis OO y los modelos de diseño.
• Se ha desarrollado y revisado una red clase-responsabilidad-colaboración.
• Se han diseñado casos de prueba y se han llevado a cabo pruebas al nivel de clase.
• Se han diseñado casos de prueba, se han completado pruebas de agrupamientos y se han integrado las clases.
• Se han completado las pruebas al nivel de sistema.