Вы находитесь на странице: 1из 34

Cmo fue desarrollado PSP?

Despus de que Watts S. Humphrey condujera el desarrollo inicial de CMM para software, se decidi a aplicar los principios de CMM a los programas pequeos. Fu entonces en el desarrollo de estos programas modulares, cuando Humphrey utiliz personalmente todas las prcticas de CMM para que l subiera poco a poco hasta llegar al nivel 5. Poco despus l comenz a trabajar en el proyecto tiempo completo en abril de 1989, el Instituto de la Ingeniera de Software (SEI) hizo a Humphrey un colaborador del SEI, permitindole trabajar tiempo completo en la investigacin detallada de PSP.

Porqu PSP?
El desarrollo de productos de software implica mucho ms que escribir instrucciones de programacin juntas y ejecutarlas en un ordenador. Requiere cumplir requisitos del cliente a un costo y planificacin acordada [HUMPHREY, 2001]. El PSP muestra cmo producir de forma regular software de alta calidad. Utilizando el PSP se obtienen datos que muestran la efectividad del trabajo y se identifican los puntos fuertes y las debilidades, adems se practican habilidades y mtodos que ingenieros del software van a desarrollar durante muchos aos de pruebas y errores.

Definicion de PSP
* Metodologa de Ingeniera de Software, basada principios y prcticas del modelo CMMI diseada para ayudar a Ingenieros de Software a producir software de calidad. * Ayuda a la estimacin, planeacin y desarrollo de sistemas de software. * Orientada a manejar la mejora contina de las habilidades.

Principios de PSP
* La calidad de un sistema de software est condicionada por la calidad del peor de sus componentes. * La calidad de un componente software esta condicionada por el individuo que la desarrollo. * Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlas en las etapas sus etapas subsecuentes.

* Es mas eficiente prevenir defectos que encontrarlos y arreglarlos

Principios de PSP
Para hacer un trabajo de ingeniera de software de la manera correcta, los ingenieros deben: * Planear de la mejor manera su trabajo antes de comenzarlo. * Deben utilizar un proceso bien definido para realizar de la mejor manera la planeacin del trabajo.

Principios de PSP
Para que los desarrolladores lleguen a entender su funcionamiento de manera personal: *Deben medir el tiempo que pasan en cada proceso. *Los defectos que inyectan y remueven de cada proceso. *Medir los diferentes procesos de los productos que llegan a producir.

Principios de PSP
Para producir constantemente productos de calidad, los ingenieros deben: *Planear. *Medir. *Rastrear constantemente la calidad del producto. *Centrarse en la calidad desde el principio de un trabajo. *Deben analizar los resultados de cada trabajo y utilizar estos resultados para mejorar sus procesos personales.

Principios de PSP
El PSP se aplica en tareas personales estructurales:

*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 TSP.

Qu es y qu no es el PSP ?
NO ES *Una solucin de bala de plata. *Una diferencia radical para aplicar en el desarrollo *Un nuevo lenguaje de programacin.

*Una manera de inventar ms tiempo para nuestras tareas

Qu es y qu no es el PSP ?
Es *Un ambiente de trabajo que proporciona planeamiento detallado y control de los estados de nuestros proyectos. *Una herramienta para guardar mtricas para proporcionar una visin de oportunidades de mejora. *Una manera de proteger nuestras etapas de desarrollo para que de por si generen mayor calidad a nuestros productos.s

En qu nos ayuda ?
*Aprender a hacer predicciones de tiempo y de calidad ms ajustadas. *Mejorar la Calidad del software desarrollado. *Aprender cmo evaluar mtodos y tecnologa. *Proporciona una serie de principios al desarrollador para llevar a cabo un proceso personal disciplinado.

En qu nos ayuda ?
*Asiste a los desarrolladores en la realizacin de planes precisos. *Determina los pasos que los desarrolladores deben seguir para mejorar la calidad del producto. *Establece bancos de pruebas para medir la mejora del proceso personal. *Determina el impacto que los cambios del proceso tienen sobre el rendimiento del desarrollador

