Proceso de Software Personal - PSP

27
FUNDAMENTOS DE INGENIERÍA DEL SOFTWARE -Christian Mora -Argenis Riofrío PROCESO DE SOFTWARE PERSONAL (PSP) ESCUELA DE CIENCIAS DE LA COMPUTACION

description

Modelo de Proceso de desarrollo de Software Personal

Transcript of Proceso de Software Personal - PSP

Page 1: Proceso de Software Personal - PSP

FUNDAMENTOS DE INGENIERÍA DEL SOFTWARE

-Christian Mora-Argenis Riofrío

PROCESO DE SOFTWARE PERSONAL (PSP)

ESCUELA DE CIENCIAS DE LA COMPUTACION

Page 2: Proceso de Software Personal - PSP

INTRODUCCIÓN Y ANTECEDENTES• Entre las principales causas para que el proceso de

desarrollo de software falle pueden ser:– El personal de desarrollo no se involucra lo

suficiente.– No esta consciente de la verdadera importancia del

proyecto.– No se cuentan con los recursos necesarios– Las practicas establecidas no son buenas…

Page 3: Proceso de Software Personal - PSP

• Esta claro que la producción de software debe convertirse en un proceso disciplinado y aceptado por todos.

• En los años 70 y 80 era popular la estrategia “Prueba y arregla” en la industria estadounidense.

• En estos años se establece el control de procesos, que desde aquí ha ido enfocando todo avance en el enfoque de la calidad. – Modelo de Capacidad de Maduración (CMM) en 1987.

Page 4: Proceso de Software Personal - PSP

PROCESO DE SOFTWARE PERSONAL

• En el año de 1995 el PSP fue propuesto por Watts Humphrey, este inicialmente estaba dirigido para estudiantes.

• Para 1997 con el lanzamiento del libro "An Introduction to the Personal Software Process" el PSP ya estaba destinado a los ingenieros. Watts Humphrey

Page 5: Proceso de Software Personal - PSP

• PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual.

• El PSP se caracteriza porque es de uso personal y se aplica a programas pequeños de menos de 10.000 líneas de código.

• El PSP sirve para producir software de calidad, donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.

Page 6: Proceso de Software Personal - PSP

• El PSP se centra en la administración del tiempo y en la administración de la calidad a través de la eliminación temprana de defectos.

• El PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de desarrollo de software.

• PSP demuestra cómo manejar la calidad desde el principio del trabajo.

Page 7: Proceso de Software Personal - PSP

PRINCIPIOS DEL PSP

• Cada ingeniero es esencialmente diferente (Cada uno se encarga de su trabajo).

• Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente procesos bien definidos y medidos.

• Los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos, esto mejorará la calidad.

Page 8: Proceso de Software Personal - PSP

OBJETIVOS DE PSP

• Lograr una disciplina de mejora continua en el proceso de desarrollo.

• Medir, estimar, planificar, seguir y controlar el proceso de desarrollo.

• Mejorar la calidad del proceso de desarrollo.• En general, PSP provee calidad y productividad.

– El tiempo ahorrado en el testeo en base a una mejor calidad ahorra entre un 20 a 40 % del desarrollo…

Page 9: Proceso de Software Personal - PSP

PRINCIPIOS DEL PSP

• Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en las etapas subsecuentes.

• Es más eficiente prevenir defectos que encontrarlos y arreglarlos.

• La manera correcta de hacer las cosas es siempre la manera más rápida y más barata de hacer un trabajo.

Page 10: Proceso de Software Personal - PSP

DESVENTAJAS DE APLICAR PSP

• El tiempo requerido para conocerlo• El costo emocional por mantener una disciplina• El ego del cambio en las costumbres

Page 11: Proceso de Software Personal - PSP

VENTAJAS DE APLICAR PSP

• La idea de que ganamos en talento y habilidad• La estimulación por nuevas ideas• Una estructura de trabajo de mejoramiento personal• Tomar control del propio trabajo• La sensación de logro• Una base mejorada para el trabajo en grupo (TSP)• La convicción de que es lo mejor que se puede hacer

Page 12: Proceso de Software Personal - PSP

NIVELES PSP• Para recalcar:

– PSP tiene un marco de proceso de evolución similar al que tiene CMM.

– En el CMM un nivel de madurez sólo se alcanza si se logran cumplir todas las KPA´s (áreas de procesos claves) que exige cada nivel.

– PSP solamente cubre de manera parcial estas KPA´s debido a que es un complemento de CMM.

– Al PSP es ideal utilizarlo junto con CMM (no es obligatorio).

Page 13: Proceso de Software Personal - PSP

NIVELES PSP• El PSP define cinco actividades del marco de trabajo:

– PLANEACIÓN.– DISEÑO DE ALTO NIVEL– REVISIÓN DEL DISEÑO DE ALTO NIVEL– DESARROLLO – ANÁLISIS DE RESULTADOS

Page 14: Proceso de Software Personal - PSP

NIVELES PSP

PSP 0-Practicas actuales desarrollo.-Mantener registros de tiempo trabajado en un proyecto.-Registrar defectos encontrados-Registrar tipos de defectos.

PSP 0.1-Establecer estándares de código (Definir “Líneas de código”)-Proponer maneras de mejorar proceso desarrollo-Realizar mediciones

PSP 1-Aptitud para estimar tamaño.-Informe de pruebas

PSP 1.1-Planeación de tareas-Planeación de tiempos

PSP 2-Revisión del diseño-Revisión del código

