95
 Calidad en el Desarrollo de Software UNIDAD II Métricas y Procesos PSP Personal Software Process UABC

Psp

Embed Size (px)

Citation preview

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ó

1:15  2:35  3+8  69  Compilació

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).