FUNDAMENTOS DE INGENIERÍA DEL SOFTWARE
-Christian Mora-Argenis Riofrío
PROCESO DE SOFTWARE PERSONAL (PSP)
ESCUELA DE CIENCIAS DE LA COMPUTACION
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…
• 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.
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
• 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.
• 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.
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.
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…
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.
DESVENTAJAS DE APLICAR PSP
• El tiempo requerido para conocerlo• El costo emocional por mantener una disciplina• El ego del cambio en las costumbres
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
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).
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
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
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.
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.
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.
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.
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.
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
INSTRUCCIONES DE USO DEL PSP• Utilización de una tabla de registro de tiempos.
Prof. Lic. Osiris Sofia. Modelo PSP SEI
INSTRUCCIONES DE USO DEL PSP• Tabla de registro de tiempos, llenada
Prof. Lic. Osiris Sofia. Modelo PSP SEI
INSTRUCCIONES DE USO DEL PSP• Gestión de las interrupciones.
– INTERRUPCIONES• Variables• No productivas• Perdida de tiempo• Rompen el ritmo de pensamiento
INSTRUCCIONES DE USO DEL PSP• Gestión de las interrupciones.
– INTERRUPCIONES• Variables• No productivas• Perdida de tiempo• Rompen el ritmo de pensamiento
INSTRUCCIONES DE USO DEL PSP• Control de las tareas finalizadas.• Resumen periódico de actividades.
Prof. Lic. Osiris Sofia. Modelo PSP SEI
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.
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