Mrodriguez Iso25000 Update
-
Upload
lizeth-aldana -
Category
Documents
-
view
230 -
download
0
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