Upload
ember
View
42
Download
0
Tags:
Embed Size (px)
DESCRIPTION
8. Gestión de Calidad de Software. LS3148 - Calidad de Software 3IM1 Universidad Antonio de Nebrija Justo Hidalgo. Contenidos. Introducción Control de Progreso de Proyecto Situaciones de fracaso Componentes Métricas de Calidad de Software Tipos de métricas Puntos de Función - PowerPoint PPT Presentation
Citation preview
8. Gestión de Calidad de 8. Gestión de Calidad de SoftwareSoftware
LS3148 - Calidad de SoftwareLS3148 - Calidad de Software3IM1
Universidad Antonio de NebrijaJusto Hidalgo
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
2
ContenidosContenidos
• Introducción• Control de Progreso de Proyecto
– Situaciones de fracaso– Componentes
• Métricas de Calidad de Software– Tipos de métricas– Puntos de Función– COCOMO I y II
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
3
IntroducciónIntroducción
1. Control de progreso del proyecto– Utilización de recursos– Planificación– Actividades de Gestión de Riesgos
2. Métricas de Calidad de Software– Calidad de desarrollo– Productividad– Densidad de fallos– ...
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
4
Control de Progreso del ProyectoControl de Progreso del Proyecto
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
5
Situaciones de fracasoSituaciones de fracaso
• Planificación y presupuesto demasiado optimista.
• Gestión de riesgos poco profesional.• Dificultades de planificación y
presupuesto.• Punto 1: revisión de contrato.• Puntos 2 y 3: control de gestión de
calidad.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
6
DefiniciónDefinición• El control de progreso se centra en los aspectos
gerenciales del proyecto –planificación, recursos humanos, etc.-
• Su importancia queda patente cuando NO ESTÁ.– Detección temprana de eventos irregulares.
• Estándares:– ISO 9000-3 (Ciclo de Vida General)– IEEE/EIA Std. 12207 (Ciclo de Vida General)– IEEE Std. 1058– IEEE Std. 1490
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
7
ComponentesComponentes
• Control de actividades de gestión de riesgos.
• Control de planificación.• Control de recursos.• Control de presupuesto.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
8
Control de Actividades de Gestión de RiesgosControl de Actividades de Gestión de Riesgos
• IEEE 2001• Control de los riesgos que vimos
anteriormente.– Periódicamente, estado de los elementos de
riesgo.– P.e. en el Proceso Unificado, la lista de riesgos
se evalúa en cada iteración.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
9
Control de PlanificaciónControl de Planificación
• Hitos que permiten monitorizar la planificación– Identificación de retrasos en la finalización de
actividades planificadas.– Centrado en retrasos de actividades críticas:
• Ruta Crítica: conjunto de actividades cuyo retraso implica un retraso global.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
10
Control de RecursosControl de Recursos
• Informes sobre la utilización de recursos– En contraposición a planificación de recursos– Permite medir desviaciones.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
11
Control de PresupuestoControl de Presupuesto
• Elementos presupuestados:1. Recursos humanos2. Elementos de desarrollo y pruebas3. Compra de SW COTS4. Compra de HW5. Pago a subcontratas
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
12
Métricas de Calidad de SWMétricas de Calidad de SW“No puedes controlar lo que no puedes medir”“No puedes controlar lo que no puedes medir”
Tom DeMarco (1982)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
13
Tipos de MétricasTipos de Métricas
• De Proceso: relacionadas con el proceso de desarrollo de sw
• De Producto: relacionadas con el mantenimiento de sw
• La mayoría de las métricas utilizan:– KLOC (miles de líneas de código)– Puntos de función
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
14
1. Métricas de Proceso1. Métricas de Proceso
1. Métricas de Calidad1. Densidad de errores2. Severidad de errores3. Efectividad en la eliminación de errores
2. Métricas de Planificación3. Métricas de Productividad
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
15
Métricas de CalidadMétricas de Calidad
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
16
1.1. Densidad de Errores (I)1.1. Densidad de Errores (I)
• Utiliza los parámetros básicos:– Number of Code Errors (NCE)– Weighted Number of Code Errors (WCE)Severidad (a) NCE (b) Peso relativo (c) Error ponderado
(D=b*c)
Severidad baja (1) 42 1 42
Severidad media (3) 17 3 51
Severidad alta (9) 11 9 99
TOTAL 70 - 192
NCE 70 - -
WCE - - 192
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
17
1.1. Densidad de Errores (y II) 1.1. Densidad de Errores (y II) Código Nombre Fórmula
CED Densidad de Error de Código NCE / KLOC
DED Densidad de Error de Desarrollo NDE /KLOC
WCED Densidad de Error de Código Ponderado WCE / KLOC
WDED Densidad de Error de Desarrollo Ponderado WDE / KLOC
WCEF Errores de Código ponderado por punto de función WCE /NFP
WDEF Errores de Código de Desarrollo por punto de función WDE / NFP
• NCE: errores de código detectados en el código sw.• NDE: errores de código y diseño detectados en el proceso de desarrollo.• NFP: número de puntos de función.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
18
1.2. Severidad de Errores1.2. Severidad de Errores
• Detección de situaciones de crecimiento de errores severos.
Código Nombre Fórmula
ASCE Severidad Media de Errores de Código
WCE / NCE
ASDE Severidad Media de Errores de Desarrollo
WDE / NDE
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
19
1.3. Efectividad en la Eliminación de Errores1.3. Efectividad en la Eliminación de Errores
• Efectividad del SQA en período de operación continuada.
Código Nombre Fórmula
DERE Efectividad en Eliminación de Errores de Desarrollo
NDE / (NDE + NYF)
DWERE Efectividad en Eliminación de Errores Ponderados de Desarrollo
NDE / (WDE + WYF)
• NYF: número de fallos sw detectados durante un año de servicio de mantenimiento.•WYF: número ponderado de errores sw detectados durante un año de servicio de mantenimiento.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
20
Métricas de PlanificaciónMétricas de Planificación
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
21
Algunas métricas de planificaciónAlgunas métricas de planificación
Código Nombre Fórmula
TTO Observación de Planificación MSOT / MS
ADMC Retraso Medio en Término de Hito TCDAM / MS
• MSOT: Hitos completados a tiempo•MS: número total de hitos•TCDAM: Número total de retrasos de término para todos los hitos.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
22
Métricas de ProductividadMétricas de Productividad
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
23
Algunas métricas de productividadAlgunas métricas de productividad
Código Nombre Fórmula
DevP Productividad de Desarrollo DevH / KLOC
FDevP Punto de Función de Productividad de Desarrollo
DevH / NFP
CRe Reutilización de código ReKLOC / KLOC
DocRe Reutilización de documentación
ReDoc / NDoc
• DevH: horas totales invertidas en desarrollo del sistema sw•ReKLOC: miles de líneas de código reutilizadas.•ReDoc: número de páginas de documentación reutilizadas.•NDoc: número de páginas de documentación.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
24
2. Métricas de Producto2. Métricas de Producto
• Tipos de servicio al cliente:1. Servicios de Atención al Cliente2. Servicios de Mantenimiento Correctivo
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
25
Métricas de Calidad de Help DeskMétricas de Calidad de Help Desk
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
26
2.1. Densidad de llamadas2.1. Densidad de llamadasCódigo Nombre Fórmula
HDD Densidad de llamadas (HD) NHYC / KLMC
WHDD Densidad Ponderada de llamadas (HD) WHYC / KLMC
WHDF Llamadas ponderadas por punto de función WHYC / NMFP
• NHYC: número de llamadas durante un año de servicio.•KLMC: miles de líneas de código sw mantenido.•WHYC: llamadas ponderadas recibidas durante un año de servicio.•NMFP: número de puntos de función que hay que mantener.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
27
2.2. Severidad de llamadas2.2. Severidad de llamadasCódigo Nombre Fórmula
ASHC Severidad Media de llamadas (HD) WHYC / NHYC
• NHYC: número de llamadas durante un año de servicio.•WHYC: llamadas ponderadas recibidas durante un año de servicio.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
28
Métricas de Calidad de Métricas de Calidad de Mantenimiento CorrectivoMantenimiento Correctivo
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
29
2.3. Densidad de Fallos del Sistema SW2.3. Densidad de Fallos del Sistema SW
Código Nombre Fórmula
SSFD Densidad de Fallos del Sistema SW NYF / KLMC
WSSFD Densidad Ponderada de Fallos del Sistema SW WYF / KLMC
WSSFF Fallos ponderados del sistema sw por punto de función
WYF / NMFP
• NYF: número de fallos sw detectados durante un año de servicio de mantenimiento.•WYF: número ponderado…•KLMC: miles de líneas de código mantenido.•NMFP: número de puntos de función a ser mantenidos.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
30
2.4. Disponibilidad del sistema SW2.4. Disponibilidad del sistema SW
Código Nombre Fórmula
FA Disponibilidad total (NYSerH-NYFH)/NYSerH
VitA Disponibilidad vital (NYSerH-NYVitFH)/NYSerH
TUA Indisponibilidad total NYTFH/NYSerH
• NYSerH: número de horas en servicio del sistema durante 1 año.•NYFH: número de horas en que al menos una función no está disponible durante un año.•NYVitFH: número de horas en que al menos una función vital no está disponible durante un año.•NYFTH: número de horas de fallo general del sistema durante un año.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
31
Comparativa de industrias SW Comparativa de industrias SW Japonesa y NorteamericanaJaponesa y Norteamericana
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
32
Métricas UtilizadasMétricas Utilizadas
• Cusumano (1991) comparó las industrias con las siguientes métricas:
1. Productividad media (KNLOC/WorkY)2. Densidad de fallos (NYF/KNLOC)3. Reutilización de código (ReKNLOC/KNLOC)
• , donde:– KNLOC: miles de líneas de código no comentadas– WorkY: hombres/año en el desarrollo de sw.– ReKNLOC: miles de líneas de código reutilizadas.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
33
ComparativaComparativa
Métricas E.E.U.U. Japón
Productividad media 7290 12447
Densidad de fallos 4.44 1.96
Reutilización de código 9.71% 18.25%
Número de compañías 20 11
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
34
¿Qué factores afectan a todas estas medidas de calidad de software?
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
35
Puntos de FunciónPuntos de Función
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
36
UsabilidadUsabilidad• Grado en el que el producto es práctico y fácil de utilizar. • Esta característica debe subdividirse en atributos más
fundamentales para que sea posible algún tipo de medición; algunos a considerar pueden ser– nivel requerido: medido en años de experiencia con aplicaciones
similares
– aprendizaje: medido en horas de adiestramiento requeridas antes de la utilización independiente
– capacidad de manipulación: medida en velocidad de trabajo después del adiestramiento y/o errores cometidos a velocidad normal de trabajo.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
37
MantenibilidadMantenibilidad• Facilidad de comprender, corregir, adaptar y mejorar el
software.• Existen tres tipos de mantenimiento:
– mantenimiento correctivo: corregir errores
– mantenimiento adaptivo: modificar el software de acuerdo con el entorno
– mantenimiento perfectivo: añadir nueva funcionalidad
• Medida más común: MTTR (Mean Time To Repair)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
38
DefectosDefectos
• Anomalía en la especificación, diseño o implementación de un producto.
• Una mejora no es un defecto.• Se entiende por mejora un cambio que
no hubiera sido detectado, o, en caso afirmativo, no hubiera sido corregido.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
39
Puntos de FunciónPuntos de Función• Medición de la aplicación desde el punto de vista del usuario,
dejando aparte los detalles de codificación.• Totalmente independiente de las consideraciones de lenguaje.• Evalúan con fidelidad:
– valor comercial de un sistema para un usuario– tamaño del proyecto, coste y tiempo de desarrollo– calidad y productividad del programador– esfuerzo de adaptación– posibilidad de desarrollo propio
• Puntos de Función de Albrecht.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
40
FuncionamientoFuncionamiento
• Interacción analista-usuario– Identificación de funciones disponibles para el usuario,
organizadas en cinco grupos:• Salidas• Consultas• Entradas• Ficheros• Interfaces
– Clasificación y ponderación de cada función por su nivel de complejidad (simple, media, compleja)
– Ajuste de acuerdo a las características del entorno
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
41
AjusteAjuste
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
42
SalidasSalidas
1-5 ítems de datosreferenciados
6-19 ítems de datosreferenciados
20 o más items
0 ó 1 fichero referenciado Simple (4) Simple (4) Medio (5)
2 ó 3 ficheros referenciados Simple (4) Medio (5) Complejo (7)
4 o más ficherosreferenciados
Medio (5) Complejo (7) Complejo (7)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
43
EntradasEntradas
1-4 ítems de datosreferenciados
5-15 ítems de datosreferenciados
16 o más ítems
0 ó 1 ficheroreferenciado
Simple (3) Simple (3) Medio (4)
2 ficherosreferenciados
Simple (3) Medio (4) Complejo (6)
3 o más ficherosreferenciados
Medio (4) Complejo (6) Complejo (6)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
44
ConsultasConsultasSALIDA 1-5 ítems de datos
referenciados6-19 ítems de datosreferenciados
20 o más ítems
0 o 1 ficheroreferenciado
Simple (4) Simple (4) Medio (5)
2 o 3 ficherosreferenciados
Simple (4) Medio (5) Complejo (7)
4 o más ficherosreferenciados
Medio (5) Complejo (7) Complejo (7)
ENTRADA 1-4 ítems de datosreferenciados
5-15 ítems de datosreferenciados
16 o más ítems
0 o 1 ficheroreferenciado
Simple (3) Simple (3) Medio (4)
2 o 3 ficherosreferenciados
Simple (3) Medio (4) Complejo (6)
3 o más ficherosreferenciados
Medio (4) Complejo (6) Complejo (6)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
45
FicherosFicheros
1-19 ítems de datosreferenciados
20-50 ítems de datosreferenciados
51 o más ítems
1 formato/relaciónde registro lógico
Simple (7) Simple (7) Medio (10)
2-5formatos/relacionesde registro lógico
Simple (7) Medio (10) Complejo (15)
6 o másformatos/relacionesde registro lógico
Medio (10) Complejo (15) Complejo (15)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
46
InterfacesInterfacesUtilización del fichero: En esta aplicación A En las otras aplicaciones
Recibido de B Sólo interfaz (sin actualizaciones) Ambos fichero e interfaz
Compartido con B Ambos fichero e interfaz Ambos fichero (si se mantiene) einterfaz
Enviado a B Ambos fichero e interfaz Sólo interfaz (sin actualizaciones)
1-19 ítems de datosreferenciados
20-50 ítems de datosreferenciados
51 o más ítems
1 formato/relaciónde registro lógico
Simple (5) Simple (5) Medio (7)
2-5formatos/relacionesde registro lógico
Simple (5) Medio (7) Complejo (10)
6 o másformatos/relacionesde registro lógico
Medio (7) Complejo (10) Complejo (10)
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
47
COCOMOCOCOMO
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
48
COCOMOCOCOMO
• Constructive Cost Model• Creado por Barry Boehm• Jerarquía de modelos de estimación de
costes software.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
49
Fórmulas básicas (I)Fórmulas básicas (I)
• Esfuerzo = C1 * EAF(SIZE)P1
– C1: constante– SIZE: número de miles de líneas de código
fuente– P1: constante– EAF: productorio de parámetros de
caracterízación de proyectos
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
50
Fórmulas básicas (y II)Fórmulas básicas (y II)
• Tiempo = C2 * (Esfuerzo)P2
– C2: constante– P2: constante
• Las constantes están determinadas por el tipo de proyecto:– Orgánico: fácil, “de casa”– Semiencajado– Empotrado (embedded): complejo.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
51
Relación de constantesRelación de constantes
Esfuerzo Básico IntermedioModo C1 P1 C1 P1Orgánico 2.4 1.05 3.2 1.05Semiencajado 3.0 1.12 3.0 1.12Empotrado 3.6 1.2 2.8 1.2
TiempoModo C2 P2Orgánico 2.5 0.38Semiencajado 2.5 0.35Empotrado 2.5 0.32
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
52
Atributos de CosteAtributos de Coste• 15 atributos en 4 categorías:
– atributos del producto– atributos del ordenador– atributos del personal– atributos del proyecto
• Cada atributo se cuantifica en el entorno del proyecto, siendo la escala entre:– muy bajo– bajo– nominal– alto– muy alto– extremadamente alto
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
53
Atributos del productoAtributos del producto
• RELY: garantía de funcionamiento requerida al software
• DATA: tamaño de la base de datos• CPLX: complejidad del producto
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
54
Atributos del ordenadorAtributos del ordenador
• TIME: restricción de tiempo de ejecución
• STOR: restricción del almacenamiento principal
• VIRT: volatilidad de la máquina virtual• TURN: tiempo de respuesta del
ordenador
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
55
Atributos del personalAtributos del personal
• ACAP: capacidad del analista• AEXP: experiencia en la aplicación• PCAP: capacidad del programador• VEXP: experiencia en máquina virtual• LEXP: experiencia en lenguaje de
programación
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
56
Atributos del proyectoAtributos del proyecto
• MODP: prácticas de programación modernas
• TOOL: utilización de herramientas software
• SCED: plan de desarrollo requerido
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
57
COCOMO II (I)COCOMO II (I)
• 1995-97, por el USC Center for Software Engineering
• Enfocado para grandes proyectos• Provee “estimaciones de rango”, en lugar de
“estimaciones puntuales”.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
58
COCOMO II (y II)COCOMO II (y II)
• Existen tres modelos para estimación de costes:– Post-architecture: estabilidad (lo que COCOMO creía)
• Esfuerzo = 2.45 EAPP (Size)p,– EAPP depende de 17 factores.
– Early-design model: • Esfuerzo = 2.45 EARCH (Size)p,
– EARCH depende de 7 factores
– Prototyping• Esfuerzo lineal.
Calidad de Software - 8. Gestión de Calidad de Software - Justo Hidalgo
59
BibliografíaBibliografía
• Software Project Management. A Unified Framework. W. Royce. Addison-Wesley.
• http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm (de la asignatura de Métricas y Modelos en la Ingeniería de Software de la Universidad del País Vasco)