SlideShare una empresa de Scribd logo
Calidad de Software Hermenegildo Romero © 2009 DATABASE TEAM  http:// www.db - team.com
INDICE La Calidad del software ISO 9126 CMMI Calidad de software
LA CALIDAD DEL SOFTWARE
Gestión de la Calidad Principios de la gestión de la calidad según ISO 9000: 2000 Los ocho principios de la gestión de la calidad identificados para lograr los objetivos de la calidad, según "ISO 9000:2000 Sistemas de Gestión de la Calidad.  Enfoque al cliente . Las organizaciones dependen de sus clientes y por la tanto deberían comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las expectativas de los clientes.  Liderazgo . Los líderes establecen la unidad de propósito y la orientación de la organización. Ellos deberían crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organización.  Participación del personal . El personal, a todos los niveles, es la esencia de una organización y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organización.
Gestión de la calidad Enfoque basado en procesos . Un resultado deseado se alcanza más eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso.  Enfoque de sistema hacia la gestión . Identificar, entender y gestionar los procesos interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una organización en el logro de sus objetivos.  Mejora continua . La mejora continua del desempeño global de la organización debería ser un objetivo permanente de ésta.  Enfoque basado en hechos para la toma de decisiones . Las decisiones eficaces se basan en el análisis de los datos y la información.  Relación mutuamente beneficiosa con el proveedor . Una organización y sus proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta la capacidad de ambos para crear valor.  Estos ocho principios de gestión de la calidad constituyen la base de las normas de sistemas de gestión de la calidad de la familia de Normas ISO 9000.
Gestión de la calidad Conceptos ISO 9000:2000 Sistema de gestión:  Sistema para establecer la política y los objetivos, y para la consecución de dichos objetivos.  Gestión de la calidad:  Conjunto completo de procesos utilizados en un sistema de gestión de la calidad.  Política de la calidad:  Intenciones y dirección global de una organización relativas a la calidad tal como se expresan formalmente por la alta dirección.  Planificación de la calidad:  Parte de la gestión de la calidad enfocada al establecimiento e interpretación de la política de la calidad y los requisitos de la calidad y específica cómo se va a alcanzar.  Mejora de la calidad:  Parte de la gestión de la calidad orientada a mejorar su eficacia y eficiencia. Proceso:  Sistema de actividades, que utilizan recursos para transformar entradas en salidas.
La calidad del software Existen varios modelos de calidad de software El  CMM - CMMI  (Capability Maturity Model) es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software. ISO 12207  – Modelos de Ciclos de Vida del Software.  SPICE  (Software Process Improvement and Capability Determination) – ISO 15504.  ISO 9126  es un estándar internacional para la evaluación del Software. Está supervisado por el proyecto SQuaRE,  ISO 25000:2005 , el cuál sigue los mismos conceptos.
La calidad del software La obtención de un  software  con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del  software  que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del  software . Los  requisitos del software  son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad.
La calidad del software Los estándares o  metodologías  definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. Existen algunos  requisitos implícitos  o  expectativas  que a menudo no se mencionan, o se mencionan de forma incompleta que también pueden implicar una falta de calidad.
La calidad del software La política establecida debe estar sustentada sobre tres  principios básicos : tecnológico, administrativo y ergonómico.  El  principio tecnológico  define las técnicas a utilizar en el proceso de desarrollo del  software.   El  principio administrativo  contempla las funciones de planificación y control del desarrollo del  software , así como la organización del ambiente o centro de ingeniería de  software .  El  principio ergonómico  define la interfaz entre el usuario y el ambiente automatizado.  La adopción de una buena política contribuye en gran medida a lograr la calidad del  software , pero no la asegura. Para asegurarse un nivel de calidad es necesario su control o evaluación.
La calidad del software La gestión de la calidad Gestión de la calidad:  "Aspectos de la función de gestión que determinan y aplican la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la gestión de la calidad se observa: Gestión de la calidad de software (ISO 9000):  Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad Política de calidad (ISO 9000):  Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección. La gestión de la calidad se aplica normalmente a nivel de empresa. También puede haber una gestión de calidad dentro de la gestión de cada proyecto.
La calidad del software El aseguramiento (assurance) de la calidad Aseguramiento de la calidad : "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad". Aseguramiento de la calidad de software :  Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla.
La calidad del software El aseguramiento de calidad del software está presente en: Métodos y herramientas de análisis, diseño, programación y prueba. Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software. Estrategias de prueba multiescala. Control de la documentación del software y de los cambios realizados. Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos). Mecanismos de medida (métricas). Registro de auditorias y realización de informes.
La calidad del software Las actividades para el aseguramiento de calidad del software se detallan en: Métricas de software para el control del proyecto. Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección). La gestión de la configuración del software.
La calidad del software Algunos métodos del aseguramiento: Revisiones técnicas y de gestión (su objetivo es la evaluación). Inspección (su objetivo es la verificación).   ¿Estamos construyendo el producto correcto?. Pruebas (su objetivo es la validación).  ¿Estamos construyendo el producto correctamente?. Auditorias (su objetivo es la confirmación del cumplimiento).
La Calidad del Software El control de la calidad Control de calidad:  "Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio".  Control de la calidad del software:   Técnicas y actividades de carácter operativo, utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida. El control de la calidad del software está centrado en dos objetivos fundamentales:  Mantener bajo control un proceso. Eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
ISO 9126
ISO 9126 ISO 9126  es un estándar internacional para la evaluación del Software. Está supervisado por el proyecto SQuaRE, ISO 25000:2005, y sigue los mismos conceptos. El estándar está dividido en cuatro partes modelo de calidad métricas externas métricas internas calidad en las métricas de uso. El modelo de calidad establecido en la primera parte del estándar, ISO 9126-1, clasifica la calidad del software en un conjunto estructurado de características y subcaracterísticas
ISO 9126 Características Funcionalidad Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus propiedades específicas. Las funciones son aquellas que satisfacen lo indicado o implica necesidades. Subcaracterísticas  Idoneidad Exactitud Interoperabilidad Seguridad Cumplimiento de normas. Conformidad
ISO 9126 ...Características Fiabilidad  Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo condiciones establecidas durante un período de tiempo establecido.  Subcaracterísticas  Madurez Recuperabilidad Tolerancia a fallos Conformidad
ISO 9126 ...Características Usabilidad  Un conjuntos de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoración individual de tal uso, por un establecido o implicado conjunto de usuarios.  Subcaracterísticas Aprendizaje Comprensión Operatividad Conformidad
ISO 9126 ...Características Eficiencia Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad de recursos necesitados bajo condiciones establecidas.  Subcaracterísticas Comportamiento en el tiempo Comportamiento de recursos Conformidad
ISO 9126 ...Características Mantenibilidad Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software.  Subcaracterísticas Estabilidad Facilidad de análisis Facilidad de cambio Facilidad de pruebas Conformidad
ISO 9126 ...Características Portabilidad Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido desde una plataforma a otra.  Subcaracterísticas Capacidad de instalación Capacidad de reemplazamiento Adaptabilidad Conformidad
ISO 9126 Cada subcaracterística (como adaptabilidad) está dividida en atributos.  Un atributo es una entidad la cual puede ser verificada o medida en el producto software.  Los atributos no están definidos en el estándar, ya que varían entre diferentes productos software. Un producto software está definido en un sentido amplio como: los ejecutables, código fuente, descripciones de arquitectura, etc.  La noción de usuario se amplía tanto a operadores como a programadores, que son usuarios de componentes software.
ISO 9126 El estándar provee un entorno para que las organizaciones definan un modelo de calidad para el producto software. Cada organización tiene que especificar precisamente su propio modelo.  Esto podría ser hecho, por ejemplo, especificando los objetivos para las métricas de calidad las cuales evalúan el grado de presencia de los atributos de calidad. Métricas internas son aquellas que no dependen de la ejecución del software (medidas estáticas). Métricas externas son aquellas aplicables al software en ejecución. La calidad en las métricas de uso están sólo disponibles cuando el producto final es usado en condiciones reales. Idealmente, la calidad interna determina la calidad externa y esta a su vez la calidad en el uso.
ISO 9126 ISO 9126 distingue entre fallos y no conformidad  fallo  El no cumplimiento de los requisitos previos No conformidad  Afecta a los requisitos especificados.  Una distinción similar es hecha entre la validación y la verificación.
CMMI
CMMI v1.2 Capability Maturity Model Integration (CMMI) es un modelo para la mejora de procesos. Proporciona los elementos esenciales para procesos eficaces. Las mejores prácticas CMMI se publican en documentos llamados modelos. Hay dos áreas Desarrollo  Adquisición
CMMI v1.2 CMMI tiene tres constelaciones: CMMI para el desarrollo (Ago-2006) Desarrollo de productos y servicios Tiene dos modelos: CMMI-DEV CMMI-DEV + IPPD (Integrated Product and Process Development) CMMI para la adquisición (Nov-2007) Gestión de la cadena de suministro, adquisición y contratación externa. CMMI para los servicios (borrador) Diseñado para cubrir todas las actividades que requieren gestionar, establecer y entregar servicios.
CMMI v1.2 Independientemente de la constelación\modelo que opta una organización, las prácticas CMMI deben adaptarse a cada organización en función de sus objetivos de negocio. Las organizaciones no pueden ser certificadas CMMI. Por el contrario, una organización puede ser evaluada (por ejemplo, usando un método de evaluación como SCAMPI) y recibir una calificación de nivel 1-5 si sigue los niveles de Madurez.
CMMI v1.2 El modelo CMMI v1.2(CMMI-DEV) contiene las siguientes 22 áreas de proceso: Análisis de Causas y Resolución (CAR) Gestión de la configuración (CM) Análisis de Decisiones y Resolución (DAR) Gestión Integrada de Proyectos (IPM) Medición y Análisis (MA) Innovación y Despliegue Organizacionales(OID) Definición de procesos organizacionales (OPD) Enfoque Organizacional en Procesos (OPF) Rendimiento de Procesos Organizacionales (OPP) Formación Organizacional (OT) Monitorización y Control de Proyecto (PMC)
CMMI v1.2 Planificación de proyecto (PP) Aseguramiento de calidad de Procesos y Productos (PPQA) Integración de Producto (PI) Gestión Cuantitativa de Proyectos (QPM) Gestión de Requerimientos (REQM) Desarrollo de Requerimientos (RD) Gestión de Riesgos (RSKM) Gestión de Acuerdos con Proveedores (SAM) Solución Técnica (TS) Validación (VAL) Verificación (VER)
CMMI v1.2 CMM-SW El modelo para software (CMM-SW) establece 5 Niveles de Madurez (Maturity Level) para clasificar a las organizaciones, en función de qué áreas de procesos consiguen sus objetivos y se gestionan con principios de ingeniería.  Es lo que se denomina un  modelo escalonado , o centrado en la madurez de la organización.  La selección de los Áreas de Proceso está prefijado, habiendo 7 áreas de proceso para el nivel de madurez 2 (ML2), 11 para el ML3, 2 para el ML4 y 2 más para el ML5.
CMMI v1.2 SE-CMM El modelo para ingeniería de sistemas (SE-CMM) establece 6 Niveles de Capacidad posibles para cada una de las 22 áreas de proceso implicadas en la ingeniería de sistemas. La organización puede decidir cuales son las Áreas de Proceso (PA) que quiere mejorar determinando así su perfil de capacidad. Se le denomina modelo continuo.
CMMI v1.2 En el equipo de desarrollo de CMMI había defensores de ambos tipos de representaciones. El resultado fue la publicación del modelo con dos representaciones: continua y escalonada. No son equivalentes, y cada organización puede optar por adoptar la que se adapte a sus características y prioridades de mejora.  La visión continua de una organización mostrará la representación de nivel de capacidad de cada una de las áreas de proceso del modelo. La visión escalonada definirá a la organización dándole en su conjunto un nivel de madurez del 1 al 5.
CMMI v1.2 Niveles de capacidad de procesos (modelo continuo) Incompleto El proceso no se realiza, o no se consiguen sus objetivos. Ejecutado El proceso se ejecuta y se logra su objetivo. Gestionado Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos. Definido Además de ser un proceso gestionado se ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa.
CMMI v1.2 Cuantitativamente gestionado Además de ser un proceso definido se controla utilizando técnicas cuantitativas. Optimizando Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio. Mejora continua.
¿por qué adoptar CMMI? Muchas organizaciones valoran el medir su progreso llevando a cabo una evaluación y ganando una clasificación del nivel de madurez o de un nivel de capacidad de logro. Este tipo de evaluaciones son realizadas normalmente por una o más de las siguientes razones: Para determinar que también los procesos de la organización se comparan con las mejores prácticas CMMI y determinar qué mejoras se pueden hacer. Para informar a los clientes externos y proveedores acerca de que también los procesos de la organización se comparan con las mejores prácticas CMMI. Para cumplir los requisitos contractuales de uno o más clientes.
Evaluar CMMI Las valoraciones de las organizaciones utilizando un modelo CMMI deben ajustarse a los requisitos definidos en el documento "Appraisal Requirements for CMMI" (ARC). La evaluación se enfoca en identificar oportunidades de mejora, y comparar los procesos de la organización con las mejores prácticas CMMI.  Los equipos de evaluación usan el modelo CMMI y un método para guiar su evaluación y reporte de conclusiones. Los resultados de la evaluación son usados para planear mejoras en la organización.
Evaluación SCAMPI El Standard CMMI Appraisal Method for Process Improvement (SCAMPI) es el método oficial para proveer puntos de referencia de sistemas de calificación en relación con los modelos CMMI.  SCAMPI se usa para identificar fortalezas y debilidades de los procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de capacidad y madurez.  Se utilizan ya sea como parte de un proceso o programa de mejora, o para la calificación de posibles proveedores.  El método define el proceso de evaluación Preparación actividades sobre el terreno observaciones preliminares conclusiones y valoraciones presentación de informes actividades de seguimiento.
Muchas Gracias Hermenegildo Romero Database Team [email_address] www.db-team.com