Objetivos de PSP
*Disciplina. *Guia. *Registros. *Procedimientos. *Formularios y plantillas. *Estndares. *Disminucin de erorres. *Estimaciones. *Mejora continua.

Flujo del Proceso

Planeacin PSP
Necesidad del usuario Define los requerimientos

Mtodo PROBE

Tareas

Producir diseo Conceptual

Items

Estimar el tamao del producto

Base de Datos de Tamao

Usuario
Estimar los recursos Base de Datos de Productividad

Producir Calendario

Recursos disponibles

Gestin

Entregar el producto

Desarrollar el producto

Tamao, Recursos, Datos, Plazos

Analizar el proceso

Seguimiento de Reportes

Generacin de Equipos con PSP y TSP


Se puede decir que esta sera una fase preliminar a la hora de arrancar un proyecto utilizando TSP. En esta fase se establecen la funcin de cada uno de los miembros del grupo, las metas, los mecanismos de comunicacin y los datos requeridos.
Es importante que cada miembro del grupo sepa cual va a ser su funcin y sus responsabilidades, y debera comprobar si alguno de los miembros del grupo necesita ayuda. Se debe crear un diseo conceptual para cada producto planificado y dividir en ciclos y documentar el trabajo. Adems se debe de tener una infraestructura para poder realizar estas funciones como por ejemplo formularios que controlen los errores, el control de la entrada/salida, etc.

Generacin de Equipos con PSP y TSP


Los miembros del grupo deben planificar una fase de implementacin. Esta planificacin y documentacin debe ser estndar para todos los miembros del grupo y para ello utilizar los mismos formularios. Se deben especificar los bucles de pruebas, los valores de las variables que se van a usar y las condiciones de error que se vayan a producir, etc. Adems se debe realizar un desarrollo explicito de las pruebas que se vayan a realizar y las revisiones de cdigo que se vayan a hacer. En la documentacin debe aparecer quien o quienes de los miembros del grupo son los encargados de realizar las pruebas y quienes son los encargados de instalar el producto final.

Generacin de Equipos con PSP y TSP


Al final de cada ciclo y cada grupo debe realizar una memoria de su trabajo y comparar el resultado con las metas establecidas al principio del ciclo para poder as extraer conclusiones. Esta memoria debera contener: o El tamao del producto o Las horas de desarrollo o El rango de lneas de cdigo por hora (LOC/Hours) o El rendimiento antes de la compilacin o El rendimiento antes de las pruebas del sistema o El nivel de defectos en la compilacin o El nivel de defectos en todas las fases de pruebas

Adems de todo lo anterior expuesto, los grupos deberan aportar la relacin de inspecciones y revisiones realizadas y los valores obtenidos en ellas.

Relacin del PSP con CMMI y TSP


Desarrollado por los fundadores de CMMI (SEI de Carnegie Mellon). Su principal diferencia es que CMMI define el qu y no el cmo, mientras que PSP/TSP definen el cmo. El siguiente grfico ayuda a entender fcilmente la relacin entre CMMI y TSP/PSP:

PSP y TSP respecto a CMMI


CMMI, PSP y TSP proporcionan un marco tridimensional para la mejora de los procesos. CMMI (SW/SE) tiene 22 reas de proceso, y PSP y TSP guan a los ingenieros en el direccionamiento de casi todo el trabajo. Estos mtodos no solo ayudan a que los ingenieros sean ms efectivos sino tambin proporcionan el entendimiento necesario para acelerar la mejora del proceso. Una vez que los grupos han empezado el proceso de mejora y estn en el camino de alcanzar el Nivel 2 de CMMI, PSP muestra a los ingenieros como direccionar sus tareas de una forma profesional. Aunque relativamente nuevo, PSP tambin mejora la habilidad de los ingenieros para planificar y realiza un seguimiento de su trabajo y producir as productos de calidad.

