2. 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.
3. 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.
4. 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.
5. 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.
6. ¿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.
7. 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.
8. 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.
9. • 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
10. Red de Tareas
(Macroscópica)1.1
Determinación
ámbito concepto
1.2
Planeación
concepto
1.3a
Evaluación
Riesgo Téc.
1.3b
Evaluación
Riesgo Téc.
1.3c
Evaluación
Riesgo Téc.
1.4
Prueba de
Concepto
Integración
a, b, c
1.5a
Implementación
Concepto
1.5b
Implementación
Concepto
1.5c
Implementación
Concepto
1.6
Reacción
Cliente
11. • 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
12. 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
13.
14. • 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/*)
15. 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.
16. 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.
17. 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.
18. 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.
Notas del editor
Teniendo en cuenta las distintas metodologías y técnicas de desarrollo como también la distribución de tiempo para el proyecto, pero sin descuidar el aspecto humano, del usuario del software y del ambiente para el cual se prende desarrollar el software.