Upload
avelino-felipe-policarpio
View
1.257
Download
6
Embed Size (px)
Citation preview
FUNDAMENTOS DE INGENIERÍA DEL SOFTWAREFUNDAMENTOS DE INGENIERÍA DEL SOFTWARE
PROCESO DE SOFTWARE PROCESO DE SOFTWARE PERSONAL (PSP)PERSONAL (PSP)
ESCUELA DE CIENCIAS DE LA ESCUELA DE CIENCIAS DE LA COMPUTACIONCOMPUTACION
INTRODUCCIÓN Y ANTECEDENTESINTRODUCCIÓN Y ANTECEDENTES• Entre Entre laslas principales causas para que el proceso principales causas para que el proceso
de desarrollo de software falle pueden ser:de desarrollo de software falle pueden ser:
– El personal de desarrollo no se involucra lo El personal de desarrollo no se involucra lo suficiente.suficiente.
– No esta consciente de la verdadera importancia No esta consciente de la verdadera importancia del proyecto.del proyecto.
– No se cuentan con los recursos necesariosNo se cuentan con los recursos necesarios
– Las practicas establecidas no son buenas…Las practicas establecidas no son buenas…
• Esta claro que la producción de software debe Esta claro que la producción de software debe convertirse en un proceso disciplinado y convertirse en un proceso disciplinado y aceptado por todos.aceptado por todos.
• En los años 70 y 80 era popular la estrategia En los años 70 y 80 era popular la estrategia “Prueba y arregla” en la industria “Prueba y arregla” en la industria estadounidense.estadounidense.
• En estos años se establece el control de En estos años se establece el control de procesos, que desde aquí ha ido enfocando procesos, que desde aquí ha ido enfocando todo avance en el enfoque de la calidad. todo avance en el enfoque de la calidad. – Modelo de Capacidad de Maduración Modelo de Capacidad de Maduración (CMM) en (CMM) en
1987.1987.
PROCESO DE SOFTWARE PROCESO DE SOFTWARE PERSONALPERSONAL
• En el año de 1995 el PSP fue En el año de 1995 el PSP fue propuesto por Watts Humphrey, este propuesto por Watts Humphrey, este inicialmente estaba dirigido para inicialmente estaba dirigido para estudiantes.estudiantes.
• Para 1997 con el lanzamiento del Para 1997 con el lanzamiento del libro "An Introduction to the Personal libro "An Introduction to the Personal Software Process" el PSP ya estaba Software Process" el PSP ya estaba destinado a los ingenieros.destinado a los ingenieros.
Watts Humphrey
• PSP se concentra en las prácticas de trabajo de PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual.los ingenieros en una forma individual.
• El PSP se caracteriza porque es de uso El PSP se caracteriza porque es de uso personal y se aplica a programas pequeños de personal y se aplica a programas pequeños de menos de 10.000 líneas de código.menos de 10.000 líneas de código.
• El PSP sirve para producir software de calidad, El PSP sirve para producir software de calidad, donde cada ingeniero debe trabajar en la donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.necesidad de realizar trabajo de calidad.
• El PSP se centra en la administración del tiempo El PSP se centra en la administración del tiempo y en la administración de la calidad a través de y en la administración de la calidad a través de la eliminación temprana de defectos.la eliminación temprana de defectos.
• El PSP busca proporcionar un marco de trabajo El PSP busca proporcionar un marco de trabajo para el personal involucrado en el proceso de para el personal involucrado en el proceso de desarrollo de software. desarrollo de software.
• PSP demuestra cómo manejar la calidad desde PSP demuestra cómo manejar la calidad desde el principio del trabajo.el principio del trabajo.
PRINCIPIOS DEL PSPPRINCIPIOS DEL PSP
• Cada ingeniero es esencialmente diferente (Cada Cada ingeniero es esencialmente diferente (Cada uno se encarga de su trabajo).uno se encarga de su trabajo).
• Para mejorar constantemente su funcionamiento, Para mejorar constantemente su funcionamiento, los ingenieros deben utilizar personalmente los ingenieros deben utilizar personalmente procesos bien definidos y medidos. procesos bien definidos y medidos.
• Los ingenieros deben sentirse personalmente Los ingenieros deben sentirse personalmente comprometidos con la calidad de sus productos, comprometidos con la calidad de sus productos, esto mejorará la calidad.esto mejorará la calidad.
OBJETIVOSOBJETIVOS DE PSP DE PSP
• Lograr una disciplina de mejora continua en el Lograr una disciplina de mejora continua en el proceso proceso de de desarrollodesarrollo..
• Medir, estimar, planificar, seguir y controlar el Medir, estimar, planificar, seguir y controlar el proceso de desarrollo.proceso de desarrollo.
• Mejorar la calidad del proceso de desarrollo.Mejorar la calidad del proceso de desarrollo.
• En general, PSP provee calidad y productividad.En general, PSP provee calidad y productividad.
– El tiempo ahorrado en el testeo en base a una El tiempo ahorrado en el testeo en base a una mejor calidad ahorra entre un 20 a 40 % del mejor calidad ahorra entre un 20 a 40 % del desarrollo…desarrollo…
PRINCIPIOS DEL PSPPRINCIPIOS DEL PSP
• Cuesta menos encontrar y arreglar errores en la Cuesta menos encontrar y arreglar errores en la etapa inicial del proyecto que encontrarlos en etapa inicial del proyecto que encontrarlos en las etapas subsecuentes. las etapas subsecuentes.
• Es más eficiente prevenir defectos que Es más eficiente prevenir defectos que encontrarlos y arreglarlos. encontrarlos y arreglarlos.
• La manera correcta de hacer las cosas es La manera correcta de hacer las cosas es siempre la manera más rápida y más barata de siempre la manera más rápida y más barata de hacer un trabajo.hacer un trabajo.
DESVENTAJAS DE APLICAR DESVENTAJAS DE APLICAR PSPPSP
• El tiempo requerido para conocerloEl tiempo requerido para conocerlo• El costo emocional por mantener una disciplinaEl costo emocional por mantener una disciplina• El ego del cambio en las costumbresEl ego del cambio en las costumbres
VENTAJAS DE APLICAR PSPVENTAJAS DE APLICAR PSP
• La idea de que ganamos en talento y habilidadLa idea de que ganamos en talento y habilidad
• La estimulación por nuevas ideasLa estimulación por nuevas ideas
• Una estructura de trabajo de mejoramiento personalUna estructura de trabajo de mejoramiento personal
• Tomar control del propio trabajoTomar control del propio trabajo
• La sensación de logroLa sensación de logro
• Una base mejorada para el trabajo en grupo (TSP)Una base mejorada para el trabajo en grupo (TSP)
• La convicción de que es lo mejor que se puede hacerLa convicción de que es lo mejor que se puede hacer
NIVELES PSPNIVELES PSP• Para recalcar:Para recalcar:
– PSP tiene un marco de proceso de evolución similar PSP tiene un marco de proceso de evolución similar al que tiene CMM.al que tiene CMM.
– En el CMM un nivel de madurez sólo se alcanza si se En el CMM un nivel de madurez sólo se alcanza si se logran cumplir todas las KPA´s logran cumplir todas las KPA´s (áreas de procesos (áreas de procesos claves)claves) que exige cada nivel. que exige cada nivel.
– PSP solamente cubre de manera parcial estas KPA´s PSP solamente cubre de manera parcial estas KPA´s debido a que es un complemento de CMM.debido a que es un complemento de CMM.
– Al PSP es ideal utilizarlo junto con CMM (no es Al PSP es ideal utilizarlo junto con CMM (no es obligatorio).obligatorio).
NIVELES PSPNIVELES PSP• El PSP define cinco actividades del marco de El PSP define cinco actividades del marco de
trabajo:trabajo:
– PLANEACIÓN.PLANEACIÓN.– DISEÑO DE ALTO NIVELDISEÑO DE ALTO NIVEL– REVISIÓN DEL DISEÑO DE ALTO NIVELREVISIÓN DEL DISEÑO DE ALTO NIVEL– DESARROLLO DESARROLLO – ANÁLISIS DE RESULTADOSANÁLISIS DE RESULTADOS
NIVELES PSPNIVELES PSP
PSP 0PSP 0-Practicas actuales desarrollo.-Practicas actuales desarrollo.-Mantener registros de tiempo -Mantener registros de tiempo trabajado en un proyecto. trabajado en un proyecto.-Registrar defectos -Registrar defectos encontradosencontrados-Registrar tipos de defectos.-Registrar tipos de defectos.
PSP 0.1PSP 0.1-Establecer estándares de -Establecer estándares de código (Definir “Líneas de código (Definir “Líneas de código”)código”)-Proponer maneras de mejorar -Proponer maneras de mejorar proceso desarrolloproceso desarrollo-Realizar mediciones-Realizar mediciones
PSP 1PSP 1--Aptitud para estimar Aptitud para estimar tamaño.tamaño.-Informe de pruebas-Informe de pruebas
PSP 1.1PSP 1.1-Planeación de tareas-Planeación de tareas-Planeación de tiempos-Planeación de tiempos
PSP 2PSP 2-Revisión del diseño-Revisión del diseño-Revisión del código-Revisión del código
PSP 2.1PSP 2.1Plantillas de diseño (Marco Plantillas de diseño (Marco de trabajo y listas) de trabajo y listas) Verificación de tareas de Verificación de tareas de diseñodiseño
PSP 3PSP 3
PlaneaciónPlaneación
• Esta actividad selecciona requisitos, con base Esta actividad selecciona requisitos, con base en ellos desarrolla el tamaño y la estimación de en ellos desarrolla el tamaño y la estimación de los recursos.los recursos.
• Estimación de los defectos.Estimación de los defectos.• Creación de un programa del proyecto.Creación de un programa del proyecto.• La planificación proporciona una sólida base La planificación proporciona una sólida base
para comprometerse a unas fechas de para comprometerse a unas fechas de entrega.entrega.• Estimación del tiempo necesario.Estimación del tiempo necesario.
DiseñoDiseño de Alto de Alto NivelNivel • Se elabora especificaciones externas para los Se elabora especificaciones externas para los
componentes construidos.componentes construidos.• Diseño de componentes.Diseño de componentes.• Construcción de prototipos si hay incertidumbre.Construcción de prototipos si hay incertidumbre.• Los elementos se registran y se rastrean.Los elementos se registran y se rastrean.
Revisión del diseño de alto nivelRevisión del diseño de alto nivel
• Métodos formales de verificación para errores Métodos formales de verificación para errores de diseño.de diseño.
• Mediciones para todas las tareas importantes y Mediciones para todas las tareas importantes y los resultados de trabajo.los resultados de trabajo.
DesarrolloDesarrollo• Diseño a nivel de componentes se refina y Diseño a nivel de componentes se refina y
revisa.revisa.• Se genera, revisa, compila y prueba el código.Se genera, revisa, compila y prueba el código.• Mediciones para todas las tareas importantes y Mediciones para todas las tareas importantes y
los resultados de trabajo.los resultados de trabajo.• Puede medirse en LOC (líneas de código).Puede medirse en LOC (líneas de código).• Esto exige tener una forma normalizada de Esto exige tener una forma normalizada de
contar LOC, o de codificar.contar LOC, o de codificar.
AnálisisAnálisis de de ResultadosResultados• Mediante las mediciones recolectadas se Mediante las mediciones recolectadas se
determina la efectividad del proceso.determina la efectividad del proceso.• Las mediciones y medidas deben ofrecer una Las mediciones y medidas deben ofrecer una
guía para modificar el proceso y así mejorar su guía para modificar el proceso y así mejorar su efectividad.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 ProyectoEnfoque del Proyecto
INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP•Utilización de una tabla de registro de Utilización de una tabla de registro de
tiempos.tiempos.
INSTRUCCIONES DE USO DEL PSP•Tabla de registro de tiempos, llenada
INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP
•Gestión de las interrupciones.Gestión de las interrupciones.▫INTERRUPCIONESINTERRUPCIONES
VariablesVariables No productivasNo productivas Perdida de tiempoPerdida de tiempo Rompen el ritmo de pensamientoRompen el ritmo de pensamiento
INSTRUCCIONES DE USO DEL PSPINSTRUCCIONES DE USO DEL PSP
•Control de las tareas finalizadas.Control de las tareas finalizadas.•Resumen periódico de actividades.Resumen periódico de actividades.
CONCLUSIONESCONCLUSIONES• La disciplina en el proceso de desarrollo de software es, sin lugar a La disciplina en el proceso de desarrollo de software es, sin lugar a
dudas, uno de los elementos fundamentales para tal propósito dudas, uno de los elementos fundamentales para tal propósito debemos comenzar a entenderla y aplicarla desde el primer año de debemos comenzar a entenderla y aplicarla desde el primer año de la la carrera.carrera.
• Con la introducción de PSP desde los primeros años y de forma 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 gradual, los futuros ingenieros informáticos del país inferirán la necesidad de saber gestionar correctamente sus tiempos y necesidad de saber gestionar correctamente sus tiempos y compromisos, no solo para el trabajo que desempeñarán sino para compromisos, no solo para el trabajo que desempeñarán sino para otras facetas de su vida.otras facetas de su vida.
• Para obtener productos de calidad, el ingeniero debe asumir la Para obtener productos de calidad, el ingeniero debe asumir la responsabilidad personal de la calidad de sus productos. Los buenos responsabilidad personal de la calidad de sus productos. Los buenos productos no se obtienen por azar, sino como consecuencia de un productos no se obtienen por azar, sino como consecuencia de un esfuerzo positivo para hacer un trabajo de calidad.esfuerzo positivo para hacer un trabajo de calidad.
SitiosSitios de de InterésInterés• Engenieering Institute; Personal Software Process (PSP) 2008; Engenieering Institute; Personal Software Process (PSP) 2008; Disponible en: Carnegie Mellon University. Disponible en: Carnegie Mellon University. http://www.sei.cmu.edu/tsp/psp.htmlhttp://www.sei.cmu.edu/tsp/psp.html
• Addison Wesley; Proceso de Software Personal; 2001; Disponible en Addison Wesley; Proceso de Software Personal; 2001; Disponible en http://lsi.ugr.es/~ig1/docis/respsp.pdf http://lsi.ugr.es/~ig1/docis/respsp.pdf
•Enrique Vereau, Ingeniería de Software; Peru Server; Disponible en Enrique Vereau, Ingeniería de Software; Peru Server; Disponible en http://www.vereau.org/wp-images/images/files/pres-psp-chiclayo.pdfhttp://www.vereau.org/wp-images/images/files/pres-psp-chiclayo.pdf
•PROCESO PERSONAL DEL SOFTWARE; Disponible en PROCESO PERSONAL DEL SOFTWARE; Disponible en http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/pelaez_r_jj/capitulo2.http://catarina.udlap.mx/u_dl_a/tales/documentos/lis/pelaez_r_jj/capitulo2.pdfpdf