You are on page 1of 48

XI CURSOS DE VERANO DE SANTANDER

CALIDAD DE PROCESOS Y
PRODUCTOS SOFTWARE
CALIDAD DEL PRODUCTO SOFTWARE
ISO/IEC 25000
16 Julio 2010
D. Moiss Rodrguez Monje

Presentacin

Moiss Rodrguez Monje


Ingeniero en Informtica
Empresa: Alarcos Quality Center
Cargo: Director Tcnico
Correo moises.rodriguez@alarcosqualitycenter.com
Web: www.alarcosqualitycenter.com

Calidad de Producto Software - ISO/IEC 25000

Sobre Alarcos Quality Center


Nuestra propuesta

La principal actividad de AQC se centra en la consultora y


prestacin de servicios en el rea de la calidad de los sistemas
de la informacin. Especficamente en temas relacionados con:
Creacin y mejora de fbricas/departamentos de software
Calidad de procesos y productos software
Testing de sistemas informticos
Calidad de datos
Ingeniera de procesos
Calidad de Producto Software - ISO/IEC 25000

ndice

Introduccin
Calidad del Producto Software
Principales normas y estndares de la Calidad
del Producto Software
Familia ISO/IEC 25000 (SQuaRE)
Herramientas para Evaluacin de la Calidad del
Producto
Ejemplo de Entorno para la Evaluacin de la
Calidad del Producto Software
Calidad de Producto Software - ISO/IEC 25000

ndice

Introduccin
Calidad del Producto Software
Principales normas y estndares de la Calidad del
Producto Software
Familia ISO 25000 (SQuaRE)
Herramientas para Evaluacin de la Calidad del
Producto
Ejemplo de Entorno para la Evaluacin de la Calidad
del Producto Software
5

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

Datos del Crecimiento Experimentado


2007: El sector TI creci un 9%, del cual el software supuso un
17% (AETIC y MITyC, 2007)
2008: Las factoras de software espaolas dieron trabajo a
10.744 personas y facturaron 376 millones de euros (AETIC,
2009).
2008: Importancia de la externalizacin de software, alrededor
de 1,3 B$ (Gartner Group).
2009: Importancia creciente de las certificaciones software.

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Empresas certificadas en CMMI

http://www.sei.cmu.edu/cmmi/casestudies/profiles/pdfs/upload/2010MarCMMI.pdf

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Empresas certificadas en ISO 15504, modelo AENOR

http://www.iso15504.es

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

http://www.computing.es/Noticias/201007010021/Gartner-revisa-a-la-baja-sus-previsiones-de-inversion-mundial-en-TI-para-2010.aspx

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

http://www.javiergarzas.com/2010/07/matriculas-ingenieria-informatica-telecomunicaciones.html

Calidad de Producto Software - ISO/IEC 25000

10

Introduccin
Antecedentes del Sector

Posicin de Espaa en los informes

http://www.networkedreadiness.com/gitr/main/analysis/showindexranking.cfm?vno=a

Calidad de Producto Software - ISO/IEC 25000

11

Introduccin
Antecedentes del Sector

Demanda de
Software
Fbricas de
Software
Dificultad de
encontrar a
personal

Calidad de Producto Software - ISO/IEC 25000

12

Introduccin
Antecedentes del Sector

Demanda de
Software

Externalizacin

Fbricas de
Software

Problemas de
confianza y
control

Dificultad de
encontrar a
personal

Certificaciones
de Calidad

13

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

Demanda de
Software

Externalizacin

Fbricas de
Software

Problemas de
confianza y
control

Dificultad de
encontrar a
personal

Certificaciones
de Calidad

NECESIDAD DE ASEGURAR LA CALIDAD DE LOS


SISTEMAS INFORMTICOS
Calidad de Producto Software - ISO/IEC 25000

14

Introduccin
Antecedentes del Sector

Mejorar el proceso, mejora el producto

PRODUCTOS
PRODUCTOS

PROCESOS
PROCESOS

Mejorar el producto, puede facilitar los procesos


15

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

Orientaciones de la Calidad

PRODUCTOS

PROCESOS

