You are on page 1of 49

D ESARROLLO S OFTWARE P ERSONAL

I NTRODUCCIN
AL

PSP

SM

O BJETIVOS

DEL

C URSO

Iniciar en el desarrollo software basados en un enfoque de proceso.

Mostrarte a como medir y analizar tu proceso software personal (PSP).

Mostrarte a como usar los datos de proceso para mejorar tu rendimiento personal.

Mostrarte a cmo aplicar estos mtodos a otras tareas.

I NFORMACIN G ENERAL

Prerrequisito: conocer un lenguaje de programacin

Es de ayuda

estar familiarizado con estadstica bsica capacidad para leer notaciones formales sencillas

Soporte

tener disponible un entorno de desarrollo


hoja de clculo

I NTRODUCCIN

AL

PSP

Principios del PSP


costes y beneficios Visin general del PSP

el modelo de la madurez de la capacidad (CMMISM)


madurez del proceso El CMMI y el PSP

el proceso PSP0 inicial

El modelo de la madurez de la capacidad y CMM marcas registradas de la Universidad Carnegie Mellon

P RINCIPIOS PSP - 1

la calidad de un sistema software est condicionada por la calidad del peor de sus componentes.

la calidad de un componente software est condicionada por el individuo que lo desarroll.

Est condicionada por tu

conocimiento

disciplina
compromiso

P RINCIPIOS PSP - 2

Como todo profesional software deberas conocer tu propio rendimiento.

Deberas medir, seguir y analizar tu trabajo.

Deberas aprender de tus variaciones de tu rendimiento.

Deberas incorporar esas lecciones a tu manera personal de hacer.

Q U

TE PROPORCIONA EL

PSP? -1

Un PSP estable te permite


estimar y planificar tu trabajo cumplir tus compromisos resistir a presiones de compromiso no razonables

Con un PSP estable, tambin podrs


comprender tus capacidades

estar mas posibilitado para mejorar

Q U

TE PROPORCIONA

PSP? -2

Un PSP tambin proporciona

Una base probada para desarrollo de y prctica de las disciplinas personales de la industria. Una disciplina que muestra como mejorar tu proceso personal. los datos para mejorar de manera continua la productividad, calidad, y el grado de prediccin de trabajo

Q U

ES UN

PSP?

Un PSP es un proceso personal desarrollar software.


pasos definidos formularios estndares

Un PSP es un marco de trabajo de medicin y anlisis que te ayuda a caracterizar tu proceso.

Es tambin un procedimiento definido para ayudarte a mejorar tu rendimiento.

EL

FLUJO DE

P ROCESO

DEL

PSP
Requisitos

Proceso PSP0
Planificacin Desarrollo Diseo Cdigo

Guiones de proceso

Compila
Pruebas Postmortem

Logs de tiempos y defectos Resumen Plan

Producto acabado

Proyecto y proceso

E L PSP - 1

El PSP es un proceso diseado para uso individual, basado en una versin a escala de un proceso industrial. El principal objetivo del PSP es ayudar a los ingenieros software a hacer mejor su trabajo. El PSP se ha diseado tambin para demostrar el valor del uso de un proceso definido y medido.

Por ultimo, el PSP intenta ayudar a los ingenieros y a las organizaciones a que cumplan las demandas cada vez mas estrictas para el desarrollo de sistemas software de calidad

E L PSP - 2

El PSP se aplica en tareas personales estructuradas:


Desarrollo de mdulos de programas. Definicin de requisitos o procesos. Realizacin de revisiones o pruebas. Escritura de documentacin, etc.

El PSP se puede extender al desarrollo de sistemas software de gran tamao.

Es un proceso de Nivel 5 para los individuos y es un prerrequisito para el TSP

V ISIN

GENERAL DEL

PSP-1

el PSP se introduce con siete pasos compatibles.

Escribes uno o dos pequeos programas en cada paso.

Recoges y analizas los datos de tu trabajo.

Los usas y analizas para mejorar tu trabajo.

PSP V ISIN
PSP3

GENERAL -

Desarrollo cclico

PSP2
Revisiones de cdigo Revisiones de diseo

PSP2.1
Plantillas de diseo

Planificacin tareas Estimacin tamao Planificacin calendario Informes prueba

PSP1

PSP1.1

PSP0
Proceso Actual Registro tiempos Registro defectos Estndar defectos tipo

PSP0.1
Estndar codificacin Medicin tamaos Propuesta de mejora de proceso(PIP)