PSP 2.1Plantillas de diseño (Marco de trabajo y listas) Verificación de tareas de diseño

PSP 3

Page 15: Proceso de Software Personal - PSP

Planeación • Esta actividad selecciona requisitos, con base en ellos

desarrolla el tamaño y la estimación de los recursos.• Estimación de los defectos.• Creación de un programa del proyecto.• La planificación proporciona una sólida base para

comprometerse a unas fechas de entrega.• Estimación del tiempo necesario.

Page 16: Proceso de Software Personal - PSP

Diseño de Alto Nivel • Se elabora especificaciones externas para los

componentes construidos.• Diseño de componentes.• Construcción de prototipos si hay incertidumbre.• Los elementos se registran y se rastrean.

Page 17: Proceso de Software Personal - PSP

Revisión del diseño de alto nivel

• Métodos formales de verificación para errores de diseño.

• Mediciones para todas las tareas importantes y los resultados de trabajo.

Page 18: Proceso de Software Personal - PSP

Desarrollo• Diseño a nivel de componentes se refina y revisa.• Se genera, revisa, compila y prueba el código.• Mediciones para todas las tareas importantes y los

resultados de trabajo.• Puede medirse en LOC (líneas de código).• Esto exige tener una forma normalizada de contar

LOC, o de codificar.

Page 19: Proceso de Software Personal - PSP

Análisis de Resultados• Mediante las mediciones recolectadas se determina

la efectividad del proceso.• Las mediciones y medidas deben ofrecer una guía

para modificar el proceso y así mejorar su efectividad.

Page 20: Proceso de Software Personal - PSP

Iniciar el proyecto

Crear el proyectoDefinir los requerimientos del proyecto

Definir los roles del equipo de trabajo

Ingresar el plan del proyecto(usar estimaciones)

Asignar las responsabilidades

Avanzar el proyecto

Cargar la plantilla de metodología de desarrollo elegida

Cerrar el proyecto

Ciclo de vida de Proyectos (Seguimiento y supervisión)Orden de trabajo

Hoja de tiempo

Alertas

Definiciones iniciales de Proyectos

Manejar los requerimientos

• Actualizar las tareas

• Usar las Métricas

Exportar a Microsoft Project

Registro de defectos

Proyecto en Producción

Iniciar el proyecto

Crear el proyectoDefinir los requerimientos del proyecto

Definir los roles del equipo de trabajo

Ingresar el plan del proyecto(usar estimaciones)

Asignar las responsabilidades

Avanzar el proyecto

Cargar la plantilla de metodología de desarrollo elegida

Cerrar el proyecto

Ciclo de vida de Proyectos (Seguimiento y supervisión)Orden de trabajo

Hoja de tiempo

Alertas

Definiciones iniciales de Proyectos

Manejar los requerimientos

• Actualizar las tareas

• Usar las Métricas

Exportar a Microsoft Project

Registro de defectos

Proyecto en Producción

Enfoque del Proyecto

Page 21: Proceso de Software Personal - PSP

INSTRUCCIONES DE USO DEL PSP• Utilización de una tabla de registro de tiempos.

Prof. Lic. Osiris Sofia. Modelo PSP SEI

Page 22: Proceso de Software Personal - PSP

INSTRUCCIONES DE USO DEL PSP• Tabla de registro de tiempos, llenada

Prof. Lic. Osiris Sofia. Modelo PSP SEI

Page 23: Proceso de Software Personal - PSP

INSTRUCCIONES DE USO DEL PSP• Gestión de las interrupciones.

– INTERRUPCIONES• Variables• No productivas• Perdida de tiempo• Rompen el ritmo de pensamiento

Page 24: Proceso de Software Personal - PSP

INSTRUCCIONES DE USO DEL PSP• Gestión de las interrupciones.

– INTERRUPCIONES• Variables• No productivas• Perdida de tiempo• Rompen el ritmo de pensamiento

Page 25: Proceso de Software Personal - PSP

INSTRUCCIONES DE USO DEL PSP• Control de las tareas finalizadas.• Resumen periódico de actividades.

Prof. Lic. Osiris Sofia. Modelo PSP SEI

Page 26: Proceso de Software Personal - PSP

CONCLUSIONES• La disciplina en el proceso de desarrollo de software es, sin lugar a dudas,

uno de los elementos fundamentales para tal propósito debemos comenzar a entenderla y aplicarla desde el primer año de la carrera.

• Con la introducción de PSP desde los primeros años y de forma gradual, los futuros ingenieros informáticos del país inferirán la necesidad de saber gestionar correctamente sus tiempos y compromisos, no solo para el trabajo que desempeñarán sino para otras facetas de su vida.

• Para obtener productos de calidad, el ingeniero debe asumir la responsabilidad personal de la calidad de sus productos. Los buenos productos no se obtienen por azar, sino como consecuencia de un esfuerzo positivo para hacer un trabajo de calidad.

Page 27: Proceso de Software Personal - PSP

Sitios de Interés• Engenieering Institute; Personal Software Process (PSP) 2008; Disponible en: Carnegie Mellon University. http://www.sei.cmu.edu/tsp/psp.html

• Addison Wesley; Proceso de Software Personal; 2001; Disponible en http://lsi.ugr.es/~ig1/docis/respsp.pdf

•Enrique Vereau, Ingeniería de Software; Peru Server; Disponible en http://www.vereau.org/wp-images/images/files/pres-psp-chiclayo.pdf

•PROCESO PERSONAL DEL SOFTWARE; Disponible en http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/pelaez_r_jj/capitulo2.pdf