Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Calidad del Software en Proyectos Open Source

9,626 views

Published on

Published in: Technology

Calidad del Software en Proyectos Open Source

  1. 1. Calidad del Software en proyectos Open Source Marcos Blanco Galán marcos.blanco@cesje.es Coordinador de Certificación y Calidad Centro de Excelencia de Software Libre José de Espronceda
  2. 2. “Calidad del Software en proyectos Open Source” 1. Calidad del Software 2. Modelos de Calidad del Software 3. Métricas para la evaluación de la Calidad 4. Proyectos e iniciativas 5. Conclusiones y observaciones 2
  3. 3. 1. Calidad del Software
  4. 4. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE ¿Qué es la “calidad”? La calidad es un conjunto de atributos o propiedades inherentes a 'algo' que permiten juzgar su valor. “Conjunto de características de un elemento que le confieren la aptitud para satisfacer necesidades explícitas o implícitas.” ISO 8402 - Quality Management & Quality Assurance Vocabulary. 4
  5. 5. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE ¿Qué es la “Calidad del Software”? Hay que tener en cuenta las características del software: ● El software se desarrolla, no se “fabrica”. ● Es un producto lógico, algo intangible. ● El software no se desgasta en el tiempo (pero sí se deteriora). ● Pueden desarrollarse componentes y ser reutilizados. 5
  6. 6. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE ¿Qué es la “Calidad del Software”? “Grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.” IEEE 610-1990 - Standard Glossary of Software Engineering Terminology. 6
  7. 7. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE La Calidad del Software puede gestionarse a distintos niveles: Gestión a nivel de producto: ● Centrado en el proceso de desarrollo del software. ● Se realiza un seguimiento durante todo el ciclo de vida del software. ● Objetivo: Minimizar la existencia de defectos en el producto final. Gestión a nivel de proyecto: ● Centrado en la definición, planificación, seguimiento y evaluación de un proyecto. ● Un proyecto es un esfuerzo temporal que produce un entregable (producto o servicio) único. ● Gran dependencia de los individuos y líderes que gestionan las funciones básicas. ● Objetivo: Optimizar costos y tiempos garantizando siempre la calidad del producto final. Gestión a nivel de proceso: ● Centrado en los procesos operativos de la empresa u organización. ● Un proceso implica un esfuerzo permanente y repetitivo, siempre produce una salida similar. ● Objetivo: Mejora continua para aumentar la calidad de los productos y servicios asociados. 7
  8. 8. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE La Calidad del Software puede gestionarse a distintos niveles: Gestión a nivel de producto: ● Centrado en el proceso de desarrollo del software. ● Se realiza un seguimiento durante todo el ciclo de vida del software. ● Objetivo: Minimizar la existencia de defectos en el producto final. Gestión a nivel de proyecto: ● Centrado en la definición, planificación, seguimiento y evaluación de un proyecto. ● Un proyecto es un esfuerzo temporal que produce un entregable (producto o servicio) único. ● Gran dependencia de los individuos y líderes que gestionan las funciones básicas. ● Objetivo: Optimizar costos y tiempos garantizando siempre la calidad del producto final. Gestión a nivel de proceso: ● Centrado en los procesos operativos de la empresa u organización. ● Un proceso implica un esfuerzo permanente y repetitivo, siempre produce una salida similar. ● Objetivo: Mejora continua para aumentar la calidad de los productos y servicios asociados. 8
  9. 9. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE La Calidad del Software puede gestionarse a distintos niveles: Gestión a nivel de producto: ● Centrado en el proceso de desarrollo del software. ● Se realiza un seguimiento durante todo el ciclo de vida del software. ● Objetivo: Minimizar la existencia de defectos en el producto final. 9
  10. 10. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE La Calidad del Software puede gestionarse a distintos niveles: Gestión a nivel de producto: ● Centrado en el proceso de desarrollo del software. ● Se realiza un seguimiento durante todo el ciclo de vida del software. ● Objetivo: Minimizar la existencia de defectos en el producto final. Gestión a nivel de proyecto: ● Centrado en la definición, planificación, seguimiento y evaluación de un proyecto. ● Un proyecto es un esfuerzo temporal que produce un entregable (producto o servicio) único. ● Gran dependencia de los individuos y líderes que gestionan las funciones básicas. ● Objetivo: Optimizar costos y tiempos garantizando la mayor calidad posible del producto final. Gestión a nivel de proceso: ● Centrado en los procesos operativos de la empresa u organización. ● Un proceso implica un esfuerzo permanente y repetitivo, siempre produce una salida similar. ● Objetivo: Mejora continua para aumentar la calidad de los productos y servicios asociados. 10
  11. 11. “Calidad del Software en proyectos Open Source” 1. CALIDAD DEL SOFTWARE La Calidad del Software puede gestionarse a distintos niveles: Gestión a nivel de producto: ● Centrado en el proceso de desarrollo del software. ● Se realiza un seguimiento durante todo el ciclo de vida del software. ● Objetivo: Minimizar la existencia de defectos en el producto final. Gestión a nivel de proyecto: ● Centrado en la definición, planificación, seguimiento y evaluación de un proyecto. ● Un proyecto es un esfuerzo temporal que produce un entregable (producto o servicio) único. ● Gran dependencia de los individuos y líderes que gestionan las funciones básicas. ● Objetivo: Optimizar costos y tiempos garantizando siempre la calidad del producto final. Gestión a nivel de proceso: ● Centrado en los procesos operativos de la empresa u organización. ● Un proceso implica un esfuerzo permanente y repetitivo, siempre produce una salida similar. ● Objetivo: Mejora continua de los procesos para maximizar la calidad de productos y servicios. 11
  12. 12. 2. Modelos de Calidad del Software
  13. 13. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Modelos de Calidad del Software El aseguramiento de la calidad (QA) implica el uso de modelos: Modelos de calidad de productos ● Definen las características que debe satisfacer un producto software para cumplir determinados criterios de calidad. ● La calidad se puede cuantificar a partir de atributos medibles. Modelos de calidad de procesos ● Conjunto de buenas prácticas enfocado a los procesos de gestión y desarrollo de proyectos. Influyen en la calidad de los productos. ● Permiten predecir mejor el comportamiento de una empresa. 13
  14. 14. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Modelos de Calidad del Software El aseguramiento de la calidad (QA) implica el uso de modelos: Modelos de calidad de productos ● Definen las características que debe satisfacer un producto software para cumplir determinados criterios de calidad. ● La calidad se puede cuantificar a partir de atributos medibles. Modelos de calidad de procesos ● Conjunto de buenas prácticas enfocado a los procesos de gestión y desarrollo de proyectos. Influyen en la calidad de los productos. ● Permiten predecir mejor el comportamiento de una empresa. 14
  15. 15. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Modelos de Calidad del Software El aseguramiento de la calidad (QA) implica el uso de modelos: Modelos de calidad de productos ● Definen las características que debe satisfacer un producto software para cumplir determinados criterios de calidad. ● La calidad se puede cuantificar a partir de atributos medibles. Modelos de calidad de procesos ● Conjunto de buenas prácticas enfocado a los procesos de gestión y desarrollo de proyectos. Influyen en la calidad de los productos. ● Permiten predecir mejor el comportamiento de una empresa. 15
  16. 16. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software ● Características operativas (product operation) Corrección, fiabilidad, eficiencia, seguridad, usabilidad. ● Capacidad de soportar cambios (product revision) Mantenibilidad, flexibilidad, facilidad de prueba. ● Adaptabilidad a nuevos entornos (product transition) Portabilidad, reusabilidad, interoperabilidad. (Modelo de Calidad del Producto de McCall, 1977) 16
  17. 17. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software ● Características operativas (product operation) Corrección, fiabilidad, eficiencia, seguridad, usabilidad. ● Capacidad de soportar cambios (product revision) Mantenibilidad, flexibilidad, facilidad de prueba. ● Adaptabilidad a nuevos entornos (product transition) Portabilidad, reusabilidad, interoperabilidad. (Modelo de Calidad del Producto de McCall, 1977) 17
  18. 18. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software ● Características operativas (product operation) Corrección, fiabilidad, eficiencia, seguridad, usabilidad. ● Capacidad de soportar cambios (product revision) Mantenibilidad, flexibilidad, facilidad de prueba. ● Adaptabilidad a nuevos entornos (product transition) Portabilidad, reusabilidad, interoperabilidad. (Modelo de Calidad del Producto de McCall, 1977) 18
  19. 19. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software ● Características operativas (product operation) Corrección, fiabilidad, eficiencia, seguridad, usabilidad. ● Capacidad de soportar cambios (product revision) Mantenibilidad, flexibilidad, facilidad de prueba. ● Adaptabilidad a nuevos entornos (product transition) Portabilidad, reusabilidad, interoperabilidad. (Modelo de Calidad del Producto de McCall, 1977) 19
  20. 20. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software “McCall's Triangle of Quality” (Modelo de Calidad del Producto de McCall, 1977) 20
  21. 21. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Factores importantes en un producto software (Modelo de Calidad del Producto de McCall, 1977) 21
  22. 22. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Existen muchos modelos de calidad Modelos de Calidad de Productos (ejemplos): Boehm (1976) McCall (1977) Arthur (1985) FURPS (1987) Gilb (1988) Deutch (1988) Schulmeyer (1990) Gillies (1992) Dromey (1995) ISO-9126 (2001) La diferencia básica entre estos modelos es la clasificación taxonómica basada en niveles que realiza cada uno. Ej. FURPS: Funcionalidad, Usabilidad, Fiabilidad, Rendimiento, Compatibilidad. 22
  23. 23. “Calidad del Software en proyectos Open Source” 2. MODELOS DE CALIDAD DEL SOFTWARE Existen muchos modelos de calidad Modelos de Calidad de Procesos (ejemplos): Six Sigma (1982) PDCA (1986) SQPA (1989) CMM (1989) ITIL (198x) QIP/EFO (1992) ISO/IEC-12207 (1995) IDEAL (1996) IEEE-12207 (1996) UNE-71044 (1996) ISO-9000 (2000) ISO-9001 (2000) ISO-9004 (2000) TickIT (2001) CMMI (2002) ISO-90003-4 (2004) SPICE (ISO/IEC 15504) (2005) En su mayoría, estos modelos de calidad han sido desarrollados por y para empresas grandes. 23
  24. 24. 3. Métricas para la evaluación de la Calidad
  25. 25. “Calidad del Software en proyectos Open Source” 3. MÉTRICAS PARA LA EVALUACIÓN DE LA CALIDAD Métricas para la evaluación de la calidad ● La calidad ha de poder medirse de alguna manera. ● En general, suele ser más habitual centrarse en medidas del producto que en medidas del proceso. ● Una métrica consiste en asignar un valor a un atributo (tiempo, espacio, complejidad, etc) de una entidad software. 25
  26. 26. “Calidad del Software en proyectos Open Source” 3. MÉTRICAS PARA LA EVALUACIÓN DE LA CALIDAD Un ejemplo sencillo: 26
  27. 27. “Calidad del Software en proyectos Open Source” 3. MÉTRICAS PARA LA EVALUACIÓN DE LA CALIDAD Un ejemplo sencillo: Métricas aplicables Subfactores Factor 27
  28. 28. “Calidad del Software en proyectos Open Source” 3. MÉTRICAS PARA LA EVALUACIÓN DE LA CALIDAD Un ejemplo sencillo: Métricas aplicables Subfactores Factor 28
  29. 29. “Calidad del Software en proyectos Open Source” 3. MÉTRICAS PARA LA EVALUACIÓN DE LA CALIDAD Existen muchas métricas... ● Métricas de calidad de especificación. ● Métricas de diseño arquitectónico y estructural. ● Métricas de diseño de interfaces. ● Métricas de código. ● Métricas para pruebas. ● Métricas de mantenimiento. ● ... 29
  30. 30. 4. Proyectos e iniciativas
  31. 31. “Calidad del Software en proyectos Open Source” 4. PROYECTOS E INICIATIVAS FLOSSMetrics ● Existen muchas y diferentes opiniones sobre el desarrollo de SL. ● El Software Libre es idóneo para ser estudiado (libertades). Objetivo: Construir, publicar y analizar una base de datos a gran escala con información y métricas sobre desarrollo de software libre a partir de miles de proyectos. FLOSSMetrics: http://flossmetrics.org/ 31
  32. 32. “Calidad del Software en proyectos Open Source” 4. PROYECTOS E INICIATIVAS Qualoss Objetivo: Automatizar la medición de la calidad en proyectos Open Source. La plataforma Qualoss emplea herramientas para analizar: - Código fuente. - Información del repositorio del proyecto. Qualoss: http://www.qualoss.org/ 32
  33. 33. “Calidad del Software en proyectos Open Source” 4. PROYECTOS E INICIATIVAS Qualipso ● Objetivo: Definir un completo programa de evaluación y certificación de software de fuentes abiertas. - Evaluación de la calidad de productos software. - Evaluación de la calidad de los procesos de desarrollo. Qualipso: http://qualipso.org/ 33
  34. 34. 5. Conclusiones y observaciones
  35. 35. “Calidad del Software en proyectos Open Source” 5. CONCLUSIONES Y OBSERVACIONES Algunas conclusiones y observaciones... ● La adopción de estándares de calidad en las organizaciones relacionadas con IT está cada vez más demandado. ● Además de mejorar los procesos operativos y productos software finales, se consigue una mayor satisfacción del cliente/usuario. ● La certificación de empresas y profesionales en el cumplimiento de estándares de calidad es un valor añadido que mejora la competitividad. 35
  36. 36. “Calidad del Software en proyectos Open Source” 5. CONCLUSIONES Y OBSERVACIONES Algunas conclusiones y observaciones... ● Las certificaciones de calidad pueden no estár al alcance de todas las empresas debido a la posible falta de recursos (microempresas). 36
  37. 37. “Calidad del Software en proyectos Open Source” 5. CONCLUSIONES Y OBSERVACIONES Algunas conclusiones y observaciones... ● Las certificaciones de calidad pueden no estar al alcance de todas las empresas debido a la posible falta de recursos (microempresas). Sin embargo... La incorporación de QA en el desarrollo software, por pequeña y gradual que ésta sea, se verá reflejado en beneficios para la organización. 37
  38. 38. Gracias :) marcos.blanco@cesje.es

×