Calidad de Producto Software - ISO/IEC 25000

PERSONAS

16

Introduccin
Antecedentes del Sector

Actualmente

las principales

iniciativas software se centran


en PROCESOS

Calidad de Producto Software - ISO/IEC 25000

17

Introduccin
Antecedentes del Sector

Calidad de Producto Software - ISO/IEC 25000

18

Introduccin
Antecedentes del Sector

19

Calidad de Producto Software - ISO/IEC 25000

Introduccin
Antecedentes del Sector

Hay poca evidencia en que cumplir un modelo


de procesos asegure la calidad del producto,
la estandarizacin de los procesos garantiza la
uniformidad en la salida de los mismos,
lo que puede incluso institucionalizar la creacin
de malos productos
Kitchenham, B. y Pfleeger, S. L. (1996). "Software Quality: The Elusive Target."
IEEE Software 20(1): 12-21.
Calidad de Producto Software - ISO/IEC 25000

20

Introduccin
Antecedentes del Sector

Las evaluaciones deberan basarse


en evidencias directas del
producto, y no en evidencias
circunstanciales del proceso
Maibaum, T. y Wassyng, A. 2008. A Product-Focused Approach to Software
Certification. Computer Volume: 41, Issue: 2: 91-93
Calidad de Producto Software - ISO/IEC 25000

21

Introduccin
Conclusiones

Necesidad de
asegurar la
calidad del
software
Preocupacin
por la calidad
de los
productos
Inters en la
medicin de
la calidad de
los productos

Calidad de Producto Software - ISO/IEC 25000

22

Introduccin
Conclusiones

Actualmente existe la
Necesidad de
asegurar la
calidad del
software
Preocupacin
por la calidad
de los
productos
Inters en la
medicin de
la calidad de
los productos

necesidad de un entorno
(metodolgico y
tecnolgico) que permita
automatizar la adquisicin
del producto, la medicin
de la calidad, el anlisis y
la presentacin de los
resultados

Calidad de Producto Software - ISO/IEC 25000

23

ndice

Introduccin

Calidad del Producto Software


Principales normas y estndares de la Calidad
del Producto Software
Familia ISO 25000 (SQuaRE)
Herramientas para Evaluacin de la Calidad del
Producto
Ejemplo de Entorno para la Evaluacin de la
Calidad del Producto Software
Calidad de Producto Software - ISO/IEC 25000

24

Calidad del Producto Software


Definiciones para la Calidad

Que se entiende por Calidad


Propiedad o conjunto de propiedades inherentes a algo, que
permiten juzgar su valor. Real Academia Espaola.
Grado en el que un conjunto de caractersticas inherentes
cumple con los requisitos. ISO 9000.
Calidad es cumplimiento de requisitos. Philip B. Crosby.
Calidad es satisfaccin del cliente. William E. Deming
Grado en que el producto software satisface las necesidades
expresadas o implcitas, cuando es usado bajo condiciones
determinadas. ISO 25000.
25

Calidad de Producto Software - ISO/IEC 25000

Calidad del Producto Software


Por qu es necesaria?

Cuando no hay Calidad


Programas que no hacen exactamente lo que se espera
Proyectos que no terminan nunca
Sistemas informticos que no se utilizan por la dificultad de
su manejo
Productos software que son imposibles de mantener cuando
desaparece la persona o personas que lo desarrollaron
Software poco seguro

Calidad de Producto Software - ISO/IEC 25000

26

Calidad del Producto Software


Aspectos de la Calidad del Software (ISO)

Interna: medible a partir de las caractersticas


intrnsecas del propio producto software (como el
cdigo fuente).
Externa: medible a partir del comportamiento del
producto software (como durante una prueba)
En uso: medible durante la utilizacin efectiva por
parte del usuario (en un entorno de pre o produccin).

27

Calidad de Producto Software - ISO/IEC 25000

Calidad del Producto Software


Relacin entre los aspectos

Proceso

Influye
Calidad de
proceso

Influye
Calidad
interna

Depende de

Efecto del
producto

Producto

Influye
Calidad
externa

Depende de

proveedor

