Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

97
Desarrollo de sistemas con PSP Y TSP Proyecto de Investigaci´ on Licenciatura en Computaci´ on Aida Alvarado Ju´ arez Eduardo Rodr´ ıguez Flores Asesor Alfonso Mart´ ınez Mart´ ınez Coordinador de la licenciatura exico D.F. 17 de agosto de 2008

Transcript of Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

Page 1: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 2: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

1

Page 3: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 4: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 5: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

Capıtulo 1

PSP

Proceso Personal de Software

1

Page 6: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 7: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 8: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 9: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 10: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 11: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 12: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 13: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 14: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 15: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 16: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 17: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 18: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 19: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 20: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 21: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 22: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 23: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

*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

Page 24: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 25: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 26: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 27: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

* 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

Page 28: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 29: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 30: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 31: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 32: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 33: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

* 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

Page 34: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 35: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 36: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

* 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

Page 37: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 38: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 39: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 40: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 41: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 42: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

1.6. RESUMEN DEL PLAN DEL REPORTE R5

1.6.1. GUIA DEL REPORTE R5

38

Page 43: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

1.6.2. RESUMEN DEL PLAN DEL REPORTE R5

39

Page 44: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

1.6.3. BITACORA DE REGISTRO DE TIEMPO R5

40

Page 45: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 46: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 47: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

¿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

Page 48: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 49: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 50: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 51: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 52: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 53: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 54: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 55: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

¿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

Page 56: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 57: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 58: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 59: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 60: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

¿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

Page 61: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 62: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 63: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 64: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 65: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 66: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

Capıtulo 2

TSP

EQUIPO DE PROCESO DE

SOFTWARE

62

Page 67: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 68: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 69: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 70: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

* 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

Page 71: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 72: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 73: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 74: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 75: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 76: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 77: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 78: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 79: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 80: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 81: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 82: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 83: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 84: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 85: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 86: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 87: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 88: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 89: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 90: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 91: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 92: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 93: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

2.4. FORMAS Y RESULTADOS

2.4.1. Forma SUMP

Esta forma registra los datos estimados y reales de las partes del proyecto.

89

Page 94: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 95: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 96: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

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

Page 97: Desarrollo de sistemas con PSP Y TSP - 148.206.53.231

Bibliografıa

[WA00] A Discipline for Software Engineering, Watts S. Humhrey, Addison - Wesley, EE.UU. 2000.

93