Comparacin de PSP
Caracterstica Propsito Metodologa Definicin Audiencia Cobertura Costo Calidad Implementacin Alcance Cuan Mensurable es PSP Gerenciamiento y mejora de la calidad Prescriptiva Exacta Desarrolladores y gerentes Ciclo de vida del desarrollo Muy bajo Muy alta Semanas Integral Muy Alto Inspecciones Mejora de la calidad Presciptiva Exacta Desarrolladores Verificacin y validacin Bajo Alta Das Estrecho Alto CMM Mejora del gerenciamiento Descriptiva Vaga Gerentes Gerenciamiento de proyectos Alto Baja Aos Ambiguo Bajo ISO900 Gerenciamiento de la calidad Descriptiva Vaga Gerentes Aseguramiento de la Calidad Alto Baja Aos Ambiguo Bajo

Generacin de Equipos con PSP y TSP


Se puede decir que esta sera una fase preliminar a la hora de arrancar un proyecto utilizando TSP. En esta fase se establecen la funcin de cada uno de los miembros del grupo, las metas, los mecanismos de comunicacin y los datos requeridos.
Es importante que cada miembro del grupo sepa cual va a ser su funcin y sus responsabilidades, y debera comprobar si alguno de los miembros del grupo necesita ayuda. Se debe crear un diseo conceptual para cada producto planificado y dividir en ciclos y documentar el trabajo. Adems se debe de tener una infraestructura para poder realizar estas funciones como por ejemplo formularios que controlen los errores, el control de la entrada/salida, etc.

Generacin de Equipos con PSP y TSP


Los miembros del grupo deben planificar una fase de implementacin. Esta planificacin y documentacin debe ser estndar para todos los miembros del grupo y para ello utilizar los mismos formularios. Se deben especificar los bucles de pruebas, los valores de las variables que se van a usar y las condiciones de error que se vayan a producir, etc. Adems se debe realizar un desarrollo explicito de las pruebas que se vayan a realizar y las revisiones de cdigo que se vayan a hacer. En la documentacin debe aparecer quien o quienes de los miembros del grupo son los encargados de realizar las pruebas y quienes son los encargados de instalar el producto final.

Generacin de Equipos con PSP y TSP


Al final de cada ciclo y cada grupo debe realizar una memoria de su trabajo y comparar el resultado con las metas establecidas al principio del ciclo para poder as extraer conclusiones. Esta memoria debera contener: o El tamao del producto o Las horas de desarrollo o El rango de lneas de cdigo por hora (LOC/Hours) o El rendimiento antes de la compilacin o El rendimiento antes de las pruebas del sistema o El nivel de defectos en la compilacin o El nivel de defectos en todas las fases de pruebas

Adems de todo lo anterior expuesto, los grupos deberan aportar la relacin de inspecciones y revisiones realizadas y los valores obtenidos en ellas.

Elementos del Proceso


Elementos
o o o o o

Un guin de proceso Un formulario resumen de plan proyecto Un registro tiempo Un registro de defectos Un estndar de tipos defecto

Guin del proceso


Nmero de Fase Propsito Entradas Necesarias 1 Planificacin Guiarte en el desarrollo de programas a nivel de mdulo * Descripcin del problema Formulario de Resumen del plan del Proyecto PSPO Tablas de Registro de Tiempos y Defectos Cronometro (opcional) Producir u obtener los requisitos Estimar las LOC 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 la Tabla de Registro de Tiempos

Desarrollo

Post-mortem

* Completar el Resumen del plan del Proyecto con los datos actuales de tiempo, defectos y tamao

Criterios de salida

Un programa probado Un resumen del Plan de Proyectos con los datos estimados y actuales Las tablas de Registro de Tiempos y Defectos Rellenos

Resumen del Plan