Calidad de Producto Software - ISO/IEC 25000

Calidad
en uso

Contextos
de uso

Depende de

usuario

28

Calidad del Producto Software


Conclusiones

Es el grado en el que producto software incorpora un


conjunto de caractersticas, de manera que garantiza el
cumplimiento de los requisitos y necesidades del cliente.
El objetivo no es necesariamente alcanzar una calidad
perfecta, sino la necesaria y suficiente para cada contexto de
uso a la hora de la entrega y del uso por parte de los usuarios.
Es primordial comprender la existencia de distintas visiones
de la calidad (productor, usuario, valor, etc.).
Dada la complejidad de la calidad, es necesario utilizar un
modelo que especifique las caractersticas de calidad
Calidad de Producto Software - ISO/IEC 25000

29

ndice

Introduccin
Calidad del Producto Software

Principales normas y estndares de la


Calidad del Producto Software
Familia ISO 25000 (SQuaRE)
Herramientas para Evaluacin de la Calidad del
Producto
Ejemplo de Entorno para la Evaluacin de la
Calidad del Producto Software
Calidad de Producto Software - ISO/IEC 25000

30

Principales Normas y Estndares de la Calidad del Producto


Normas internacionales ms destacadas

ISO/IEC 9126:2001
ISO/IEC 14598
Familia de normas ISO 25000

31

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001

Primera versin de 1991


Revisada y actualizada en 2001
Actualmente se encuentra en estado 90.93
Formada por 4 partes
Establece un modelo de calidad para el
producto software.
Calidad de Producto Software - ISO/IEC 25000

32

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001

9126-1: Modelo de Calidad

9126-2: Mtricas
Externas

9126-3: Mtricas
Internas

9126-4: Mtricas de
Calidad en Uso

33

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

mantenibilidad

fiabilidad

Calidad
Interna/
Externa

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

34

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

mantenibilidad

fiabilidad

Calidad
Interna/
Externa

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

35

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Funcionalidad
Adecuacin: Capacidad del producto software para proporcionar un conjunto
apropiado de funciones para tareas y objetivos de usuario especificados.
Exactitud: Capacidad del producto software para proporcionar los resultados o
efectos correctos o acordados, con el grado necesario de precisin.
Interoperabilidad: Capacidad del producto software para interactuar con uno o
ms sistemas especificados.
Seguridad de acceso: Capacidad del producto software para proteger
informacin y datos de manera que las personas o sistemas no autorizados no
puedan leerlos o modificarlos, al tiempo que no se deniega el acceso a las
personas o sistemas autorizados
Cumplimiento funcional: Capacidad del producto software para adherirse a
normas, convenciones o regulaciones en leyes y prescripciones similares
relacionadas con funcionalidad.
Calidad de Producto Software - ISO/IEC 25000

36

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

fiabilidad

Calidad
Interna/
Externa

mantenibilidad

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

37

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Fiabilidad

Madurez: Capacidad del producto software para evitar fallar como resultado de
fallos en el software.
Tolerancia a fallos: Capacidad del software para mantener un nivel
especificado de prestaciones en caso de fallos software o de infringir sus
interfaces especificados.
Capacidad de recuperacin: Capacidad del producto software para
reestablecer un nivel de prestaciones especificado y de recuperar los datos
directamente afectados en caso de fallo.
Cumplimiento de la fiabilidad: Capacidad del producto software para
adherirse a normas, convenciones o regulaciones relacionadas con al fiabilidad.

Calidad de Producto Software - ISO/IEC 25000

38

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

mantenibilidad

fiabilidad

Calidad
Interna/
Externa

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

39

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Usabilidad
Capacidad para ser entendido: Capacidad del producto software que permite
al usuario entender si el software es adecuado y cmo puede ser usado para
unas tareas o condiciones de uso particulares.
Capacidad para ser aprendido: Capacidad del producto software que permite
al usuario aprender sobre su aplicacin.
Capacidad para ser operado: Capacidad del producto software que permite al
usuario operarlo y controlarlo.
Capacidad de atraccin: Capacidad del producto software para ser atractivo
al usuario.
Cumplimiento de la usabilidad: Capacidad del producto software para
adherirse a normas, convenciones, guas de estilo o regulaciones relacionadas
con la usabilidad.

