Mrodriguez Iso25000 Update

download Mrodriguez Iso25000 Update

of 48

Transcript of Mrodriguez Iso25000 Update

XI CURSOS DE VERANO DE SANTANDER

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

Presentacin

Moiss Rodrguez Monje Ingeniero en Informtica Empresa: Alarcos Quality Center Cargo: Director Tcnico Correo [email protected] Web: www.alarcosqualitycenter.com

Calidad de Producto Software - ISO/IEC 25000

2

Sobre Alarcos Quality CenterNuestra 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 procesosCalidad de Producto Software - ISO/IEC 25000

3

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 SoftwareCalidad de Producto Software - ISO/IEC 25000

4

ndice

IntroduccinCalidad 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 SoftwareCalidad de Producto Software - ISO/IEC 25000

5

IntroduccinAntecedentes del Sector

Datos del Crecimiento Experimentado2007: 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

6

IntroduccinEmpresas certificadas en CMMI

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

Calidad de Producto Software - ISO/IEC 25000

7

IntroduccinEmpresas certificadas en ISO 15504, modelo AENOR

http://www.iso15504.es

Calidad de Producto Software - ISO/IEC 25000

8

IntroduccinAntecedentes 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

9

IntroduccinAntecedentes del Sector

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

Calidad de Producto Software - ISO/IEC 25000

10

IntroduccinAntecedentes 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

IntroduccinAntecedentes del Sector

Demanda de Software Fbricas de Software Dificultad de encontrar a personal

Calidad de Producto Software - ISO/IEC 25000

12

IntroduccinAntecedentes del Sector

Demanda de Software Fbricas de Software Dificultad de encontrar a personal

Externalizacin

Problemas de confianza y control Certificaciones de Calidad

Calidad de Producto Software - ISO/IEC 25000

13

IntroduccinAntecedentes del Sector

Demanda de Software Fbricas de Software Dificultad de encontrar a personal

Externalizacin

Problemas de confianza y control Certificaciones de Calidad

NECESIDAD DE ASEGURAR LA CALIDAD DE LOS SISTEMAS INFORMTICOSCalidad de Producto Software - ISO/IEC 25000

14

IntroduccinAntecedentes del Sector

Mejorar el proceso, mejora el producto

PROCESOS PROCESOS

PRODUCTOS PRODUCTOS

Mejorar el producto, puede facilitar los procesosCalidad de Producto Software - ISO/IEC 25000

15

IntroduccinAntecedentes del Sector

Orientaciones de la Calidad

PRODUCTOS

PROCESOS

PERSONAS

Calidad de Producto Software - ISO/IEC 25000

16

IntroduccinAntecedentes del Sector

Actualmente

las principales

iniciativas software se centran en PROCESOS

Calidad de Producto Software - ISO/IEC 25000

17

IntroduccinAntecedentes del Sector

Calidad de Producto Software - ISO/IEC 25000

18

IntroduccinAntecedentes del Sector

Calidad de Producto Software - ISO/IEC 25000

19

IntroduccinAntecedentes 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 productosKitchenham, 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

IntroduccinAntecedentes del Sector

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

21

IntroduccinConclusiones

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

IntroduccinConclusiones

Actualmente existe laNecesidad 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 SoftwarePrincipales 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 SoftwareCalidad de Producto Software - ISO/IEC 25000

24

Calidad del Producto SoftwareDefiniciones para la Calidad

Que se entiende por CalidadPropiedad 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.Calidad de Producto Software - ISO/IEC 25000

25

Calidad del Producto SoftwarePor qu es necesaria?

Cuando no hay CalidadProgramas 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 SoftwareAspectos 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).

Calidad de Producto Software - ISO/IEC 25000

27

Calidad del Producto SoftwareRelacin entre los aspectos

Proceso

Producto

Efecto del producto

Influye Calidad de proceso Depende de Calidad interna

Influye Calidad externa Depende de

Influye Calidad en uso Depende de Contextos de uso

proveedor

usuario

