Calidad de software
Upcoming SlideShare
Loading in...5
×
 

Calidad de software

on

  • 7,294 views

 

Statistics

Views

Total Views
7,294
Views on SlideShare
7,294
Embed Views
0

Actions

Likes
1
Downloads
290
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Calidad de software Calidad de software Presentation Transcript

  • 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ónmodelo 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