Calidad de Producto Software - ISO/IEC 25000

40

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

fiabilidad

Calidad
Interna/
Externa

mantenibilidad

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

41

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Eficiencia

Comportamiento temporal: Capacidad del producto software para


proporcionar tiempos de respuesta, tiempos de proceso y potencia apropiados,
bajo condiciones determinadas.

Utilizacin de recursos: Capacidad del producto software para usar las


cantidades y tipos de recursos adecuados cuando el software lleva a cabo su
funcin bajo condiciones determinadas.

Cumplimiento de la eficiencia: Capacidad del producto software para


adherirse a normas o convenciones relacionadas con la eficiencia.

Calidad de Producto Software - ISO/IEC 25000

42

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

mantenibilidad

fiabilidad

Calidad
Interna/
Externa

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

43

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Mantenibilidad
Capacidad para ser analizado: Es la capacidad del producto software para
serle diagnosticadas deficiencias o causas de los fallos en el software, o para
identificar las partes que han de ser modificadas.
Capacidad para ser cambiado: Capacidad del producto software que permite
que una determinada modificacin sea implementada.
Estabilidad: Capacidad del producto software para evitar efectos inesperados
debidos a modificaciones del software.
Capacidad para ser probado: Capacidad del producto software que permite
que el software modificado sea validado.
Cumplimiento de la mantenibilidad: Capacidad del producto software para
adherirse a normas o convenciones relacionadas con la mantenibilidad.

Calidad de Producto Software - ISO/IEC 25000

44

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001
interoperabilidad
precisin

seguridad

idoneidad

cumplimiento de la funcionalidad

adaptabilidad

madurez

facilidad de instalacin

tolerancia a fallos

coexistencia

capacidad de recuperacin

funcionalidad

intercambiabilidad

cumplimiento de la fiabilidad

cumplimiento de portabilidad

portabilidad

analizabilidad

mantenibilidad

fiabilidad

Calidad
Interna/
Externa

usabilidad

inteligibilidad
facilidad de aprendizaje

cambiabilidad
eficiencia

estabilidad

operabilidad

capacidad de ser probado

atractividad

cumplimiento de mantenibilidad

cumplimiento de la usabilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

45

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001

Portabilidad
Adaptabilidad: Capacidad del producto software para ser adaptado a
diferentes entornos especificados, sin aplicar acciones o mecanismos distintos de
aquellos proporcionados para este propsito por el propio software considerado.
Instalabilidad: Capacidad del producto software para ser instalado en un
entorno especificado.
Coexistencia: Capacidad del producto software para coexistir con otro
software independiente, en un entorno comn, compartiendo recursos comunes.
Capacidad para reemplazar: Capacidad del producto software para ser usado
en lugar de otro producto software, para el mismo propsito, en el mismo entorno.
Cumplimiento de la portabilidad: Capacidad del producto software para
adherirse a normas o convenciones relacionadas con la portabilidad.

Calidad de Producto Software - ISO/IEC 25000

46

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 9126:2001

Calidad en Uso

Calidad en Uso

Efectividad

Productividad

Seguridad
Acceso

Satisfaccin

47

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Norma de 1999
Actualmente se encuentra en estado 90.60
Formada por 6 partes
Establece los procesos para realizar la
evaluacin de la calidad del producto software
Directamente relacionada con ISO 9126
Calidad de Producto Software - ISO/IEC 25000

48

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598

Parte 1: Visin general


Parte 2: Gestin y planificacin
Parte 3: Proceso para los desarrolladores
Parte 4: Proceso para los adquisidores
Parte 5: Proceso para los evaluadores
Parte 6: Documentacin de los mdulos de
evaluacin
49

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del Producto


ISO/IEC 14598
Establecer propsito de la evaluacin (7.1)
Establecer
requisitos de
evaluacin

Identificar los tipos de producto(s) (7.2)


Especificar el modelo de calidad (7.3)
Seleccionar mtricas (8.1)