Más contenido relacionado

PPTX
Normas y Estándares de calidad para el desarrollo de Software
PPTX
Tipos de pruebas de software
PDF
Gestión de pruebas en desarrollo software
PDF
Normas ISO 9126 - 25000
PPT
Pruebas De Software
Normas y Estándares de calidad para el desarrollo de Software
Tipos de pruebas de software
Gestión de pruebas en desarrollo software
Normas ISO 9126 - 25000
Pruebas De Software

La actualidad más candente (20)

PPTX
Ventajas y desventajas de cmmi
PPTX
Ingeniería inversa y reingeniería de software
PPTX
2.2 relación de cmm con psp y tsp
DOCX
25 Estandares - IEEE Calidad de Software
PPTX
Proceso del software
DOCX
modelos de calidad de software
PPTX
Estandares y modelos de calidad del software
PPTX
Proceso del Software
PPTX
MODELOS DE CALIDAD DEL SOFTWARE
PDF
Ejemplo pruebas de software
PPSX
Metricas de Software
PDF
Tabla comparativa- metodologías de desarrollo
PDF
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
PDF
Artículo Estándares de Calidad en los Sistemas de Información
PPTX
Calidad en el desarrollo del software
PDF
Requerimientos en Ingenieria de Software
PPTX
Metodologia Kendall y Kendall (1.997)
PPTX
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
PPTX
Perfiles UML
Ventajas y desventajas de cmmi
Ingeniería inversa y reingeniería de software
2.2 relación de cmm con psp y tsp
25 Estandares - IEEE Calidad de Software
Proceso del software
modelos de calidad de software
Estandares y modelos de calidad del software
Proceso del Software
MODELOS DE CALIDAD DEL SOFTWARE
Ejemplo pruebas de software
Metricas de Software
Tabla comparativa- metodologías de desarrollo
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
Artículo Estándares de Calidad en los Sistemas de Información
Calidad en el desarrollo del software
Requerimientos en Ingenieria de Software
Metodologia Kendall y Kendall (1.997)
GESTIÓN DE LA CONFIGURACIÓN DEL SOFTWARE (GCS)
Perfiles UML
Publicidad

