Академический Документы
Профессиональный Документы
Культура Документы
=
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