Especificar
evaluacin

9126-1 Caractersticas de
Calidad
9126-2 Mtricas Externas
9126-3 Mtricas Internas

Establecer niveles para las mtricas (8.2)


Establecer criterios de valoracin (8.3)

Disear
evaluacin

Producir plan de evaluacin (9.1)

Tomar medidas (10.1)


Ejecutar
evaluacin

Comparar con criterios (10.2)


Valorar resultados (10.3)

Calidad de Producto Software - ISO/IEC 25000

50

Principales Normas y Estndares de la Calidad del Producto


Familia de normas ISO 25000

SQuaRE
Software Product Quality Requirements and Evaluation

Nace por las inconsistencias entre ISO


9126 e ISO 14598.
El objetivo es aglutinar bajo una misma
familia el modelo de calidad y el proceso de
evaluacin.
Calidad de Producto Software - ISO/IEC 25000

51

ndice

Introduccin
Calidad del Producto Software
Principales normas y estndares de la Calidad
del Producto Software

Familia ISO 25000 (SQuaRE)


Herramientas para Evaluacin de la Calidad del
Producto
Ejemplo de Entorno para la Evaluacin de la
Calidad del Producto Software
Calidad de Producto Software - ISO/IEC 25000

52

Familia ISO 25000


Datos sobre la Familia 25000

La versin de la primera parte es de 2005.


Actualmente est en desarrollo (6 Mayo
2010 ISO 25010 pasa al estado 40.60)
Formada por 5 partes (divisiones).
Sustituir a las normas ISO 9126 e ISO
14598.
53

Calidad de Producto Software - ISO/IEC 25000

Familia ISO 25000


Partes de la Familia

ISO/IEC 2501n

Divisin de Modelo
de Calidad
ISO/IEC 2500n
ISO/IEC 2503n

Divisin de
Requisitos de
Calidad

Divisin de
Gestin de Calidad
Visin general y
gua de SQuaRE
Planificacin y
Gestin

ISO/IEC 2504n

Divisin de
Evaluacin de
Calidad

ISO/IEC 2502n

Divisin Medicin
de Calidad
Zubrow, D. (2004). Measuring Software Product Quality: the ISO 25000 Series and CMMI. SEI.

Calidad de Producto Software - ISO/IEC 25000

54

Familia ISO 25000


Cambios respecto a ISO 9126 y 14598

Calidad del Producto

Funcionalidad

Rendimiento

Compatibilidad

Usabilidad

Fiabilidad

Seguridad

Aprendizaje

Madurez

Confidencial.

Operabilidad

Disponibilidad

Integridad

Proteccin a
Errores de
Usuario

Tolerancia a
Fallos

No repudio

Mantenibilidad

Portabilidad

Inteligibilidad

Completitud

Comport.
en el tiempo

Coexistencia

Correccin
Idoneidad

Utilizacin de
Recursos

Interoperabilid.

Atractividad

Autenticidad
Capacidad de
recuperacin

Responsabil.

Modularidad
Reusabilidad

Adaptabilidad

Analizabilidad

Facilidad de
Instalacin

Cambiabilidad
Intercambiabil.
Capacidad de
Ser probado

Accesibilidad

55

Calidad de Producto Software - ISO/IEC 25000

Familia ISO 25000


Cambios respecto a ISO 9126 y 14598

Calidad en Uso

Efectividad

Productividad

Seguridad

Riesgo de dao
econmico
Efectividad

Productividad

Satisfaccin

Contexto de
uso

Cumplimiento del
propsito
Flexibilidad
Confianza

Riesgo de salud
Placer

Cumplimiento de
contextos de uso

Riesgo ambiental
Confort

Calidad de Producto Software - ISO/IEC 25000

56

ndice

Introduccin
Calidad del Producto Software
Principales normas y estndares de la Calidad
del Producto Software
Familia ISO 25000 (SQuaRE)

Herramientas para Evaluacin de la


Calidad del Producto
Ejemplo de Entorno para la Evaluacin de la
Calidad del Producto Software
57

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Reflexin

La construccin de un marco que