Similar a Calidad de software (20)

PPTX
Calidad de software
PPTX
Calidad de software
DOC
Calidad software
PPS
Calidad Del Software
PPTX
Calidad del software
PPTX
Unidad # 10 calidad del software
PPTX
Unidad # 10 calidad del software
PDF
Calidad de software
PPTX
Presentacion_Calidad_de_software EN INGENIERIA.pptx
PDF
Calidad de software
PDF
Calidad de software
PPTX
Calidad del software
DOCX
Laboratorio aseguramiento de software
PDF
Calidad de software
PDF
Calidad de software
PDF
Solucion cuestionario 2
PDF
Calidad software
PDF
Calidad software
PDF
Calidad de software
PDF
W20160302173227357 7001038279 04-10-2016_021136_am_sesion 2
Calidad de software
Calidad de software
Calidad software
Calidad Del Software
Calidad del software
Unidad # 10 calidad del software
Unidad # 10 calidad del software
Calidad de software
Presentacion_Calidad_de_software EN INGENIERIA.pptx
Calidad de software
Calidad de software
Calidad del software
Laboratorio aseguramiento de software
Calidad de software
Calidad de software
Solucion cuestionario 2
Calidad software
Calidad software
Calidad de software
W20160302173227357 7001038279 04-10-2016_021136_am_sesion 2
Publicidad