Estudiante: _Juan Lus Guerra_________ Fecha: _09/10/06__ Programa:_Raz Cuadrada_____________ Programa #: _1A Instructor: _XX_______________________ Lenguaje: ___C____ Tamao del programa (LOC) Plan Actual Total (Nuevas&Modificadas) 50 33 Tiempo en Fase (minutos) Plan Actual A la Fecha A la Fecha% Planeacin 2 2 1.6 Diseo 0 0 0 Codificacin 53 53 44.2 Compilacin 20 20 16.7 Prueba 25 25 20.8 Postmortem 20 20 16.7 Total 240 120 120 100.0 Defectos Introducidos Actual A la Fecha A la Fecha% Planeacin 0 0 0 Diseo 0 0 0 Codificacin 10 10 100 Compilacin 0 0 0 Prueba 0 0 0 Total 10 10 100 Defectos Removidos Actual A la Fecha A la Fecha % Planeacin 0 0 0 Diseo 0 0 0 Codificacin 3 3 30 Compilacin 5 5 50 Prueba 2 2 20 Total 10 10 100 Despus del Desarrollo 0 0 0

Log Registro del Tiempo


Estudiante: ____________________ Fecha: __________ Instructor:______________________ Programa #: ______

Fecha

Inicio

Fin

Tiempo de Tiempo Interrupci Delta n

Fase

Comentari os

Por ejemplo
Fecha 9/9 Inicio 9:00 12:40 2:45 6:25 10/9 11/9 11:06 9:00 1:15 4:18 12/9 13/9 6:42 9:00 12:33 Fin 9:50 1:18 3:53 7:45 12:19 9:50 2:35 5:11 9:04 9:50 1:16 3+8 25 10+6+12 6+5 10 Tiempo de Interrupcin Tiempo Delta Actividad Comentarios 50 Planeacin 38 Diseo 58 Diseo 80 Codificacin 62 Codificacin Bao, tom caf 50 Codificacin 69 Compilaci Consulta de un libro n 28 Prueba 114 Prueba 50 Prueba 38 Postmortem Reunin con mi jefe Telfono, Bao, Telfono Telfono

Estndar tipo de Defectos

Log Registro Defectos


Nombre: _______________________________ Fecha: ___ Instructor: ______________________________ Programa :__
Fecha Nmero Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado 10/10/06 1 40 CDIGO CODIGO 11 Descripcin: Agregar una variable a la estructura Fecha Nmero Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado 10/10/06 2 20 CDIGO CODIGO 1 Descripcin: Variable multidefinida Fecha Nmero Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado 10/10/06 3 w0 CDIGO COMPILAR 1 Descripcin: Las comillas de la instruccin de impresin no existen Fecha Nmero Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado 10/10/06 4 10 CDIGO PRUEBA 39 Descripcin: Alinear y agregar instrucciones de impresin , mejorar la apariencia

Gua Personal de Revisin de Cdigo


Propsito General Gua para realizar una revisin de cdigo efectiva Cuando se completa cada paso de revisin, anota el nmero de defectos del tipo encontrado in la caja de la derecha. Completa el catlogo para un programa, clase, objeto o mtodo antes de empezar la prxima revisin Verifica que todas las funciones del diseo estn codificadas. Verifica cada include que est completo # # # 3 Para Fechar Para Fechar %

Completa Includes

Inicializaci Chequea las variables e inicializacin de parmetros. n Llamadas Nombres Strings Chequea los formatos de llamadas de funcin: punteros, parmetros. Chequea los nombres y su uso: consistencia, declaraciones, y estructuras. Chequea que los punteros estn: Identificados por punteros Terminados en NULL Chequea que los punteros estn: Inicializados a NULL Borrarlos despus de crearlos Borrarlos siempre despus del uso

Punteros

Gua Personal de Revisin de Cdigo


Propsito Gua para realizar una revisin de cdigo efectiva # # # 3 Para Fechar Para Fechar %

Formato de salida {} Parejas

Cheque el formato de salda Asegurarse de que {} estn cerrados

Operadore Verificar el uso de ==, =, ||, etc. s lgicos Chequea cada funcin entre () Chequeeo Chequea cada lnea del cdigo: Lnea por Sintaxis de las instrucciones lnea Puntuacin Estndare Asegura que el cdigo sigue el estndar de codificacin s Abrir y cerrar ficheros Global Verificar que todos los ficheros estas: Declarados Abiertos Declarados Realizar un escaneo global del programa para chequear el sistema e inspeccionar los problemas

Calidad en el Desarrollo de Software