permita llevar a cabo la medicin,
requiere tanto de un soporte
metodolgico como de un soporte
tecnolgico
Lavazza L. 2000. Providing Automated Support for the GQM Measurement
Process. IEEE Software 17(3):56-62.
Calidad de Producto Software - ISO/IEC 25000

58

Herramientas para Evaluacin de la Calidad del Producto


Reflexin

Para que las mtricas puedan ser evaluadas de un


modo prctico, eficiente y exacto es necesario
contar con herramientas que permitan automatizar
la adquisicin, la presentacin y el anlisis de lo
valores obtenidos para dichas mtricas.

Giles A, Daich G. 1995. Metrics Tools. Crosstalk, The Journal of Defense Software
Engineering.

59

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Clasificacin de Herramientas

Existen mltiples clasificaciones.


Herramientas de Anlisis Dinmico: aquellas
herramientas que realizan el anlisis del software
ejecutando el cdigo fuente de dicho software.
Herramientas de Anlisis Esttico: aquellas
herramientas que llevan a cabo el anlisis sin necesidad
de ejecutar el software bajo estudio.

Calidad de Producto Software - ISO/IEC 25000

60

Herramientas para Evaluacin de la Calidad del Producto


Lista de Herramientas

NOMBRE

LICENCIA

INTERFAZ

LENGUAJES

ENTRADA

RESULTADO

PMD/CPD

BSD-style

Lnea
comandos

Java

Cdigo
Fuente

Texto plano
xml

CheckStyle

LGPL

Lnea
comandos

Java

Cdigo
Fuente

Texto plano
xml

Klocwork k7

Software
propietario

GUI
Lnea
comandos

C/C++/Java

Byte code
Cdigo fuente

HTML

JDepend

BSD

Lnea
comandos

Java

Byte code

Texto plano
XML

JavaNCSS

GNU GPL

Lnea
comandos

Java

Cdigo fuente

Texto plano
XML

McCabe IQ

Software
propietario

GUI

Ada, ASM86, C, C#, C++,


COBOL, FORTRAN, JAVA,
JSP, Perl, PL1, VB, VB.NET

Cdigo fuente

Texto plano
Grficos

Simian

Software
propietario

Lnea
comandos

Java, C#, C, C++, COBOL,


Ruby, JSP, ASP, HTML,
XML, Visual Basic

Cdigo fuente

Texto plano

CodeSonar

Software
propietario

Lnea
comandos

C/C++ y ADA

Cdigo fuente

HTML

CKJM

Open
Source
Software

Lnea
comandos

Java

Byte code

Texto plano

61

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Herramientas de Anlisis

Mtricas

Reglas
Codificacin

Pruebas

JAVA

.Net

Simian
FxCop

PHP
PHPmd
Calidad de Producto Software - ISO/IEC 25000

62

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Datos del Proyecto


Nombre: Ibatis.
Descripcin: asocia objetos de modelo (JavaBeans) con
sentencias SQL o procedimientos almacenados mediante
ficheros descriptores XML, simplificando la utilizacin de bases
de datos.
Nmero de mdulos: 2
Tamao: 23.528 lneas
Licencia: es un proyecto que pertenece y utiliza la licencia
de Apache Software Foundation, por lo que es cdigo abierto.
Pgina de descarga: http://ibatis.apache.org
63

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Herramientas de Mtricas: JavaNCSS

Calidad de Producto Software - ISO/IEC 25000

64

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Herramientas de Mtricas: JDepend

65

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Herramientas de Mtricas: Simian

Calidad de Producto Software - ISO/IEC 25000

66

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Herramientas de Reglas: PMD

67

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: Java

Herramientas de Pruebas: Emma

Calidad de Producto Software - ISO/IEC 25000

68

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio:.Net

Datos del Proyecto


Nombre: Xsd2Code.
Descripcin: Herramienta que permite generar clases de
negocio a partir de esquemas XML (ficheros xsd). Es una
evolucin de la herramienta xsd.exe que viene con la
instalacin de Visual Studio.
Nmero de mdulos: 2. El estudio se ha realizado con el
mdulo Console.
Tamao: 1.051 lneas
Licencia: Library General Public License (LGPL).
Pgina de descarga: http://xsd2code.codeplex.com/
69

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio:.Net