Calidad de Producto Software - ISO/IEC 25000

28

Calidad del Producto SoftwareConclusiones

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 calidadCalidad de Producto Software - ISO/IEC 25000

29

ndice

Introduccin Calidad del Producto Software

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

30

Principales Normas y Estndares de la Calidad del ProductoNormas internacionales ms destacadas

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

Calidad de Producto Software - ISO/IEC 25000

31

Principales Normas y Estndares de la Calidad del ProductoISO/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 ProductoISO/IEC 9126:2001

9126-1: Modelo de Calidad

9126-2: Mtricas Externas

9126-3: Mtricas Internas

9126-4: Mtricas de Calidad en Uso

Calidad de Producto Software - ISO/IEC 25000

33

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

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 ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

35

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 14598

FuncionalidadAdecuacin: 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 ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

37

Principales Normas y Estndares de la Calidad del ProductoISO/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 ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

39

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 14598

UsabilidadCapacidad 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. 40

Calidad de Producto Software - ISO/IEC 25000

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

41

Principales Normas y Estndares de la Calidad del ProductoISO/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 ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

43

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 14598

MantenibilidadCapacidad 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 ProductoISO/IEC 9126:2001interoperabilidad precisin idoneidad adaptabilidad facilidad de instalacin coexistencia intercambiabilidad cumplimiento de portabilidad portabilidad funcionalidad seguridad cumplimiento de la funcionalidad

madurez tolerancia a fallos capacidad de recuperacin cumplimiento de la fiabilidad Calidad Interna/ Externa fiabilidad

analizabilidad cambiabilidad estabilidad capacidad de ser probado

mantenibilidad

usabilidad

inteligibilidad facilidad de aprendizaje

eficiencia

operabilidad atractividad cumplimiento de la usabilidad

cumplimiento de mantenibilidad

comportamiento en el tiempo

cumplimiento de la eficiencia

utilizacin de recursos

Calidad de Producto Software - ISO/IEC 25000

45

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 9126:2001

PortabilidadAdaptabilidad: 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 ProductoISO/IEC 9126:2001

Calidad en Uso

Calidad en Uso

Efectividad

Productividad

Seguridad Acceso

Satisfaccin

Calidad de Producto Software - ISO/IEC 25000

47

Principales Normas y Estndares de la Calidad del ProductoISO/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 9126Calidad de Producto Software - ISO/IEC 25000

48

Principales Normas y Estndares de la Calidad del ProductoISO/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 evaluacinCalidad de Producto Software - ISO/IEC 25000

49

Principales Normas y Estndares de la Calidad del ProductoISO/IEC 14598Establecer 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 Establecer niveles para las mtricas (8.2) Establecer criterios de valoracin (8.3) Disear evaluacin Producir plan de evaluacin (9.1) 9126-1 Caractersticas de Calidad 9126-2 Mtricas Externas 9126-3 Mtricas Internas

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 ProductoFamilia 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 SoftwareCalidad de Producto Software - ISO/IEC 25000

52

Familia ISO 25000Datos 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.Calidad de Producto Software - ISO/IEC 25000

53

Familia ISO 25000Partes de la Familia

ISO/IEC 2501n

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

Divisin de Gestin de CalidadVisin general y gua de SQuaRE Planificacin y Gestin ISO/IEC 2502n

ISO/IEC 2504n

Divisin de Requisitos de Calidad

Divisin de Evaluacin de Calidad

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

Calidad de Producto Software - ISO/IEC 25000

54

Familia ISO 25000Cambios respecto a ISO 9126 y 14598

Calidad del Producto

Funcionalidad

Rendimiento

Compatibilidad

Usabilidad

Fiabilidad

Seguridad

Mantenibilidad

Portabilidad

