Вы находитесь на странице: 1из 16

1

Calidad del Software Calidad del Software


Facultad de Informtica
Universidad Polit
X Reunin de Responsables de Sistemas
de Informacin
La Antigua, Guatemala
22-25 de septiembre de 2008

Calidad del Software 1
1. 1. Introducci Introducci n n
2. 2. Control y Garant Control y Garant a de la Calidad del Software a de la Calidad del Software
1. 1. Controles est Controles est ticos y din ticos y din micos micos
2. 2. Actividades constructivas delacalidad Actividades constructivas delacalidad
3. 3. El costedelacalidad El costedelacalidad
3. 3. Medidas Medidas
1. 1. Introducci Introducci n alas medidas n alas medidas
2. 2. Qu Qu , por qu , por qu y c y c mo miden los ingenieros mo miden los ingenieros
3. 3. Medidas y m Medidas y m tricas tricas
4. 4. Medidas en Ingenier Medidas en Ingenier adel Software adel Software
5. 5. Clasificaci Clasificaci n demedidas n demedidas
4. 4. Calidad del Software Calidad del Software
1. 1. Introducci Introducci n alacalidad n alacalidad
2. 2. Modelos decalidad del software Modelos decalidad del software
3. 3. Mejoradel proceso software Mejoradel proceso software
5. 5. Conclusiones Conclusiones
Contenidos Contenidos
Introducci Introducci n n
Calidad del Software 3
Software: Software:
Especifica el conjunto de programas inform Especifica el conjunto de programas inform ticos que se ticos que se
desarrollan en el entorno de una computadora desarrollan en el entorno de una computadora
Papel del software en la sociedad ha cambiado Papel del software en la sociedad ha cambiado
significativamente en los significativamente en los ltimos 50 a ltimos 50 a os os
mejoras en rendimiento del hardware mejoras en rendimiento del hardware
cambios en arquitecturas inform cambios en arquitecturas inform ticas ticas
aumentos de memoria y capacidad de almacenamiento aumentos de memoria y capacidad de almacenamiento
variedad de dispositivos de entrada y salida variedad de dispositivos de entrada y salida
... ...
Importancia profesional y personal de la Inform Importancia profesional y personal de la Inform tica tica
Disminuye el precio del Disminuye el precio del hardware hardware
Aumenta la demanda de nuevas aplicaciones Aumenta la demanda de nuevas aplicaciones
Introducci Introducci n n
Calidad del Software 4
Sistemas cada vez m Sistemas cada vez m s sofisticados y complejos s sofisticados y complejos
Se ha pasado de ser una herramienta para la Se ha pasado de ser una herramienta para la
resoluci resoluci n de problemas a una industria n de problemas a una industria
Caracter Caracter sticas del software sticas del software
El software se desarrolla, no se fabrica El software se desarrolla, no se fabrica
El software no se estropea El software no se estropea
Aunque la industria tiende a ensamblar componentes, la Aunque la industria tiende a ensamblar componentes, la
mayor mayor a del software se construye a medida a del software se construye a medida
Introducci Introducci n n
Calidad del Software 5
Un poco de historia... Un poco de historia...
A A os 40 os 40 Fundamentos de la computaci Fundamentos de la computaci n moderna n moderna
Principios de los 60 Principios de los 60 Consolidaci Consolidaci n del desarrollo de n del desarrollo de
software de aplicaciones relativamente grandes software de aplicaciones relativamente grandes
Finales de los 60 Finales de los 60 Crisis del software Crisis del software
Imposibilidad de desarrollar proyectos de una dimensi Imposibilidad de desarrollar proyectos de una dimensi n n
acorde con los avances tecnol acorde con los avances tecnol gicos de la gicos de la poca poca
1968 1968 El comit El comit cient cient fico de la OTAN patrocina una fico de la OTAN patrocina una
conferencia en Alemania, para identificar, clasificar y conferencia en Alemania, para identificar, clasificar y
discutir los problemas que se produc discutir los problemas que se produc an en el desarrollo an en el desarrollo
de grandes proyectos de grandes proyectos
Resultado: el desarrollo del software es una tarea de Resultado: el desarrollo del software es una tarea de
ingenier ingenier a (se acu a (se acu a el t a el t rmino de rmino de Ingenier Ingenier a del Software a del Software) )
Introducci Introducci n n
2
Calidad del Software 6
Ingenier Ingenier a: a:
Diccionario de la Real Academia Espa Diccionario de la Real Academia Espa ola ola: :
Conjunto de conocimientos y t Conjunto de conocimientos y t cnicas que permiten cnicas que permiten
aplicar el saber cient aplicar el saber cient fico a la utilizaci fico a la utilizaci n de la materia n de la materia
y de las fuentes de energ y de las fuentes de energ a a
Software: Software:
Diccionario de la Real Academia Espa Diccionario de la Real Academia Espa ola ola: :
Conjunto de programas, instrucciones y reglas Conjunto de programas, instrucciones y reglas
inform inform ticas para ejecutar ciertas tareas en una ticas para ejecutar ciertas tareas en una
computadora computadora
Introducci Introducci n n
Calidad del Software 7
Ingenier Ingenier a del Software: a del Software:
Boehm Boehm, 1976 , 1976
IEEE, 1993 IEEE, 1993
Introducci Introducci n n
Aplicacin de un enfoque sistemtico,
disciplinado y cuantificable al desarrollo,
operacin y mantenimiento del software
Aplicacin prctica del conocimiento cientfico
en el diseo y construccin de programas de
computadora y la documentacin asociada
requerida para desarrollar, operar y
mantenerlos
Calidad del Software 8
El producto software: El producto software:
Es un sistema software desarrollado para un cliente con la Es un sistema software desarrollado para un cliente con la
documentaci documentaci n que describe c n que describe c mo instalar y usar el mo instalar y usar el
sistema sistema
Objetivo de la Ingenier Objetivo de la Ingenier a del Software a del Software
Producir productos software Producir productos software
Introducci Introducci n n
Calidad del Software 9
El proceso software: El proceso software:
Es el conjunto de actividades y resultados que permite Es el conjunto de actividades y resultados que permite
producir un producto software producir un producto software
Actividades fundamentales del proceso software: Actividades fundamentales del proceso software:
Especificaci Especificaci n del software: se define la funcionalidad del n del software: se define la funcionalidad del
software y el modo de operaci software y el modo de operaci n n
Desarrollo del software: se produce el software de acuerdo con Desarrollo del software: se produce el software de acuerdo con
las especificaciones las especificaciones
Validaci Validaci n del software: el software debe ser validado para n del software: el software debe ser validado para
asegurarse que hace lo que espera el cliente asegurarse que hace lo que espera el cliente
Evoluci Evoluci n del software: el software debe evolucionar para n del software: el software debe evolucionar para
acomodarse a las nuevas necesidades del cliente acomodarse a las nuevas necesidades del cliente
Actividad compleja, muchas actividades distintas Actividad compleja, muchas actividades distintas
Introducci Introducci n n
Calidad del Software 10
Introducci Introducci n n
Ley de Murphy: Ley de Murphy:
Si algo puede ir mal, ir Si algo puede ir mal, ir mal mal
El software no es perfecto El software no es perfecto
Calidad del Software 11
Las causas de los fallos inform Las causas de los fallos inform ticos pueden ser ticos pueden ser
muy diversas: muy diversas:
Especificaciones incorrectas o incompletas Especificaciones incorrectas o incompletas
An An lisis equivocados lisis equivocados
Dise Dise os con fallos os con fallos
Programaci Programaci n con errores n con errores
Validaci Validaci n poco precisa n poco precisa
Introducci Introducci n n
3
Calidad del Software 12
Actualmente se usa el software en gran diversidad Actualmente se usa el software en gran diversidad
de de mbitos mbitos
Los defectos del software pueden causar Los defectos del software pueden causar
importantes problemas e, incluso, da importantes problemas e, incluso, da os f os f sicos sicos
Los defectos en programas financieros o editores son Los defectos en programas financieros o editores son
poco importantes, poco costosos y nadie sale herido poco importantes, poco costosos y nadie sale herido
Cuando el software Cuando el software pilota pilota aviones, aviones, conduce conduce autos, autos,
controla controla el tr el tr fico a fico a reo o reo o vigila vigila centrales nucleares, centrales nucleares,
los defectos pueden ser muy peligrosos los defectos pueden ser muy peligrosos
Introducci Introducci n n
Calidad del Software 13
La soluci La soluci n al problema es la n al problema es la calidad calidad
Cu Cu ndo tiene buena calidad el software? ndo tiene buena calidad el software?
Qu Qu caracter caracter sticas influyen al determinar la calidad del sticas influyen al determinar la calidad del
software? software?
C C mo medir la calidad del software? mo medir la calidad del software?
C C mo controlar y garantizar la calidad del software? mo controlar y garantizar la calidad del software?
Introducci Introducci n n
Calidad del Software 14
Es necesario medir la calidad... Es necesario medir la calidad...
...pero es una tarea dif ...pero es una tarea dif cil cil
Por qu Por qu medir? medir?
Introducci Introducci n n
Si algo puede ser
medido y expresado con
nmeros, entonces se
sabe algo acerca de ello
No se puede
controlar lo que
no se puede
medir
Kelvin DeMarco
Control y Garant Control y Garant a de a de
la Calidad la Calidad
Calidad del Software 16
Control de la Calidad Control de la Calidad
Objetivos: Objetivos:
Comprobar si un producto posee una determinada Comprobar si un producto posee una determinada
caracter caracter stica de calidad en el grado requerido stica de calidad en el grado requerido
Si no es as Si no es as , tiene un , tiene un defecto defecto
Identificar defectos y corregirlos Identificar defectos y corregirlos
Actividades de control: Actividades de control:
Controles est Controles est ticos ticos
Analizan el producto sin necesidad de ejecutarlo Analizan el producto sin necesidad de ejecutarlo
Controles din Controles din micos micos
Analizan el producto durante su funcionamiento Analizan el producto durante su funcionamiento
Calidad del Software 17
Controles manuales Controles manuales
Informales Informales
Por los autores del desarrollo o por personal equivalente Por los autores del desarrollo o por personal equivalente
Comprobaci Comprobaci n deescritorio ( n deescritorio (desk desk checking checking) )
Revisi Revisi n por pares ( n por pares (peer peer review review) )
Disciplinados Disciplinados
Son t Son t cnicas de grupo cnicas de grupo
Auditor Auditor as as
Revisiones Revisiones
Controles autom Controles autom ticos ticos
Sistemas inform Sistemas inform ticos o con un proceso algor ticos o con un proceso algor tmico tmico
An An lisis est lisis est tico autom tico autom tico tico
Verificaci Verificaci n formal n formal
Control de la Calidad Control de la Calidad
Controles Est Controles Est ticos ticos
4
Calidad del Software 18
Tipos de pruebas Tipos de pruebas
Prueba Prueba modular modular
Se prueba cada m Se prueba cada m dulo aislado del resto del sistema dulo aislado del resto del sistema
Prueba de Prueba de integraci integraci n n
Se prueba que las interfaces entre los m Se prueba que las interfaces entre los m dulos son correctas dulos son correctas
Prueba de Prueba de sistema sistema
Se prueba si el sistema satisface todos los requisitos del Se prueba si el sistema satisface todos los requisitos del
usuario usuario
Prueba de Prueba de aceptaci aceptaci n n
Su objetivo es demostrar al usuario que el sistema satisface Su objetivo es demostrar al usuario que el sistema satisface
sus necesidades sus necesidades
Prueba de Prueba de regresi regresi n n
Se comprueba que la nueva versi Se comprueba que la nueva versi n del producto no es de n del producto no es de
menos calidad que la anterior menos calidad que la anterior
Control de la Calidad Control de la Calidad
Controles Din Controles Din micos micos
Calidad del Software 19
Definici Definici n n
Conjunto de actividades de planificaci Conjunto de actividades de planificaci n, estimaci n, estimaci n y n y
supervisi supervisi n del proceso de desarrollo, que se realizan de n del proceso de desarrollo, que se realizan de
forma independiente al equipo de desarrollo, de tal forma forma independiente al equipo de desarrollo, de tal forma
que los productos software resultantes cumplen los que los productos software resultantes cumplen los
requisitos establecidos y satisfacen los niveles de calidad requisitos establecidos y satisfacen los niveles de calidad
exigidos exigidos
Garant Garant a de Calidad a de Calidad
Calidad del Software 20
Modelos de proceso software Modelos de proceso software
Idealizaci Idealizaci n del proceso de desarrollo y mantenimiento n del proceso de desarrollo y mantenimiento
del software del software
Se descompone el proceso en fases, definiendo las Se descompone el proceso en fases, definiendo las
actividades a realizar actividades a realizar
M M todos y formalismos todos y formalismos
La sistematizaci La sistematizaci n de los procedimientos facilita la n de los procedimientos facilita la
prueba de los resultados obtenidos prueba de los resultados obtenidos
Se producen incrementos en la productividad (50 Se producen incrementos en la productividad (50- -150%) 150%)
Garant Garant a de Calidad a de Calidad
Actividades Constructivas Actividades Constructivas
Calidad del Software 21
Herramientas y entornos de desarrollo Herramientas y entornos de desarrollo
Las herramientas CASE ( Las herramientas CASE (Computer Computer Aided Aided Software Software
Engineering Engineering) facilitan la producci ) facilitan la producci n de software n de software
Los modernos entornos de desarrollo han simplificado el Los modernos entornos de desarrollo han simplificado el
proceso de implementaci proceso de implementaci n n
Lenguajes de programaci Lenguajes de programaci n n
Su importancia (en t Su importancia (en t rminos de calidad) se hace patente rminos de calidad) se hace patente
en el mantenimiento en el mantenimiento
Caracter Caracter sticas interesantes: m sticas interesantes: m dulos, compilaci dulos, compilaci n n
separada, ocultaci separada, ocultaci n de informaci n de informaci n, flujo de control n, flujo de control
estructurado, fuerte estructurado, fuerte tipado tipado, OO, orientaci , OO, orientaci n a eventos... n a eventos...
Garant Garant a de Calidad a de Calidad
Actividades Constructivas Actividades Constructivas
Calidad del Software 22
Documentaci Documentaci n n
J uega un papel esencial J uega un papel esencial
Caracter Caracter sticas importantes: consistencia, claridad, sticas importantes: consistencia, claridad,
comprensibilidad, completitud... comprensibilidad, completitud...
Factores humanos Factores humanos
Factores a considerar: cultura de la organizaci Factores a considerar: cultura de la organizaci n, n,
comunicaci comunicaci n, entorno f n, entorno f sico, formaci sico, formaci n, motivaci n, motivaci n, n,
direcci direcci n, liderazgo... n, liderazgo...
Otros Otros
Est Est ndares y convenciones, ejemplos y patrones, gesti ndares y convenciones, ejemplos y patrones, gesti n n
de configuraci de configuraci n, control del c n, control del c digo, gesti digo, gesti n de n de
problemas... problemas...
Garant Garant a de Calidad a de Calidad
Actividades Constructivas Actividades Constructivas
Calidad del Software 23
Intervienen dos factores: Intervienen dos factores:
Prevenci Prevenci n de errores n de errores
Detecci Detecci n de defectos n de defectos
Garant Garant a de Calidad a de Calidad
El Coste de la Calidad El Coste de la Calidad
Distribuci Distribuci n de defectos detectados seg n de defectos detectados seg n la fase en la que se n la fase en la que se
cometieron: cometieron:
27%
7%
10%
56%
Especificacin
Diseo
Codificacin
Otros
5
Calidad del Software 24
Intervienen dos factores: Intervienen dos factores:
Prevenci Prevenci n de errores n de errores
Detecci Detecci n de defectos n de defectos
Garant Garant a de Calidad a de Calidad
El Coste de la Calidad El Coste de la Calidad
Porcentaje, sobre el coste total de correcci Porcentaje, sobre el coste total de correcci n de los defectos, seg n de los defectos, seg n la n la
fase en la que se cometieron: fase en la que se cometieron:
13%
1%4%
82%
Especificacin
Diseo
Codificacin
Otros
Calidad del Software 25
Intervienen dos factores: Intervienen dos factores:
Prevenci Prevenci n de errores n de errores
Detecci Detecci n de defectos n de defectos
Garant Garant a de Calidad a de Calidad
El Coste de la Calidad El Coste de la Calidad
0$
2.500$
5.000$
7.500$
10.000$
12.500$
15.000$
17.500$
Anlisis Diseo Codificacin Pruebas Implantacin
Coste de correcci Coste de correcci n seg n seg n la fase en la que se detectaron los defectos: n la fase en la que se detectaron los defectos:
Medidas Medidas
Calidad del Software 27
Qu Qu es la medici es la medici n? n?
La medici La medici n es la asociaci n es la asociaci n de valores num n de valores num ricos con ricos con
un objeto o acci un objeto o acci n n
Se interpreta este valor como la cantidad de calidad o de Se interpreta este valor como la cantidad de calidad o de
cierto atributo pose cierto atributo pose do por dicho objeto o acci do por dicho objeto o acci n n
Introducci Introducci n a las Medidas n a las Medidas
Definiciones Definiciones
Calidad del Software 28
Medir Medir
Diccionario de la Real Academia Espa Diccionario de la Real Academia Espa ola ola: :
Comparar una cantidad con su respectiva unidad, con el fin de Comparar una cantidad con su respectiva unidad, con el fin de
averiguar cu averiguar cu ntas veces la segunda est ntas veces la segunda est contenida en la primera contenida en la primera
Medida Medida
Diccionario de la Real Academia Espa Diccionario de la Real Academia Espa ola ola: :
Acci Acci n y efecto de medir n y efecto de medir
Expresi Expresi n del resultado de una medici n del resultado de una medici n n
Cada una de las unidades que se emplean para medir longitudes, Cada una de las unidades que se emplean para medir longitudes,
reas o vol reas o vol menes de l menes de l quidos o quidos o ridos ridos
Introducci Introducci n a las Medidas n a las Medidas
Definiciones Definiciones
Calidad del Software 29
La ingenier La ingenier a puede definirse como el proceso que a puede definirse como el proceso que
produce productos produce productos tiles tiles
Puede describirse lo que miden los ingenieros en Puede describirse lo que miden los ingenieros en
dos categor dos categor as: as:
Medidas del producto Medidas del producto
Medidas del proceso Medidas del proceso
Medidas Medidas
Qu Qu Miden los Ingenieros? Miden los Ingenieros?
6
Calidad del Software 30
Medidas del producto Medidas del producto
Medidas est Medidas est ticas ticas
Pueden calcularse cuando el objeto no est Pueden calcularse cuando el objeto no est en uso en uso
Tama Tama o, longitud, altura, anchura, peso, capacidad, o, longitud, altura, anchura, peso, capacidad,
volumen... volumen...
Medidas din Medidas din micas micas
Describen el comportamiento de un objeto mientras est Describen el comportamiento de un objeto mientras est en en
uso uso
Velocidad, consumo, disipaci Velocidad, consumo, disipaci n de calor, nivel de ruido... n de calor, nivel de ruido...
Medidas Medidas
Qu Qu Miden los Ingenieros? Miden los Ingenieros?
Calidad del Software 31
Medidas del proceso Medidas del proceso
Se usan para cuantificar la actividad humana de la Se usan para cuantificar la actividad humana de la
ingenier ingenier a a
Ejemplos: Ejemplos:
Tama Tama o de un equipo de desarrollo, esfuerzo, tiempo, coste, o de un equipo de desarrollo, esfuerzo, tiempo, coste,
productividad... productividad...
Medidas Medidas
Qu Qu Miden los Ingenieros? Miden los Ingenieros?
Calidad del Software 32
Para describir el estado actual del mundo Para describir el estado actual del mundo
Cada medida describe un aspecto concreto del estado del Cada medida describe un aspecto concreto del estado del
mundo hoy mundo hoy
Si se mide el estado del mundo peri Si se mide el estado del mundo peri dicamente, puede dicamente, puede
ser posible descubrir patrones y tendencias ser posible descubrir patrones y tendencias
Permite dar explicaciones del comportamiento del mundo Permite dar explicaciones del comportamiento del mundo
real real
Leyes o teor Leyes o teor as cient as cient ficas ficas
Los ingenieros pretenden descubrir: Los ingenieros pretenden descubrir:
el comportamiento de los sistemas que dise el comportamiento de los sistemas que dise an y construyen an y construyen
las tendencias en el propio proceso de ingenier las tendencias en el propio proceso de ingenier a a
Medidas Medidas
Por qu Por qu Miden los Ingenieros? Miden los Ingenieros?
Calidad del Software 33
Para establecer los requisitos cuantitativamente y Para establecer los requisitos cuantitativamente y
demostrar su cumplimiento demostrar su cumplimiento
No puede imaginarse un proyecto de ingenier No puede imaginarse un proyecto de ingenier a sin a sin
requisitos cuantitativos requisitos cuantitativos
Construcci Construcci n de un puente (longitud, altura, carga m n de un puente (longitud, altura, carga m xima, xima,
caudal del r caudal del r o...) o...)
Peque Peque os electrodom os electrodom sticos (tama sticos (tama o, peso, coste...) o, peso, coste...)
Veh Veh culos (peso, consumo, espacio interior, espacio para culos (peso, consumo, espacio interior, espacio para
equipaje, resistencia a los impactos...) equipaje, resistencia a los impactos...)
Software (tiempo de respuesta, memoria ocupada...)... Software (tiempo de respuesta, memoria ocupada...)...
Para demostrar que se cumplen los requisitos Para demostrar que se cumplen los requisitos
cuantitativos, es necesario medir cuantitativos, es necesario medir
Medidas Medidas
Por qu Por qu Miden los Ingenieros? Miden los Ingenieros?
Calidad del Software 34
Para realizar un seguimiento del progreso y predecir Para realizar un seguimiento del progreso y predecir
los resultados los resultados
Las mediciones peri Las mediciones peri dicas de lo que se va obteniendo dicas de lo que se va obteniendo
permite realizar un seguimiento cuantitativo del proyecto permite realizar un seguimiento cuantitativo del proyecto
Pueden ponerse de manifiesto tendencias inusuales que, al Pueden ponerse de manifiesto tendencias inusuales que, al
detectarlas, pueden corregirse detectarlas, pueden corregirse
Los ingenieros del software cuentan el n Los ingenieros del software cuentan el n mero de mero de
defectos encontrados durante las pruebas para calibrar defectos encontrados durante las pruebas para calibrar
los modelos de fiabilidad los modelos de fiabilidad
Pueden predecir cu Pueden predecir cu ndo se completar ndo se completar n las pruebas y cu n las pruebas y cu ndo ndo
se alcanzar se alcanzar el nivel de fiabilidad requerido el nivel de fiabilidad requerido
Medidas Medidas
Por qu Por qu Miden los Ingenieros? Miden los Ingenieros?
Calidad del Software 35
Para analizar costes y beneficios Para analizar costes y beneficios
El coraz El coraz n de la ingenier n de la ingenier a: el compromiso a: el compromiso
Hay muchas formas de dise Hay muchas formas de dise ar productos y muchas formas ar productos y muchas formas
de dise de dise ar sus componentes ar sus componentes
Cada dise Cada dise o tiene ventajas y desventajas o tiene ventajas y desventajas
El ingeniero debe valorarlas todas y establecer un El ingeniero debe valorarlas todas y establecer un
compromiso entre unas y otras compromiso entre unas y otras
A veces seaceptaunacualidad negativaparafavorecer otra A veces seaceptaunacualidad negativaparafavorecer otra
cualidad cualidad
A veces seaceptamenos deun atributo deseableparaobtener m A veces seaceptamenos deun atributo deseableparaobtener m s s
deotro atributo deseable deotro atributo deseable
Ej.: Coche: sedeben establecer compromisos entrepeso, econom Ej.: Coche: sedeben establecer compromisos entrepeso, econom a, a,
espacio del habit espacio del habit culo, confort y precio culo, confort y precio
Medidas Medidas
Por qu Por qu Miden los Ingenieros? Miden los Ingenieros?
7
Calidad del Software 36
Tradicionalmente, los ingenieros usan instrumentos Tradicionalmente, los ingenieros usan instrumentos
Los instrumentos pueden proporcionar medidas Los instrumentos pueden proporcionar medidas
err err neas neas
La exactitud de un instrumento es una indicaci La exactitud de un instrumento es una indicaci n de la n de la
diferencia entre la lectura del instrumento y los datos de diferencia entre la lectura del instrumento y los datos de
entrada entrada
La precisi La precisi n de un instrumento es una indicaci n de un instrumento es una indicaci n de lo n de lo
repetible que resulta una medici repetible que resulta una medici n con una exactitud n con una exactitud
determinada determinada
Medidas Medidas
C C mo Miden los Ingenieros? mo Miden los Ingenieros?
Calidad del Software 37
Muestreo Muestreo
Selecci Selecci n y medida de una parte representativa de la n y medida de una parte representativa de la
poblaci poblaci n para deducir par n para deducir par metros o caracter metros o caracter sticas de sticas de
toda la poblaci toda la poblaci n. n.
Se usa cuando es imposible o poco pr Se usa cuando es imposible o poco pr ctico medir a toda la ctico medir a toda la
poblaci poblaci n n
Ejemplo Ejemplo
Control de calidad en un proceso de fabricaci Control de calidad en un proceso de fabricaci n n
Seeligeuno decada1000 productos y serealizan medidas Seeligeuno decada1000 productos y serealizan medidas
Utilizando varias t Utilizando varias t cnicas estad cnicas estad sticas, seextraen conclusiones sticas, seextraen conclusiones
acercadetodos los productos apartir delas medidas realizadas acercadetodos los productos apartir delas medidas realizadasen en
los productos seleccionados los productos seleccionados
Medidas Medidas
C C mo Miden los Ingenieros? mo Miden los Ingenieros?
Calidad del Software 38
Informalmente: Informalmente:
Medida Medida
Forma perfectamente definida de asociar valores num Forma perfectamente definida de asociar valores num ricos a ricos a
los atributos de los elementos de una entidad los atributos de los elementos de una entidad
M M trica trica
Criterio para determinar la diferencia o distancia entre dos Criterio para determinar la diferencia o distancia entre dos
entidades entidades
Teor Teor a de Medidas a de Medidas
Medidas y M Medidas y M tricas tricas
Calidad del Software 39
Matem Matem ticamente: ticamente:
Medida Medida
Sea Sea A A un conjunto de objetos f un conjunto de objetos f sicos o emp sicos o emp ricos ricos
Sea Sea B B un conjunto de objetos formales (n un conjunto de objetos formales (n meros) meros)
Se define una Se define una medida medida como una relaci como una relaci n un n un voca de voca de A A a a B B: :
: A : A B B
Cada objeto tiene una y solo una medida Cada objeto tiene una y solo una medida
Teor Teor a de Medidas a de Medidas
Medidas y M Medidas y M tricas tricas
Calidad del Software 40
Matem Matem ticamente: ticamente:
M M trica: trica:
Sea Sea A A un conjunto de objetos un conjunto de objetos
Sea Sea el conjunto de n el conjunto de n meros reales meros reales
Sea Sea m m: : A A A A una medida una medida
Entonces Entonces m m es una es una m m trica trica si cumple: si cumple:
m(x, y) m(x, y) 0, 0, x, y x, y A A
m(x, y) =0 m(x, y) =0 x =y x =y
m(x, y) =m(y, x), m(x, y) =m(y, x), x, y x, y A A
m(x, z) m(x, z) m(x, y) +m(y, z), m(x, y) +m(y, z), x, y, z x, y, z A A
Teor Teor a de Medidas a de Medidas
Medidas y M Medidas y M tricas tricas
Calidad del Software 41
Este concepto de Este concepto de m m trica trica como distancia entre como distancia entre
dos entidades tiene muy poco sentido en el mundo dos entidades tiene muy poco sentido en el mundo
del software del software
En cambio, s En cambio, s tiene sentido calcular una medida tiene sentido calcular una medida
para dos productos y compararlas para dos productos y compararlas
M M trica del Software trica del Software Medida del Software Medida del Software
Teor Teor a de Medidas a de Medidas
Medidas y M Medidas y M tricas tricas
8
Calidad del Software 42
Barrera intelectual Barrera intelectual
Teor Teor a de Medidas a de Medidas
Objetos del mundo
real, relaciones,
operaciones
Objetos numricos,
relaciones,
operaciones
Resultados
numricos
Resultados
relevantes al
mundo real
medicin
matemticas,
estadstica
interpretacin
barrera
intelectual
Calidad del Software 43
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Es bueno un programa? Es bueno un programa?
C C mo de fiable ser mo de fiable ser el sistema una vez instalado? el sistema una vez instalado?
Cu Cu ntos errores se esperan encontrar? ntos errores se esperan encontrar?
Cu Cu ntas pruebas tengo que hacer? ntas pruebas tengo que hacer?
Cu Cu l ser l ser el coste de las pruebas? el coste de las pruebas?
Ser Ser dif dif cil mantener el sistema? cil mantener el sistema?
Cu Cu nto costar nto costar construir un sistema similar al que construir un sistema similar al que
constru constru hace 5 a hace 5 a os? os?
Cu Cu nto tardar nto tardar en desarrollar el sistema? en desarrollar el sistema?
... ...
Calidad del Software Jos Luis Fuertes 44
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Los ingenieros del software se enfrentan Los ingenieros del software se enfrentan
diariamente a estas preguntas diariamente a estas preguntas
La habilidad para realizar las medidas apropiadas es La habilidad para realizar las medidas apropiadas es
fundamental para los ingenieros del software fundamental para los ingenieros del software
Tambi Tambi n es importante saber c n es importante saber c mo medir mo medir
Es un Es un rea de investigaci rea de investigaci n candente en Ingenier n candente en Ingenier a a
del Software del Software
No hay resultados est No hay resultados est ndar universalmente aceptados en ndar universalmente aceptados en
el terreno de las medidas del software el terreno de las medidas del software
Calidad del Software Jos Luis Fuertes 45
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplo de medida de tama Ejemplo de medida de tama o del software o del software
L L neas de c neas de c digo fuente (LOC) digo fuente (LOC)
#define LOWER 0 / * l mi t e i nf er i or de l a t abl a */
#define UPPER 300 / * l mi t e super i or */
#define STEP 20 / * t amao del paso */
main ()/ * Tabl a de conver si n de Fahr enhei t a Cel si us */
{
int fahr;
for (fahr = LOWER; fahr <= UPPER; fahr = fahr + STEP)
printf ("%4d %6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32));
}
Calidad del Software 46
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
0
5
10
15
20
25
N

de

votos
1 2 3 4 5 6 7 8 9
N de lneas de cdigo fuente
Calidad del Software 47
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Caracter Caracter sticas deseables de las medidas sticas deseables de las medidas
Deben ser sencillas y estar definidas con precisi Deben ser sencillas y estar definidas con precisi n n
Deben ser objetivas Deben ser objetivas
Deben ser f Deben ser f ciles de obtener ciles de obtener
Deben ser v Deben ser v lidas lidas
Deben ser robustas Deben ser robustas
Deben definir sus valores y sus l Deben definir sus valores y sus l mites mites
Los conjuntos de medidas deben ser consistentes Los conjuntos de medidas deben ser consistentes
9
Calidad del Software 48
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Necesidad de las medidas del Necesidad de las medidas del software software
Solucionar los problemas del Solucionar los problemas del software software
Estimaciones de tiempo y costes m Estimaciones de tiempo y costes m s precisas s precisas
Mayor productividad Mayor productividad
Productos de mejor calidad Productos de mejor calidad
Gesti Gesti n del n del software software no es efectiva no es efectiva
Desarrollo de Desarrollo de software software es muy complejo es muy complejo
Se tiene pocas medidas buenas del proceso o del producto Se tiene pocas medidas buenas del proceso o del producto
La mejora del proceso necesita identificar, medir y controlar La mejora del proceso necesita identificar, medir y controlar
sus par sus par metros fundamentales metros fundamentales
Calidad del Software 49
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Gran cantidad de medidas del software Gran cantidad de medidas del software
1976: Complejidad 1976: Complejidad ciclom ciclom tica tica( (McCabe McCabe) )
1977: Ciencia del software ( 1977: Ciencia del software (Halstead Halstead) )
1980: Complejidad del flujo de control, del flujo de datos y 1980: Complejidad del flujo de control, del flujo de datos y
del programa (Oviedo) del programa (Oviedo)
1981: Flujo de informaci 1981: Flujo de informaci n ( n (Kafura Kafuray Henry) y Henry)
1985: Estabilidad en el mantenimiento (Yau y 1985: Estabilidad en el mantenimiento (Yau y Collofello Collofello) )
1988: 1988: Ley de Ley de Demeter Demeter ( (Lieberherr Lieberherr) )
1993: Medidas del Dise 1993: Medidas del Dise o (Chen y Lu) o (Chen y Lu)
1994: Conjunto de medidas ( 1994: Conjunto de medidas (Chidamber Chidamber y y Kemerer Kemerer) )
1999: Complejidad del c 1999: Complejidad del c digo y del dise digo y del dise o ( o (Etzkorn Etzkornet al.) et al.)
Calidad del Software Jos Luis Fuertes 50
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Complejidad de Complejidad de McCabe McCabe[ [McCabe McCabe, 1976] , 1976]
n n mero de caminos de ejecuci mero de caminos de ejecuci n posibles en un n posibles en un
programa programa
v(G) = e v(G) = e - - n + 2 p n + 2 p
e e: bifurcaciones : bifurcaciones
n n: nodos con c : nodos con c digo secuencial digo secuencial
p p: n : n mero de grafos inconexos mero de grafos inconexos
v(G) v(G) = = + + 1 1
: n : n mero de predicados mero de predicados
Calidad del Software Jos Luis Fuertes 51
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Complejidad de Complejidad de McCabe McCabe[ [McCabe McCabe, 1976] , 1976]
v(G) =18 - 12 +2 =8
1
2 3 4
5
6
7
8
1
2 3 4 5 6 7
8
9 10
11
12
Calidad del Software 52
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Ciencia del Software [ Ciencia del Software [Halstead Halstead, 1977] , 1977]
Conjunto de medidas y estimaciones sobre el c Conjunto de medidas y estimaciones sobre el c digo digo
fuente fuente
Medidas Medidas
Contenido de Inteligencia Contenido de Inteligencia
Nivel del Programa Nivel del Programa
Longitud del Programa Longitud del Programa
Volumen del Programa Volumen del Programa
Dificultad Dificultad
Esfuerzo Esfuerzo
Calidad del Software 53
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Complejidad del control de flujo [Woodward, Complejidad del control de flujo [Woodward,
1979] 1979]
I F ( GN . NE. 0) GOTO 10
I F ( CN . LT. CT) GOTO 5
E = 1
GOTO 25
5 E = 0
GOTO 25
10 I F ( CN . LT. TR) GOTO 20
E = 1
GOTO 25
20 E = 0
25 CONTI NUE
10
Calidad del Software 54
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Flujo de informaci Flujo de informaci n [Henry y n [Henry y Kafura Kafura, 1981] , 1981]
Complejidad interna ( Complejidad interna (C C
ip ip
) de un m ) de un m dulo dulo p: p:
N N mero de l mero de l neas de c neas de c digo (LOC) de dicho m digo (LOC) de dicho m dulo, dulo,
longitud de longitud de Halstead Halstead, complejidad , complejidad ciclom ciclom tica tica... ...
Fan Fan- -in in de un m de un m dulo dulo p: p:
N N mero de flujos de datos entrando al m mero de flujos de datos entrando al m dulo dulo p p
Fan Fan- -out out de un m de un m dulo dulo p: p:
N N mero de flujos de datos saliendo del m mero de flujos de datos saliendo del m dulo dulo p p
Complejidad del flujo de informaci Complejidad del flujo de informaci n de un m n de un m dulo dulo p p
( (C C
p p
): ):
C C
p p
= = C C
ip ip
(fan (fan- -in in fan fan- -out) out)
2 2
Calidad del Software 55
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Ley de Ley de Demeter Demeter [ [Lieberherr Lieberherr, 1988] , 1988]
Para todas las clases Para todas las clases C C y todos los m y todos los m todos todos M M de de C C, ,
todos los objetos a los que todos los objetos a los que M M env env a mensajes deben ser: a mensajes deben ser:
Los objetos que son argumentos de Los objetos que son argumentos de M M (incluyendo el propio (incluyendo el propio
objeto de la clase objeto de la clase C C) )
Los objetos que son atributos de Los objetos que son atributos de C C
Medida: Medida:
N N mero de veces que se viola la ley mero de veces que se viola la ley
Calidad del Software 56
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
WMC ( WMC (Weighted Weighted Methods Methods per per Class Class) )
Suma ponderada de la complejidad de cada uno de los Suma ponderada de la complejidad de cada uno de los
m m todos de una clase todos de una clase
Sealaclase SealaclaseC C con sus m con sus m todos todos M M
1 1
, , M M
2 2
..., ..., M M
n n
Sea Seac c
1 1
, , c c
2 2
..., ..., c c
n n
lacomplejidad decadam lacomplejidad decadam todo todo
Entonces, paradichaclase Entonces, paradichaclaseC C: :

WMC = c
i
i =1
n

Calidad del Software 57


Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
DIT ( DIT (Depth Depth of of Inheritance Inheritance Tree Tree) )
Profundidad de una clase Profundidad de una clase C C en el en el rbol de herencia rbol de herencia
DIT es una medida de cu DIT es una medida de cu ntas superclases pueden afectar ntas superclases pueden afectar
potencialmente a cada clase potencialmente a cada clase
Medida: contar los niveles del grafo de herencia Medida: contar los niveles del grafo de herencia
Calidad del Software 58
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
NOC ( NOC (Number Number of of Children Children) )
N N mero de clases subordinadas inmediatamente a una clase mero de clases subordinadas inmediatamente a una clase
NOC es una medida de cu NOC es una medida de cu ntas clases heredar ntas clases heredar n los m n los m todos todos
de la clase padre de la clase padre
Est Est relacionada con la noci relacionada con la noci n del alcance de los miembros n del alcance de los miembros
Medida: contar los hijos directos de una clase con una Medida: contar los hijos directos de una clase con una
relaci relaci n de herencia n de herencia
Calidad del Software 59
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
CBO ( CBO (Coupling Coupling Between Between Objects Objects classes classes) )
Cantidad de clases a la que est Cantidad de clases a la que est acoplada (n acoplada (n mero de objetos mero de objetos
que act que act an sobre otro) an sobre otro)
Relacionada con la noci Relacionada con la noci n de que un objeto est n de que un objeto est acoplado acoplado
con otro si uno de ellos act con otro si uno de ellos act a sobre el otro (si los m a sobre el otro (si los m todos de todos de
uno usan m uno usan m todos o atributos del otro) todos o atributos del otro)
11
Calidad del Software 60
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
RFC ( RFC (Response Response For For a a Class Class) )
Conjunto de m Conjunto de m todos de una clase que potencialmente todos de una clase que potencialmente
pueden ejecutarse como respuesta a la llegada de un mensaje pueden ejecutarse como respuesta a la llegada de un mensaje
recibido en un objeto de esa clase recibido en un objeto de esa clase
Medida: Medida:
M: conjunto detodos los m M: conjunto detodos los m todos delaclase todos delaclaseC C
R R
i i
: conjunto delos m : conjunto delos m todos llamados por el m todos llamados por el m todo todo i i
U
i
i
R M RFC

=
Calidad del Software 61
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Ejemplos de Medidas del Software Ejemplos de Medidas del Software
Conjunto de medidas para OO [ Conjunto de medidas para OO [Chidamber Chidamber y y
Kemerer Kemerer, 1991] , 1991]
LCOM ( LCOM (Lack Lack of of Cohesion Cohesion Of Of Methods Methods) )
Proporciona una medida de la relativa disparidad natural de Proporciona una medida de la relativa disparidad natural de
los m los m todos de una clase todos de una clase
Calidad del Software 62
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Clasificaciones de Medidas del Software Clasificaciones de Medidas del Software
Clasificaci Clasificaci n basada en los elementos que se miden n basada en los elementos que se miden
[Henry]: [Henry]:
Medidas Medidas L L xicas xicas
Se basan en contar Se basan en contar tokens tokens
Medidas Medidas Sem Sem nticas nticas
Se basan en la aplicaci Se basan en la aplicaci n de los conceptos de la teor n de los conceptos de la teor a de la a de la
informaci informaci n a la formulaci n a la formulaci n de medidas n de medidas
Medidas de Medidas de Conectividad Conectividad
Miden el grado de Miden el grado de interconectividad interconectividadentre los componentes entre los componentes
del sistema observando el flujo de informaci del sistema observando el flujo de informaci n entre ellos n entre ellos
Calidad del Software 63
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Clasificaciones de Medidas del Software Clasificaciones de Medidas del Software
Clasificaci Clasificaci n de las medidas del producto [ n de las medidas del producto [Kafura Kafura]: ]:
Medidas de la Medidas de la Estructura Estructura
Se basa en el an Se basa en el an lisis de la estructura del dise lisis de la estructura del dise o o
Medidas del Medidas del C C digo digo
Se basan en los detalles del c Se basan en los detalles del c digo fuente digo fuente
Medidas Medidas H H bridas bridas
Se basan tanto en detalles de implementaci Se basan tanto en detalles de implementaci n como en la n como en la
estructura del dise estructura del dise o o
Calidad del Software 64
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Principios de las medidas del software: Principios de las medidas del software:
Medir es un mecanismo ideal para caracterizar, evaluar, Medir es un mecanismo ideal para caracterizar, evaluar,
predecir y proporcionar motivaci predecir y proporcionar motivaci n para los diversos n para los diversos
aspectos de los procesos de construcci aspectos de los procesos de construcci n del software n del software
Las medidas deben aplicarse tanto sobre el proceso Las medidas deben aplicarse tanto sobre el proceso
software como en el producto software como en el producto
Debe estar claramente indicado el prop Debe estar claramente indicado el prop sito de cada sito de cada
medida medida
Se necesitan tanto medidas objetivas como subjetivas Se necesitan tanto medidas objetivas como subjetivas
La mayor parte de los aspectos del producto y del La mayor parte de los aspectos del producto y del
proceso software son demasiados complicados para ser proceso software son demasiados complicados para ser
identificados por una identificados por una nica medida nica medida
Calidad del Software 65
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Principios de las medidas del software: Principios de las medidas del software:
Los entornos de desarrollo y mantenimiento deben estar Los entornos de desarrollo y mantenimiento deben estar
preparados para las medidas preparados para las medidas
La tarea de medir no se debe limitar a utilizar modelos y La tarea de medir no se debe limitar a utilizar modelos y
medidas tal como han sido definidas en otros entornos medidas tal como han sido definidas en otros entornos
El proceso de medida debe ser de arriba hacia abajo, en El proceso de medida debe ser de arriba hacia abajo, en
vez de ser de abajo hacia arriba, para poder definir un vez de ser de abajo hacia arriba, para poder definir un
conjunto de objetivos operativos, especificar las medidas conjunto de objetivos operativos, especificar las medidas
apropiadas, permitir interpretaciones y an apropiadas, permitir interpretaciones y an lisis lisis
contextuales v contextuales v lidos y proporcionar retroalimentaci lidos y proporcionar retroalimentaci n n
para el aprendizaje y el seguimiento para el aprendizaje y el seguimiento
12
Calidad del Software 66
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Principios de las medidas del software: Principios de las medidas del software:
Las medidas deben asociarse con interpretaciones, pero Las medidas deben asociarse con interpretaciones, pero
estas interpretaciones deben corresponder con un estas interpretaciones deben corresponder con un
determinado contexto determinado contexto
Se necesitan m Se necesitan m ltiples mecanismos para la recopilaci ltiples mecanismos para la recopilaci n y n y
validaci validaci n de datos n de datos
Para evaluar y comparar proyectos y para llevar a cabo Para evaluar y comparar proyectos y para llevar a cabo
modelos se necesita una base hist modelos se necesita una base hist rica de experiencias rica de experiencias
Calidad del Software 67
Medidas en Ingenier Medidas en Ingenier a del a del Sw Sw. .
Aplicaci Aplicaci n del n del principio de incertidumbre de principio de incertidumbre de
Heisenberg Heisenberg al c al c lculo de las medidas lculo de las medidas
Es imposible determinar
simultneamente la posicin y
velocidad exactas de un electrn
Efecto Efecto Hawthorne Hawthorne
La medida de cualquier parmetro
de un proyecto y su asociacin con
una evidencia significativa influir
en la utilidad de dicha medida
Calidad del Calidad del
Software Software
Calidad del Software Jos Luis Fuertes 69
Calidad de un producto Calidad de un producto
Punto de vista subyacente: Punto de vista subyacente:
Excelencia innata Excelencia innata
Punto de vista del producto: Punto de vista del producto:
Contenidos del producto Contenidos del producto
Punto de vista del usuario: Punto de vista del usuario:
Adecuaci Adecuaci n para el uso n para el uso
Punto de vista industrial: Punto de vista industrial:
Conforme a requisitos Conforme a requisitos
Punto de vista del valor del producto: Punto de vista del valor del producto:
Dise Dise o al coste o al coste
Calidad del Software Calidad del Software
Introducci Introducci n n
Software Software
Calidad del Software 70
Calidad Calidad
Diccionario de la Real Academia Espa Diccionario de la Real Academia Espa ola ola
Propiedad o conjunto de propiedades inherentes a una Propiedad o conjunto de propiedades inherentes a una
cosa, que permiten cosa, que permiten apreciarla como igual, mejor o peor apreciarla como igual, mejor o peor
que las restantes de su especie que las restantes de su especie
Calidad del software Calidad del software
IEEE IEEE
Grado con el cual el cliente o usuario percibe que el Grado con el cual el cliente o usuario percibe que el
software software satisface satisface sus expectativas sus expectativas
Calidad del Software Calidad del Software
Introducci Introducci n n
Calidad del Software 71
Calidad del Software Calidad del Software
Modelos de Calidad Modelos de Calidad
Modelos de calidad del software Modelos de calidad del software
Intentan cuantificar la calidad del software Intentan cuantificar la calidad del software
Se descompone la calidad en Se descompone la calidad en
niveles estructurados niveles estructurados
Los distintos modelos se Los distintos modelos se
diferencian por: diferencian por:
la relaci la relaci n entre los niveles n entre los niveles
la cantidad de niveles la cantidad de niveles
los conceptos de cada nivel los conceptos de cada nivel
13
Calidad del Software Jos Luis Fuertes 72
Calidad del Software Calidad del Software
Modelos de Calidad Modelos de Calidad
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
ModelodeBoehm
ModelodeMcCall
ModelodeArthur
ModelodeGilb / ModelodeDeutschyWillis
ModelodeSchulmeyer
ModelodeGillies / ModeloREBOOT
ModelodeDromey
ISO 9126
Calidad del Software Jos Luis Fuertes 73
ISO/IEC 9126: ISO/IEC 9126:
Software Software Engineering Engineering Product Product Quality Quality
4 partes: 4 partes:
ISO/IEC IS 9126 ISO/IEC IS 9126- -1:2001 1:2001
Quality Quality Model Model (15 (15- -6 6- -2001) 2001)
ISO/IEC TR 9126 ISO/IEC TR 9126- -2:2003 2:2003
External External Metrics Metrics(1 (1- -7 7- -2003) 2003)
ISO/IEC TR 9126 ISO/IEC TR 9126- -3:2003 3:2003
Internal Internal Metrics Metrics(1 (1- -7 7- -2003) 2003)
ISO/IEC TR 9126 ISO/IEC TR 9126- -4:2004 4:2004
Quality Quality in use in useMetrics Metrics(1 (1- -4 4- -2004) 2004)
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126
Calidad del Software 74
Modelo en dos partes para la calidad del software Modelo en dos partes para la calidad del software
Calidad interna y externa Calidad interna y externa
Subdivisi Subdivisi n en 6 caracter n en 6 caracter sticas sticas
Caracter Caracter sticas sticas
Subdivisi Subdivisi n en n en subcaracter subcaracter sticas sticas
Calidad en el uso Calidad en el uso
Subdivisi Subdivisi n en 4 caracter n en 4 caracter sticas sticas
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
Calidad del Software 75
Caracter Caracter sticas sticas
Se muestran externamente al usar el software y son el Se muestran externamente al usar el software y son el
resultado de atributos internos resultado de atributos internos
Son aplicables a cualquier tipo de software Son aplicables a cualquier tipo de software
Conceptos Conceptos caracter caracter sticas sticas y y subcaracter subcaracter sticas sticas
Proporcionan una terminolog Proporcionan una terminolog a consistente para la calidad a consistente para la calidad
del producto software del producto software
Proporcionan un marco para especificar requisitos de calidad Proporcionan un marco para especificar requisitos de calidad
del software del software
Permiten definir compromisos entre capacidades del Permiten definir compromisos entre capacidades del
producto software producto software
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
Calidad del Software 76
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
Atributos
de calidad
en el uso
Proceso Producto Software
Efecto del
Producto Software
influye
influye influye
depende de depende de depende de
medidas
del proceso
medidas
internas
medidas
externas
medidas de
la calidad en
el uso
contextos
de uso
Calidad
del
proceso
Atributos
de calidad
interna
Atributos
de calidad
externa
La calidad en el ciclo de vida La calidad en el ciclo de vida
Calidad del Software 77
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
La calidad en el ciclo de vida La calidad en el ciclo de vida
Necesidades
de calidad
Calidad en
el uso
Requisitos
de calidad
externa
Calidad
externa
Requisitos
de calidad
interna
Calidad
interna
contribuye
en especificar
contribuye
en especificar
indica
indica
uso y
realimentacin
validacin
verificacin
14
Calidad del Software Jos Luis Fuertes 78
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
Modelo de calidad externa e interna Modelo de calidad externa e interna
Calidad externa
e interna
Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad
Adecuacin
Precisin
Interoperatividad
Seguridad
Madurez
Tolerancia a fallos
Recuperacin
Comprensibilidad
Aprendizaje
Operatividad
Atractivo
Comportamiento
temporal
Uso de recursos
Analizable
Modificable
Estabilidad
Fcil de probar
Adaptabilidad
Instalable
Co-existencia
Reemplazabilidad
Calidad del Software Jos Luis Fuertes 79
Calidad del Software Calidad del Software
Modelo de Calidad ISO/IEC 9126 Modelo de Calidad ISO/IEC 9126- -1 1
Modelo de calidad en el uso Modelo de calidad en el uso
Calidad en el uso
Efectividad Productividad Seguridad Satisfaccin
Calidad del Software 80
Mejora del Proceso Software Mejora del Proceso Software
Antecendentes Antecendentes
El proceso software El proceso software
Secuencia de pasos necesarios para desarrollar software Secuencia de pasos necesarios para desarrollar software
Establece el marco de trabajo t Establece el marco de trabajo t cnico y de gesti cnico y de gesti n para n para
aplicar los m aplicar los m todos, herramientas y el personal a la tarea todos, herramientas y el personal a la tarea
de la construcci de la construcci n de programas n de programas
Calidad del Software 81
Mejora del Proceso Software Mejora del Proceso Software
Antecendentes Antecendentes
Mejora del proceso software Mejora del proceso software
Monitorizar, medir y revisar el rendimiento del proceso Monitorizar, medir y revisar el rendimiento del proceso
est est ndar al ser aplicado sobre proyectos individuales ndar al ser aplicado sobre proyectos individuales
Todo el personal implicado en el proceso software debe Todo el personal implicado en el proceso software debe
participar en las actividades de mejora participar en las actividades de mejora
Es primordial fijar y perseguir objetivos cuantitativos y Es primordial fijar y perseguir objetivos cuantitativos y
medibles para mejorar el proceso, dirigiendo estos medibles para mejorar el proceso, dirigiendo estos
objetivos a perfeccionar la calidad del producto objetivos a perfeccionar la calidad del producto
Debe establecerse un programa de mejora del proceso que Debe establecerse un programa de mejora del proceso que
impulse a los desarrolladores a mejorar su propio proceso impulse a los desarrolladores a mejorar su propio proceso
de trabajo y a participar en las mejoras de sus compa de trabajo y a participar en las mejoras de sus compa eros eros
Calidad del Software 82
Mejora del Proceso Software Mejora del Proceso Software
Antecendentes Antecendentes
Carnegie Carnegie Mellon Mellon University University (CMU) (CMU)
Software Software Engineering Engineering Institute Institute (SEI) (SEI)
Capability Capability Maturity Maturity Model Model (1991) (1991)
Establecer programas de mejora del proceso software Establecer programas de mejora del proceso software
Indica los objetivos de las medidas a usar en cada nivel Indica los objetivos de las medidas a usar en cada nivel
Personal Software Personal Software Process Process (1993) (1993)
Conseguir mejores Ingenieros del Software Conseguir mejores Ingenieros del Software
Incluye algunas medidas b Incluye algunas medidas b sicas y del proceso sicas y del proceso
Calidad del Software 83
Una forma de discriminar entre niveles de madurez Una forma de discriminar entre niveles de madurez
del proceso es la habilidad de los desarrolladores y del proceso es la habilidad de los desarrolladores y
gestores para ver y entender qu gestores para ver y entender qu es lo que ocurre es lo que ocurre
durante todo el proceso de desarrollo durante todo el proceso de desarrollo
En el nivel inferior de madurez, no se comprende ni el En el nivel inferior de madurez, no se comprende ni el
proceso, pero conforme crece la madurez, se comprende proceso, pero conforme crece la madurez, se comprende
y se puede definir mejor y se puede definir mejor
Tanto las medidas como la habilidad para ver y entender Tanto las medidas como la habilidad para ver y entender
est est n n ntimamente relacionadas, puesto que un ntimamente relacionadas, puesto que un
desarrollador puede medir s desarrollador puede medir s lo lo que resulta visible en lo lo que resulta visible en
un proceso y las medidas ayudan a incrementar esa un proceso y las medidas ayudan a incrementar esa
visibilidad visibilidad
Mejora del Proceso Software Mejora del Proceso Software
CMM CMM
15
Calidad del Software Jos Luis Fuertes 84
El CMM puede servir como una gu El CMM puede servir como una gu a para a para
determinar qu determinar qu medir primero y c medir primero y c mo planear un mo planear un
plan de medidas comprensivo y adecuado plan de medidas comprensivo y adecuado
Tipos de medidas por nivel del CMM: Tipos de medidas por nivel del CMM:
Mejora del Proceso Software Mejora del Proceso Software
CMM CMM
Optimizacindinmicay mejoradurante
el proyecto
Losprocesosseretroalimentan
conlasmejoras
5. Optimizado:
Definicin, cuantificaciny control delos
subprocesosy loselementos
Semidenlosprocesos 4. Gestionable:
Definiciny cuantificacindelos
procesosy productosintermedios
Losprocesossedefineny se
institucionalizan
3. Definido:
Seguimiento y control del proyecto
Losprocesosdependendelos
individuos
2. Repetible:
Establecer lasbasesparaplanear y estimar Adhoc, catico 1. Inicial:
Objetivo de las Medidas Caractersticas Nivel de Madurez
Calidad del Software Jos Luis Fuertes 85
El PSP es un proceso de perfeccionamiento El PSP es un proceso de perfeccionamiento
dise dise ado para ayudar a controlar, gestionar y ado para ayudar a controlar, gestionar y
mejorar la forma de trabajar mejorar la forma de trabajar
Marco de trabajo estructurado con formularios, Marco de trabajo estructurado con formularios,
gu gu as y procedimientos para desarrollar software as y procedimientos para desarrollar software
PSP proporciona los datos hist PSP proporciona los datos hist ricos necesarios para ricos necesarios para
mejorar el proceso mejorar el proceso
Principal objetivo: conseguir mejores ingenieros del Principal objetivo: conseguir mejores ingenieros del
software software
Mejora del Proceso Software Mejora del Proceso Software
PSP PSP
Calidad del Software 86
Permite comprender por qu Permite comprender por qu se han cometido se han cometido
errores y cu errores y cu l es la mejor forma de encontrarlos l es la mejor forma de encontrarlos
Se puede determinar la calidad de las revisiones, los Se puede determinar la calidad de las revisiones, los
tipos de errores no detectados y los m tipos de errores no detectados y los m todos m todos m s s
efectivos para cada ingeniero efectivos para cada ingeniero
Mejora del Proceso Software Mejora del Proceso Software
PSP PSP
Calidad del Software 87
El PSP est El PSP est dividido en cuatro fases: dividido en cuatro fases:
PSP0, PSP1, PSP2 y PSP3 PSP0, PSP1, PSP2 y PSP3
Fases intermedias de mejora: PSP0.1, PSP1.1 y PSP2.1 Fases intermedias de mejora: PSP0.1, PSP1.1 y PSP2.1
Mejora del Proceso Software Mejora del Proceso Software
PSP PSP
PSP0
Procesoactual
Registrodel tiempo
Registrodedefectos
Estndar detiposdedefectos
PSP0.1
Estndar decodificacin
Medidasdel tamao
Propuestademejoradel proceso
PSP1
Estimacindel tamao
Informedepruebas
PSP1.1
Planificacindetareas
Planificacindetiempos
PSP2
Revisionesdel cdigo
Revisionesdel diseo
PSP2.1
Plantillasdediseo
PSP3
Desarrollocclico
Proceso
personal
bsico
Proceso
personal de
planificacin
Gestin
personal
decalidad
Proceso
personal
cclico
Conclusiones Conclusiones
Calidad del Software 89
La calidad del software puede verse como un La calidad del software puede verse como un
problema econ problema econ mico mico
Aunque es fundamental obtener un software de calidad, Aunque es fundamental obtener un software de calidad,
cada medida, cada test, cada revisi cada medida, cada test, cada revisi n n consume tiempo consume tiempo
y dinero y dinero
Si se desea un software de alta calidad, hay que Si se desea un software de alta calidad, hay que
asegurarse de que cada una de sus partes tenga alta asegurarse de que cada una de sus partes tenga alta
calidad calidad
Conclusiones Conclusiones
16
Calidad del Software 90
Razones para la lentitud en la adopci Razones para la lentitud en la adopci n del uso de n del uso de
medidas para evaluar la calidad del software: medidas para evaluar la calidad del software:
No existen medidas de la calidad del software No existen medidas de la calidad del software
universales universales
Existen algunas medidas Existen algunas medidas tiles para ciertos entornos tiles para ciertos entornos
Existir Existir n medidas de calidad ampliamente aceptadas, cuando n medidas de calidad ampliamente aceptadas, cuando
madure la investigaci madure la investigaci n en medidas de calidad del software n en medidas de calidad del software
Incluso sabiendo qu Incluso sabiendo qu medidas usar, no es f medidas usar, no es f cil obtener cil obtener
los datos los datos
Incluso con los datos, no es obvio c Incluso con los datos, no es obvio c mo interpretar y mo interpretar y
usar los n usar los n meros meros
La gente se resiste a que se mida la calidad de su trabajo La gente se resiste a que se mida la calidad de su trabajo
Conclusiones Conclusiones
Calidad del Software 91
ISO/IEC 9126 ISO/IEC 9126- -1: Modelo de Calidad del Software 1: Modelo de Calidad del Software
Los est Los est ndares, por s ndares, por s solos, no son suficientes solos, no son suficientes
Se necesita una disciplina para aplicarlos Se necesita una disciplina para aplicarlos
Si no se comprende el proceso del negocio, no resultar Si no se comprende el proceso del negocio, no resultar
til aplicar ning til aplicar ning n m n m todo de evaluaci todo de evaluaci n de la calidad ni n de la calidad ni
de mejora del proceso de mejora del proceso
La medida de los atributos del software puede La medida de los atributos del software puede
usarse para predecir o medir indirectamente la usarse para predecir o medir indirectamente la
calidad del software calidad del software
Conclusiones Conclusiones

Вам также может понравиться