PSP V ISIN

GENERAL

-3

PSP0 - estableces una lnea base del rendimiento mensurable.

PSP1 - haces planes de tamao, recursos y calendario.

PSP2 - Practicas gestin de defectos y rendimiento.

PSP3 - Amplias los mtodos del PSP a proyectos mayores.

LA CONCLUSIN DEL CURSO

Habrs practicado con elementos clave del nivel 5 del proceso.

Comprenders que mtodos son mas efectivos para ti.

Hars mejor tu trabajo.

Tendrs metas de mejora a largo plazo.

R ESULTADOS

DE OTROS CURSOS

los siguientes diagramas muestran con los datos recogidos como han mejorado durante el curso del PSP.

los datos son de 12 estudiantes que realizaron el curso del PSP en Carnegie Mellon University en 1994.

los datos son de

tiempos de compilacin

defectos de pruebas
productividad

Rango tiempos compilacin


35

30 Max 25
% Tiempo total

Avg Min

20

15

10

0
1 2 3 4 5 6 7 Programa nmero 8 9 10

Defectos encontrados en pruebas - Rango


200

180

160

140

120
Max

Defecto/KLOC

100

Avg Min

80

60

40

20

0
1 2 3 4 5 6 7 8 9 10

Program Number

Rango de Productividad
100
90

80

70

60
Max

50

Avg
Min

LOC/Hora

40

30

20

10

0
1 2 3 4 5 6 7 8 9 10

Nmero Programa

P ROCESO PSP0 -1

PSP0 es un proceso sencillo, definido y personal.

Utiliza tus mtodos actuales de diseo y desarrollo.

Recoge datos sobre tu trabajo:


tiempo gastado por fase defectos encontrados en compilacin y pruebas

Proporciona un informe resumen.

EL

FLUJO DE

P ROCESO

DEL

PSP
Requisitos

Proceso PSP0
Planificacin Desarrollo Diseo Cdigo

Guiones de proceso

Compila
Pruebas Post-mortem

Logs de tiempos y defectos Resumen Plan

Producto acabado

Proyecto y proceso

EL

PSP0

PROCESO

-2

Elementos

un guin de proceso un formulario resumen de plan proyecto

un registro tiempo
un registro de defectos un estndar de tipos defecto

G UIN
Nmero Propsito Fase Entradas Necesarias 3 Post-mortem Criterios de salida

DE PROCESO

Guiarte en el desarrollo de programas a nivel de mdulo Descripcin del problema Formulario de Resumen del Plan de Proyecto PSP0 Tablas de Registro de Tiempos y Defectos Estndar de Tipos de Defectos Cronmetro (opcional) Producir o obtener los requisitos. Estimar las LOC (Line Of Code) necesarias. Estimar el tiempo de desarrollo necesario. Indicar los datos del plan en el Resumen del Plan de Proyecto Completar el Log de Registro de Tiempos Disear el programa Implementar el diseo. Compilar el programa y corregir todos los defectos encontrados. Completar el Tabla de Registro de Tiempos. Completar el Resumen del Plan de Proyecto con los datos actuales de tiempo, defectos, y tamao. Un programa probado. Un Resumen de Plan de Proyectos con los datos estimados y los actuales. Las Tablas de Registro de Tiempos y Defectos rellenos

Planificacin

Desarrollo

EL GUIN

PSP0 - 1

Referencia - Tabla C10, pagina 652

Planificacin - estimar tiempo de desarrollo.

Desarrollo - desarrollar el producto utilizando tus mtodos actuales.

Post-mortem - completar el resumen del plan proyecto, con los tiempos gastados y defectos encontrados e inyectados en cada fase.

EL GUIN

PSP0 - 2

Diseo - disear el programa, usando tus mtodos de diseo actuales.

Codificacin- implementa el programa.

Compilacin - compila hasta que este libre defectos.

Prueba - prueba el programa y corrige todos los defectos.

Registra los defectos en el log de defectos y tiempos por fase en el log de tiempos.

R ESUMEN P LAN PSP0 - 0


Student Program Instructor Kim Orihuela Standard Deviation Iraj Hirmanpour Plan 50
Plan Actual 2 0 53 20 25 20 120 Actual 0 0 10 0 0 10 Actual 0 0 3 5 2 10 0

Date Program # Language Actual 33


To Date 2 0 53 20 25 20 120 To Date 0 0 10 0 0 10 To Date 0 0 3 5 2 10 0

9-20-96 1A C