Más de Hermes Romero (17)

PDF
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
PDF
Gestión del talento en la hostelería
PDF
Intalligent - Sistema de gestión del talento ágil
PDF
Agile talent management
PDF
Metodología de gestión del talento ágil
PDF
Intalligent, Agile Talent Management
PDF
Introducción a Microstrategy
PDF
Introduction to Mobile Marketing - The complete tutorial
PDF
Still using marketing from the stone age??
PPT
Manual XML
PPT
Oracle xmldb
PPT
Fundamentos de DataWarehouse
PPT
Introducción a UML
PPT
Metodologias de desarrollo
PPT
Desarrollo de sistemas
PPT
Proyectos software
PPT
Introducción a Business objects
UNLEASHING INNOVATION Exploring Generative AI in the Enterprise.pdf
Gestión del talento en la hostelería
Intalligent - Sistema de gestión del talento ágil
Agile talent management
Metodología de gestión del talento ágil
Intalligent, Agile Talent Management
Introducción a Microstrategy
Introduction to Mobile Marketing - The complete tutorial
Still using marketing from the stone age??
Manual XML
Oracle xmldb
Fundamentos de DataWarehouse
Introducción a UML
Metodologias de desarrollo
Desarrollo de sistemas
Proyectos software
Introducción a Business objects

