Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TDA-05 Planif de Proy Software PDF
TDA-05 Planif de Proy Software PDF
Contenido
5.1. Planificación del tiempo
5 5.2. Evaluación del costo beneficio
1
Importancia de la Planificación Actividades de la Gestión y
la Planificación
• El éxito o fracaso de un proyecto de software Planificación del
depende en gran parte de la planificación, ya que tiempo
(calendarización)
con ayuda de ésta se pueden evitar problemas a GESTION DE
PLANIFICACION
los que un proyecto está sujeto, tales como: PROYECTOS
• Propuesta
Estimación de
– Retraso de tiempo de entrega • Planificación costos (esfuerzo)
• Supervisión
– Sobrepasar el presupuesto • Personal
• Informal
– Baja calidad del producto Gestión de riesgos y
control de calidad
– Alto costo de mantenimiento, etc.
Gestión de la
configuración de sw
2
Calendarizar el proyecto 5.1.1 Métodos de Planificación
• Una vez definidas las actividades y hitos se debe temporal
calendarizar el proyecto (dividir el trabajo en actividades
o tareas complementarias y considerar el tiempo que
• Existen varios métodos para la planificación :
requiere cada una). – La técnica de revisión y evaluación del
programa(PERT)
• Generalmente se representa con gráficos de barras y
grafos o redes de actividades que muestran las – CPM la ruta crítica
actividades, los responsables, la dependencia entere
actividades y la asignación de recursos.
• También existen varias representaciones gráficas
como son:
• El gestor debe coordinar las tareas del trabajo, asignarles – Redes de actividades
personal y otros recursos de tal manera que se
aprovechen de manera óptima. Las actividades por lo – Gráficos de barras
general duran al menos una semana, la cantidad de
tiempo máxima sugerida es de 8 a 10 semanas.
Diagrama de Actividades
Diagrama de Actividades
Por, medio de una red de actividades se muestra la
dependencia entre las diferentes actividades y se estima el 3 10
Es el tiempo mínimo
2
7 11
requerido para
Tarea T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 finalizar el proyecto
Duración (días) 8 15 15 10 10 5 20 25 15 15 7 10
4
T1 T2,T4 T1,T2 T1 T4 T3, T6 T5, T7 T9 T11 5
(M1) (M2) (M3) (M1) (M5) (M4) (M7) (M6) (M8)
Dependencias
9 12
•M representa un Hito
3
Personas asignadas a diferentes Métodos PERT (Program Evaluation and Review
Actividades en el Proyecto Technique) y CPM(Crítical Path Method)
Jorge
administrativos necesarios para formar el método del
T1 José
T5 María
el proyecto total sea ejecutado en el menor tiempo y al
T6 Ana menor costo posible.
Ana
T7 Raúl
T11 Jorge
4
Método del camino crítico … Método del camino crítico
No solamente se llama camino crítico al
Desde otro punto de vista, camino crítico es
método sino también a la serie de actividades
la trayectoria crítica de mayor duración a
contadas desde la iniciación del proyecto
través de la red. Debido a su impacto en el
hasta su terminación, que no tienen
proyecto entero, el análisis de trayectoria
flexibilidad en su tiempo de ejecución, por lo
crítica es un aspecto importante del
que cualquier retraso que sufriera alguna de
planeamiento del proyecto.
las actividades de la serie provocaría un
retraso en todo el proyecto.
PERT es un método
Probabilístico.
CPM es un método
Determinístico.
5.2
Considera que la variable Considera que los tiempos
de tiempo es una variable de las actividades se EVALUACIÓN DE COSTO-BENEFICIO
desconocida de la cual conocen y se pueden variar 4.2.1. Métricas de Software
solo se tienen datos cambiando el nivel de
estimados. recursos utilizados. 4.2.2. Estimación del proyecto del software
4.2.2.1. Técnicas para la estimación de Software
4.2.2.2. Modelos de estimación
Considera tres tiempos Considera tiempos
4.2.2.3. La decisión a desarrollar o comprar
estimados: normales y acelerados de
4.2.2.4. Herramientas automáticas de estimación
o El más probable una determinada actividad,
o Optimista, según la cantidad de 4.2.3. Evaluación del costo beneficio
o Pesimista. recursos aplicados en la 4.2.3.1. Métodos para el análisis Costo/Beneficio
misma.
Actualmente el Software es el elemento más caro en Algunas razones por las cuales es crucial
la mayoría de los sistemas de información, por lo que comprender cual será el costo aproximado son :
la estimación debe realizarse cuidadosamente ya que
un gran error en la estimación del costo puede definir – Los costos sobredimensionados pueden causar
la diferencia entre beneficios y pérdidas tanto para que los clientes cancelen el proyecto.
clientes y la empresa desarrolladora de software. – Los costos subestimados pueden no compensar
el tiempo invertido por el equipo del proyecto.
– No se debe olvidar que la estimación es una
actividad compleja que se vale de modelos y de
técnicas y estos a su vez se basan en métricas,
por lo que es necesario profundizar sobre éstas.
5
Porque medir el Software
5.2.1. Métricas de software
• Nos indica la calidad del producto
“Cuando se puede medir lo que se esta • Nos ayudan a evaluar
diciendo y expresarlo con números, significa – la productividad de la gente que desarrolla el
que tenemos conocimientos sobre ese tema, producto
cuando esto no ocurre significa que nuestro – los beneficios de utilizar nuevos métodos y
herramientas de ingeniería de software justificando el
conocimiento es precario y deficiente”. uso de éstos.
– Esta evaluación permite una mejora continua al
proceso de desarrollo de software.
• Nos ayuda a establecer una línea base para la
estimación
• Un indicador: es una métrica o una combinación • Permiten evaluar lo que está funcionando.
de métricas que proporcionan un visión profunda • Su propósito es mejorar los procesos de
del proceso y proyecto del software o del producto software a largo plazo y conducir a estrategias
en si mismo. que permitan mejorar la calidad del proceso.
• Hay dos tipos de indicadores o métricas:
Indicadores de proceso e indicadores del
proyecto
6
Indicadores del proyecto
Métricas de Software
Son utilizadas para supervisar el progreso durante
el desarrollo de software y controlar la calidad del Aplicación continua de
producto, además se utilizan para realizar las técnicas basadas en las
estimaciones de tiempo y esfuerzo. Permiten al medidas de los procesos
gestor de proyecto:
de desarrollo del software
• Evaluar el estado del proyecto y sus productos, para
• Seguir las pistas de los riesgos potenciales producir una información
• Detectar las áreas de problemas para evitar áreas de gestión significativa y a
críticas tiempo.
• Ajustar el flujo y las tareas del trabajo
• Evaluar la habilidad del equipo del proyecto para
controlar la calidad del producto de software.
7
Métricas de producto
Son medidas del producto software durante
cualquier fase de su desarrollo, desde los
• Métricas de requisitos hasta la instalación.
Producto
Las Métricas de Producto pueden medir la
Clasificación complejidad del diseño, el tamaño del producto
de las final (fuente u objeto) o el número de páginas de
Métricas de Software documentación producida.
• Métricas de
Proceso
8
… Métricas orientadas al Tamaño: Problemas
Líneas de código
a) No se tiene en cuenta el concepto de
• Si queremos conocer la longitud real del programa reutilización.
esta sería:
b) No se tiene en cuenta el concepto de costes
LOC = NCLOC + CLOC fijos ni tareas que se desarrollan que no
Donde CLOC (Comentary Lines of Code) es el número producen instrucciones. Por ello, no debe ser
de líneas de comentarios. utilizada esta medida directamente en la
estimación de esfuerzo o productividad.
• Una medida indirecta de la densidad de comentarios
sería:
CLOC / LOC
… Ventajas y desventajas
Desventajas:
• La falta de una definición universal de línea de código • Métricas de Productos
• Las líneas de código dependen de los lenguajes de – Métrica orientadas al tamaño
programación y por lo tanto perjudica a los programas • Líneas de Código
más cortos pero bien diseñados.
– Métricas orientadas a la función
• El estilo de programación dependerá de cada persona.
Comparar la productividad utilizando lenguajes diferentes • Puntos de Función
de programación puede llevar a conclusiones erróneas – Métricas de calidad
respecto a la productividad de los programadores.
• Métricas de Procesos
• El decidir que líneas de código se contabilizaran ya sean
nuevas, líneas modificadas, reutilizadas más definiciones • Conclusiones (métricas)
de datos y comentarios.
• Dificultad de estimar en fases tempranas del desarrollo la
cantidad de líneas que tendrá una aplicación.
9
Métricas orientadas a la Función
Métricas Funcionales
Es un método para cuantificar el tamaño y la
complejidad de un sistema software en términos Un punto de función es una métrica sintética que
de las funciones que el usuario desarrolla o se compone de la suma ponderada de los totales
desarrollará. de las entradas, las salidas, las consultas, los
Se entiende por funciones a las entradas, salidas, archivos lógicos, e interfaces que se identifican
archivos, etc. en la aplicación.
Ejemplos de entradas:
Metodología Revisada de Puntos de Función Formatos de datos llenadas por usuarios en pantallas, discos
magnéticos, entradas en pantallas sensibles al tacto, clicks de
mouse.
10
Ejemplos de salidas: Ejemplos de archivos lógicos internos: Colección
Pantallas de datos de salidas, informes impresos, archivos en lógica de registro que la aplicación modifica o
disco, sets de cheques, facturas impresas. En general,
actualiza. Un archivo puede ser una base de datos en
contabilizar como una salida entidades que son referenciales
por un nombre; contabilizar independientemente salidas que PC, una rama de una base de datos jerárquica, una
comparten los datos pero varían en formato. Por ejemplo, una tabla de una base de datos relacional.
tabla y un histograma.
Ejemplos de (archivos externos lógicos de) interfaz:
Salidas: Pantallas o informes que la aplicación produce para bases de datos compartidas, archivos lógicos
uso humano o para otros programas. En una aplicación de
remuneraciones una función de salida que genere 100 cheques
direccionables desde o hacia otra aplicación.
contaría como una sola salida.
Interfaces: Archivos compartidos con otras aplicaciones,
como archivos en que vienen o que van, bases de
datos compartidas, o listas de parámetros.
Comunicación de datos:
La escala de evaluación tiene el siguiente significado:
Implica que datos y/o información de control son
enviadas o recibidas sobre facilidades de
0 factor no presente o sin influencia comunicación. La evaluación se reflejaría en un 0
1 influencia insignificante para aplicaciones batch, y un 5 para aplicaciones
2 influencia moderada interactiva.
3 influencia promedio
Funciones distribuidas:
4 influencia significativa
Analiza si una aplicación es monolítica y opera en
5 influencia fuerte
un solo procesador o si es distribuida entre varios
procesadores. La evaluación arrojaría un 0 para
aplicaciones monolíticas puras, y un 5 para
aplicaciones que se ejecutan dinámicamente en
varios procesadores.
11
Objetivos de performance: la evaluación sería un 0 si Tasa de transacciones: la evaluación sería un 0 si el
no hay establecido ningún criterio especial de volumen de transacciones no es significativo, y
performance por los usuarios, y un 5 si los usuarios un 5 si el volumen es lo suficientemente
insisten en objetivos de performance muy rigurosos que
significativo como para producir stress en la
requieren un esfuerzo considerable para ser logrados.
aplicación y requerir un esfuerzo especial para
Configuración usada fuertemente: la evaluación alcanzar throughputs deseados.
sería un 0 si la aplicación no tiene restricciones
especiales de uso, y un 5 si el uso anticipado requiere Entrada de datos en línea: la evaluación sería un 0
especial esfuerzo para ser logrado. si menos del 15% de las transacciones son
interactivas, y un 5 si más del 50% de las
transacciones son interactivas.
12
El procedimiento para calcular el factor de ajuste
es el siguiente: Ejemplo
• Asignar una evaluación individual a cada uno de los 14
Suponga una aplicación con 10 entradas, 10
factores salidas, 10 consultas, 1 archivo de datos y 1
archivo de interfaz, todos ellos de complejidad
• Sumar las evaluaciones (esta dará un valor entre 0 y 70)
promedio.
• Multiplicar la suma de evaluaciones por 0.01 para Suponga que los factores de influencia se
obtener un valor decimal
determinaron de la siguiente manera:
• Sumar 0.65 al valor decimal para crear un factor de
complejidad (un valor entre 0.65 y 1.35)
13
Métricas de Calidad
• Cualquier proyecto de ingeniería del software tiene
• Métricas de Productos como objetivo principal obtener sistemas y productos
– Métrica orientadas al tamaño de alta calidad
• Líneas de Código • La calidad es difícil medirla directamente, no obstante
– Métricas orientadas a la función hay indicadores que nos pueden dar una idea sobre la
• Puntos de Función misma. Estos indicadores se basan en los siguientes
aspectos:
– Métricas de calidad
– Corrección
• Métricas de Procesos – Facilidad de mantenimiento
• Conclusiones (métricas) – Integridad
– Facilidad de uso
Facilidad de Mantenimiento
Corrección
Se mide por la facilidad de:
Es el grado en el que el software • Corregir defectos encontrados,
lleva a cabo su función. Se mide
• Adaptar ese programa a nuevos entornos, y
en “defectos por KLDC” (miles de
• Mejorar el programa si el cliente desea cambios.
líneas de código), entendiéndose
por “defecto” cualquier falta de La facilidad de mantenimiento se mide indirectamente
concordancia con los requisitos. por medio de una métrica orientada al tiempo: “tiempo
medio del cambio (TMC)”, es decir, por el tiempo que se
tarda en analizar la petición del cambio, diseñar la
modificación, implementarla, probarla y distribuir la
notificación del cambio a los usuarios.
14
Estimación de Proyectos
• La primer tarea en la gestión de proyectos es la
estimación.
• La estimación se define como el proceso que proporciona
Técnicas de Estimación un valor a un conjunto de variables para la realización de
un trabajo, dentro de un rango aceptable de tolerancia.
de Costos • Podemos definirlo también como la predicción de
personal, del esfuerzo, de los costos y de la planificación
5.2.2. Estimación del proyecto de software
que se requerirá para realizar todas las actividades y
construir todos los productos asociados con el proyecto.
• Uno de los parámetros críticos de la estimación es
determinar su exactitud. La estimación puede realizarse
a partir de datos históricos o con herramientas.
Técnicas de Estimación
Existen cuatro técnicas básicas y comunes
• La opinión de los expertos: se basa en la experiencia
profesional de los participantes en el proyecto de estimación.
15
La opinión de los expertos Estimación por Analogía
Se basa en: • Constituye un complemento a la de juicio de expertos.
Se emplea la opinión de más • En esta la personas involucradas no sólo trabajan con su
Experiencia
experiencia acumulada, sino que disponen también de datos
de un experto para obtener de proyectos acabados relativamente similares al que hay
una mayor fiabilidad en la que estimar. Así por comparación, se pueden evaluar las
Objetividad diferencias entre el nuevo proyecto y los antiguos y
estimación. En algunos extrapolar su costo.
casos, simplemente se
calcula la media de los • La ventaja de esta técnica está en que es precisa si está
valores ofrecidos por las disponible la información del proyecto con el cuál se va a
distintas personas. comparar.
Del estimador • La desventaja es que es imposible de comparar si el
proyecto ha sido abordado. Trae consigo costos de
La técnica más utilizada es la Delphi, Bohem la refinó en mantenimiento de la base de datos.
1981 (Delphi de banda ancha)
16
MODELOS PARÁMETRICOS EMPÍRICOS MODELOS PARÁMETRICOS
Los modelos de estimación más comunes son los EMPÍRICOS
Modelos paramétricos empíricos.
• Utilizan fórmulas derivadas empíricamente para E = A + B X (ev) c
predecir el esfuerzo como una función de LDC o PF.
• Utilizan datos empíricos obtenidos de una muestra de
Donde:
proyectos:
A y B son constantes obtenidas empíricamente
• Son difíciles de usar para todas las clases de software y E esfuerzo en meses/persona
todos los entornos de desarrollo ev variable de estimación (LDC o PF)
• Se deben calibrar para las condiciones específicas de
una organización
17
MODELO BÁSICO MODELO INTERMEDIO
En este modelo se introducen 15 atributos de coste para
Modelo Orgánico, Semi Acoplado y Empotrado tener en cuenta el entorno de trabajo. Estos atributos se
utilizan para ajustar el coste nominal del proyecto al entorno
Para determinar el esfuerzo del personal real, incrementando la precisión de la estimación.
18
Modelo SLIM 5.2.2.3. ¿Desarrollar o comprar?
Putnam utiliza observaciones empíricas sobre niveles de
productividad para derivar su ecuación de software a partir de la • En muchas ocasiones es más aconsejable adquirir un
fórmula básica de la curva de Rayleigh producto de software que desarrollarlo. Los gestores son
los que tienen que tomar esta decisión y deben tener en
cuenta lo siguiente:
– Comprar/alquilar el software ya desarrollado con licencia y
que se ajuste a las especificaciones.
Donde:
– Comprar componentes de software parcial o totalmente
Tamaño: Medido en LOC experimentados y luego modificarlos para ajustarse con las
C : Factor tecnológico que incluye 14 conductores de costos especificaciones.
y puede tomar hasta 20 valores distintos – Encargar la construcción del software a una empresa
externa.
K : Total del esfuerzo del proyecto calculado en personas
año • En cualquiera de las tres alternativas, un factor
importantísimo es la disponibilidad de recursos humanos,
Td : Tiempo transcurrido para la entrega, medido en años. td
Técnicos/hardware/ software.
es el punto en el cual la curva alcanza un máximo.
19
…Evaluación del costo-beneficio 5.2.3.1 Métodos para el análisis
Costo / Beneficio
• Beneficios intangibles son aquellos que en el • Diferentes métodos pueden ser utilizados para calcular la
momento del análisis, no se pueden cuantificar y relación costo–beneficio. Los métodos más sofisticados
con frecuencia están relacionados a la calidad de consideran el tiempo–valor del dinero como parte del
la información que proporciona el sistema, tales análisis costo beneficio.
como los listados a continuación: • Los métodos comunes para el análisis de costo beneficio
– Satisfacción en el servicio al cliente incluyen:
– Punto de equilibrio
– En las actividades administrativas, mejora en – Periodo de devolución
la toma de decisiones – Valor presente neto
– Tasa interna de retorno
20
Tasa interna de retorno
Datos Descripción
-70.000 Costo inicial de un negocio
12.000 Ingresos netos del primer año
5.3
1 15.000 Ingresos netos del segundo año
2 18.000 Ingresos netos del tercer año ESTUDIO DE FACTIBILIDAD
3 21.000 Ingresos netos del cuarto año
4 26.000 Ingresos netos del quinto año
5 Fórmula Descripción (Resultado)
6 =TIR(A2:A6)Tasa interna de retorno de la inversión después
de cuatro años (-2%)
7 =TIR(A2:A7)Tasa interna de retorno después de cinco años
(9%)
21
5.4. Planificación de la
documentación
• Para mantener informado al cliente acerca de los riesgos, de la
5.4 planificación de tiempo y de la organización usualmente se
prepara un documento llamado “plan de proyecto”.
• El plan del proyecto de software se produce como culminación
de la etapa de planificación. Es un documento breve, dirigido a
PLANIFICACIÓN DE LA una diversa audiencia y debe :
– Comunicar el alcance y recursos a los gestores del Software,
DOCUMENTACIÓN personal técnico y clientes.
– Definir los riesgos y sugerir planes de contingencia
– Definir el costo y el plan temporal para la revisión de la
gestión.
– Proporcionar una aproximación global del desarrollo del
software para todo el personal involucrado en el proyecto.
– Describir cómo se garantizará la calidad y la gestión de
cambios.
22
5.5.2 El proceso de gestión de la
configuración del software
• La GCS es un elemento importante de garantía de
calidad, ya que es responsable de controlar los
cambios.
• El proceso se puede definir en cinco tareas de GCS:
1. Identificación
2. Control de versiones
3. Control de cambios
4. Auditorias de configuración
5. Generación de informes
23