Inteligibilidad Aprendizaje Completitud Correccin Idoneidad Utilizacin de Recursos Comport. en el tiempo Coexistencia Interoperabilid. Operabilidad Proteccin a Errores de Usuario Atractividad Accesibilidad Madurez Disponibilidad Tolerancia a Fallos Capacidad de recuperacin Confidencial. Integridad No repudio Autenticidad Responsabil. Modularidad Reusabilidad Analizabilidad Cambiabilidad Intercambiabil. Capacidad de Ser probado Adaptabilidad Facilidad de Instalacin

Calidad de Producto Software - ISO/IEC 25000

55

Familia ISO 25000Cambios respecto a ISO 9126 y 14598

Calidad en Uso

Efectividad

Productividad

Seguridad

Satisfaccin

Contexto de uso

Riesgo de dao econmico Efectividad Productividad Riesgo de salud

Cumplimiento del propsito Flexibilidad Confianza 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 ProductoEjemplo de Entorno para la Evaluacin de la Calidad del Producto SoftwareCalidad de Producto Software - ISO/IEC 25000

57

Herramientas para Evaluacin de la Calidad del ProductoReflexin

La construccin de un marco quepermita llevar a cabo la medicin, requiere tanto de un soporte metodolgico como de un soporte tecnolgicoLavazza 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 ProductoReflexin

Para que las mtricas puedan ser evaluadas de unmodo 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.

Calidad de Producto Software - ISO/IEC 25000

59

Herramientas para Evaluacin de la Calidad del ProductoClasificacin 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 ProductoLista de Herramientas

NOMBREPMD/CPD CheckStyle Klocwork k7 JDepend JavaNCSS McCabe IQ

LICENCIABSD-style LGPL Software propietario BSD GNU GPL Software propietario Software propietario Software propietario Open Source Software

INTERFAZLnea comandos Lnea comandos GUI Lnea comandos Lnea comandos Lnea comandos GUI Lnea comandos Lnea comandos Lnea comandos

LENGUAJESJava Java C/C++/Java Java Java Ada, ASM86, C, C#, C++, COBOL, FORTRAN, JAVA, JSP, Perl, PL1, VB, VB.NET Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic C/C++ y ADA Java

ENTRADACdigo Fuente Cdigo Fuente Byte code Cdigo fuente Byte code Cdigo fuente Cdigo fuente

RESULTADOTexto plano xml Texto plano xml HTML Texto plano XML Texto plano XML Texto plano Grficos Texto plano HTML Texto plano

Simian CodeSonar CKJM

Cdigo fuente Cdigo fuente Byte code

Calidad de Producto Software - ISO/IEC 25000

61

Herramientas para Evaluacin de la Calidad del ProductoHerramientas de Anlisis

Mtricas JAVA

Reglas Codificacin

Pruebas

.Net

Simian FxCop

PHPPHPmdCalidad de Producto Software - ISO/IEC 25000

62

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Datos del ProyectoNombre: 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.orgCalidad de Producto Software - ISO/IEC 25000

63

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Herramientas de Mtricas: JavaNCSS

Calidad de Producto Software - ISO/IEC 25000

64

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Herramientas de Mtricas: JDepend

Calidad de Producto Software - ISO/IEC 25000

65

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Herramientas de Mtricas: Simian

Calidad de Producto Software - ISO/IEC 25000

66

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Herramientas de Reglas: PMD

Calidad de Producto Software - ISO/IEC 25000

67

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: Java

Herramientas de Pruebas: Emma

Calidad de Producto Software - ISO/IEC 25000

68

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio:.Net

Datos del ProyectoNombre: 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/Calidad de Producto Software - ISO/IEC 25000

69

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio:.Net

Herramientas de Mtricas: NDepend

Calidad de Producto Software - ISO/IEC 25000

70

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio:.Net

Herramientas de Reglas: FxCop

Calidad de Producto Software - ISO/IEC 25000

71

Herramientas para Evaluacin de la Calidad del ProductoCaso 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 ProductoCaso de Estudio: PHP

Herramientas de Mtricas: PHPDepend

Calidad de Producto Software - ISO/IEC 25000

73

Herramientas para Evaluacin de la Calidad del ProductoCaso de Estudio: PHP