Calidad de software

  • 1. Calidad de Software Hermenegildo Romero © 2009 DATABASE TEAM http:// www.db - team.com
  • 2. INDICE La Calidad del software ISO 9126 CMMI Calidad de software
  • 3. LA CALIDAD DEL SOFTWARE
  • 4. Gestión de la Calidad Principios de la gestión de la calidad según ISO 9000: 2000 Los ocho principios de la gestión de la calidad identificados para lograr los objetivos de la calidad, según "ISO 9000:2000 Sistemas de Gestión de la Calidad. Enfoque al cliente . Las organizaciones dependen de sus clientes y por la tanto deberían comprender las necesidades actuales y futuras de los clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las expectativas de los clientes. Liderazgo . Los líderes establecen la unidad de propósito y la orientación de la organización. Ellos deberían crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organización. Participación del personal . El personal, a todos los niveles, es la esencia de una organización y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organización.
  • 5. Gestión de la calidad Enfoque basado en procesos . Un resultado deseado se alcanza más eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso. Enfoque de sistema hacia la gestión . Identificar, entender y gestionar los procesos interrelacionados como un sistema, contribuye a la eficacia y eficiencia de una organización en el logro de sus objetivos. Mejora continua . La mejora continua del desempeño global de la organización debería ser un objetivo permanente de ésta. Enfoque basado en hechos para la toma de decisiones . Las decisiones eficaces se basan en el análisis de los datos y la información. Relación mutuamente beneficiosa con el proveedor . Una organización y sus proveedores son interdependientes, y una relación mutuamente beneficiosa aumenta la capacidad de ambos para crear valor. Estos ocho principios de gestión de la calidad constituyen la base de las normas de sistemas de gestión de la calidad de la familia de Normas ISO 9000.
  • 6. Gestión de la calidad Conceptos ISO 9000:2000 Sistema de gestión: Sistema para establecer la política y los objetivos, y para la consecución de dichos objetivos. Gestión de la calidad: Conjunto completo de procesos utilizados en un sistema de gestión de la calidad. Política de la calidad: Intenciones y dirección global de una organización relativas a la calidad tal como se expresan formalmente por la alta dirección. Planificación de la calidad: Parte de la gestión de la calidad enfocada al establecimiento e interpretación de la política de la calidad y los requisitos de la calidad y específica cómo se va a alcanzar. Mejora de la calidad: Parte de la gestión de la calidad orientada a mejorar su eficacia y eficiencia. Proceso: Sistema de actividades, que utilizan recursos para transformar entradas en salidas.
  • 7. La calidad del software Existen varios modelos de calidad de software El CMM - CMMI (Capability Maturity Model) es un modelo de calidad del software que clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir software. ISO 12207 – Modelos de Ciclos de Vida del Software. SPICE (Software Process Improvement and Capability Determination) – ISO 15504. ISO 9126 es un estándar internacional para la evaluación del Software. Está supervisado por el proyecto SQuaRE, ISO 25000:2005 , el cuál sigue los mismos conceptos.
  • 8. La calidad del software La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software . Los requisitos del software son la base de las medidas de calidad. La falta de concordancia con los requisitos es una falta de calidad.
  • 9. La calidad del software Los estándares o metodologías definen un conjunto de criterios de desarrollo que guían la forma en que se aplica la ingeniería del software. Si no se sigue ninguna metodología siempre habrá falta de calidad. Existen algunos requisitos implícitos o expectativas que a menudo no se mencionan, o se mencionan de forma incompleta que también pueden implicar una falta de calidad.
  • 10. La calidad del software La política establecida debe estar sustentada sobre tres principios básicos : tecnológico, administrativo y ergonómico. El principio tecnológico define las técnicas a utilizar en el proceso de desarrollo del software. El principio administrativo contempla las funciones de planificación y control del desarrollo del software , así como la organización del ambiente o centro de ingeniería de software . El principio ergonómico define la interfaz entre el usuario y el ambiente automatizado. La adopción de una buena política contribuye en gran medida a lograr la calidad del software , pero no la asegura. Para asegurarse un nivel de calidad es necesario su control o evaluación.
  • 11. La calidad del software La gestión de la calidad Gestión de la calidad: "Aspectos de la función de gestión que determinan y aplican la política de la calidad, los objetivos y las responsabilidades y que lo realiza con medios tales como la planificación de la calidad, el control de la calidad, la garantía de calidad y la mejora de la calidad". Dentro de la gestión de la calidad se observa: Gestión de la calidad de software (ISO 9000): Conjunto de actividades de la función general de la dirección que determina la calidad, los objetivos y las responsabilidades y se implanta por medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento (garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad Política de calidad (ISO 9000): Directrices y objetivos generales de una organización, relativos a la calidad, tal como se expresan formalmente por la alta dirección. La gestión de la calidad se aplica normalmente a nivel de empresa. También puede haber una gestión de calidad dentro de la gestión de cada proyecto.
  • 12. La calidad del software El aseguramiento (assurance) de la calidad Aseguramiento de la calidad : "Conjunto de acciones planificadas y sistemáticas necesarias para proporcionar la confianza adecuada de que un producto o servicio satisfará los requerimientos dados sobre calidad". Aseguramiento de la calidad de software : Conjunto de actividades planificadas y sistemáticas necesarias para aportar la confianza en que el producto (software) satisfará los requisitos dados de calidad. El aseguramiento de calidad del software se diseña para cada aplicación antes de comenzar a desarrollarla.
  • 13. La calidad del software El aseguramiento de calidad del software está presente en: Métodos y herramientas de análisis, diseño, programación y prueba. Inspecciones técnicas formales en todos los pasos del proceso de desarrollo del software. Estrategias de prueba multiescala. Control de la documentación del software y de los cambios realizados. Procedimientos para ajustarse a los estándares (y dejar claro cuando se está fuera de ellos). Mecanismos de medida (métricas). Registro de auditorias y realización de informes.
  • 14. La calidad del software Las actividades para el aseguramiento de calidad del software se detallan en: Métricas de software para el control del proyecto. Verificación y validación del software a lo largo del ciclo de vida (Incluye las pruebas y los procesos de revisión e inspección). La gestión de la configuración del software.
  • 15. La calidad del software Algunos métodos del aseguramiento: Revisiones técnicas y de gestión (su objetivo es la evaluación). Inspección (su objetivo es la verificación). ¿Estamos construyendo el producto correcto?. Pruebas (su objetivo es la validación). ¿Estamos construyendo el producto correctamente?. Auditorias (su objetivo es la confirmación del cumplimiento).
  • 16. La Calidad del Software El control de la calidad Control de calidad: "Conjunto de técnicas y actividades de carácter operativo, utilizadas para verificar los requerimientos relativos a la calidad del producto o servicio". Control de la calidad del software: Técnicas y actividades de carácter operativo, utilizadas para verificar los requisitos relativos a la calidad, centradas en mantener bajo control el proceso de desarrollo y eliminar las causas de los defectos en las diferentes fases del ciclo de vida. El control de la calidad del software está centrado en dos objetivos fundamentales: Mantener bajo control un proceso. Eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
  • 18. ISO 9126 ISO 9126 es un estándar internacional para la evaluación del Software. Está supervisado por el proyecto SQuaRE, ISO 25000:2005, y sigue los mismos conceptos. El estándar está dividido en cuatro partes modelo de calidad métricas externas métricas internas calidad en las métricas de uso. El modelo de calidad establecido en la primera parte del estándar, ISO 9126-1, clasifica la calidad del software en un conjunto estructurado de características y subcaracterísticas
  • 19. ISO 9126 Características Funcionalidad Un conjunto de atributos que se relacionan con la existencia de un conjunto de funciones y sus propiedades específicas. Las funciones son aquellas que satisfacen lo indicado o implica necesidades. Subcaracterísticas Idoneidad Exactitud Interoperabilidad Seguridad Cumplimiento de normas. Conformidad
  • 20. ISO 9126 ...Características Fiabilidad Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo condiciones establecidas durante un período de tiempo establecido. Subcaracterísticas Madurez Recuperabilidad Tolerancia a fallos Conformidad
  • 21. ISO 9126 ...Características Usabilidad Un conjuntos de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoración individual de tal uso, por un establecido o implicado conjunto de usuarios. Subcaracterísticas Aprendizaje Comprensión Operatividad Conformidad
  • 22. ISO 9126 ...Características Eficiencia Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la cantidad de recursos necesitados bajo condiciones establecidas. Subcaracterísticas Comportamiento en el tiempo Comportamiento de recursos Conformidad
  • 23. ISO 9126 ...Características Mantenibilidad Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema software. Subcaracterísticas Estabilidad Facilidad de análisis Facilidad de cambio Facilidad de pruebas Conformidad
  • 24. ISO 9126 ...Características Portabilidad Conjunto de atributos relacionados con la capacidad de un sistema software para ser transferido desde una plataforma a otra. Subcaracterísticas Capacidad de instalación Capacidad de reemplazamiento Adaptabilidad Conformidad
  • 25. ISO 9126 Cada subcaracterística (como adaptabilidad) está dividida en atributos. Un atributo es una entidad la cual puede ser verificada o medida en el producto software. Los atributos no están definidos en el estándar, ya que varían entre diferentes productos software. Un producto software está definido en un sentido amplio como: los ejecutables, código fuente, descripciones de arquitectura, etc. La noción de usuario se amplía tanto a operadores como a programadores, que son usuarios de componentes software.
  • 26. ISO 9126 El estándar provee un entorno para que las organizaciones definan un modelo de calidad para el producto software. Cada organización tiene que especificar precisamente su propio modelo. Esto podría ser hecho, por ejemplo, especificando los objetivos para las métricas de calidad las cuales evalúan el grado de presencia de los atributos de calidad. Métricas internas son aquellas que no dependen de la ejecución del software (medidas estáticas). Métricas externas son aquellas aplicables al software en ejecución. La calidad en las métricas de uso están sólo disponibles cuando el producto final es usado en condiciones reales. Idealmente, la calidad interna determina la calidad externa y esta a su vez la calidad en el uso.
  • 27. ISO 9126 ISO 9126 distingue entre fallos y no conformidad fallo El no cumplimiento de los requisitos previos No conformidad Afecta a los requisitos especificados. Una distinción similar es hecha entre la validación y la verificación.
  • 28. CMMI
  • 29. CMMI v1.2 Capability Maturity Model Integration (CMMI) es un modelo para la mejora de procesos. Proporciona los elementos esenciales para procesos eficaces. Las mejores prácticas CMMI se publican en documentos llamados modelos. Hay dos áreas Desarrollo Adquisición
  • 30. CMMI v1.2 CMMI tiene tres constelaciones: CMMI para el desarrollo (Ago-2006) Desarrollo de productos y servicios Tiene dos modelos: CMMI-DEV CMMI-DEV + IPPD (Integrated Product and Process Development) CMMI para la adquisición (Nov-2007) Gestión de la cadena de suministro, adquisición y contratación externa. CMMI para los servicios (borrador) Diseñado para cubrir todas las actividades que requieren gestionar, establecer y entregar servicios.
  • 31. CMMI v1.2 Independientemente de la constelación\modelo que opta una organización, las prácticas CMMI deben adaptarse a cada organización en función de sus objetivos de negocio. Las organizaciones no pueden ser certificadas CMMI. Por el contrario, una organización puede ser evaluada (por ejemplo, usando un método de evaluación como SCAMPI) y recibir una calificación de nivel 1-5 si sigue los niveles de Madurez.
  • 32. CMMI v1.2 El modelo CMMI v1.2(CMMI-DEV) contiene las siguientes 22 áreas de proceso: Análisis de Causas y Resolución (CAR) Gestión de la configuración (CM) Análisis de Decisiones y Resolución (DAR) Gestión Integrada de Proyectos (IPM) Medición y Análisis (MA) Innovación y Despliegue Organizacionales(OID) Definición de procesos organizacionales (OPD) Enfoque Organizacional en Procesos (OPF) Rendimiento de Procesos Organizacionales (OPP) Formación Organizacional (OT) Monitorización y Control de Proyecto (PMC)
  • 33. CMMI v1.2 Planificación de proyecto (PP) Aseguramiento de calidad de Procesos y Productos (PPQA) Integración de Producto (PI) Gestión Cuantitativa de Proyectos (QPM) Gestión de Requerimientos (REQM) Desarrollo de Requerimientos (RD) Gestión de Riesgos (RSKM) Gestión de Acuerdos con Proveedores (SAM) Solución Técnica (TS) Validación (VAL) Verificación (VER)
  • 34. CMMI v1.2 CMM-SW El modelo para software (CMM-SW) establece 5 Niveles de Madurez (Maturity Level) para clasificar a las organizaciones, en función de qué áreas de procesos consiguen sus objetivos y se gestionan con principios de ingeniería. Es lo que se denomina un modelo escalonado , o centrado en la madurez de la organización. La selección de los Áreas de Proceso está prefijado, habiendo 7 áreas de proceso para el nivel de madurez 2 (ML2), 11 para el ML3, 2 para el ML4 y 2 más para el ML5.
  • 35. CMMI v1.2 SE-CMM El modelo para ingeniería de sistemas (SE-CMM) establece 6 Niveles de Capacidad posibles para cada una de las 22 áreas de proceso implicadas en la ingeniería de sistemas. La organización puede decidir cuales son las Áreas de Proceso (PA) que quiere mejorar determinando así su perfil de capacidad. Se le denomina modelo continuo.
  • 36. CMMI v1.2 En el equipo de desarrollo de CMMI había defensores de ambos tipos de representaciones. El resultado fue la publicación del modelo con dos representaciones: continua y escalonada. No son equivalentes, y cada organización puede optar por adoptar la que se adapte a sus características y prioridades de mejora. La visión continua de una organización mostrará la representación de nivel de capacidad de cada una de las áreas de proceso del modelo. La visión escalonada definirá a la organización dándole en su conjunto un nivel de madurez del 1 al 5.
  • 37. CMMI v1.2 Niveles de capacidad de procesos (modelo continuo) Incompleto El proceso no se realiza, o no se consiguen sus objetivos. Ejecutado El proceso se ejecuta y se logra su objetivo. Gestionado Además de ejecutarse, el proceso se planifica, se revisa y se evalúa para comprobar que cumple los requisitos. Definido Además de ser un proceso gestionado se ajusta a la política de procesos que existe en la organización, alineada con las directivas de la empresa.
  • 38. CMMI v1.2 Cuantitativamente gestionado Además de ser un proceso definido se controla utilizando técnicas cuantitativas. Optimizando Además de ser un proceso cuantitativamente gestionado, de forma sistemática se revisa y modifica o cambia para adaptarlo a los objetivos del negocio. Mejora continua.
  • 39. ¿por qué adoptar CMMI? Muchas organizaciones valoran el medir su progreso llevando a cabo una evaluación y ganando una clasificación del nivel de madurez o de un nivel de capacidad de logro. Este tipo de evaluaciones son realizadas normalmente por una o más de las siguientes razones: Para determinar que también los procesos de la organización se comparan con las mejores prácticas CMMI y determinar qué mejoras se pueden hacer. Para informar a los clientes externos y proveedores acerca de que también los procesos de la organización se comparan con las mejores prácticas CMMI. Para cumplir los requisitos contractuales de uno o más clientes.
  • 40. Evaluar CMMI Las valoraciones de las organizaciones utilizando un modelo CMMI deben ajustarse a los requisitos definidos en el documento "Appraisal Requirements for CMMI" (ARC). La evaluación se enfoca en identificar oportunidades de mejora, y comparar los procesos de la organización con las mejores prácticas CMMI. Los equipos de evaluación usan el modelo CMMI y un método para guiar su evaluación y reporte de conclusiones. Los resultados de la evaluación son usados para planear mejoras en la organización.
  • 41. Evaluación SCAMPI El Standard CMMI Appraisal Method for Process Improvement (SCAMPI) es el método oficial para proveer puntos de referencia de sistemas de calificación en relación con los modelos CMMI. SCAMPI se usa para identificar fortalezas y debilidades de los procesos, revelar riesgos de desarrollo/adquisición, y determinar niveles de capacidad y madurez. Se utilizan ya sea como parte de un proceso o programa de mejora, o para la calificación de posibles proveedores. El método define el proceso de evaluación Preparación actividades sobre el terreno observaciones preliminares conclusiones y valoraciones presentación de informes actividades de seguimiento.
  • 42. Muchas Gracias Hermenegildo Romero Database Team [email_address] www.db-team.com