Program Size (LOC): Total New&Changed


Time in Phase (min.) Planning Design Code Compile Test Postmortem Total Defects Injected Planning Design Code Compile Test Total Development Defects Removed Planning Design Code Compile Test Total Development After Development

To Date %
1.6 0 44.2 16.7 20.8 16.7 100.0

240

To Date %
0 0 100 0 0 100

To Date %
0 0 30 50 20 100 0

R ESUMEN P LAN PSP0 - 1

Header Nombre, fecha, programa, instructor, lenguaje.

Program Size Plan -Indica tu mejor estimacin del tiempo total que tendr el desarrollo.

Program Size Actual -Indica el tiempo actual en minutos gastado en cada fase.

R ESUMEN P LAN PSP0 - 2

Time To Date - indica el tiempo total gastado en cada fase hasta hoy. Para programa 1A, es el tiempo gastado en el programa 1A.

Time To Date % - indica el porcentaje del total tiempo hasta hoy que se gasto en cada fase.

Defects injected and removed - indicar el numero actual de defectos inyectados y eliminados en cada fase.

R ESUMEN P LAN PSP0 - 3

Defect - To Date - indica el total de defectos inyectados y eliminados en cada fase hasta hoy. Para el programa 1A, son los defectos inyectados y eliminados en el programa 1A.

Defect - To Date % - indicar el porcentaje sobre el total defectos inyectados y eliminados hasta hoy en cada fase.

L OG R EGISTRO
Student Instructor Date Start Stop Interruption Time

DE TIEMPO

PSP0-0

Date Program # Delta Time Phase Comments

L OG R EGISTRO

DE TIEMPO

PSP0 - 1

Header - indicar nombre, fecha, instructor, y numero de programa.

Date - indicar la fecha actual.

Start - indicar el tiempo en minutos cuando empiezas una fase del proyecto.

PSP0 L OG R EGISTRO T IEMPOS - 2

Stop - indicar el tiempo en minutos cuando tu paraste trabajo en una fase del proyecto, aun cuando tu no has terminado esa fase.

Interruption time - indicar el tiempo perdido por interrupciones desde el periodo de arranque a parada.

Delta time - indicar el tiempo transcurrido desde el inicio al tiempo de parada descontado el tiempo de interrupcin.

PSP0 L OG R EGISTRO T IEMPOS - 3

Phase

Anotar la fase en la que estas trabajando. Use el nombre de fase.

Comments descripcin de

la interrupcin la tarea que estas haciendo cualquier aspecto significativo que afecte a tu trabajo

L OG R EGISTRO D EFECTOS - 0
Defect Types 10 Documentation 20 Syntax 30 Build, Package 40 Assignment 50 Interface 60 70 80 90 100 Checking Data Function System Environment

Student Instructor
Date 10-3 Description:

Kim Orihuela Iraj Number Type 1 40 Add variable to structure.

Date Program #
Inject CODE Remove CODE Fix Time 11

10-3-96 3A Fix Defect

Date 10-3 Description:

Number Type 2 20 Misspelled variable.

Inject CODE

Remove CODE

Fix Time 1

Fix Defect

Date 10-3 Description:

Number Type Inject 3 20 CODE Missing in print statement.

Remove
COMPILE

Fix Time 1

Fix Defect

Date 10-3 Description:

Number Type Inject 4 10 CODE Align/add print statements - beautify

Remove TEST

Fix Time 39

Fix Defect

L OG R EGISTRO D EFECTOS -1

Referencia - Tabla C18, pagina 659

Header - indicar el nombre, fecha, instructor, y numero de programa.

Date - indicar la fecha cuando encontraste y corregiste el defecto.

Number - indicar un nmero nico para este defecto. Comienza cada cada proyecto con 1.

L OG R EGISTRO D EFECTOS -2

Type - indicar el tipo de defecto a partir del estndar de tipos de defectos.

Inject - indicar la fase donde tu juzgas que el defecto fue inyectado.

Remove - indicar la fase en la que encontraste y eliminaste el defecto.

L OG R EGISTRO D EFECTOS -3

Fix Time - indicar el tiempo que tomaste para corregir el defecto. Tu puedes dar el tiempo exacto o usar tu mejor estimacin.

Fix defect - Si este defecto fue inyectado durante la correccin de otro defecto, indicar el numero del ese defecto o una X si lo desconoces.

Note - un defecto es cualquier cosa en el programa que debe ser cambiado para que sea desarrollado, mejorado o utilizado de manera adecuada.

