calendarización de proyectos de software

18
Procesos de Ingeniería de Software Calendarización de Proyectos de Software

Upload: javier-capa

Post on 07-Dec-2014

23.686 views

Category:

Documents


0 download

DESCRIPTION

Exposición Procesos Ingeniería del Software

TRANSCRIPT

Page 1: Calendarización de Proyectos de Software

Procesos de Ingeniería de Software

Calendarización de Proyectos de Software

Page 2: 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.

Page 3: Calendarización de Proyectos de Software

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.

Page 4: Calendarización de Proyectos de Software

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.

Page 5: Calendarización de Proyectos de 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.

Page 6: Calendarización de Proyectos de Software

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

Page 7: Calendarización de Proyectos de Software

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.

Page 8: Calendarización de Proyectos de 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.

Page 9: Calendarización de Proyectos de Software

• 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

Page 10: Calendarización de Proyectos de Software

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

Page 11: Calendarización de Proyectos de Software

• 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

Page 12: Calendarización de Proyectos de Software

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

Page 13: Calendarización de Proyectos de Software
Page 14: Calendarización de Proyectos de Software

• 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/*)

Page 15: Calendarización de Proyectos de Software

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.

Page 16: Calendarización de Proyectos de Software

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.

Page 17: Calendarización de Proyectos de Software

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.

Page 18: Calendarización de Proyectos de Software

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.