Post on 02-Aug-2022
Desarrollo de sistemas con PSP Y TSP
Proyecto de Investigacion
Licenciatura en Computacion
Aida Alvarado Juarez
Eduardo Rodrıguez Flores
Asesor
Alfonso Martınez Martınez
Coordinador de la licenciatura
Mexico D.F. 17 de agosto de 2008
1
Indice general
1. PSP
Proceso Personal de Software 1
1.1. INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. OBJETIVOS DEL PSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. DEFINICION DEL PSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. FASES DEL PROCESO PSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1. PSP0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.2. PSP0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.3. PSP1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.4. PSP1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.5. PSP2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.6. PSP2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5. ENTRENAMIENTO DEL PSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.1. TAREA 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5.2. TAREA 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.3. TAREA 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5.4. TAREA 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5.5. TAREA 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.6. TAREA 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.7. TAREA 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5.8. TAREA 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.5.9. TAREA 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.5.10. TAREA 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
i
INDICE GENERAL ii
1.6. RESUMEN DEL PLAN DEL REPORTE R5 . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.1. GUIA DEL REPORTE R5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.2. RESUMEN DEL PLAN DEL REPORTE R5 . . . . . . . . . . . . . . . . . . . . . . . 39
1.6.3. BITACORA DE REGISTRO DE TIEMPO R5 . . . . . . . . . . . . . . . . . . . . . . 40
1.6.4. ANALISIS DE LA EXACTITUD DE ESTIMACION DE LOC . . . . . . . . . . . . . 41
1.6.5. ANALISIS DE LA EXACTITUD DE ESTIMACION DE TIEMPO . . . . . . . . . . 45
1.6.6. ANALISIS DE DEFECTOS Y DEL YIELD . . . . . . . . . . . . . . . . . . . . . . . . 49
1.6.7. ANALISIS DE CALIDAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1.7. Criterios de Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
1.8. Sugerencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2. TSP
EQUIPO DE PROCESO DE SOFTWARE 62
2.1. INTRODUCCION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.2. OBJETIVOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.3. TALLER DE LANZAMIENTO TSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.1. Junta 1 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.2. Junta 2 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.3.3. Junta 3 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.3.4. Junta 4 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3.5. Junta 5 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.3.6. Junta 6 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.3.7. Junta 7 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3.8. Junta 8 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.3.9. Junta 9 del Taller de Lanzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.4. FORMAS Y RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.4.1. Forma SUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.4.2. Forma TASK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.4.3. Forma Schedule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.4.4. Forma SUMQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Capıtulo 1
PSP
Proceso Personal de Software
1
1.1. INTRODUCCION
Como licenciados en computacion, en nuestra vida diaria usamos las computadoras y dıa con dıa las
vamos renovando con las nuevas tecnologias, pues, de la misma forma, nosotros debemos de renovar nuestra
forma de craer los sistemas para evitar caer en los mismos errores de antano.
Para lograr tener un mejor control o manejo en nuestros sistemas hemos estudiado un proceso personal
para desarrollo de software (PSP) para tener pasos definidos, formas y estandares en los sistema.
Al estudiar el PSP, estudiamos un proceso de auto mejora; disenado para ayudarnos a controlar, ad-
ministrar y mejorar la forma en que trabajamos, ya que nos provee una metodolgıa para planear y dar un
seguimiento a su trabajo para incrementar su productividad y la calidad de los sistemas de software. El PSP
es la base para poder trabajar en equipo.
2
1.2. OBJETIVOS DEL PSP
Conocer y utilizar las medidas de analisis del PSP.
Organizar las ideas de la creacion de un programa mediante la utilizacion de fases.
Conocer las plantillas de uso en el PSP para la elaboracion de los programas con mayor eficencia.
Saber hacer una estimacion acertada.
Tratar de eliminar los errores en las fases en las que por lo regular siempre se presentan (compilacion
y pruebas).
Mejorar el tiempo de desarrollo al eliminar los errores.
Tener una calidad y produccion eficiente, cuando eliminamos los
errores y mejoramos el tiempo de desarrollo.
Conforme avanzamos debemos de manejar este proceso de una
forma mas digerida para poder aplicarlo en sitemas y programas sin ninguna dificultad.
3
1.3. DEFINICION DEL PSP
El PSP es una lınea de trabajo de medicion y analisis para ayudarnos a caracterizar nuestro proceso.
Tambien es un procedimiento definido que nos ayuda a mejorar nuestro desempeno.
Algunos de sus principios son:
La calidad de un sistema de software esta dada por la calidad del proceso utilizado para desarrollarlo
y mantenerlo.
La calidad de un sistema de software esta determinada por la calidad de su componentes mas deficientes.
La calidad de un componente de software esta dada por el individuo que lo desarrolla.
El desempeno individual esta dado por el conocimiento, la disciplina y el compromiso del individuo.
Se pretende lograr que como profesional del software, debemos conocer nuestro desempeno personal.
Debemos de medir, darle seguimiento y analizar su trabajo.
Debemos aprender a partir de las variaciones de su desempeno.
Debemos incorporar estas lecciones aprendidas en nuestras practicas personales.
Al paso del tiempo y la practica debemos saber controlar:
La estimacion y planeacion de nuestro trabajo, cumplir con nuestros compromisos y resistir presiones por
compromisos no razonables.
4
1.4. FASES DEL PROCESO PSP
1.4.1. PSP0
El PSP 0 es un proceso simple y definido. Utiliza sus metodos actuales de diseno y desarrollo.
Los objetivos principales del PSP 0 son:
Demostrar el uso de proceso definido al escribir un programa pequeno.
Incorporar medidas basicas en el proceso de desarrollo de software.
Requiere cambios mınimos a las practicas personales.
Cuenta con una serie de elementos para facilitarnos la medicion de
nuestros avances a lo largo de la tarea 1A, la idea principal durante el PSP0 es incorporando poco a poco al
proceso, para familiarizarse de una manera facil.
Para esta primera fase, los elementos necesarios son:
Guion del proceso
Bitacora de registro de tiempo
Bitacora de reporte de defectos
Estandar de tipos de defectos
Forma de resumen del plan de proyecto
En donde :
La planeacion es la estimacion del tiempo de desarrollo.
El desarrollo es el producto utilizando sus metodos actuales.
El postmortem espara completar el resumen del plan del proyecto, con el tiempo utilizado y los defectos
descubiertos e introducidos en cada fase.
5
1.4.2. PSP0.1
El PSP0.1 tiene como finalidad medir el tamano del software para relacionar la cantidad de producto
generado con el esfuerzo empleado. Ası como tambien para calcular nuestra productividad, medida en LOC´s1
y normalizar los defectos. Se emplean en las tareas 2A y 3A.
Los objetivos principales del PSP 0.1 son:
Medir el tamano de los programas que producimos.
Contabilizar los tipos de LOC´s en los programas que producimos.
Realizara mediciones de tamano exactas y precisas.
Introducimos una nueva serie de elementos al proceso:
La forma de propuesta de mejora del Proceso (PIP).
Estandar de Conteo (R1).
Estandar de Codificacion (R2).
El resumen de plan de proyecto ha sido expandido para incluir las mediciones de tamano del software y
la distribucion del tiempo de planeacion a lo largo de las fases.
1Lineas de codigo
6
1.4.3. PSP1
El PSP1 en el cual su objetivo es establecer un procedimiento ordenado y repetible para el desarrollo de
estimacion de tamano de software. La tarea 4A es la unica que se realiza durante esta variacion de PSP.
Los nuevos elementos introducidos en el PSP1 son:
El metodo de Estimacion de tamano PROBE.
La plantilla de Estimacion de tamano.
La plantilla de reporte de pruebas.
7
1.4.4. PSP1.1
En la tarea 5 y 6 utilizaremos el PSP1.1, sus Objetivos del PSP1.1 son introducir y practicar metodos
para:
Realizar planes de recursos y de calendarios de trabajo.
Darle seguimiento a su desempeno en cuanto a sus planes.
Juzgar la probabilidad de las fechas de terminacion del proyecto.
Se incorporan nuevos elementos al proceso:
Plantilla de planeacion de tareas.
Plantilla de planeacion de calendario de trabajo.
Por lo regular estas plantillas se utilizan para proyectos que tardan varios dıas o semanas. No se utilizaran
durante las tareas de PSP 2. El resumen del plan de proyecto se expandio para que incluya estadısticas basicas
del proceso.
resumen de plan de proyecto PSP1.1
reporte de pruebas
forma PIP
plantilla de estimacion de tamano
hoja PROBE
bitacora de registro de tiempo
bitacora de registro de defectos
lista de programa fuente
resultados de las pruebas
2Se utilizan cuando trabajamos con TSP
8
1.4.5. PSP2
Como profesional del software, debemos de conocer nuestro desempeno personal.
Debemos medir, darle seguimiento y analizar el trabajo. Aprender a partir de las variaciones de nuestro
desempeno e incorporarlas en nuestras praticas personales.
Los objetivos de PSP2 son introducir:
Las revisiones de diseno y codigo
Metodos para la evaluacion y mejora de calidad de sus revisiones
Se incorporan dos nuevos elementos al proceso:
Lista de comprobacion de la revision de diseno del PSP2
Lista de comprobacion de la revision de codigo
9
1.4.6. PSP2.1
Los objetivos del PSP2.1 son introducir.
Introducir metricas adicionales para la administracion de la calidad
Plantillas de diseno que proporcionen una lınea de trabajo ordenado y formatos para documentar los
disenos.
Existen cuatro nuevos elementos del proceso:
Lista de comprobacion de la revision de diseno PSP2.1
Plantilla del escenario operacional
Plantilla de especificacion de estados
Plantilla de especificacion logica
Las tareas 8A, 9A y 10A se realizan con este proceso.
10
1.5. ENTRENAMIENTO DEL PSP
Elaboramos 10 tareas con las cuales nos fuimos capacitando paso a paso al ir introduciendo en cada una
de las tareas una fase del Proceso Personal del Sofware. Nos obliga a crear una disciplina que nos ayuda a
mejorar nuestro proceso personal,los datos que se fureron almacenado nos servira para mejorar continuamente
la productividad, calidad y la prediccion de nuestro trabajo.
1.5.1. TAREA 1
* Los objetivos de la tarea 1A son:
Comprender los requerimientos del programa 1A
Concluir la palneacion del programa 1A
* Requerimientos del Programa 1A
Calcular la media y la desviacion estandar de una serie de n numeros reales. Su programa debe leer los n
numeros reales del teclado, de un archivo, etc. Use una lista ligada para almacenar los n numeros para los
calculos. Pruebe completamente el programa. Deberıa usar al menos tres pruebas de los datos en las tres
columnas de abajo.
* Media y Desviacion Estandar
La media es el promedio de n numeros.
La desviacion estandar es calculada de la siguiente forma.
Formula de la desviacion estandar.
Std = σ =√∑n
i=1 (xi−xavg)2n−1
donde:
σ: Es el sımbolo de la desviacion estandar.∑: El el sımbolo de la sumatoria.
11
LOC Objeto LOC Nuevas y Modificadas Horas de Desarrollo
160 186 15.0
591 699 69.9
114 132 6.5
229 272 22.4
230 291 28.4
270 331 65.9
128 199 19.4
1657 1890 198.7
624 788 38.8
1503 1601 138.2
Media 550.6 638.9 60.32
DesEst 572.03 625.63 62.26
Cuadro 1.1: tabla D4, pagina 753
i: Es un ındice de n numeros
xavg: Es el valor promedio de los n numeros
* Las listas ligadas son:
1. Un tipo de datos abstracto utilizado para almacenar conjuntos de datos implementadas con
apuntadores.
2. Una lista ligada con frecuencia tiene estos componentes.
Raız de la lista
Nodo de la lista
12
Algunas de las opciones para la estructura de listas ligadas son
La raız de la lista puede apuntar al primer nodo, ultimo nodo, o a ambos.
Un nodo de la lista puede apuntar al siguiente nodo, al anterior, o a ambos.
Por lo regular se usa un apuntador con valor nulo para indicar una lista vacıa o el final de la lista.
Las operaciones tıpicias en una lista ligada incluyen agrega nodo, siguiente nodo y anterior nodo.
13
1.5.2. TAREA 2
* Requerimientos del Programa
estimado de recursos
estimado de tamano
* Requerimientos del Programa 2A
Utilice el PSP0.1 para escribir un programa que cuente el total de LOC´s logicas en un programa
omitiendo los comentarios y las lıneas en blanco.
Utilice su estandar de conteo (R1) y su estandar de codificacion (R2) para colocar una lınea logica en
cada lınea fısica y cuente las lıneas fısicas.
Produzca un conteo unico para el archivo de programa fuente.
Prueba completamente el programa. Como una prueba, cuente las LOC´s en los programas 1A y 2A.
14
1.5.3. TAREA 3
* Objetivos del Taller
1. Comprendera los requerimientos del programa 3A
2. Habra concluido la planeacion del programa 3A
Requerimientos del programa
Estimacion de los recursos
Estimacion del tamano
* Requerimientos del Programa 3A
Use el PSP0.1 para escribir un programa que cuente
Las LOC logicas totales en un programa
Las LOC logicas en cada objeto o funcion
Numero de metodos en cada objeto
* Produzca e Imprima
Un solo conteo de LOC para el archivo del programa fuente
Conteo separados de LOC y metodos para cada objeto
Usted puede mejorar el programa 2A para realizar el programa 3A (pero mantenga un copia del 2A).
Usted puede actualizar su estandar de conteo de LOC (R1) y su estandar de codificacion (R2) para
simplificar el diseno del programa 3A.
Pruebe completamente este programa. Como un mınimo, pruebe el programa contando el programa total
y las LOC por cada objeto en los programas 1A, 2A y 3A. Incluya en su reportes de prueba un tabla que
proporcione los conteos obtenidos. Use el formato mostrado en la tabla D7 en la pagina 754 del texto.
* Instrucciones de la Tarea
15
Usando el proceso PSP0.1, termine la fase de planeacion para la tarea 3A.
Cuando usted haya terminado la planeacion, revise su trabajo con el instructor.
Despues de que su plan haya sido revisado, concluya la tarea utilizando el PSP0.1.
Cuando usted haya concluido la fase postmortem, entregue su paquete de tarea, codigo fuente y resultados
de prueba al instructor en este orden.
16
1.5.4. TAREA 4
* Objetivos del Taller
1. Comprendera los requerimientos del programa 4A
2. Habra concluido la planeacion del programa 4A
Diseno conceptual
Estimado de tamano
Estimado de recursos
* Requerimientos del Programa 4A
Calcule los parametros de regresion lineal β0 y β1 para n conjuntos de datos. Mejore la lista ligada desarrollada
en el programa 1A para que almacene los conjuntos de n datos, donde cada conjunto de datos contiene
exactamente dos numero reales.
Pruebe el programa con tres conjuntos de datos.
1. LOC de objeto estimadas y LOC N&C reales (tabla D8, pagina 756)
2. LOC N&C estimadas y LOC N&C reales (tabla D8, pagina 756)
3. LOC N&C estimadas y LOC N&C reales de sus programas 2A, 3A y 4A
* Parametros de Regresion
Parametro de Regresion β0 es: yavg − β1xavg
Parametro de Regresion β1 es:
β1 =∑n
i=1xiyi−nxavgyavg∑n
i=1xi
2−n(xavg)2
17
1.5.5. TAREA 5
* Objetivo del Taller
Despues de este taller, usted
comprendera los requerimientos del programa 5A
habra concluido la planeacion del programa 5A
diseno conceptual
estimado de tamano
estimado de recursos
Use el PSP1.1 para escribir un programa para integrar numericamente un funcion usando la regla de
Simpson para una funcion de la distribucion normal.
El programa deberıa ser disenado para integrar utilizando varias funciones dadas.
Usted necesitara este programa para calcular los valores de varias distribuciones estadısticas utilizadas en
los siguientes programas de tareas.
Prueba completamente el programa. Como mınimo, utilice este programa para calcular los valores de la
integral de la distribucion normal para tres valores.
Prueba Valor Esperado
de - ∞ a 2.5 0.9938
de - ∞ a 0.2 0.5793
de - ∞ a -1.1 0.1357
* Integracion Numerica
En principio, la integracion numerica trata un funcion como si estuviese compuesta de muchas areas
rectangulares.
Suma estas areas para producir el valor de la integral.
El truco es suma estas areas de tal forma que el erro se minimice.
18
*Lımites de Integracion
Para determinar los lımites de integracion la mayorıa de las funciones estadısticas son integradas de - ∞ a
algun valor todas las funciones estadısticas tienen una area total de 1.0 cuando son integradas de - ∞ a +
∞.
* Funciones Simetricas
Con funciones simetricas (la distribucion normal y la distribucion t de student), el procedimiento es este.
Si el valor de X es Integre de y
Positivo 0 a X sume 0,5 al presultado
Negativo 0 a —X— reste 0,5 al resultado
* Regla de Simpson
La regla de simpson para integrar:
(1.1)∫ xhigh
xlow
F (u)du =W
3[F (xlow) + 4F (xlow + W ) + 2F (xlow + 2W ) +
4F (xlow + 3W )... + 2F (xhigh − 2W ) + 4F (xhigh −W ) + F (xhigh)]
19
donde:
W es el ancho de las bloques rectangulares
F es el valor de la funcion para cada valor de x
La regla de Simpson en otra forma2
∫ xhigh
xlow
F (u)du =W
3[F (xlow) +
N−1∑i=1,3,5...
4F (xlow + iW ) +N−2∑
i=2,4,6...
2F (xlow + iW ) + F (xhigh] (1.2)
donde N es el numero de segmentos.
* Distribucion Normal
La formula de la distribucion normal es:
φ(x) =∫ x
−∞
1√(2π)
e(−u2
2 )du (1.3)
La pagina 528 contiene las formulas para las distribuciones x2 y t.
* Sugerencias
Refierase a la pagina 517 en el Apendice A para un algoritmo que evalue la integral usando la regla de
Simpson.
Inicie con N = 20 y un error aceptable (E) de 1E-07.
Si usted esta usando C o C++, considere disenar la regla de Simpson para que acepte un apuntado a una
funcion. (Esto hace la reutilizacion muy facil.)
Para otros lenguajes, separe el calculo de la regla de Simpson de la distribucion normal.
* Instrucciones de la Tarea2La anterior ecuacion de Simpson es una forma simplificada de la ecuacion A5 del libro, pagina 518.
20
Usando el proceso PSP1.1, termine la fase de planeacion para la tarea 5A.
Cuando usted haya concluido la planeacion, revise su trabajo con el instructor.
Despues que su plan haya sido revisado, termine la tarea usando el PSP1.1.
Cuando haya terminado la fase de postmortem, entregue al instructor su paquete de tarea, codigo fuente y
resultados de prueba al instructor en el siguiente orden.
resumen de plan de proyecto PSP1.1
reporte de pruebas
forma PIP
plantilla de estimacion de tamano
hoja PROBE
bitacora de registro de tiempo
bitacora de registro de defectos
lista de programa fuente
resultados de las pruebas
21
1.5.6. TAREA 6
* Requerimientos del Programa 6A
Usando el formato para PSP 1.1 escribimos un programa para calcular los intervalos de prediccion del 70
% y del 90 % de las LOC´s nuevas y modificadas estimadas, dado un conjunto de datos historicos de tamano
y un estimado de LOC de objeto.
Usamos la regla de integracion de Simpson del programa 5 para calcular el valor de la distribucion t.
Use una lista ligada para almacenar los datos historicos.
* Intervalo de Prediccion
El intervalo de prediccion proporciona un rango de probabilidad alrededor del estimado.
Un intervalo de prediccion de 70% da el rango dentro del cual caeran el 70 % de los estimados.
No es un pronostico, solo una expectativa.
Solo aplica si el estimado se comporta como los datos historicos.
Se calcula a partir de los mismos datos utilizados para calcular los parametros de regresion. Par calcular el
intervalo de prediccion, realizamos los siguientes pasos:
1. Lee los datos historicos x´s y y´s.
2. Calcule β0 y β1.
3. Lea su estimado Xk.
4. Calcule una proyeccion como Yk = β0 + β1 ∗Xk.
5. Calcule el rango para un intervalo de 70 %.
6. Calcule el UPI = Yk + Rango(70%).
7. Calcule el LPI = Yk −Rango(70%).
8. Repita los pasos 5 al 7 para el rango de 90%.
9. Imprima sus resultados.
22
* La formula para el calculo del rango de prediccion es:
Range = t(α/2, dof)σ
√1 +
1n
+(xk − xavg)2∑ni=1 (xi − xavg)2
(1.4)
donde
x es el tamano de los datos historicos.
n es el numero de puntos de los datos historicos.
t(α/2, dof)
La formula para calcular la desviacion estandar es:
σ =
√√√√(1gl
)n∑
i=1
(yi − β0 − β1xi)2 (1.5)
donde
x son los datos historicos de tamano estimado de objetos
y son los datos historicos de tamano nuevo y modificados reales.
β0 y β1 son los parametros de regresion lineal de los datos x´s vs y´s.
gl es el numero de los grados de libertad de los datos, el cual es n-2.
Encontrando t70(α/2, n− 2)
,35 =Γ( (n−1)
2 )
((n− 2) ∗Π)1/2Γ( (n−2)2 )
∫ t70(α/2,(n−2))
0
(1 +u2
(n− 2))−(n−1)
2 du (1.6)
donde
n es el numero de miembros de x.
Γ(x) = (x− 1)Γ(x− 1),Γ(1) = 1, y Γ(1/2) = Π1/2.
La distribucion t
Es parecida a la distribucion normal.
23
Tiene colas muy gruesas.
Es usado en estimados de parametros estadısticos para datos limitados.
Calculando el valor de t
Para calcular el valor de t(α/2, n− 2)
Inicie con un valor de prueba de 1 para el lımite superior y calcule el valor de la integral.
Compare el resultado con el valor deseado.
1. Si el resultado de la integracion es demasiado grande, tome un lımite superior de prueba mas grande.
2. Si el resultado de la integracion es demasiado grande, tome un lımite superior mas pequeno.
Haga la integracion de prueba sucesivas hasta que el valor de la integracion este dentro de un error
aceptable, digamos 0.00002.
Para 70%, integre para tener 0.35 (0.85-0.5).
Para 90%, integre para tener 0.45 (0.95-0.5).
Una forma para hacer el calculo es la siguiente:
1. Inicie con un valor de prueba t digamos 1.
2. Haga una integral inicial y pruebe revisar si proporciona el valor apropiado; si no, continue.
3. Si es muy bajo, sume d = 0,5 al valor de prueba t.
24
4. Si es muy alto, reste d=0.5 al valor de prueba t.
5. Integre de nuevo y pruebe si el resultado esta dentro del error aceptable, si no, continue.
6. Si es muy bajo, ajuste d; sume d al valor de prueba t.
7. Si es muy alto, ajuste d; reste d al valor de prueba t.
8. Repita pasos 5-7.
Las reglas para ajustar d son las siguientes:
1. En tanto como las pruebas de error del resultado, proporcione el mismo signo del error, deje d sin
cambio.
2. Siempre que cambie el signo del error, divida d entre 2.
25
1.5.7. TAREA 7
* Objetivos del Taller:
Despues de este taller, usted
comprendera los requerimientos del programa 7A
habra terminado la planeacion del programa 7A
diseno conceptual
estimado de tamano
estimado de recursos
estimado de defectos
* Requerimientos del Programa 7A
Usando el PSP2, escriba un programa que calcule la correlacion entre dos series de numeros y calcule la
significancia de esa correlacion.
Utilice la rutina de integracion de Simpson del programa 5A para calcular los valores de la distribucion t.
Almacene los datos en una lista ligada.
Pruebe el programa utilizando las LOC nuevas y modificadas reales como los datos x y las horas de
desarrollo como los datos y.
26
Numero de elemento LOC nuevas y modificadas reales Horas de desarrollo
n x y
1 186 15,0
2 699 69,9
3 132 6,5
4 272 22,4
5 291 28,4
6 331 65,9
7 199 19,4
8 1890 197,7
9 788 38,8
10 1601 138,2
Totales 6389 603,2
Determine la correlacion y significancıa entre las LOC nuevas y modificadas y el tiempo de desarrollo real de
sus tareas a la fecha.
Determine la correlacion y significancia entre las LOC nuevas y modificadas estimadas y el tiempo de
desarrollo real de las tareas 2A a la 6A.
Prepare y entregue un reporte de pruebas que incluya estos datos.
Prueba Valor Esperado Valor Real
r t 2 ∗ (1− p) r t 2 ∗ (1− p)
Tabla D12 0,9443 9,0335 1,80 ∗ 10−5
LOC Reales VS Tiempo de Des. NA NA NA
LOC Estimadas Vs Tiempo de Des. NA NA NA
* Uso de la Correlacion
La correlacion rxy puede ir de +1 to -1.
Cerca de +1 implica una fuerte relacion positiva; cuando x se incrementa y se incrementa.
Cerca de -1 implica una fuerte relacion negativa; cuando x se incrementa y se decrementa.
Cerca de 0 implica que no tienen relacion.
27
La correlacion es utilizada en el PSP para juzgar la calidad de la relacion lineal en varios datos historicos
del proceso que son utilizados para la planeacion.
Para este proposito, usamos el valor de la relacion rxy al cuadrado, o r2.
Si r2 es: La relacion es:
0,9 ≤ r2 Predictiva; usela con gran confianza.
0,7 ≤ r2 < 0,9 fuerte y puede ser usado para planeacion.
,5 ≤ r2 < ,7 adecuada para planeacion, pero con cuidado,
r2 < ,5 no es confiable para propositos de planeacion.
* Calculo de la Correlacion
La formula para calcular el coeficiente de correlacion r es:
r(x, y) =n
(∑ni−1 xiyi
)−
(∑ni−1 xi
) (∑ni−1 yi
)√[n
(∑ni−1 x2
i
)−
(∑ni−1 xi
)2] [
n(∑n
i−1 y2i
)−
(∑ni−1 yi
)2] (1.7)
donde:
x y y son dos conjuntos de datos por parejas.
n es el numero de sus miembros.
* La Prueba de la Significancia
La prueba de significancia determina la probabilidad que una correlacion fuerte sea por casualidad y por lo
tanto no tenga significancia practica. Recuerdese que una correlacion fuerte puede ser solo por coincidencia,
especialmente cuando los datos son escasos. Por ejemplo, un conjunto de datos con solo dos puntos siempre
tendra r2 = 1, pero esta correlacion no es significativa.
La prueba de significancia usa la distribucion t.
28
* Calculo de la Significancia
El calculo de la significancia consiste de tres pasos.
Calcule el valor de t. donde:
r(x, y) es la correlacion n es el numero de puntos
t =|r(x, y)|
√n− 2√
1− r(x, y)2(1.8)
Encuentre la probabilidad p integrando numericamente la distribucion t para n - 2 grados de libertad,
de -∞ a t.
Calcule la cola de la distribucion, 2 ∗ (1− p).
* Interpretnado la Significancia
Una area en la cola ≤ 0,05 se considera una evidencia fuerte que existe relacion.
Una area en la cola ≥ 0,2 se considera que la relacion es debida a la coincidencia.
Instrucciones de la Tarea
29
Usando el proceso PSP2, termine la fase de planeacion para la tarea 7A.
Cuando haya terminado la planeacion, revise su trabajo con el instructor.
Despues que su plan haya sido revisado, termine la tarea usando el PSP2.
Cuando haya terminado la fase postmortem, entregue su paquete de la tarea, codigo fuente y resultados
de prueba al instructor en el siguiente orden.
Resumen de plan de proyecto PSP2
reporte de pruebas
listas de revision de diseno
listas de revision de codificacion
forma PIP
plantilla de estimacion de tamano
hoja PROBE
bitacora de registro de tiempo
bitacora de registro de defectos
listado del programa fuente
30
1.5.8. TAREA 8
* Despues de este taller, usted
comprendera los requerimientos del programa 8A
habra concluido la planeacion del programa 8A
- diseno conceptual
- estimado de tamano
- estimado de recursos
- estimado de defectos
* Requerimientos del Programa 8A
Usando del PSP2.1, escriba el programa 8A para que ordene una lista ligada de n pares de numeros reales
en orden descendente.
Proporcione la capacidad de ordenar cualquier campo de la pareja de datos.
Pruebe el programa usando los datos en las dos columnas de la derecha de la tabla D14, pagina 761, del
texto. Realice dos ordenamientos, uno para cada campo.
Entregue un reporte de pruebas que describa ambos resultados.
* Ordenamiento por Insercion
Considerando dos listas ligadas,realizaremos el oredenamiento por insercion.
El algoritmo de ordenamiento por insercion ordena al encontrar la posicion ordenada correspondiente a un
elemento de dato, entonces inserta el elemento de dato en la lista de datos en esa posicion.
31
* Instrucciones de la Tarea
Usando el proceso PSP2.1, termine la fase de planeacion para 8A.
Cuando haya terminado la planeacion, revise su trabajo con el instructor.
Despues que su plan haya sido revisado, termine la tarea utilizando el PSP2.1.
Cuando usted haya terminado la fase de postmortem, entregue su paquete de tarea, codigo fuente y
resultados de prueba al instructor en el siguiente orden.
Resumen de plan de proyecto PSP2.1
reporte de pruebas
listas de revision de diseno
listas de revision de codigo
forma PIP
plantilla de estimacion de tamano
hoja PROBE
plantilla de escenario operacional
plantilla de especificacion funcional
plantilla de especificacion de estados
plantilla de especificacion logica
bitacora de registro de tiempo
bitacora de registro de defectos
listado del programa fuente
32
1.5.9. TAREA 9
Requerimientos del programa 9A
Usando el PSP2.1, escriba el programa 9A para calcular el grado al cual una cadena de n numeros reales
es normalmente distribuida.
Use la rutina de untegracion de Simpson´s del programa 5A para calcular los valores de la distribucion
X2.
Asuma n > 20 y siempre un multiplo de 5.(nota: se puede asumir n = 50).
Use el programa 8 para ordenar los nımeros de forma ascendente.
Prueba X2 para la normalidad
La prueba X2 para la normalidad determina que tan probable es que un conjunto de datos tenga una
distribucion normal. Se hace para comparar la estructura de un conjunto de datos con el de una distribucion
normal ideal.
Realizamos esto dividiendo la distribucion normal en segmentos de igual area y comparando el actual
numero de puntos del conjunto de datos a probar con el numero de una distribucion normal ideal.
Los pasos de la prueba X2 son como sigue:
1. Ordene el conjunto de datos en orden ascendente.
2. Normalice el conjunto de datos.
Primero, calcule la desviacion estandar, usando n-1
σ =
√√√√ 1n− 1
n∑i=1
(xi − xavg)2 (1.9)
Entonces, transforme cada xi a una zi normalizada
zi =(xi − xavg)
σ(1.10)
3. Divida la distribucion normal en algunos segmentos S, donde
33
nS ≥ 5
S > 3
S2 ≥ n
Para este problema, S = 10 satisface estos requerimientos.
4. Determine cuantos elementos de la distribucion normal caerıan en cada segmento, Ni. Normalmente,
esto es nS ; en este caso es 5.
5. Determine cuantos elementos del conjunto de datos normalizados caen en cada segmento, ki.
6. Calcule el valor Q para los segmentos.
Q =S∑
i=1
(Ni − ki)2
Ni(1.11)
7. Calcule la probabilidad p de la distribucion X2 para S − 1 grados de libertad (dof) al integrar de 0 a
Q.
p =1
2( dof2 )Γ(dof
2 )
∫ Q
0
u( dof2 )−1e(−u
2 )du (1.12)
Nota: La ecuacion anterior para X2 difiere de la ecuacion A7, pagina 518, por
Sustituir dof por n .
Sustituir Q por x.
8. Calcule la cola de la distribucion como 1− p.
9. Examine 1− p para interpretar los resultados.
1− p < 0,05 es generalmente considerado suficiente para rechazar que ajusta.
1− p > 0,2 es generalmente considerado suficiente para aceptar que ajusta.
Valores intermedios indican grados intermedios de ajuste.
34
1.5.10. TAREA 10
Requerimientos del programa 10A
Usando PSP 3, realice el programa 10A para calcular, los parametros de regresion multiple (β0, β1, β2, β3).
Lo primero que se va a realizar es, hacer un estimado de las entradas previstas por el usuario. Y
determine los intervalos de prediccion del 70 y 90 por ciento a ser estimados.
Use ademas una lista ligada para almacenar los datos y el metodo de integracion de Simpson del
programa 5A para calcular la distribucion t.
Calculando los parametros de regresion multiple
La regresion multiple proporciona un camino para estimar los efectos de multiples variables cuando no es
posible separa los datos.
A continuacion se muestra en una serie de 13 pasos de como podemos calcular la regresion multiple.
1. Use la siguiente formula de regresion multiple, para calcular el valor del proyecto:
zk = β0 + wkβ1 + xkβ2 + ykβ3 (1.13)
2. Encontrar los parametros BETA resolviendo el siguiente sistema de ecuaciones lineales:
β0n + β1
n∑i=1
wi + β2
n∑i=1
xi + β3
n∑i=1
yi =n∑
i=1
zi (1.14)
β0
n∑i=1
wi + β1
n∑i=1
w2i + β2
n∑i=1
wixi + β3
n∑i=1
wiyi =n∑
i=1
wizi (1.15)
β0
n∑i=1
xi + β1
n∑i=1
wixi + β2
n∑i=1
x2i + β3
n∑i=1
xiyi =n∑
i=1
xizi (1.16)
β0
n∑i=1
yi + β1
n∑i=1
wiyi + β2
n∑i=1
xiyi + β3
n∑i=1
xiyi =n∑
i=1
yizi (1.17)
35
3. Cuando calcules el valor de los terminos, obtendras el siguiente sistema de ecuaciones lineales
6β0 + 4, 863β1 + 8, 761β2 + 654β3 = 714
4863β0 + 4, 521, 899β1 + 8, 519, 938β2 + 620, 707β3 = 667, 832
8, 761β0 + 8, 519, 938β1 + 21, 022, 091β2 + 905, 925β3 = 1, 265, 493
654β0 + 620, 707β1 + 905, 925β2 + 137, 902β3 = 100, 583
4. Diagonalizando por el metodo de Gauss se elimina sucesivamente un parametro a la vez, dando como
resultado:
6β0 + 4, 863β1 + 8, 761β2 + 654β3 = 714
0β0 + 580, 437,5β1 + 1, 419, 148β2 + 90, 640β3 = 89, 135
0β0 + 0β1 + 4, 759, 809β2 + 905, 925β3 = 5, 002,332
0β0 + 0β1 + 0β2 + 37, 073,93β3 = 100, 583
5. Resuelva para los terminos Beta
β0 = 6,7013
β1 = 0,0784
β2 = 0,0150
β3 = 0,2461
6. Determine el intervalo de prediccion resolviendo para el rango con la siguiente ecuacion.
(1.18)
range = t(α
2, n− 4)σ
√1 +
1n
+(wk − wavg)2∑
(wi − wavg)2+
(xk − xavg)2∑(xi − xavg)2
+(yk − yavg)2∑
(yi − yavg)2
7. Calculamos la varianza como sigue:
σ2 = (1
n− 4)
n∑i=1
(zi − β0 − β1wi + β2xi − β3yi)2 (1.19)
36
8. La desviacion estandar es la siguiente:
σ =√
σ2 =√
513,058 = 22,651 (1.20)
9. Los terminos dentro de la raız cuadrada que determinan el rango son:
(Newk −Newavg)2 = (wk − wavg)2 (1.21)
= (650− 810,5)2 = 25, 760,25
(Reusek −Reuseavg)2 = (xk − xavg)2 (1.22)
= (3, 000− 1, 460,17)2 = 2, 371, 076,43
(Modifyk −Modifyavg)2 = (yk − yavg)2 (1.23)
= (155− 109)2 = 2, 116
10. el valor de la distribucion t, para el intervalo de la prediccion del 70% con n = 6 y p = 4 es encontrado
bajo la columna del 85 % y dos grados de libertad. Y el valor es: 1.386
11. Evaluamos la raız cuadrada
Range = 1,386 ∗ 22,651√
1 + (1/6) +25, 760,25580, 437,5
+2, 371,076,438, 229, 571
+2, 11666, 616
Range = 38,846
12. El estimado final es:
z = 6,71 + 0,0784 ∗ 650 + 0,0150 ∗ 3, 000 + 0,2461 ∗ 155 = 140,902horas
13. El intervalo de prediccion es de: 140,902±38,84 horas. O lo que es lo mismo: 102.06 horas como maximo.
37
1.6. RESUMEN DEL PLAN DEL REPORTE R5
1.6.1. GUIA DEL REPORTE R5
38
1.6.2. RESUMEN DEL PLAN DEL REPORTE R5
39
1.6.3. BITACORA DE REGISTRO DE TIEMPO R5
40
1.6.4. ANALISIS DE LA EXACTITUD DE ESTIMACION DE LOC
¿Alcance las metas propuestas en el reporte R4 para la estimacion de tamanos? ¿Porque si
o porque no?
No, La meta propuesta en el reporte R4 no ha sido cumplida ya que a partir de la tarea 6 se sobrestimo
la cantidad de loc’s requeridas para cada programa, es decir en lugar de mejorar se aumento el error al hacer
la estimacion.
Podemos apreciar en la grafica 1 de LOC’s Estimadas y Actuales VS Programas,con las lıneas vemos el
comportamiento que tuvieron los
calculos estimados en las tareas realizadas y los puntos la distancia entre las Loc’s Estimadas y las LOC’s
Actuales.
Grafica 1.
41
El error absoluto vario en todas las tareas, como podemos ver en la grafica 2, iniciamos con un -23.86%
(subestimados), en la tarea 4 subimos hasta un 27.78 % (sobreestimados), en la tarea 5A sigue aumentando
el calculo sobreestimado,a partir de la tarea 6 continuamos en total
desequilibrio ya que nos vamos en picada hasta llegar a -31% en la tarea 10. A pesar de que mi estimado
calculado por la hoja exel no fueron muy
exactos, en mis calculos propios cada vez se acercaba mas a los reales por o cual estoy muy satisfecha con mi
trabajo realizado durante este proyecto.
Grafica 2.
42
¿Como fue mi estimado con respecto a los intervalos de prediccion del 70 % y del 90 %?
A partir de la tarea 7 utilizamos el metodo A en la hoja de EXCEL Probe el cual solo nos indica el rango
del 70% el cual es de 107. En la tarea 10 si sobrepase el rango, dado que , en los estimados de la hoja EXCEL
Summary la diferencia entre el real y el estimado es de 144 Loc’s, en las tareas anteriores la diferencia de el
estimado y el real es menor al rango, lo cual indica que esta dentro de lo aceptable.
¿Que tendencia tuve acerca de sobreestimar o subestimar a los objetos?
Mi tendencia es sobreestimar, tratando de considerar los metodos de cada clase, lo que recibe cada clase
como parametro y los parametros que recibe cada metodo, tratando de valorar que cuando una operacion
hace demasiados calculos lo divido en secciones.
¿Que tendencia tuve al calcular mal el tamano relativo de los objetos?
Que quizas consideraba en el objeto mas calculos de los que en
realidad se requerıan para hacer mas comprensible la documentacion de cada objeto. Y la division de metodos.
43
Para calcular un tamano relativo ¿necesito usar mi informacion historica de los objetos?
¿Puedo?
Claro que si, conforme vamos avanzando ya sabemos mas o menos cuantas Loc’ requerimos para crear
ciertos objetos, un ejemplo son:
Aplicacion que por lo general administra el uso de las clases, imprimir que despliega los resultados requeridos,
y si vamos a utilizar metodos dentro de dicha clase, sabemos especıficamente por datos anteriores los tamanos
de los metodos.
Basado en mi informacion historica de la estimacion de tamano, ¿cual es una meta real de
la estimacion de tamano para mi?
El poder estimar mis programas con un rango de 20 a 60 Loc’s.,Considero que no hay mucha diferencia
si este rango es sobreestimado o subestimado dado que es pequeno.
¿Que puedo cambiar en el proceso que me ayude a alcanzar las metas?
Considero que el proceso es el adecuado, lo que hizo que se tuvieran estas fallas es la falta de experiencia
en realizar dicho proceso. Le mayorıa de los programadores, ingenieros, licenciados, etc ... no estamos acos-
tumbrados a trabajar con una metodologıa tan buena que nos forza a ser unos programadores organizados,
y a tener una buena administracion de tiempo. Y conforme trabajemos con el proceso se ira mejorando.
44
1.6.5. ANALISIS DE LA EXACTITUD DE ESTIMACION DE TIEMPO
¿Alcance las metas propuestas en el reporte R4 para la estimacion de tiempos? ¿Porque si
o porque no?
Considero que si se mejoro dado que en los primeros programas se subestimaba el tiempo y el los siguientes
se fue variando entre el subestimado y el sobreestimado. El la tabla 1 podemos observar que la diferencia o
error de exactitud es mınima a partir de la tarea 6 A y en la tarea 10 A se disparo a un error muy grande.
Tabla 1.
45
En la grafica 3 podemos apreciar el comportamiento que existe en el tiempo subestimado y el tiempo
sobreestimado con respecto a cada programa con respecto al tiempo real.
Grafica 3.
¿Como fue mi estimado de prediccion con respecto a los intervalos de prediccion del 70 % y
del 90%?
Como ya habıamos mencionado que a partir de la tarea 7 utilizamos el metodo A en la hoja de EXCEL
Probe el cual solo nos indica el rango del 70 % el cual es de mas/menos 70. Solo en las tareas 4A , 6 A y en
la 7 A se logro estar dentro del rango, en las tareas faltantes nos salimos del rango. A partir de la tarea 7 A
se introdujeron unas nuevas fases de revision de las cuales no se tenıa considerado el tiempo que tardarıamos
en dichas fases.
46
Mi productividad ¿es estable? ¿Por que si o por que no?
Yo considero que mi productividad no fue estable.La productividad mejoro demasiado, de la tarea 3 a la
6 mi productividad aumento hasta 46.2 Loc’s por hora, pero al tener mas fases por analizar mi productividad
fue
variando, en la tarea 7 bajo hasta 27.54 Loc’s por hora en la tarea 8 volvio a subir hasta 48.49 Loc’s por
hora, en la nueve bajo y en la diez volvio a subir.
Lo antes explicado lo podemos ver en la grafica 4. de una forma mas detallada.
Grafica 4.
¿Como puedo estabilizar mi productividad?
Como la productividad es valorada desde la planeacion hasta el
postmortem, debemos tener un mejor manejo en las plantillas y en las revisiones para ası poder realizar un
mejor un tiempo de estimacion, tambien hay que tener mas practica al hacer el llenado del proceso EXCEL
y ası lograr tener una productividad estable.
¿Como fueron afectados mis estimados de tiempo por la precision de mis estimados de tamano?
(¿Me ayudo la multiple regresion?)
No me afecta tanto la precision de los estimados de tamano ya que
como mencione antes la productividad es valorada desde la planeacion hasta el posmotem y no solo en la
47
codificacion, en las graficas representamos todo el trabajo realizado en cada programa en Loc’s por hora que
muchos podrıan interpretar que es el tiempo de codificacion, si fuese ası entonces si afectarıa mi estimado de
tamano pero como no lo es, no afecta demasiado.
Basado en mi informacion historica de la estimacion de tiempo, ¿cual es una meta real de
la estimacion de tiempos para mi?
Una meta, serıa lograr que mi prediccion de tiempo este dentro de un rango de 60 minutos. Para que en
un futuro, al estar laborando con un cliente se le pueda dar un tiempo mas exacto para no quedar mal en la
fecha de entrega y ası lograr que vuelvan a utilizar nuestro servicios.
¿Que puedo cambiar en el proceso que me ayude a alcanzar las metas?
No es un cambio, sino practicar y ambientarse con el proceso,
sobretodo en la parte de la planeacion en la cual se introdujeron unas plantillas que para mi en lo particular
3 de ellas son difıciles de llenar y les invertı mucho tiempo que no estaba considerado.
48
1.6.6. ANALISIS DE DEFECTOS Y DEL YIELD
¿Que tipo de defectos inyecte durante el diseno y codificacion?
Los errores inyectados en diseno a partir de la tarea 7 fueron del tipo:
20 (Sintaxis), 40 (Asignacion),70 (Datos) y 80 (Funcion), algunos errores incrementaron dado a la falta de
informacion del lenguaje utilizado en la programacion.
Grafica 5.
49
Los errores inyectados en codificacion a partir de la tarea 7 son:
20 (Sintaxis), 40 (Asignacion),70 (Datos) y 80 (Funcion), estos errores aumentaron a comparacion del R4
dado a la falta de concentracion al realizar la codificacion, confiando que se iba a hacer una revision muy
detallada antes de la compilacion.
Grafica 6.
50
¿Cual fue la tendencia de los errores por KLOC encontrados en las revisiones, compilacion
y pruebas?
Los errores encontrados en la revision de Diseno fue muy buena, ya que se encontraron los errores que al
compilar nos hubiera causado problemas, dado que la mayorıa de los errores eran del tipo de asignaciones.
Grafica 7.
51
Los defectos encontrados en la revision del codigo ha sido de mucha ayuda, porque cuando compilamos
no se han encontrado errores, eso quiere decir que este metodo de la revision del codigo ha sido perfecto.
Grafica 8.
52
Gracias a las revisiones podemos apreciar en la grafica 9 que en compilacion no se encontraron errores.
Grafica 9.
En la parte de los defectos encontrados en pruebas fue casi perfecto, salvo por un error que se cometio en la
codificacion y no lo vimos en la revision y afectaba los resultados esperados.
Grafica 10.
53
En general, la tendencia es positiva ya que nos ayuda a tener una mejor calidad de programas.
¿Cual es la tendencia evidente en el total de defectos por KLOC?
La tendencia de introducir defectos ha bajado mucho comparado de cuando empezamos con este proceso,
empezamos con 100defectos/KLOC y hemos llegado hasta 45defectos/KLOC, aunque en algunos programas
llego a subir hasta 200defectos/KLOC. Todavıa se pueden mejorar esta tendencia conforme a la practica y
atencion al crear y codificar cada programa.
Grafica 11.
¿Cuanto es mi tasa de defectos eliminados (defectos eliminados por hora) comparado con
la revision de diseno, revision de codigo, compilacion y pruebas?
En la grafica 12 observamos que mi tasa de defectos eliminados es buena, conforme avanzamos en el
proyecto se fueron eliminando errores; por lo cual la tasa de errores encontrados es de 9.3 en general, esto
se puede entender mejor cuando sabemos que dependiendo de la cantidad de Loc son la cantidad de errores
encontados. A partir de la tarea 7 lo que es compilacion y pruebas estan entre el 95 % al 100 % libre de
errores.
54
Grafica 12.
¿Cual es la influencia en mis defectos eliminados para las revisiones de diseno, revisiones de
codigo y compilacion contra pruebas unitarias?
La influencia es muy importante, para ası mejorar la calidad de diseno y por lo tanto mejor calidad del
programa, se dieron errores que no se habıan presentado antes por mejorar la calidad y presentacion de
resultados mostrados en pantalla de dicho programa, por lo cual al realizar las pruebas no se toma mucho
tiempo ya que no hay errores, El unico error que tuve despues de las revisiones y compilacion, fue que un
dato introducido en un archivo que se utilizarıa para las pruebas estaba invertido, pero los archivos de prueba
no se consideraron en las revisiones.
55
¿Como son las tasas de revision (LOC revisadas/hora) para revision de diseno y codificacion?
Como podemos ver en la tabla 3 las tasas de Diseno son muy altas, en el caso de tareas 9 disminuye un
poco y en la tarea 10 vuelve a subir. En la tasa de Codificacion vamos mejorando ya que se estan revisando
99 lıneas por hora aproximadamente
Tabla 2.
Hay alguna relacion entre el yield y la tasa de revision para las revisiones de diseno y codigo?
No estoy muy segura, si observamos la grafica 3.9 observamos que dependiendo de la cantidad de Loc’s
revisadas por hora mejora el rendimiento de los programas, el rendimiento es del 95 % al 100 % en las ultimas
tareas.
Grafica 13.
56
Ahora si vemos la tabla 4 los datos mostrados no indican ninguna relacion.
Tabla 3.
¿Hay alguna relacion entre el yield y el A/FR para los programas 7A al 10A?
Si decimos que existe una relacion entre el rendimiento y la tasa de revisiones, entonces tambien hay una
relacion entre el rendimiento y el radio A/FR, debido a que se esta tomando en cuenta el tiempo de revisiones
( (Diseno + codigo)/tiempo total) y el tiempo de compilacion y pruebas, aunque uno se compensa con otro,
es decir, el tiempo que se invierte en las revisiones es eliminado en compilacion y pruebas.
En la tabla 5 los datos presentados no nos muestra ninguna relacion.
Tabla 4.
57
1.6.7. ANALISIS DE CALIDAD
¿Alcance las metas propuestas en el reporte R4 para la calidad? ¿Porque si o porque no?
Si, aunque no se vea reflejado en los resultados de los errores, se que he mejorado mucho, ya que los
errores encontrados, la mayorıa no se habıan visualizado antes, entonces no se repitieron los mismos siempre,
hablando de la calidadse mejoro casi un 100 % ya que a la hora de compilar ya no se tuvieron errores y en
pruebas solo uno y no era del programa, sino de los datos metidos en el archivo a leer.
¿Como puedo juzgar la calidad de mi producto final en el ciclo de desarrollo?
Bueno, ya que se logro la meta de no encontrar errores en codificacion y pruebas, conforme a la cantidad
de errores introducidos tambien fueron disminuyendo aun que pueden reducirse mas y eso se lograra conforme
nos sigamos familiarizando con el lenguaje y aprender a trabajar con distracciones, ya que en un trabajo,
siempre habra alguien que nos distraiga..
¿Estoy encontrando mis defectos en las revisiones de diseno y codificacion? ¿Por que si o por
que no?
Si, A partir de la tarea 7 fue sorprendente que a la hora de compilar no encontrara un solo error y al hacer
las pruebas encontraba los resultados esperados, esto se debe que cuando se hacen las revisiones se hacen de
una forma minuciosa y sin interrupciones y tambien que contamos con una buena guıa de chequeo.
¿Que puedo hacer para que mi proceso sea mas efectivo y mas eficiente?
Practicarlo, es decir, ponerlo en practica en la vida diaria. Conforme se va uno familiarizando con el
proceso para diferentes acciones lo empieza a manejar de manera inconsciente. Independientemente de que
el proceso sea bueno hay que evitar cometer errores, para ası tener un mejor rendimiento y calidad de cada
actividad que se pone en practica con el proceso.
Basado en mi informacion historica, ¿cuales son las metas de calidad para mi?
En primera una de mis metas es: no encontrar errores en mi diseno, es decir, especializarme en el diseno
hasta el punto que al menos cuando cree el diseno esta mas que entendible el programa a realizar y ası crearlo
sin errores.
En segundo lugar me gustarıa bajar la cantidad de errores introducidos a la hora de codificar, sobre todo
los de sintaxis y no comerme renglones de instrucciones que a su vez se convierte en un error de tipo de datos.
El rango seria de 15 Loc/hora.
58
En ultimo lugar me gustarıa poder codificar mas loc’s por hora es decir mejorar mi productividad hasta
una 75 Loc’s por hora como mınimo. ¿En que debo cambiar mi proceso para que mis metas se
cumplan?
El proceso es bueno tal cual es, para mi la que fallo fui yo, por lo cual la que debe tener un cambio soy
yo. Ası como familiarizarme con el lenguaje, practicar mas, poner mas atencion y no tener distracciones a la
hora de crear el diseno y de codificar, organizar de una manera mas eficiente mis tiempos para la utilizacion
del proceso y por ultimo, tener un mejor manejo en las plantillas utilizadas en el diseno.
59
1.7. Criterios de Evaluacion
Su reporte de proceso debe ser
Completo.
Legible.
En el orden especificado.
Sus datos de proceso, incluyendo calculos de tamano, deben ser
Exactos.
Precisos.
Auto-consistentes.
Tambien, ¡los resultados de prueba, no el codigo, son evaluados!
60
1.8. Sugerencias
Recuerde, usted deberıa terminar esta tarea el dıa de hoy.
Mantenga sus programas lo mas sencillos que se pueda. Usted aprendera igualmente de los programas
pequenos que de los grandes.
No dude en copiar o ajustar los materiales de PSP.
Hagalo bien a la primera. Si no esta seguro, resuelvalo. El software no es una actividad solitaria, de tal
forma que no tiene porque trabajar aislado.
Sin embargo, usted debe producir sus propios estimados, diseno y codigo.
Usted puede hacer que otros revisen su trabajo y usted puede modificarlo por ello.
Usted deberıa anotar en su reporte de proceso cualquier ayuda. Incluya el tiempo de revision que usted
y sus companeros dediquen y registre los defectos encontrados.
61
Capıtulo 2
TSP
EQUIPO DE PROCESO DE
SOFTWARE
62
2.1. INTRODUCCION
En la actualidad la mayorıa de los aspectos de nuestra vida diaria se ven interconectados con los sistemas
de informacion especıficamente con las aplicaciones de software, mejor conocidos por la gran mayorıa como
”programas de computadora”, dichas aplicaciones nos ayudan en las tareas que se realizan todos los dıas
en distintos sectores de la sociedad, como pueden ser negocios, servicios publicos, educacion entre otros, es
por esta razon que un fallo en dicho software provoca una infinidad de problemas o en el peor de los casos,
grandes perdidas economicas.
Para evitar dichas contrariedades , en los ultimos anos se han realizado grandes esfuerzos para producir
las aplicaciones con mayor eficiencia, en menor tiempo de desarrollo y con mayor calidad, para cumplir estos
objetivos es necesario aplicar un enfoque sistematico, disciplinado y cuantificable al desarrollo, operacion y
mantenimiento de software, es decir la aplicacion de la Ingenierıa en el software.
El termino de Ingenierıa de Software (IS) aparece a principios de la decada de los 60’s, con la denominada
crisis del software”, a partir de dicha crisis la IS comenzo a profesionalizarse para poder atacar adecuadamente
los problemas asociados al desarrollo de las aplicaciones.
Dentro de estos problemas podemos enumerar los siguientes: naturaleza intangible del software, dificultad
para lograr proyectos en tiempo y costos, dificultad de conocer un dominio de problema especıfico, falta de
planeacion, falta de preparacion y uno de los mayores problemas: la dificultad de hacer software de calidad.
A partir de la profesionalizacion del software se penso en resolver todos estos problemas mediante el uso de
metodologıas de programacion, herramientas CASE 1 , lenguajes de modelado, disciplina y uso de procesos.
Dentro de todos los procesos utilizados actualmente en del desarrollo de software podemos encontrar
los procesos de PSP (Personal Software Process) y TSP (Team Software Process), al ser procesos cuentan
con pasos definidos para administrar y controlar el proceso de desarrollo de aplicaciones, iniciando desde el
ambiente personal ,para poder llegar a la correcta formacion de un equipo disciplinado, hasta culminar en la
correcta planeacion y administracion de proyectos de desarrollo de aplicaciones.
En las secciones correspondientes se detallara mas a fondo cada uno de los dos procesos mencionados con
anterioridad y se espera que al final de la lectura usted pueda entender la importancia del uso de los mismos
para obtener un mejor desarrollo de aplicaciones y lo mas importante llegar a producir software de calidad
en tiempos y costos.
1 Computer Aided Software Engineering- Ingenierıa de Software Asistida por Computadora
63
2.2. OBJETIVOS
Aprender y ejercitar el proceso de software en equipo (TSP)
Comprender cada una de las fases del TSP para poder llegar a integrar el mejor equipo de trabajo para
cualquier proyecto a futuro.
na vez integrado el equipo, TSP nos ayudara en primer lugar a definir el trabajo a realizar, una vez
definido se podra planificar de la mejor manera y finalmente se realizara la asignacion del mismo de la
manera mas eficiente.
64
2.3. TALLER DE LANZAMIENTO TSP
El proceso TSP marca la realizacion de nueve juntas, en las cuales se tratan objetivos muy especıficos,
en cada una de ellas se llena una bitacora con las actividades realizadas y a continuacion se muestra los
resumenes de cada una de las ocho juntas.
2.3.1. Junta 1 del Taller de Lanzamiento
* Proposito: En esta junta, un director con el conocimiento correspondiente presenta el producto o
la entrega del producto a ser generado. El objetivo es proporcionar a todos los miembros del equipo un
entendimiento comun de lo que se espera del futuro proyecto.
Un director se reune con el equipo para describir las metas de la organizacion y responder las preguntas
del equipo.
* Lıder de la Presentacion: La presentacion es llevada por un director quien entiende el producto
deseado, lo que el cliente y usuarios previstos intentaran hacer con este producto y el tipo de producto que
la direccion desea generar.
* Resultado buscado: Despues de esta presentacion, el equipo deberıa apreciar los deseos de la direccion
y de los clientes/usuarios y sera capaz de proceder con la planeacion del desarrollo. El equipo sera capaz de
hacer mejores compromisos negocio/funciones/tecnologıa a lo largo del proyecto y generara un producto mas
deseable.
Objetivos del proyecto con la direccion.
* Sistema que controle costos de alimentos.
Logıstica de confeccion del menu.
Procedimientos.
Administracion del banquete: Registro, cotizacion, contratacion, consecucion del banquete.
65
* Atacar oportunidades de negocio:
Precios competitivos
Productos de alta calidad
Servicios de alta calidad
* Control sobre tienda comercializadora
Compras
Pedidos a proveedores
Control sobre sucursales
Servicio a domicilio: vıa telefonica y por internet.
Objetivos del proyecto con la comercializacion
* Parte publica
Portal web del restaurante: informacion general, informacion de contacto, reservaciones y solicitudes
disponible para el publico en general.
* Parte interna
Recetas (ingredientes, procedimiento, responsable).
Plan de realizacion de recetas diario, cantidad de ingredientes por numero de personas.
Posmortem de la realizacion de recetas: ganancias, recetas generadas.
Manejar un catalogo de insumos con sus entradas y salidas en la bodega.
Manejar todas las etapas del banquete,
Reportes y consultas del estado del almacen.
Reportes y consultas sobre las recetas, platillo(s) exitoso(s) y peor platillo.
66
A continuacion se mencionan las metas de la direccion que se tienen que cumplir para el proyecto:
Metas de la direccion del Proyecto
Minımas Medias Ideales
Control de las recetas Control de las recetas Control de las recetas
Procedimientos Procedimientos
Administracion del banquete Administracion del banquete
Control sobre tienda
comercializadora
Control sobre sucursales
Servicio a domicilio
67
2.3.2. Junta 2 del Taller de Lanzamiento
Los objetivos que se trataron en esta junta fueron los siguientes:
Revision de las metas de la direccion.
Una vez concluida la junta 1, el equipo reviso las metas de la direccion, una vez terminado con el analisis
se llegaron a concretizar las siguientes metas:
METAS DE DIRECCIONControl de los costos de los alimentos
Atacar las oportunidades de negocios
Control sobre tienda comercializadora
Control sobre sucursales
Controlar entregas a domicilio
Control de banquetes
Fecha de entrega (1 de Diciembre)
Disponer de un portal del restaurante
Incrementar las ventas
Disponer de un sistema facil de utilizar(desde cualquier punto)
Administrar entradas y salidas del almacen
Administrar los banquetes
Disponer de la logıstica para la confeccion de los menus
Administrar los pedidos a proveedores
68
Definicion de metas implıcitas.
A pesar de que la direccion dio al equipo sus metas explıcitas en la primer junta , se puntualizaron
aquellas metas que , tal vez, de manera inconsciente la direccion expuso al equipo y que son de vital
importancia para realizar, por ejemplo, una mejor estimacion de los tiempos de desarrollo. Al realizar
un amplio analisis se obtuvieron las siguientes metas implıcitas:
METAS IMPLICITASControlar la seguridad del sistema
Disponer del portal en cualquier momento (24Hrs., 365dıas)
Disponer de un portal del restaurante facil de mantener
Contar con un sistema cuyos tiempos de respuesta sean los adecuados
Contar con diferentes niveles de administracion del sistema
Contar con un sistema que realice pago en lınea
Establecimiento de las metas del equipo.
Aunque las metas que la direccion otorga al equipo son importantes, no se puede dejar a un lado aquellas
metas que el equipo desea llegar a cumplir, ya que influyen de manera directa en todo el proceso de
construccion de una nueva aplicacion y es por esta razon que nosotros como equipo de TSP nos hemos
planteado como metas los siguientes puntos:
METAS DEL EQUIPO
Ejercitar el TSP
Entregar un producto de calidad
Entregar el proyecto con los requerimientos mınimos
Crear nuestro propio estandar de codificacion
Tener jornadas de trabajo para el proyecto razonables
Evitar conflictos
Estas metas se encuentran registradas en la Forma GOAL del libro de trabajo de TSP.
69
Seleccion de los roles del equipo.
A pesar de que todo el equipo ha recibido el entrenamiento PSP es necesario designar el rol que
cada uno de los integrantes debe jugar dentro del mismo, ya que se esta trabajando en equipo. En
la siguiente tabla se pueden observar las personas asignadas a cada uno de los roles tanto como a la
persona responsable y al suplente de cada uno de ellos.
ROLES DEL EQUIPO RESPONSABLES
Lider oficial P Aida
del equipo A Armando
Administrador de la P Ricardo
Interfaz con el cliente A Julio
Administrador P Rafael
del Diseno A David
Administrador de P Oscar
Implementacion A Ricardo
Administrador de P Fabian
la Planeacion A Rafael
Administrador del P Edgar
Proceso A Fabian
Administrador de P Julian
la Calidad A Edgar
Administrador de P Julio
Soporte A Oscar
Administrador de P Armando
Pruebas A Julian
Donde: P Principal responsable del rol.
A Alternativa de la responsabilidad del rol.
70
Asignacion de la responsabilidad de seguimiento de las metas.
Como el punto lo indica, se tuvo que asignar a la(s) persona(s) responsable(s) de dar seguimiento a una
meta en especial, esto se hace para ver si se cumplen o no las metas mencionadas en puntos previos,
en caso de que no se esten cumpliendo tomar las adecuadas decisiones y/o acciones para poder cumplir
dichas metas.
A continuacion se enlistan las metas mas importantes para el equipo ası como el responsable de su
seguimiento:
Tabla de asignacion de la responsabilidad de seguimiento de las metas.
71
2.3.3. Junta 3 del Taller de Lanzamiento
Las actividades que se realizaron durante la junta 3 fueron:
Diseno Conceptual del producto restaurante LUCAS En esta etapa se definieron los principales com-
ponentes del producto,en base al analisis realizado por el equipo de desarrollo del sistema, se realizo el
siguiente modelo conceptual, el cual cumple con todos los requerimientos.
A: Altas B: Bajas C: Cambios
Estimacion gruesa del tamano de cada componente.
En este punto se realizo una estimacion de tamano de cada uno de los componentes escritos en el diseno
anterior, cabe senalar que esta la primera estimacion no se realiza detalladamente, resultando ser una
estimacion ”gruesa”, a continuacion se muestran los resultados de dicho aproximado de lıneas de codigo
por modulo:
72
Tabla de estimacion gruesa del tamano de cada componente.
Sistema Web restaurante: 400 Lıneas
Recetas Vs Insumos: 1200 Lıneas
Costo Recetas: 300 Lıneas
Recetas: 200 Lıneas
A: Altas recetas 500 Lıneas
B: Bajas recetas 350 Lıneas
C: Cambios recetas 600 Lıneas
Banquetes: 250 Lıneas
Lista Plantilla 500 Lıneas
Control de almacen: 200 Lıneas
A: Altas almacen 500 Lıneas
B: Bajas almacen 350 Lıneas
C: Cambios almacen 600 Lıneas
P: Pedidos 400 Lıneas
Seguridad: 800 Lıneas
Logıstica: 350 Lıneas
Cotizacion: 300 Lıneas
Registro: 600 Lıneas
Contratacion: 400 Lıneas
Total de lıneas de codigo: 800 Lıneas de codigo
Definicion de la estrategia de desarrollo del producto.
La estrategia elegida nos sirvio para registrar las dediciones estrategicas, ası como asignar las funciones
del producto dentro de los ciclos de desarrollo que mas adelante nos servirıa para un diseno de alto
nivel.
En la siguiente tabla se muestran los resultados, componentes o elementos principales del producto,
el numero de ciclos de desarrollo, tamano estimado (LOC’S) y horas de desarrollo del producto, que
fueron incluidos en cada ciclo.
Definicion del proceso de desarrollo Aquı se definio el proceso general de desarrollo hasta la entrega
final.
73
LOC del Ciclo Horas del Ciclo
Componente, Elemento o Caracterıstica 1 2 3 4 1 2 3 4
Recetas VS Insumos 700 500 23 17
Costo Recetas 300 10
Seguridad 200 200 200 200 7 7 7 7
Recetas 100 100 3 3
Altas recetas 500 17
Bajas recetas 350 12
Cambios recetas 600 20
La siguiente tabla muestra las principales actividades de cada fase.
1 Contador de LOCs WEB.
2 Seguimiento de defectos en EXCEL.
3 Revision de requerimientos.
4 Revision de diseno de alto nivel.
5 Check List de revision de requerimientos.
6 Check List de revision de diseno de alto nivel.
7 Check List de inspeccion de diseno de alto nivel.
8 Check List de inspeccion de codificacion.
9 Check List de inspeccion de requerimientos.
10 Check List de inspeccion de diseno de nivel detallado.
Los elementos mostrados anteriormente pueden ser utilizados como un punto de inicio y pueden posterior-
mente ser refinados conforme sea necesario.
Definicion del plan de desarrollo del producto En este punto se enlistaron los elementos del proceso que
se planearon desarrollar y/o modificar, se determinaron y registraron el numero de elementos y numero
de paginas a ser modificados y desarrollados nuevos, la fecha o fase en que se necesito, horas requeridas
para el desarrollo, modificacion, y la asignacion de cada ingeniero los elementos a desarrollar.
Definicion del plan de soporte Se revisaron las herramientas e instalaciones disponibles para el desarrollo
del producto.
74
LOC del Ciclo Horas del Ciclo
Componente, Elemento o Caracterıstica 1 2 3 4 1 2 3 4
Control Almacen 100 100 3 3
Altas Almacen 500 17
Bajas Almacen 350 12
Actualizacion Almacen 600 20
Pedidos 400 13
Banquetes 250 8
Logıstica 350 12
Cotizacion 300 10
Registro 600 20
Contratacion 400 13
Lista de Platillos 500 17
Restaurante 100 100 100 100 3 3 3 3
TOTAL 2500 3150 2850 300 84 105 94 10
Equipo
5 equipos en el LIS
5 equipos personales
Requerimientos
Word
STAR UML
Diseno
STAR UML
75
Codificacion
Ambiente Eclipse(3.3.1.1)
plug-in J2EE para eclipse
plug-in sub-version
Base de datos
MySQL 5.2
Pruebas
Word, Excel
Control de Versiones
subversion
Servidor
Tomcat 5
76
2.3.4. Junta 4 del Taller de Lanzamiento
Los objetivos que se trataron en la presente junta fueron:
Estimacion de tamano de cada elemento de la forma SUMS
Para cada uno de estos elementos el administrador de diseno guio al equipo para llevar acabo esta
tarea, la siguiente tabla muestra cada uno de los estimados para cada uno de los elementos del sistema
referente al numero de LOC‘s:
# de LOC’s estimado
Costos recetas 300
Seguridad 800
Recetas Vs. Insumo 1200
Recetas 200
Banquetes 250
Lista Platillos 500
Control Almacen 200
Altas Recetas 500
Bajas Recetas 350
Cambios Recetas 600
Logıstica 350
Cotizacion 300
Registros 600
Contratacion 400
Altas Almacen 500
Bajas Almacem 350
Cambios Almacen 600
Pedidos 400
Restaurante 400
En dicha forma (ver Anexo 2) tambien podemos encontrar los estimados para cheklist de revision de requerim-
ientos, ası como un cheklist de inspeccion de codifiacion, plan de prueba y reporte de las mismas, estandares de
diseno y codificacion, total de LOC´s del sistema, paginas de requerimientos, diseno de alto nivel, etc.
77
Producir el plan de tareas El siguiente objetivo de la junta es producir un plan de tareas detallado para la
duracion del proyecto, para cada una de estas tareas el administrador de planeacion guıa al equipo a determinar
el tiempo requerido para su elaboracion, para llevar a cabo esto se usaron datos sobre la tasa de produccion de
cada uno de los integrantes y mediante la media poder estimar su tiempo de elaboracion, los datos del plan de
tareas se guarda en la forma Schedule(ver anexo 9.2.3).
78
2.3.5. Junta 5 del Taller de Lanzamiento
El proposito de la junta 5 fue generar los siguientes entregables:
Producir el plan de calidad Se han establecido los datos de calidad las cuales son las siguientes:
• Tener como mınimo el 80% de las palntillas para el portal
• Tener como mınimo un 60% de los requerimientos
• Tener una seguridad para las transacciones del 100%
• Tener una densidad de defectos mınimos de 20 def/KLOC
• Y las jornadas de trabalo seran de 18 horas a la semana
El programa tendra 9400 LOC‘s, y la cantidad de defectos introducidos y eliminados es de 930. Los
ındices de calidad que deberan estar observando durante la realizacion del proyecto seran mostrados en
la siguiente tabla:
Defects/KLOC Plan
DLD Review 0.35
DLD Inspection 0.11
Code Review 66.06
Compile 14.16
Code Inspection 9.91
Unit Test 3.82
Build and Integration Test 0.34
System Test 0.07
Total Development 98.96
Acceptance Test 0.01
Product Life 0.01
Total 98.98
79
La tabla anterior muestra los defectos esperados por KLOC en cada una de las fases del proyecto,
se deberan estar monitoreando constantemente ya que de sobrepasar nuestros estimados, obtendremos
automaticamente un producto de baja calidad,cabe senalar que los datos mostrados de la tabla anterior
y algunos otros se almacenan en la forma SUMQ (ver anexo 9.3).
Producir el calendario de trabajo En este punto no se hace mas que establecer fechas aproximadas
en las que se tendran disponibles ciertos elementos del sistema que se desarrolla.
80
2.3.6. Junta 6 del Taller de Lanzamiento
El proposito de la junta seis fue ayudar al equipo a producir un plan balanceado de tareas para la siguiente
fase. Los pasos para conseguir este proposito fueron los siguientes:
Asignacion de las tareas a los miembros del equipo El administrador de planeacion asigno cada
una de las tareas de la hoja TASK a los integrantes del equipo, quedando la hoja EXCEL como se
muestra en la figura siguiente.
Elaboracion de copias del Workbook el administrador de planeacion genero copias del Workbook
para cada uno de los integrantes del equipo aprimiendo el boton Make copies of Workbook for
team members en la planilla Team. (Previamente en la hoja TEAM se crean los nombres de las hojas
de calculo de cada integrante del equipo).
Miembros del equipo hacen planes individuales Cada integrante del equipo elimino de su hoja
EXCEL las tareas que no le correspondıan y posteriormente asigno la cantidad de horas que tenıan
planeado trabajar semanalmente hasta que la diferencia de horas en la planilla Shedulle arrojo resultados
negativos.
Balanceo de carga de trabajo de el equipo El administrador de planeacion guio al equipo para
obtener un plan balanceado de trabajo, es decir, que no hubiera una diferencia mayor de una semana a
la fecha planeada de terminacion del proyecto, en promedio la planeacion de trabajo de los integrantes
del equipo fue de 13 semanas.
81
Consolidacion de las tareas Una vez que se logro el balanceo de las tareas, el administrador de
planeacion presiono el boton Consolidate plan en la plantilla TEAM, los resultados obtenidos en la
plantilla SCEDULE fueron 1168 horas planeadas en 13 semanas.
82
2.3.7. Junta 7 del Taller de Lanzamiento
Los temas de la junta 7 son los siguientes:
Conducir una evaluacion de riesgo del proyecto
Es importante resaltar que para identificar los riesgos todos los integrantes del equipo participan y no
importa si el riesgo es muy pequeno o muy grande pues primero sabemos cual es y despues se definiran
que grado de impacto tiene cada uno de ellos EL coach ayuda mucho en este tipo de decisiones pues de
repente se puede perder el concepto o ser repetitivo a continuacion se enuncian los pasos
Identificacion de riesgos
El lıder del equipo le pide al equipo que identifique riesgos.
• Todos los miembros del equipo participan en sugerir riesgos.
• Use un enfoque de lluvia de ideas; i.e., en este paso no evalue riesgos.
• El proceso continua hasta que no puede pensarse en mas riesgos.
• Registre cada riesgo para ayudar al equipo en la evaluacion subsiguiente. Use un rotafolios o un
pizarron blanco.
Evaluacion del Impacto
Para cada riesgo, el equipo evalua su impacto probable.
• El impacto es alto si el efecto sobre el calendario de trabajo del proyecto fuera importante.
• Los riesgos tambien pueden tener impacto medio o bajo en el calendario de trabajo.
• Anote la evaluacion del impacto. Use un rotafolios o un pizarron blanco.
Evaluacion de la Probabilidad
Para cada riesgo, el equipo juzga su probabilidad
La probablilidad se mide como alta, media o baja.
Anote la evaluacion de la probabilidad. Use un portafolios o un pizarron blanco.
83
Asignacion de Riesgos
Para los riesgos de prioridad alta y media (i.e. alta-alta, alta-media, media-alta o media-media)
• Asigne un miembro para darle seguimiento al riesgo
• Defina una fecha lımite para la cual deben tomarse las acciones de mitigacion
• Documente el riesgo, la responsabilidad y la fecha lımite en la forma ITL
Resultado de los riesgos totales elegidos por el equipo
1 DESCRIPCION
2 NO HAY SUFICIENTES RECURSOS
3 FALTA DE CONOCIMIENTOS
4 RENUNCIA DE PERSONAL
5 INTEGRANTE ENFERMO
6 DESASTRE
7 FALTA DE EQUIPO
8 PERDIDA DE INFORMACION
9 ROBO DE INFORMACION
10 ESTIMACION DE TAMANO FUERA DE RANGO
11 MODIFICACION DE LOS REQUERIMIENTOS INICIALES
12 ENTREGA DE PROYECTO A DESTIEMPO
13 ROBO DE EQUIPO
14 INTERPRETACION EQUIVOCADA DE REQUERIMIENTOS
84
Ponderacion del impacto y probabilidad de los riesgos
En el presente punto se valora el impacto que tiene cada uno de los riesgos, ası como su ındice de
probabilidad de ocurrencia; una vez cuantificados ambos parametros para cada riesgo se procedio a
establecer uno o mas responsables que se dedicaran a observar que el riesgo propio sea mitigado de
acuerdo a la estrategia de mitigacion, tambien acordada en esta junta, y finalmente una fecha para
dicho proposito. A continuacion se muestra toda esta informacion en una pequena tabla que resume
todo lo antes descrito:
Impacto Probabilidad Asignacion Fecha Mitigacion
Alto Media RH,AA
Medio Media OR,DN 31-01-2008 Capacitacion o generacion
de prototipos
Alto Media JJ,JD 20-01-2008 Respaldo automatico
Media Media JJ,JD Reajuste de planeacion
ALTO MEDIA EP,RG Proceso de control de cambios
85
2.3.8. Junta 8 del Taller de Lanzamiento
El objetivo de esta junta es preparar la documentacion necesaria y al equipo para la junta con la direccion;
se analiza y discute el material a presentar y que integrantes del equipo lo presentaran
Revisara el proceso de lanzamiento y los productos del mismo
Revisara el plan del proyecto y cualquier pregunta o situacion conm este plan
La documentacion que se genero para presentar a la direccion se realizo en base a la siguiente guıa:
El lıder del equipo encabeza la junta presentando de forma general los objetivos de la junta.
Los miembros del equipo o el lıder de equipo presentan:
Resumen breve del trabajo realizado durante el lanzamiento
Se describen los productos generados durante el lanzamiento
Se entregan copias de los materiales producidos durante el lanzamiento
La asignacion de los roles del equipo
Metas establecidas e implıcitas de la direccion y metas del equipo
Calendario de trabajo del equipo
Plan de calidad del equipo
Evaluacion de riesgo del equipo
Estrategias de desarrollo y plan de entrega
De existir se presenta un plan alternativo con recursos adicionales
Cuando se requerirıan recursos adicionales entrenados
Como los recursos adicionales mejorarıan el desempeno de las metas
Los riesgos identificados por el equipo
La evaluacion del equipo de los riesgos clave
86
Acciones de mitigacion propuestas para cada riesgo clave
La conclusion mediante un resumen de los elementos clave del plan y los objetivos del reporte
Con esto se demostrara a la direccion que el equipo de trabajo ha hecho un plan pensado, realista y completo.
87
2.3.9. Junta 9 del Taller de Lanzamiento
El objetivo de esta junta es obtener la aprobacion del plan de trabajo por parte de la direccion. Para
lograr este objetivo se siguen los siguientes pasos
El equipo revisa con la direccion su plan de proyecto y cualquier pregunta o situacion sobre el plan, en
este punto el lıder del equipo o un miembro del equipo entrega copias de los productos de lanzamiento,
revisa el proceso de lanzamiento y describe como fue generado el plan.
El lıder del equipo o miembro del equipo resume las metas del proyecto
• Metas establecidas e implıcitas de la direccion
• Un resumen del plan y metas del equipo
• Como el plan y metas del equipo se compara con las metas de la direccion
Si la direccion le pide al equipo modificar o proporcionar un plan alternativo, el equipo necesita com-
prender
• Cambios deseados al plan de proyecto
• Que recurso o contenido de trabajo modifica el plan original
Si se preparo un plan alternativo, el lıder del equipo o un miembro del equipo distribuye y revisa el
plan alternativo y el impacto esperado.
Bajo ninguna circunstancia el equipo debe estar de acuerdo con un nuevo calendario de trabajo o plan
sin tomarse el tiempo de estudiar o re-planear el trabajo.
El lıder del equipo o un miembro del equipo revisa cada uno de los riesgos clave del proyecto
• Resumiendo las probabilidades e impacto en el calendario de los riesgos.
• Analiza las recomendaciones de mitigacion para los riesgos de alto impacto.
El lıder del equipo cuestiona si no hay preguntas y cierra la junta.
Cabe senalar que si en cualquier momento de la junta la direccion acepta el plan de trabajo elaborado por el
equipo la junta concluye inmediatamente a pesar de que aun se tenga material por ser expuesto o analizado;
por lo tanto el criterio de salida de esta junta es el plan de trabajo aceptado por la direccion.
88
2.4. FORMAS Y RESULTADOS
2.4.1. Forma SUMP
Esta forma registra los datos estimados y reales de las partes del proyecto.
89
2.4.2. Forma TASK
En esta forma se registra el tiempo requerido para cada tarea y se calculan las horas totales de tareas del
plan de proyecto.
90
2.4.3. Forma Schedule
En esta forma se registran las horas semanales del calendario de trabajo, cada desarrollador puede tener
diferentes horas totales.
91
2.4.4. Forma SUMQ
La forma SUMQ almacena la informacion referente al plan de calidad, esta forma se llena durante la junta
5 del Taller de Lanzamiento de TSP.
92
Bibliografıa
[WA00] A Discipline for Software Engineering, Watts S. Humhrey, Addison - Wesley, EE.UU. 2000.
93