E STNDAR

DE

T IPOS

DE

DEFECTO

-1

Referencia - Tabla 20, pgina 661

El estndar de tipos de defecto proporciona un conjunto general de categoras de defectos.

Aunque tu puedes reemplazar este estndar por el tuyo propio, es deseable que te manejes con estas definiciones simples de tipos hasta que tengas datos que te puedan guiar en las modificaciones.

E STNDAR

DE

T IPOS

DE

D EFECTO -2

los tipos estndar de defecto en PSP son 10 - Documentacin 20 - Sintaxis 30 - Construccin, empaquetado 40 - Asignacin 50 - Interfase 60 - Comprobacin 70 - Datos 80 - Funciones 90 - Sistema 100 - Entorno

E JERCICIO C LASIFICACIN DE D EFECTOS


Describe con al menos un ejemplo de cada tipo para tu lenguaje y

entorno
Tipo 10 20 30 40 50 60 70 80 90 100 Nombre Documentacin Sintaxis Construccin Asignacin Interfaz Comprobacin Datos Funciones Sistema Entorno Descripcin comentarios, mensajes ortografa, puntuacin, tipos, formatos de instruccin gestin de cambios, libreras, control de versiones declaracin, nombres duplicados, mbito, limites Llamadas y referencias a rutinas, I/O, formatos mensajes error, comprobaciones inadecuadas estructura, contenido lgica, punteros, bucles, recursion, calculo, defectos en funciones configuracin, tiempos, memoria diseo, compile, pruebas, y problemas del sistema de soporte

Tipo 10 20 30 40 50

ejemplo... ______________________________ ______________________________ ______________________________ ______________________________ ______________________________

Tipo 60 70 80 90 100

ejemplo... ______________________________ ______________________________ ______________________________ ______________________________ ______________________________

E JERCICIO

DE LA

L ECCIN #1

Lee el Prefacio y los captulos 1 y 2 del texto.

Usa el PSP0 para escribir programa 1A.

Lee las especificaciones del programa.

Mira en Apndice C las definiciones y ejemplos del PSP0.

Sigue las especificaciones sobre el material a entregar y el orden y contenido.

P ROGRAMA 1A

Calcula la desviacin estndar de una lista de nmeros. Donde n nmeros estn en una lista enlazada. La desviacin estndar se calcula como:

Std

x
n i1

xavg

n1

i es un ndice para los nmeros, y Xavg es el valor medio de los nmeros.

A LGUNAS

SUGERENCIAS

- 1

Mantn tus programas simples. Tu aprenders tanto de los pequeos programas como de los grandes.

Mantn tus informes y estndares simples y breves.

No te importe copiar o rehacer con material del PSP.

Hazlo bien a la primera vez. Si no estas seguro, encuntralo.

D ATOS

DE CURSO

2001-2002

Promedio tiempo = 220 Tiempo Mximo = 540 Tiempo Mnimo = 91

Tiempo y defectos de la prctica 1


40 35

Promedio defectos =12 Defectos Mximo = 34 Defectos Mnimo = 3

30 25 Defectos 20 15 10 5 0 0 100 200 300 Tiempo 400 500 600

Tiempo medio entre defectos 18 minutos

Actu al T ime Ran ge 20

15

Max Avg Min

Hours

10

0
1 2 3 4 5 6 7 8 9 10

Prog ram Nu mb er

A LGUNAS

SUGERENCIAS

- 2

Software no es un negocio aislado, por lo que no trabajaras solo.

Tu debes, sin embargo, producir tus propias estimaciones, diseos y cdigo.

Tu puedes hacer que otros revisen tu trabajo y puedes cambiarlo como resultado.

Tu deberas anotar esta ayuda en tu informe de proceso, incluye el tiempo que tu y tus ayudantes habis gastado, y registra los defectos encontrados.

PSP0 C RITERIOS E VALUACIN

Tu informe de proceso debe ser


completo legible en el orden especificado

Tus datos de proceso deben ser


precisos

ajustados a la realidad
auto-consistentes

R ESUMEN

DE LA

L ECCIN #1

1. El PSP es un proceso definido que ayudar a hacer mejor el trabajo.

2. Una vez que has completado este curso, tu sabrs como ajustar y extender el PSP para cumplir con tus futuras necesidades.

3. Durante el uso del PSP0, tu principal objetivo es recoger e informar de modo exacto y complete sobre los datos de tu trabajo.

You might also like