Herramientas de Mtricas: NDepend

Calidad de Producto Software - ISO/IEC 25000

70

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio:.Net

Herramientas de Reglas: FxCop

71

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: PHP

Datos del Proyecto

Nombre: Web2Project.
Descripcin: Aplicacin Web para el control y gestin de
proyectos.
Tamao: 112.431 lneas.
Licencia: Cdigo Abierto.
Pgina de descarga: http://web2project.net/

Calidad de Producto Software - ISO/IEC 25000

72

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: PHP

Herramientas de Mtricas: PHPDepend

73

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Caso de Estudio: PHP

Herramientas de Reglas: PHPmd

Calidad de Producto Software - ISO/IEC 25000

74

Herramientas para Evaluacin de la Calidad del Producto


Problemas con las actuales herramientas de medicin de calidad

PROBLEMA

IMPACTO

La mayora de las herramientas estn


diseadas para el trabajo en modo
interactivo

Alto coste en tiempo y por lo tanto


menor nmero de evaluaciones posibles

La mayora de las herramientas solo


estn especializadas en un subconjunto
de mtricas

Necesidad de utilizar varias


herramientas y de formatear
posteriormente los resultados

La mayora de las herramientas no


personalizan los resultados en funcin del
pblico objetivo (estratgico, tctico,
operacional)

Necesidad de estudiar y modificar los


resultados manualmente en funcin de a
quin se le presenten

La mayora de herramientas necesita ser


configurada para cada proyecto e incluso
para cada evaluacin

Necesidad de hacer diferentes


configuraciones por cada tipo de
herramienta con los correspondientes
costes de tiempo

75

Calidad de Producto Software - ISO/IEC 25000

Herramientas para Evaluacin de la Calidad del Producto


Posible Solucin

nico entorno para la medicin y evaluacin del


software, ofreciendo una solucin global.
Basado en un componente metodolgico que
establezca y defina los requisitos y pasos.
Con un componente tecnolgico integrado y
configurable para automatizar la adquisicin,
anlisis y presentacin de resultados.
Orientado a los tres niveles, operativo, tctico y
estratgico, tanto para fbricas de software como
para empresas que externalizan el desarrollo.
Calidad de Producto Software - ISO/IEC 25000

76

ndice

Introduccin
Calidad del Producto Software
Principales normas y estndares de la Calidad
del Producto Software
Familia ISO 25000 (SQuaRE)
Herramientas para Evaluacin de la Calidad del
Producto

Ejemplo de Entorno para la Evaluacin


de la Calidad del Producto Software
77

Calidad de Producto Software - ISO/IEC 25000

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Propuesta: Caso Real
ENTORNO METODOLGICO
Metodologa
evaluacin de
la calidad

Modelo calidad
mantenibilidad

Mtricas

Modelo calidad
seguridad

Heursticas

Modelo calidad
usabilidad

Checklists

REPOSITORIO CENTRAL DEL PROYECTO

ENTORNO TECNOLGICO
Soporte
Metodolgico

Entorno de Medicin
y Visualizacin de la
Calidad

Gestin y Divulgacin
Entorno de
Gestin

Web del
Proyecto
Calidad de Producto Software - ISO/IEC 25000

78

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Entorno Metodolgico

ENTORNO METODOLGICO
Metodologa
para la
evaluacin de la
calidad

Diseo (UML)

Cdigo

Java
.Net
C
PHP

Modelo para la Mantenibilidad

Mantenibilidad

Mtricas, checklists y
heursticas para la
mantenibilidad del diseo

Mtricas, checklists y
heursticas para la
mantenibilidad del cdigo

Modelo para la Seguridad

Seguridad

Mtricas, checklists y
heursticas para la seguridad
del diseo

Mtricas, checklists y
heursticas para la seguridad
del cdigo

Modelo para la Usabilidad

Usabilidad

Mtricas, checklists y
heursticas para la usabilidad
del diseo

Mtricas, checklists y
heursticas para la usabilidad
del diseo