Herramientas de Reglas: PHPmd

Calidad de Producto Software - ISO/IEC 25000

74

Herramientas para Evaluacin de la Calidad del ProductoProblemas con las actuales herramientas de medicin de calidad

PROBLEMA La mayora de las herramientas estn diseadas para el trabajo en modo interactivo La mayora de las herramientas solo estn especializadas en un subconjunto de mtricas La mayora de las herramientas no personalizan los resultados en funcin del pblico objetivo (estratgico, tctico, operacional) La mayora de herramientas necesita ser configurada para cada proyecto e incluso para cada evaluacin

IMPACTO

Alto coste en tiempo y por lo tanto menor nmero de evaluaciones posibles

Necesidad de utilizar varias herramientas y de formatear posteriormente los resultados Necesidad de estudiar y modificar los resultados manualmente en funcin de a quin se le presenten Necesidad de hacer diferentes configuraciones por cada tipo de herramienta con los correspondientes costes de tiempo

Calidad de Producto Software - ISO/IEC 25000

75

Herramientas para Evaluacin de la Calidad del ProductoPosible 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 SoftwareCalidad de Producto Software - ISO/IEC 25000

77

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoPropuesta: Caso RealENTORNO METODOLGICOMetodologa evaluacin de la calidad Modelo calidad mantenibilidad Modelo calidad seguridad Modelo calidad usabilidad Mtricas Heursticas Checklists

REPOSITORIO CENTRAL DEL PROYECTO

ENTORNO TECNOLGICOSoporte Metodolgico Entorno de Medicin y Visualizacin de la Calidad

Gestin y DivulgacinEntorno de Gestin

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

78

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoEntorno Metodolgico

ENTORNO METODOLGICOMetodologa 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

Calidad de Producto Software - ISO/IEC 25000

79

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoMetodologa de Evaluacin

PROCESO DE GESTIN DE LA EVALUACIN DE LA CALIDAD

PROCESO DE EVALUACIN DE LA CALIDADFASE 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 ProductoModo de Actuacin

Producto de Trabajo Software

Organizacin que ha externalizado el desarrollo

Fbrica/Departamento de desarrollo software

Evaluacin de la calidad independienteCalidad de Producto Software - ISO/IEC 25000

81

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoInfraestructura KEMIS

1 Ejecucin peridica PLANIFICADOR PLANIFICADOR MAVEN MAVEN

2 Medicin PLUGINS PLUGINS 4 Mtricas 5 Scripts Scripts Configuracin Configuracin 1 - Infraestructura de Medicin Bsica. Nivel Operativo 2 - Infraestructura de Medicin Avanzada. Nivel Tctico y Estratgico Clculo 3 GCS GCS

CONFIG. CONFIG.

Mtricas Mtricas

6 8 7 Ejecucin remota BASE DE BASE DE DATOS DATOS Extraccin

Almacenamiento

Servidor Web Servidor Web

9 Respuesta a peticin Cuadro Mando Cuadro Mando Web Web

Calidad de Producto Software - ISO/IEC 25000

82

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

83

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

84

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

85

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

86

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

87

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoKEMIS: Ejemplo de Resultados

Calidad de Producto Software - ISO/IEC 25000

88

Ejemplo de Entorno para Evaluacin de la Calidad del ProductoConclusiones 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).Calidad de Producto Software - ISO/IEC 25000

89

Calidad del Producto SoftwareConclusiones

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 25000Reflexin

If you dont know where you are, a map wont helpWatts H. Humphrey

Calidad de Producto Software - ISO/IEC 25000

91

Calidad del Producto Software ISO 25000Reflexin

If you dont know where you are (and where you want to go), a map wont helpWatts H. Humphrey

Calidad de Producto Software - ISO/IEC 25000

92

Calidad del Producto Software ISO 25000Enlaces 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.htmlCalidad 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 SOFTWARECALIDAD DEL PRODUCTO SOFTWARE ISO/IEC 2500016 Julio 2010D. Moiss Rodrguez Monje