5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 1/95
Calidad en el Desarrollo deSoftware
UNIDAD II
Métricas y Procesos PSPPersonal Software Process
UABC
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 2/95
Calidad en el Desarrollo deSoftware
Objetivo General:
• Introducir al alumno a laMetodología del PSP, así como
conocer los conceptos acerca demétricas en el desarrollo deSoftware.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 3/95
Calidad en el Desarrollo deSoftware
Índice
II.I. Introducción al Personal SoftwareProcess (PSP)
II.II. Estructura del PSPIII.III. Métricas del PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 4/95
Calidad en el Desarrollo deSoftware
II.I. Introducción al Personal
Software Process (PSP)
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 5/95
Calidad en el Desarrollo deSoftware
II.I. Introducción al PersonalSoftware Process (PSP)
Objetivo:• Conocer los antecedentes, principios y
pasos del PSP.• Definir y explicar los orígenes de PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 6/95
Calidad en el Desarrollo deSoftware
Antecedentes• Después de la segunda guerra mundial, la estrategia de calidad en la
mayoría de las organizaciones industriales se basaba casi por completo enlas pruebas. Las empresas establecieron departamentos especiales de lacalidad para encontrar y arreglar problemas después de la producción delos productos.
• No fué sino hasta los años 70 y los años 80 que W. Edwards Deming y J.M.Juran convencieron a la industria estadounidense que se centrara enmejorar la forma en la que la gente hacía sus trabajos y desarrollaban susprocesos. [ DEMING; 82 ], [ JURAN 88]
• En los siguientes años, este enfoque a los procesos de trabajo, ha sidoresponsable de las mejoras importantes en la calidad de automóviles, de la
electrónica, o de casi cualquier otra clase de producto.
• La estrategia tradicional que había de "prueba-y-arregla" ahora esreconocida como costosa, que desperdicia tiempo y que además esineficaz para el trabajo de la ingeniería y de la fabricación.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 7/95
Calidad en el Desarrollo deSoftware
Antecedentes• Aunque la mayoría de las organizaciones industriales ahora han adoptado
principios modernos de calidad, la comunidad del software ha continuadoconfiando en la prueba como el método principal de la administración de lacalidad. Para el software, la primera medida principal en la direccióniniciada por Deming y Juran fué tomada por Michael Fagan cuando en 1976él introdujo las inspecciones del software [ FAGAN; 86]
• Usando inspecciones, las organizaciones han mejorado substancialmentela calidad del software. Otra medida significativa en la mejora de calidad delsoftware fué tomada con la introducción del modelo de capacidad demadurez (CMM) en 1987.
• El enfoque principal de CMM estaba en el sistema que administraba laayuda que se le proporcionaba a los ingenieros de desarrollo. CMM ha
tenido un efecto positivo en el funcionamiento de las organizaciones delsoftware [ HERBSLEB; 97]• Otra medida significativa en la mejora de calidad del software fué tomada
con la esencia del proceso personal del software (PSP) ya que PSP amplíael proceso de mejora a la gente que realiza el trabajo de desarrollo desoftware.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 8/95
Calidad en el Desarrollo deSoftware
Antecedentes• PSP se concentra en las prácticas de trabajo de los ingenieros en una
forma individual. El principio detrás de PSP es ése, sirve para producirsoftware de calidad, cada ingeniero debe trabajar en la necesidad derealizar trabajo de calidad.
• PSP se diseñó para ayudar a profesionales del softwarepara que utilicen constantemente prácticas sanas deingeniería de software.
• Asimismo les enseña a cómo planear y darle un seguimiento a su trabajo, autilizar un proceso bien definido y medido, a establecer metas mesurables,y finalmente a la utilización del rastreo constante para alcanzar dichasmetas.
• PSP les demuestra a los ingenieros a cómo manejar la calidad desde el
principio del trabajo, a cómo analizar los resultados de cada trabajo, y acómo utilizar los resultados para mejorar el proceso del proyecto siguiente.[SEI; 2000] .
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 9/95
Calidad en el Desarrollo deSoftware
¿ Cómo fue desarrolladoPSP?
• Después de que Watts S. Humphrey condujera el desarrollo inicial de CMMpara software, se decidió a aplicar los principios de CMM a los programaspequeños.
• Posteriormente, mucha gente preguntaba cómo aplicar CMM a lasorganizaciones pequeñas o al trabajo de los equipos pequeños desoftware.
• Mientras que los principios de CMM se aplicaron a tales grupos, cada vezse volvía mas necesaria la asesoría para saber que hacer. Fué entoncescuando Humphrey decidió personalmente utilizar los principios de CMMpara desarrollar programas modulares para ver si dicho enfoque podríafuncionar para convencer a los ingenieros de software a que adoptarantales prácticas.
• Fué entonces en el desarrollo de estos programas modulares, cuando
Humphrey utilizó personalmente todas las prácticas de CMM para que élsubiera poco a poco hasta llegar al nivel 5. Poco después él comenzó atrabajar en el proyecto tiempo completo en abril de 1989, el Instituto de laIngeniería de Software (SEI) hizo a Humphrey un colaborador del SEI,permitiéndole trabajar tiempo completo en la investigación detallada dePSP.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 10/95
Calidad en el Desarrollo deSoftware
¿ Cómo fue desarrolladoPSP?
• Durante los siguientes tres años, él desarrolló un total de 62 programas ydefinió cerca de 15 versiones de PSP. Utilizó los siguientes lenguajes deprogramación: PASCAL y C++ , para desarrollar cerca de 25.000 líneas decódigo que ayudarían a darle la forma final a PSP. [SEI; 2002]
• De esta experiencia, él concluyó que los principios de la administración deprocesos que desarrolló Deming y de Juran eran totalmente aplicables
tanto al trabajo de los ingenieros de software de manera individual como aingenieros enfocados al trabajo en equipo, el resultado? Proceso en equipode software (TSP)
• Humphrey después escribió un libro que les proporcionó a varios asociadosel material necesario para enseñar cursos de PSP. En septiembre de 1993,Howie Dow enseñó el primer curso de PSP a cuatro estudiantes graduadosen la Universidad de Massachusetts.
• Humphrey también enseñó el curso de PSP durante el semestre delinvierno de 1993-1994 en la universidad de Carnegie Mellon, al igual queNazim Madhavji en la Universidad McGill y Soheil Khajanoori lo enseñó enla Universidad Aeronáutica de Embry. De acuerdo con las experiencias ylos datos que proporcionaron estos cursos, Humphrey realizó la revisión dellibro de PSP y publicó la versión final a finales de 1994. [HUMPHREY; 95 ]
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 11/95
Calidad en el Desarrollo deSoftware
¿ Cómo fue desarrolladoPSP?
• Casi al mismo tiempo, Jim Over y Neil Reizerdel SEI y Robert Powels de la compañía deServicios Informativos Avanzados (AIS por sussiglas en inglés) desarrollaron el primer curso
para entrenar a los instructores a enseñar elcurso de PSP en la industria. Humphrey juntocon el SEI han continuado trabajando en eldesarrollo de PSP y asímismo han aplicado losmismos principios al Proceso en Equipo de
Software o TSP.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 12/95
Calidad en el Desarrollo deSoftware
¿ Qué es PSP?
• Un PSP es un proceso personal desarrollarsoftware. – pasos definidos
– formularios – estándares
• Un PSP es un marco de trabajo de medición yanálisis que te ayuda a caracterizar tu proceso.
• Es también un procedimiento definido paraayudarte a mejorar tu rendimiento.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 13/95
Calidad en el Desarrollo deSoftware
II.I.I.Principios del PSP
• La calidad de un sistema software estácondicionada por la calidad del peor de suscomponentes.
• La calidad de un componente software estácondicionada por el individuo que lo desarrolló.
• Está condicionada por tu: – conocimiento – disciplina – compromiso
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 14/95
Calidad en el Desarrollo deSoftware
II.I.I.Principios del PSP
• Como todo profesional software deberíasconocer tu propio rendimiento.
• Deberías medir, seguir y analizar tutrabajo.
• Deberías aprender de tus variaciones detu rendimiento.
• Deberías incorporar esas lecciones a tumanera personal de hacer.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 15/95
Calidad en el Desarrollo deSoftware
II.I.I.Principios del PSP
El diseño de PSP se basa en los siguientesprincipios de planeación y de calidad[HUMPHREY; 95]• Cada ingeniero es esencialmente diferente; para ser
más precisos, los ingenieros deben planear sutrabajo y basar sus planes en sus propios datospersonales.
• Para mejorar constantemente su funcionamiento, losingenieros deben utilizar personalmente procesos
bien definidos y medidos.• Para desarrollar productos de calidad, los ingenierosdeben sentirse personalmente comprometidos con lacalidad de sus productos.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 16/95
Calidad en el Desarrollo deSoftware
II.I.I. Principios del PSP
• Cuesta menos encontrar y arreglar errores
en la etapa inicial del proyecto queencontrarlos 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ásbarata de hacer un trabajo.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 17/95
Calidad en el Desarrollo deSoftware
II.I.I. Principios del PSP
Para hacer un trabajo de ingeniería de software de lamanera correcta, los ingenieros deben planear de lamejor manera su trabajo antes de comenzarlo ydeben utilizar un proceso bien definido para realizar de
la mejor manera la planeación del trabajo.
Para que los desarrolladores lleguen a entender sufuncionamiento de manera personal, deben medir eltiempo que pasan en cada proceso, los defectos que
inyectan y remueven de cada proyecto y finalmentemedir los diferentes tamaños de los productos quellegan a producir.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 18/95
Calidad en el Desarrollo deSoftware
II.I.I. Principios del PSP
Para producir constantemente productosde calidad, los ingenieros deben planear,medir y rastrear constantemente la calidad
del producto y deben centrarse en lacalidad desde el principio de un trabajo.
Finalmente, deben analizar los resultadosde cada trabajo y utilizar estos resultadospara mejorar sus procesos personales.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 19/95
Calidad en el Desarrollo deSoftware
II.II. Estructura del PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 20/95
Calidad en el Desarrollo deSoftware
II.II. Estructura del PSP
Objetivo:• Conocer las métricas de PSP.
• Identificar los objetivos de cada nivel dePSP.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 21/95
Calidad en el Desarrollo deSoftware
Introducción
• El PSP es un proceso diseñado para uso individual,basado en una versión a escala de un procesoindustrial.
• El principal objetivo del PSP es ayudar a los ingenieros
software a hacer mejor su trabajo.• EL PSP se ha diseñado también 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 vezmas estrictas para el desarrollo de sistemas software decalidad
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 22/95
Calidad en el Desarrollo deSoftware
Introducción
• El PSP se aplica en tareas personalesestructuradas: – Desarrollo de módulos de programas.
– Definición de requisitos o procesos. – Realización de revisiones o pruebas. – Escritura de documentación, etc. – El PSP se puede extender al desarrollo de sistemas
software de gran tamaño. – Es un proceso de Nivel 5 para los individuos y es un
prerrequisito para el TSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 23/95
Calidad en el Desarrollo deSoftware
Introducción
• PSP se introduce con siete pasoscompatibles.
• Escribes uno o dos pequeños programasen cada paso.
• Recoges y analizas los datos de tutrabajo.
• Los usas y analizas para mejorar tutrabajo.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 24/95
Calidad en el Desarrollo deSoftware
Estructura de PSP
• Comenzando con los requerimientos, el primer paso enel proceso de PSP es la planificación.
• Existe un script de planificación que sirve de guía y unresumen del plan para registrar todos los datos delmismo. Mientras los desarrolladores van siguiendo ellineamiento de trabajo sugerido por los scripts, deben irregistrando los tiempos dedicados y los datos dedefectos en los logs de tiempos y defectos.
• Al final de la tarea, durante la fase de postmortem (PM),deben resumir los datos de tiempo y defectos, medir el
tamaño del programa, e ingresar esos datos en elformulario de sumario del plan. Al finalizar, debenentregar el producto finalizado y el formulario de sumariodel plan completado.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 25/95
Calidad en el Desarrollo deSoftware
Flujo del Proceso
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 26/95
Calidad en el Desarrollo deSoftware
Estructura de PSP
• Debido a que generalmente ciertos métodos de PSP noson utilizados por los desarrolladores, los métodos dePSP son presentados en una serie de siete versiones deprocesos.
• Estas versiones son denominadas como PSP0 a PSP3.Cada versión tiene un mismo conjunto de logs ,formularios, scripts , y standards.
• Los scripts de proceso definen los pasos de cada partedel proceso, los logs y formularios proveen templatespara registrar y almacenar datos, y los standards guían
a los desarrolladores mientras hacen el trabajo.• En otras palabras, PSP es un proceso que está
diseñado para ser utilizado.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 27/95
Calidad en el Desarrollo deSoftware
Elementos del Proceso
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 28/95
Calidad en el Desarrollo deSoftware
Estructura de PSP
• Está construido en un formato simple de utilizarcon instrucciones simples y precisas. Si bien losscripts describen qué hacer, en realidad separecen más a checklists que a tutoriales.
• Estos no incluyen los materiales instructivos queserían necesarios para usuarios no entrenados.El propósito de los scripts es el de guiar a losdesarrolladores en el uso consistente de losprocesos, los cuales ellos conocen (mediante laasistencia a cursos de capacitación en PSP o através de bibliografía introductoria en el uso dePSP).
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 29/95
Calidad en el Desarrollo deSoftware
Evolución del PSP
PSP 3 Desarrollo Cíclico
PSP 2
Revisión del códigoRevisión del diseño
PSP 1 Estimación del Tamaño
Informe de pruebas
PSP 0 Proceso
Medición Personal
Planificación Personal
Calidad Personal
Proceso Personal Cíclico
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 30/95
Calidad en el Desarrollo deSoftware
Visión General de PSP
• PSP0 - estableces una línea base delrendimiento mensurable.
• PSP1 - haces planes de tamaño, recursosy calendario.
• PSP2 - Practicas gestión de defectos yrendimiento.
• PSP3 - Amplias los métodos del PSP aproyecto mayores.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 31/95
Calidad en el Desarrollo deSoftware
II.II.I. Los 7 Pasos de PSP
PSP 0 Proceso actual
Registro de tiempoRegistro de defectos
Estándar de tipos de defectos
PSP 0.1 Estándar de Codificación
Medición de TamañoPropuesta de mejora del
proceso
PSP 1 Estimación de tamañoReporte de pruebas
PSP 1.1 Planeación de tareas
Planeación de tiempos deactividades
Estándar de tipos de defectos
PSP 2 Revisión de CódigoRevisión de Diseño
PSP 2.1 Formatos de Diseño
PSP 3 Desarrollo Cíclico
Proceso deMediciónPersonal
Proceso dePlaneaciónPersonal
Administración deCalidad Personal
ProcesoPersonalCíclico
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 32/95
Calidad en el Desarrollo deSoftware
II.II.I.I. PSP0
El punto de partida de PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 33/95
Calidad en el Desarrollo deSoftware
II.II.I.I. PSP0El punto de partida de PSP
• PSP0 es un proceso sencillo, definido ypersonal.
• Utiliza tus métodos actuales de diseño y
desarrollo.• Recoge datos sobre tu trabajo:
– tiempo gastado por fase
– defectos encontrados en compilación ypruebas
• Proporciona un informe resumen.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 34/95
Calidad en el Desarrollo deSoftware
II.II.I.I. PSP0El punto de partida de PSP
• El paso inicial en PSP consiste enestablecer una base que incluyamediciones y un formato de reportes. Esto
permite medir el progreso y define loscimientos para mejorar. Esencialmente,PSP0 es el proceso habitual con el que
los desarrolladores escriben software,mejorado para proveer mediciones.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 35/95
Calidad en el Desarrollo deSoftware
II.II.I.I. PSP 0.1
• Se pasa a PSP0.1 agregando un estándar decódigo, mediciones de tamaño y eldenominado PIP (Process Improvement
Proposal).• El PIP provee una manera estructurada de
registrar problemas, experiencias y
sugerencias para mejorar.• PSP0.1 también mejora las mediciones paracontar separadamente métodos yprocedimientos.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 36/95
Calidad en el Desarrollo deSoftware
II.II.II. PSP1
Planeación Personal
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 37/95
Calidad en el Desarrollo deSoftware
II.II.II. PSP1
• PSP1 Planeación personal
• PSP1 le agrega pasos de planeamiento aPSP0. El primer paso agregaestimaciones de tamaño y recursos y unreporte de prueba.
• En PSP1.1 se introduce planeamiento de
cronograma y seguimiento del proyecto.Los desarrolladores son enseñados a:
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 38/95
Calidad en el Desarrollo deSoftware
II.II.II. PSP1
• Entender la relación entre el tamaño de los programasque escriben y el tiempo que les toma desarrollarlos.
• Aprender a realizar compromisos que puedan cumplir.• Preparar un plan ordenado para realizar su trabajo
• Establecer una base para realizar un seguimiento de sutrabajo.
Mientras que la importancia de estas técnicas en proyectos
grandes es comprendida, pocos desarrolladores lasaplican a su trabajo personal. PSP demuestra el valor deestos métodos en el nivel personal.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 39/95
Calidad en el Desarrollo deSoftware
II.II.III. PSP2
Calidad Personal
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 40/95
Calidad en el Desarrollo deSoftware
II.II.III. PSP2
• Un objetivo de PSP es ayudar a losdesarrolladores a lidiar de manera realistay objetiva con los defectos que introducen.
Los programadores por lo general seavergüenzan de sus errores. El hecho deque la mayoría de los errores sean
tipográficos o errores tontos hace que losdesarrolladores sientan que puedenmejorar haciendo más esfuerzo.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 41/95
Calidad en el Desarrollo deSoftware
II.II.III. PSP2
• El problema es que hacer más esfuerzo por logeneral hace que las cosas empeoren; las claves,como en otras actividades, son las habilidadesinherentes y las capacidades.
• En PSP2 se enfoca en mejorar la habilidad deldesarrollador para producir programas de calidad.
• La idea es hacer al trabajo de calidad más natural yconsistente. Mejoras significativas en la frecuencia
de defectos de los desarrolladores no son posiblesa menos que conozcan cuantos errores cometen yque comprendan sus causas y consecuencias.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 42/95
Calidad en el Desarrollo deSoftware
II.II.III. PSP2
• PSP2 agrega diseño personal y revisionesde código a PSP1. Estas revisionesayudan a encontrar defectos de manera
temprana y a ver los beneficios que estoproporciona. Los desarrolladores analizanlos defectos que encuentran en losprimeros programas y usan estos datos
para establecer checklists de revisión queestén hechos a medida de su experienciade defectos personales.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 43/95
Calidad en el Desarrollo deSoftware
II.II.III. PSP2
• El proceso de diseño es contemplado enPSP2.1. El objetivo no es decirle a losdesarrolladores como diseñar sino orientar
el criterio para la finalización del diseño,es decir, cuando han terminado que es loque deben haber obtenido. Se establece
un criterio de completitud de diseño y seexaminan varias técnicas de verificación yconsistencia de diseño.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 44/95
Calidad en el Desarrollo deSoftware
II.II.IV. PSP3
Proceso Personal Ciclico
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 45/95
Calidad en el Desarrollo deSoftware
II.II.IV. PSP3
• Hasta este punto PSP se concentró en elproceso lineal para construcción depequeños programas. PSP3 presenta
métodos para ser usados por individuosen la realización de programas de granescala. De todas formas sigue enfocadoen el individuo y no trata los problemas de
comunicación y coordinación que son unaparte importante del desarrollo desistemas de gran escala.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 46/95
Calidad en el Desarrollo deSoftware
II.II.IV. PSP3
• Para escalar PSP2 a proyectos más grandes laestrategia consiste en subdividir el procesopersonal de desarrollo de grandes programasen elementos en la escala de PSP2. Estos
programas son entonces diseñados para serdesarrollados en pasos incrementales. Laprimera construcción consiste en un módulobase o kernel que es ampliado en ciclos
iterativos. En cada iteración se utiliza un PSP2completo, incluyendo diseño, codificación,compilación y pruebas.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 47/95
Calidad en el Desarrollo deSoftware
Proceso Personal Cíclico
Especificaciones
RequerimientosY
Planificación
Diseño deAlto nivel
IntegraciónPruebas del sistema
Uso
Postmortem
Repaso al DiseñoDe
Alto nivel
DesarrolloCíclico
Ciclo específico
Diseño detalladoY
Repaso del diseño
Pruebas
Valorar de nuevoY Reciclar
Desarrollo de las pruebasY repaso
ImplementaciónY Repaso del código
Compilación
Producto
.
.
.
.
.
.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 48/95
Calidad en el Desarrollo deSoftware
II.II.IV. PSP3
• El proceso cíclico PSP3 puede ser un elemento efectivoen un proceso de desarrollo de gran escala solo si cadaincremento sucesivo de software es de alta calidad.
• De esta manera los desarrolladores pueden
concentrarse en la verificación de la calidad del últimoincremento sin preocuparse por defectos en ciclosanteriores.
• Si un incremento anterior tiene muchos defectos, laprueba será más compleja y los beneficios de escalar
PSP se pierden. Esta es una razón para enfatizarrevisiones de diseño y código en los pasos anteriores dePSP.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 49/95
Calidad en el Desarrollo deSoftware
Planeación en PSP
• ¿Por qué hacer planes?• Te permiten llegar a acuerdos que tu
puedas cumplir• Proporcionar las bases para acuerdo en tu
trabajo• Guía tu trabajo• Te ayuda a seguir tu progreso• Terminación del proyecto
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 50/95
Calidad en el Desarrollo deSoftware
Planeación PSP
• La primera tarea consiste en definir los requerimientos,describiendo el trabajo a realizar en el mayor detalle posible.• Como la etapa de planificación es demasiado temprana como para
hacer un diseño completo del producto, los desarrolladores realizanun diseño conceptual, mediante el cual se obtiene un primeracercamiento de cómo debe basarse el producto a ser construido
en la etapa de desarrollo.• La siguiente tarea consiste en la estimación de tamaño y deesfuerzo.
• La correlación entre el tamaño de un programa y tiempo dedesarrollo es moderadamente buena para equipos de desarrollo; sinembargo, para un solo desarrollador, la correlación es generalmente
un poco mayor. Los desarrolladores realizan las estimacionesutilizando datos históricos personales de tamaño y productividad.En PSP, las estimaciones se efectúan mediante el método PROBE(PROxy Based Estimating).
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 51/95
Calidad en el Desarrollo deSoftware
Planeación PSP
Entregar elproducto
Define losrequerimientos
Producir diseñoConceptual
Estimar el tamañodel producto
Estimar losrecursos
Base de Datos deTamaño
Base de Datos deProductividad
Recursosdisponibles
Tamaño, Recursos,Datos, Plazos
ProducirCalendario
Usuario
Necesidaddel usuario
Desarrollarel producto
Analizar elproceso
Seguimiento deReportes
Gestión
Método PROBE Tareas
Items
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 52/95
Calidad en el Desarrollo deSoftware
Planeación PSP
• Una vez que los desarrolladores conocen el tiempo requerido paracada proceso, deben estimar el tiempo que van a dedicar al trabajocada día de la semana, conformando entonces el calendario.
• Luego, durante la etapa de desarrollo del producto, losdesarrolladores efectúan el diseño detallado, la implementación ylas pruebas.
• Después de completar el trabajo, los desarrolladores realizan unanálisis postmortem, en el cual se actualiza el sumario del plancon los datos reales de tiempos invertidos en cada etapa deldesarrollo, defectos encontrados y removidos, etc, y se comparanlos resultados obtenidos con lo planeado.
• Finalmente, los desarrolladores registran toda esta información en
sus bases de datos históricas de tamaño y productividad. Ademásse examinan las Propuestas de Mejoras (PIP) para hacer ajustes enlos procesos.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 53/95
Calidad en el Desarrollo deSoftware
Planeación PSP
• La Medición del trabajo personal es el primer paso por elque comienza el PSP. Es este primer paso losingenieros deben aprender como aplicar los formulariosdel PSP y apuntar datos de su trabajo personal. Parahacer todo esto se mide el desarrollo del tiempo y de losdefectos. Esto hace que los ingenieros recojan datosreales y prácticos y les proporciona una serie de marcarcon las cuales ir midiendo el proceso.
• Para realizar un trabajo con PSP se debe empezar por
el primer paso de medición personal que incluye lagestión del tiempo y el siguiente rastreo del mismo.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 54/95
Calidad en el Desarrollo deSoftware
Recolección de datos
• En PSP, los desarrolladores utilizan información paramonitorear su trabajo, la cual los ayuda a hacer mejoresplanes. Para esto, deben recolectar datos de los tiemposque dedican a cada fase del proceso, de los tamaños de
los productos que producen, y de la calidad de esosproductos.• Las medidas básicas de PSP son el tiempo que el
ingeniero utiliza en cada fase del proceso, los defectosintroducidos y encontrados en cada fase, y los tamaños delos productos desarrollados en líneas de código (LOC).
• Estos datos se recopilan en cada fase del proceso y seresumen a la terminación del proyecto. Todos estos datosse utilizan para proporcionar una familia de medidas decalidad de procesos que los ingenieros usan como guía ensu trabajo.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 55/95
Calidad en el Desarrollo deSoftware
Recolección de datos
Las principales medidas son:• Tamaño tiempo de estimación de errores• Coste de realización
• Defectos producidos y corregidos por hora• Producción del proceso• Valoración y calidad del coste de los fallos
(COQ)• Valoración del rango de fallos (A/FR)
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 56/95
Calidad en el Desarrollo deSoftware
Elementos del Proceso
• Elementos – un guión de proceso – un formulario resumen de plan proyecto – un registro tiempo – un registro de defectos – un estándar de tipos defecto
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 57/95
Calidad en el Desarrollo deSoftware
Flujo del Proceso
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 58/95
Calidad en el Desarrollo deSoftware
Guión del procesoNúmero
de Fase
Propósito Guiarte en el desarrollo de programas a nivel de módulo
EntradasNecesarias
* Descripción del problema Formulario de Resumen del plan del Proyecto PSPO•Tablas de Registro de Tiempos y Defectos•Cronometro (opcional)
1 Planificación •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
2 Desarrollo •Diseñar el programa•Implementar el diseño•Compilar el programa y corregir todos los defectos encontrados
•Completar la Tabla de Registro de Tiempos3 Post-mortem * Completar el Resumen del plan del Proyecto con los datos actuales de tiempo,
defectos y tamaño
Criterios desalida
Un programa probadoUn resumen del Plan de Proyectos con los datos estimados y actuales
Las tablas de Registro de Tiempos y Defectos Rellenos
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 59/95
Calidad en el Desarrollo deSoftware
Guión del proceso
• Planificación – Estimar tiempo de desarrollo.
• Desarrollo – Desarrollar el producto utilizando tus métodosactuales.
• Post-mortem
– Completar el resumen del plan proyecto, conlos tiempos gastados y defectos encontradose inyectados en cada fase.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 60/95
Calidad en el Desarrollo deSoftware
Guión del proceso
• Diseño – Diseñar el programa, usando tus métodos de diseño
actuales.• Codificación
– Implementa el programa.• Compilación
– Compila hasta que este libre defectos.• Prueba
– Prueba el programa y corrige todos los defectos.• Registra los defectos en el Log de defectos ytiempos por fase en el Log de tiempos.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 61/95
Calidad en el Desarrollo deSoftware
Resumen del PlanEstudiante: _Juan Luís Guerra_________ Fecha: _09/10/06__ Programa:_Raíz Cuadrada_____________ Programa #: _1AInstructor: _XX_______________________ Lenguaje: ___C____ Tamaño del programa (LOC) Plan ActualTotal (Nuevas&Modificadas) 50 33
Tiempo en Fase (minutos) Plan Actual A la Fecha A la Fecha%Planeación 2 2 1.6Diseño 0 0 0Codificación 53 53 44.2Compilación 20 20 16.7
Prueba 25 25 20.8Postmortem 20 20 16.7Total 240 120 120 100.0
Defectos Introducidos Actual A la Fecha A la Fecha%Planeación 0 0 0Diseño 0 0 0Codificación 10 10 100Compilación 0 0 0Prueba 0 0 0Total 10 10 100
Defectos Removidos Actual A la Fecha A la Fecha %Planeación 0 0 0Diseño 0 0 0Codificación 3 3 30Compilación 5 5 50Prueba 2 2 20Total 10 10 100Después del Desarrollo 0 0 0
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 62/95
Calidad en el Desarrollo deSoftware
Resumen del Plan
• Encabezado – Nombre, fecha, programa, instructor,
lenguaje.
• Tamaño del Programa – Plan :Indica tu mejor estimación del tiempo
total que tendrá el desarrollo.
– Actual :Indica el tiempo actual en minutosgastado en cada fase.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 63/95
Calidad en el Desarrollo deSoftware
Resumen del Plan
• Tiempo – A la fecha: Indica el tiempo total gastado en
cada fase hasta hoy. Para programa 1A, es el
tiempo gastado en el programa 1A. – A la fecha % :Indica el porcentaje del total
tiempo hasta hoy que se gasto en cada fase.
• Defectos introducidos y removidos: – Indicar el número actual de defectosinyectados y eliminados en cada fase.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 64/95
Calidad en el Desarrollo deSoftware
Resumen del Plan
• Defectos – A la fecha: Indica el total de defectos
inyectados y eliminados en cada fase hasta
hoy. Para el programa 1A, son los defectosinyectados y eliminados en el programa 1A. – A la fecha % :Indicar el porcentaje sobre el
total defectos inyectados y eliminados hastahoy en cada fase.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 65/95
Calidad en el Desarrollo deSoftware
Log Registro del Tiempo
Fecha Inicio Fin TiempodeInterrupción
TiempoDelta
Fase Comentarios
Estudiante: ____________________ Fecha: __________
Instructor:______________________ Programa #: ______
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 66/95
Calidad en el Desarrollo deSoftware
Log Registro del Tiempo
• Encabezado – Indicar nombre, fecha, instructor y número de
programa.
• Fecha – Indicar la fecha actual.
• Inicio – Indicar el tiempo en minutos cuando
empiezas una fase del proyecto.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 67/95
Calidad en el Desarrollo deSoftware
Log Registro del Tiempo
• Fin – Indicar el tiempo en minutos cuando tu paraste tu
trabajo en una fase del proyecto, aun cuando tu nohas terminado esa fase.
• Tiempo de interrupción – Indicar el tiempo perdido por interrupciones desde el
periodo de arranque a parada.
• Tiempo Delta time – Indicar el tiempo transcurrido desde el inicio al tiempo
de parada descontado el tiempo de interrupción.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 68/95
Calidad en el Desarrollo de
Software
Log Registro del Tiempo
• Fase – Anotar la fase en la que estas trabajando. – Use el nombre de cada fase.
• Comentarios – Descripción de la interrupción – La tarea que estas haciendo
– Cualquier aspecto significativo que afecte a tutrabajo
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 69/95
Calidad en el Desarrollo de
Software
Por ejemplo
Fecha Inicio Fin Tiempo deInterrupción
TiempoDelta
Actividad Comentarios
9/9 9:00 9:50 50 Planeación
12:40 1:18 38 Diseño
2:45 3:53 10 58 Diseño Teléfono
6:25 7:45 80 Codificació
n
10/9 11:06 12:19 6+5 62 Codificació
n Baño, tomé caf é
11/9 9:00 9:50 50 Codificació
n
1:15 2:35 3+8 69 Compilació
n
Consulta de un libro
4:18 5:11 25 28 Prueba Reunión con mi jefe
12/9 6:42 9:04 10+6+12 114 Prueba Teléfono, Baño, Teléfono
13/9 9:00 9:50 50 Prueba
12:33 1:16 38 Postmortem
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 70/95
Calidad en el Desarrollo de
Software
Manejo de Interrupciones
• Uno de los problemas que se presenta a la hora degestionar el tiempo son las interrupciones. Es muynormal que nos interrumpan por llamadas de teléfono,gente que viene a hablar con nosotros, o tenemos queparar porque necesitan nuestra ayuda.
• Cuando se producen estos casos se almacena estetiempo en el Registro de Almacenamiento de Tiempo anotándolo en la columna Tiempo de Interrupción .Durante este periodo no solo se anota el tiempo de la
interrupción sino también porqué se ha producido en lacolumna de Comentarios.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 71/95
Calidad en el Desarrollo de
Software
Manejo de Interrupciones
• Ya que el tiempo de interrupción no es un tiempoproductivo para el trabajo, se debe llevar un registro delas interrupciones. El tiempo de las interrupciones sueleser variable, por lo tanto si no se mide, se debería añadirun número aleatorio para todos los datos de tiempo.
• Estos datos de tiempo pueden ser útiles paracomprender mejor como es interrumpido el trabajo, yaque las interrupciones no solo gastan tiempo, sino querompen la forma de trabajo y pueden provocar que se
produzcan errores. Conocer como son las interrupcionespodría ayudar a realizar un trabajo más eficaz y de máscalidad.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 72/95
Calidad en el Desarrollo de
Software
Tamaño
• El tiempo en desarrollar un producto se encuentraaltamente determinado por el tamaño del mismo. EnPSP, los desarrolladores primero estiman el tamaño delos productos que planean desarrollar. Luego, al finalizarel producto, se mide el tamaño real obtenido.
• Esta información permite a los desarrolladores realizar afuturo una estimación de tamaños más precisa. Sinembargo, para que esta información sea útil, el tamañode las mediciones debe corresponderse con el tiempode desarrollo del producto. En PSP, el tamaño se mideen Líneas de Código (LOC).
• Para realizar un seguimiento de la variación del tamañode un programa durante el desarrollo, se debenconsiderar varias categorías de LOC.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 73/95
Calidad en el Desarrollo de
Software
Tamaño
Estas son:• Base (son los LOC iniciales del producto original)• Agregadas (es el código agregado a un programa base
existente)• Modificadas (es el código base que es modificado en un
programa existente)• Eliminadas (es el código base que es eliminado de unprograma existente)
• Reutilización (es el código tomado de una librería u utilizado,sin realizar ninguna modificación, en un nuevo programa)
• Nueva Reutilización (esta medida cuenta los LOC que seagregan a una librería)• Total (es tamaño total del programa, independientemente del
código fuente).
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 74/95
Calidad en el Desarrollo de
Software
Tamaño
• Luego, para medir el tamaño total de unproducto, el cálculo es el siguiente:
• Total LOC = Base – Eliminadas + Agregadas +Reutilización
• Las LOC modificadas y de “nueva reutilización”no son incluidas en el total; esto se debe a quelas LOC modificadas pueden representarse porLOC eliminadas y agregadas, y las LOC de“nuevo reutilización” ya se encuentrancontabilizadas en las LOC agregadas.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 75/95
Calidad en el Desarrollo de
Software
Estándar tipo de Defectos
• El estándar de tipos de defectosproporciona un conjunto general decategorías de defectos.
• Aunque tu puedes reemplazar esteestándar por el tuyo propio, es deseableque te manejes con estas definicionessimples de tipos hasta que tengas datos
que te puedan guiar en lasmodificaciones.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 76/95
Calidad en el Desarrollo de
Software
Estándar tipo de Defectos
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 77/95
Calidad en el Desarrollo de
Software
Log Registro Defectos
Nombre: _______________________________ Fecha: ___ Instructor: ______________________________ Programa :__
Fecha Número Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado10/10/06 1 40 CÓDIGO CODIGO 11Descripción: Agregar una variable a la estructura
Fecha Número Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado10/10/06 2 20 CÓDIGO CODIGO 1Descripción: Variable multidefinida
Fecha Número Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado10/10/06 3 w0 CÓDIGO COMPILAR 1
Descripción: Las comillas de la instrucción de impresión no existen “”
Fecha Número Tipo Introducir Remover Tiempo de Arreglo Defecto Arreglado10/10/06 4 10 CÓDIGO PRUEBA 39Descripción: Alinear y agregar instrucciones de impresión , mejorar la apariencia
L R i D f
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 78/95
Calidad en el Desarrollo de
Software
Log Registro Defectos
• Encabezado – Indicar el nombre, fecha, instructor, y numero
de programa.
• Fecha – Indicar la fecha cuando encontraste ycorregiste el defecto.
• Número – Indicar un número único para este defecto.
Comienza cada proyecto con 1.
L R i D f
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 79/95
Calidad en el Desarrollo de
Software
Log Registro Defectos
• Tipo – Indicar el tipo de defecto a partir del estándar
de tipos de defectos.
• Introducido – Indicar la fase donde tu juzgas que el defectofue inyectado o introducido.
• Eliminado – Indicar la fase en la que encontraste y
eliminaste el defecto.
L R i D f
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 80/95
Calidad en el Desarrollo de
Software
Log Registro Defectos
• Tiempo de Arreglo – Indicar el tiempo que tomaste para corregir el
defecto. Tu puedes dar el tiempo exacto o usar tumejor estimación.
• Defecto Arreglado – Si este defecto fue inyectado durante la corrección de
otro defecto, indicar el número de ese defecto o unaX si lo desconoces.
• Nota
– Un defecto es cualquier cosa en el programa quedebe ser cambiado para que sea desarrollado,mejorado o utilizado de manera adecuada.
L R i D f
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 81/95
Calidad en el Desarrollo de
Software
Log Registro Defectos
• Finalmente, la manera más eficaz de encontrary arreglar defectos es repasando el códigofuente del programa personalmente. Mientrasesto puede parecer como una manera difícil delimpiar un programa defectuoso, resulta ser másrápido y más eficaz. Un método para realizarrevisiones de código es la utilización de guías
en las que se determina cuales son los defectosque mas frecuentemente se inyectan.
Guía Personal de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 82/95
Calidad en el Desarrollo de
Software
Guía Personal deRevisión de Código
Propósit
o
Guía para realizar una revisión de código efectiva # # # 3 Para
Fechar
Para Fechar %
General Cuando se completa cada paso de revisión, anota el
número de defectos del tipo encontrado in la caja de la
derecha.
Completa el catálogo para un programa, clase, objeto o
método antes de empezar la próxima revisión
Completa Verifica que todas las funciones del diseño están
codificadas.
Includes Verifica cada include que esté completo
Inicializa
ción Chequea las variables e inicialización de parámetros.
Llamadas Chequea los formatos de llamadas de función: punteros,
parámetros.
Nombres Chequea los nombres y su uso: consistencia,
declaraciones, y estructuras. Strings Chequea que los punteros están:
Identificados por punteros
Terminados en NULL
Punteros Chequea que los punteros están:
Inicializados a NULL
Borrarlos después de crearlos
Borrarlos siempre después del uso
Guía Personal de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 83/95
Calidad en el Desarrollo de
Software
Guía Personal deRevisión de Código
Propósit
o
Guía para realizar una revisión de código efectiva # # # 3 Para
Fechar
Para
Fechar%
Formato
de salida Cheque el formato de salda
{}
Parejas Asegurarse de que {} están cerrados
Operador
es lógicos Verificar el uso de ==, =, ||, etc.
Chequea cada función entre ()
Chequeeo
Línea por
línea
Chequea cada línea del código:
Sintaxis de las instrucciones
Puntuación
Estándare
s Asegura que el código sigue el estándar de codificación
Abrir y
cerrarficheros
Verificar que todos los ficheros estas:
DeclaradosAbiertos
Declarados
Global Realizar un escaneo global del programa para chequear el
sistema e inspeccionar los problemas
M di i d Ti
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 84/95
Calidad en el Desarrollo de
Software
Mediciones de Tiempo
• Los desarrolladores utilizan el log de registro de tiempopara medir el tiempo que dedican a cada fase delproceso. En este log se anota la hora en que empezarona trabajar en una tarea, la hora en que terminaron unatarea, y cualquier hora en que efectuaron una
interrupción y/o retomaron una tarea. Por ejemplo, unainterrupción podría ser una llamada telefónica, undescanso, o alguien interrumpiendo para hacer unapregunta. Tomando estos tiempos en forma precisa, losdesarrolladores pueden conocer el esfuerzo querealmente se dedica a las tareas del proyecto. Debido a
que los tiempos de interrupciones son esencialmente alazar, ignorar estos tiempos sería introducir un error degran tamaño en la información de tiempos que reduciríala exactitud de las estimaciones.
Ad i i t ió d l Ti
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 85/95
Calidad en el Desarrollo de
Software
Administración del Tiempo
Para la llevar a cabo una buena gestión del tiempo se pueden tener encuenta los siguientes puntos:• Tener en cuenta que normalmente el tiempo se gasta de la misma
forma.• Se debe realizar un seguimiento la forma en la que se gasta el
tiempo.
• Para chequear con exactitud las estimaciones del tiempo y laplanificación, se debe documentar y más tarde compáralo con loque actualmente se hace.
• Para hacer planes más exactos, se deben determinar los planesprevios erróneos y que deberíamos hacer mejor.
• Planificar el tiempo y seguir un plan.
• Todo esto se puede resumir mejor diciendo que la mejor forma degestionar el tiempo es comprender como empleamos el tiempo yesto exige que sepamos catalogar las actividades, registrar eltiempo empleado en cada actividad y almacenar estos datos en unlugar conveniente.
S i i t d l Ti
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 86/95
Calidad en el Desarrollo de
Software
Seguimiento del Tiempo
• Una vez que sabemos gestionar el tiempo,es necesario almacenar todos estos datosde alguna forma mediante un formulario.
Es importante resaltar que utilizar comounidad de medida la hora no nosproporciona detalles para manejar o
planificar el trabajo, es mucho más fácil enminutos.
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 87/95
Calidad en el Desarrollo de
Software
II.III. Métricas del PSP
II III Mét i d l PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 88/95
Calidad en el Desarrollo de
Software
II.III. Métricas del PSP
Objetivo:• Aplicar las métricas de PSP.• Definir y explicar: Los indicadores de
medición del PSP.
Mét i d l PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 89/95
Calidad en el Desarrollo de
Software
Métricas del PSP
• Con datos de tamaño, tiempo y defectos, existen muchas formas demedir, evaluar, y manejar la calidad de un programa. PSP proveeuna serie de mediciones de calidad que ayudan a losdesarrolladores a examinar la calidad de sus programas desdevarias perspectivas. Como ninguna medición por sí sola puedeindicar adecuadamente la calidad de un programa, el panorama queprovee la utilización de todas estas mediciones es generalmente unindicador confiable de calidad.
• Las principales mediciones de calidad son: – Densidad de defectos – Índice de revisión – Índices de tiempo de desarrollo
– Índices de defectos – Rendimiento – Defectos por hora – Efectividad de remoción de defectos – Evaluación del índice de fallas
Resumen del registro de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 90/95
Calidad en el Desarrollo de
Software
gMétricas
Nombre: Fecha: 18/10/96Programa Programa # 13Profesor Lenguaje: C++Resumen Plan Actual a la Fecha
Minutos/LOC 5,92 4,87 5,73
LOC/Hora 10,14 12,32 10,47 Defectos/KLOC 94,79 106,4 96,90
Rendimiento
A/FR
Tamaño Programa (LOC):
Total nuevo & Cambiado 58 47 258
Tamaño Máximo 72
Tamaño Mínimo 41
Resumen del registro de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 91/95
Calidad en el Desarrollo de
Software
gMétricas
Tiempo en fase (min.) Plan Actual Para Fecha Para Fecha % Planing 18 22 88 6,0Diseño 35 24 151 10,2Código 149 93 637 43,1Revisión código 20 37 111 7,5Compilación 24 4 92 6,2
Test 64 8 240 16,2Postmortem 33 41 160 10,8Total 343 229 1479 100Tiempo Máximo 426Tiempo Mínimo 243
Resumen del registro de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 92/95
Calidad en el Desarrollo de
Software
gMétricas
Introducción de defectos Plan Actual Para Fecha Para Fecha % Def/Hora PlaningDiseño 1 4 16,0Código 5 5 21 84,0Revisión códigoCompilaciónTest
Total 6 5 25 100,0
Resumen del registro de
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 93/95
Calidad en el Desarrollo de
Software
gMétricas
Eliminación de defectos Plan Actual Para Fecha Para Fecha % Def/Hora PlaningDiseñoCódigoRevisión código 2 3 8 32,0Compilación 3 2 12 48,0Test 1 5 20,0
Total 6 5 25 100,0
Comparación de PSP
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 94/95
Calidad en el Desarrollo de
Software
Comparación de PSP
Característica PSP Inspecciones CMM ISO900
Propósito Gerenciamiento ymejora de la calidad
Mejora de la calidad Mejora delgerenciamiento
Gerenciamiento dela calidad
Metodología Prescriptiva Presciptiva Descriptiva Descriptiva
Definición Exacta Exacta Vaga Vaga
Audiencia Desarrolladores ygerentes
Desarrolladores Gerentes Gerentes
Cobertura Ciclo de vida deldesarrollo
Verificación yvalidación
Gerenciamiento deproyectos
Aseguramiento dela Calidad
Costo Muy bajo Bajo Alto Alto
Calidad Muy alta Alta Baja Baja
Implementación Semanas Días Años Años
Alcance Integral Estrecho Ambiguo Ambiguo
Cuan Mensurable es Muy Alto Alto Bajo Bajo
Conclusiones
5/14/2018 Psp - slidepdf.com
http://slidepdf.com/reader/full/psp5571ffe649795991699e6207 95/95
Conclusiones
• Conociendo los principios y las características de lametodología de PSP, conformada por los procesos deplanificación, estimación de tamaño y esfuerzo,recolección de datos, manejo de calidad yespecificaciones de diseño, se plantea la posibilidad
de incorporar esta metodología al contexto de unaempresa pequeña, o grupo de desarrollo de softwarepequeño analizando los factores operativos,económicos y los riesgos a los que se expone
• Una vez implementada esta metodología en elambiente de trabajo, un siguiente paso consiste enenfocarse en la mejora de la eficiencia y de ladinámica de trabajo a nivel de equipos de desarrollo,mediante el método conocido como TSP (TeamSoftware Process).