Está en la página 1de 15

Ingeniería del Software II

Desarrollo de Software
PSP (Personal Software Process)
PSP

El aseguramiento de la calidad es una de las actividades


sombrilla más importantes en el proceso de desarrollo del
software.

Pero, ¿Qué es calidad?

2
PSP

Calidad de Software (IEEE):

«Grado en que un sistema, componente o proceso cumple


con los requerimientos especificados y las necesidades del
cliente o usuario»

Calidad del Software (ISO)

«Es el grado (pobre, bueno o excelente) en que un


conjunto de características inherentes del software
cumplen con los requisitos del sistema»
3
PSP

¿Qué factores afectan la calidad del software?

1. Los clientes / usuarios

2. Los desarrolladores

3. El proceso

4. El producto

4
PSP

¿Qué se necesita para lograr la calidad en el proceso


del software?

• Cambios en la cultura organizacional

• Inversiones en tecnología

• Inversiones en Personal

5
PSP

Marcos de trabajo SEI para el aseguramiento de la


calidad en el proceso del software

CMM (Capacity Maturity Model)


Organizaciones

TSP (Team Software Process)


Equipos de Trabajo

PSP (Personal Software Process)


Desarrolladores

6
PSP

Justificación del PSP

• Todos los ingenieros de software utilizan algún proceso,


aún ad-hoc, para desarrollar software
• La calidad del software depende de cada ingeniero de
software

entonces

• El PSP debe ayudar a mejorar el proceso que utilizan


los ingenieros para desarrollar software
7
PSP

Principios del PSP


• Cada ingeniero es diferente; para ser efectivos, cada
uno debe planificar con base en sus propios datos
personales
• Para mejorar su desempeño, los ingenieros deben
utilizar procesos mesurables y bien definidos
• Para producir software de calidad, los ingenieros deben
sentirse personalmente responsables de la calidad de
sus productos
• Cuesta menos encontrar y corregir los errores antes que
después (pero es más eficiente prevenirlos)
• La forma correcta por lo general es más rápida y barata
8
PSP

Estructura del PSP

Revisión del Revisión de


Planificación Diseño Codificación Compilar Probar Post-Mortem
Diseño Codificación

Logs

Resumen del
Proyecto

9
PSP

Niveles de PSP

PSP3:
Proceso
PSP2: Cíclico
Calidad
Personal
PSP1:
Planificación
Personal

PSP0:
Medida
Personal

10
PSP

PSP0 (Medida Personal):


• Acepta como punto de entrada las prácticas de
programación actuales del desarrollador

• Se debe adicionar:
– Registros de tiempo dedicado a trabajar en un proyecto
– Registros de los defectos encontrados en el código
– Registros de los tipos de defectos encontrados

• PSP0.1
– Establecer una manera de definir «línea de código» (LDC)
– Establecer maneras de mejorar el proceso de desarrollo
11
PSP

Métricas de PSP

1. Tiempo:
– Registro de tiempo empleado en cada fase del proceso
– Registro de tiempos de interrupción (ej. Una llamada telefónica)
– Se pueden descargar loggers
2. Tamaño:
– LDC es la métrica más conocida para medir el tamaño del
software
– Generalmente se usa un contador, para liberar al desarrollador
de la tediosa tarea de contar las LDC
– Algunos contadores: Java , .Net
12
PSP

PSP1 (Planificación Personal):


• Tiene como propósito ayudar al ingeniero a entender la
relación entre el tamaño del software y el tiempo que
toma desarrollarlo

• Se debe adicionar:
– Aptitudes para estimar el tamaño del software (LDC)
– Una forma de informar los resultados de las pruebas del
software

• PSP1.1
– Adicionar habilidades para realizar la planificación de tiempos
13
PSP

PSP2 (Calidad Personal):


• Tiene como propósito ayudar a los ingenieros a manejar
de manera realista y objetiva los errores de
programación

• Se debe adicionar:
– Revisión personal de los diseños de software
– Revisión personal del código fuente

• PSP2.1:
– Lista de verificación para asegurar que los diseños se
implementan correctamente
14
PSP

PSP3 (Proceso Cíclico):

• Está diseñado para escalar el PSP para manejar


proyectos grandes (KLDC) dividiendo el proceso en
incrementos

• Se debe adicionar:
– Aplicación de PSP a cada incremento para producir una «base
de calidad» que aplique en los incrementos sucesivos
– Utilizar pruebas de regresión para asegurar que las pruebas
diseñadas para los incrementos anteriores funcionarán en los
nuevos incrementos
15

También podría gustarte