79

Calidad de Producto Software - ISO/IEC 25000

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Metodologa de Evaluacin

PROCESO DE GESTIN DE LA EVALUACIN DE LA CALIDAD

PROCESO DE EVALUACIN DE LA CALIDAD


FASE 1:
PLANIFICACIN

FASE 2:
ESPECIFICACIN

FASE 3:
EJECUCIN

FASE 4:
CONCLUSIN

PROCESO DE GESTIN DE LA INFRAESTRUCTURA

Calidad de Producto Software - ISO/IEC 25000

80

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Modo de Actuacin

Producto de Trabajo
Software

Organizacin que ha

Fbrica/Departamento

externalizado el desarrollo

de desarrollo software

Evaluacin de la
calidad independiente
81

Calidad de Producto Software - ISO/IEC 25000

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Infraestructura KEMIS

MAVEN
MAVEN

PLANIFICADOR
PLANIFICADOR

Clculo

PLUGINS
PLUGINS

GCS
GCS
4 Mtricas

CONFIG.
CONFIG.

Mtricas
Mtricas

Scripts
Scripts
Configuracin
Configuracin

Almacenamiento

8
7
Ejecucin
remota

BASE DE
BASE DE
DATOS
DATOS

Extraccin
Servidor Web
Servidor Web

9 Respuesta a peticin
Cuadro Mando
Cuadro Mando
Web
Web

Calidad de Producto Software - ISO/IEC 25000

1 - Infraestructura de Medicin
Bsica. Nivel Operativo

2
Medicin

2 - Infraestructura de Medicin
Avanzada. Nivel Tctico y Estratgico

1
Ejecucin peridica

82

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

83

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

84

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

85

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

86

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

87

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


KEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

88

Ejemplo de Entorno para Evaluacin de la Calidad del Producto


Conclusiones sobre el Entorno Presentado

Proporciona un entorno de medicin de la calidad acorde a


normas internacionales (ISO 25000/ ISO 9126).
Permite realizar la evaluacin tanto del cdigo fuente como
de los modelos UML.
Formado por un entorno metodolgico y tecnolgico.
Evaluacin de la calidad del producto automtica y peridica.
Utiliza software libre, no hay licencias de uso.
Adaptable a la necesidad del cliente (herramientas, mtricas,
modelos y metodologa).
89

Calidad de Producto Software - ISO/IEC 25000

Calidad del Producto Software


Conclusiones

Importancia creciente de la calidad del software.


Necesidad de la evaluacin del producto software.
Importancia de un entorno metodolgico y tecnolgico
para llevar a cabo al medicin y evaluacin.
Problemas de las herramientas existentes en la actualidad.
Propuesta de entorno metodolgico y tecnolgico
integrado para la evaluacin de la calidad desde las primeras
fases del ciclo de vida.

Calidad de Producto Software - ISO/IEC 25000

90

Calidad del Producto Software ISO 25000


Reflexin

If you dont know where you are,


a map wont help
Watts H. Humphrey

91

Calidad de Producto Software - ISO/IEC 25000

Calidad del Producto Software ISO 25000


Reflexin

If you dont know where you are


(and where you want to go), a map
wont help
Watts H. Humphrey

Calidad de Producto Software - ISO/IEC 25000

92

Calidad del Producto Software ISO 25000


Enlaces de Inters

Webs Interesantes
http://iso25000.com/ (Portal en espaol de la ISO 25000)
http://www.iso.org (Portal oficial de ISO)
http://twitter.com/calidadsoftware
Webs de Herramientas
http://maven.apache.org/
http://npanday.codeplex.com/Wikipage
http://www.aptest.com/resources.html
Calidad de Producto Software - ISO/IEC 25000

93

Preguntas

Calidad de Producto Software - ISO/IEC 25000

94

XI CURSOS DE VERANO DE SANTANDER

CALIDAD DE PROCESOS Y
PRODUCTOS SOFTWARE
CALIDAD DEL PRODUCTO SOFTWARE
ISO/IEC 25000
16 Julio 2010
D. Moiss Rodrguez Monje

You might also like