Garantía y Calidad de Software

34
TEMA: GARANTÍA Y CALIDAD DE SOFWARE

description

Garantía y Calidad de Software

Transcript of Garantía y Calidad de Software

Page 1: Garantía y Calidad de Software

TEMA:

GARANTÍA Y CALIDAD DE SOFWARE

Page 2: Garantía y Calidad de Software

INTRODUCCIÓN

La historia de la garantía de calidad en el desarrollo de software es paralela a la historia de la calidad en la creación de hardware.

Durante los primeros años de la informática (los años cincuenta y sesenta), la calidad era responsabilidad únicamente del programador. Durante los años setenta se introdujeron estándares de garantía de calidad para el software en los contratos militares para desarrollo de software y se han extendido rápidamente a los desarrollos de software en el mundo comercial [IEE94]. Ampliando la definición presentada anteriormente, la garantía de calidad del software (SQA) es un «patrón de acciones planificado y sistemático» que se requiere para asegurar la calidad del software.

La implicación para el software es que muchos de los que constituyen una organización tienen responsabilidad de garantía de calidad del software como los ingenieros de software, jefes de proyectos, clientes, vendedores, y aquellas personas que trabajan dentro de un grupo de SQA.

Page 3: Garantía y Calidad de Software

CONCEPTOS:CONCEPTO DE CALIDAD:Propiedad o conjunto de propiedades inherentes a una cosa, que permitenapreciarla como igual, mejor o peor que las restantes de su especie.En sentido absoluto, buena calidad, superioridad o excelencia.DEFINICIÓN DE CALIDAD:Totalidad de características de un producto o servicio que le confieren suaptitud para satisfacer unas necesidades expresadas implícitas.

Page 4: Garantía y Calidad de Software

Calidad en Ingeniería de Software

Lo primero que se debe considerar ala hora de abordar el tema de la calidad del software es que éste constituye un producto con unas características muy peculiares.

Así el software:

Se desarrolla, no se fabrica en el sentido clásico del término. Todo el coste de su producción se centra en el diseño, ya que la replicación de un programa es una tarea trivial.

Se trata de un producto lógico, sin existencia física. El verdadero producto del software es el diseño de una serie de instrucciones para el computador.

No se degrada con el uso. La naturaleza lógica del software permite que permanezca inalterable por muy intensa que sea su utilización.

Es extraordinariamente flexible. Se puede cambiar con facilidad e incluso se pueden reutilizar trozos de un producto para construir otro.

Definición de la Calidad de Software

La definición oficial de calidad del software es la del estándar IEEE Std.610-1990:

Grado con el que un sistema, componente o proceso cumple:

Los requisitos especificados. Las necesidades o expectativas del cliente o usuario.

Page 5: Garantía y Calidad de Software

MODELOS DE CALIDADHay diversos modelos de calidad de SW lo

cual se detallaran 2 de ellos:

a) El modelo CMM-CMMI (Capability Maturity Model)

b) ISO 12207 Modelos de ciclo de vida del SW

Page 6: Garantía y Calidad de Software

A) EL MODELO CMM-CMMI (CAPABILITY MATURITY MODEL)

Es uno de los modelos de calidad del software que clasifica a las empresas en niveles de madures. Cuyos niveles sirven para conocer la madures de los procesos que se realizan para producir SW

Los niveles del CMM-CMMI son 5:

Page 7: Garantía y Calidad de Software

A.1) INICIAL O NIVEL 1 CMM - CMMI

Se da en todas las empresas que no tienen procesos. En este típico proyecto se presenta la siguiente situación:

¿Cómo va el proyecto?

Bien, bien.

Dos semanas después…

¿Cómo va el proyecto?

Bien, bien.

Tres semanas después…

El lunes hay que entregar el proyecto.- No sé por qué pero los proyectos se entregan los lunes.

El lunes!!?. Todavía falta mucho!!

¿Cómo? Me dijiste que el proyecto iba bien!! Arréglatelas como quieras, pero el proyecto tiene que estar terminado para el lunes.

Page 8: Garantía y Calidad de Software

A.2) REPETIBLE O NIVEL 2 CMM-CMMI

Quiere decir que el éxito de los resultados obtenidos se puede repetir.

Proceso que se debe implantar para alcanzar este nivel:o Gestión de requisitoso Planificación de proyectoso Seguimiento y control de proyectoso Gestión de proveedores o Aseguramiento de la calidado Gestión de la configuración

Page 9: Garantía y Calidad de Software

A.3) DEFINIDO O NIVEL 3 CMM - CMMI

Alcanzar este nivel significa que la forma de desarrollar proyectos (gestión e ingeniería) está definida.

Procesos que hay que implementar para alcanzar este nivel :o Desarrollo de requisitoso Solución Técnicao Integración del productoo Verificacióno Validacióno Desarrollo y mejora de los procesos de la organizacióno Definición de los procesos de la organizacióno Planificación de la formacióno Gestión de riesgoso Análisis y resolución de toma de decisiones

Page 10: Garantía y Calidad de Software

A.4)CUANTITATIVAMENTE GESTIONADO O NIVEL 4 CMM -CMMI

Los proyectos usan objetivos medibles para alcanzar las necesidades de los clientes y la organización.

Procesos que hay que implantar para alcanzar este nivel:o Gestión cuantitativa de proyectoso Mejora de los procesos de la organización

Page 11: Garantía y Calidad de Software

A.5) OPTIMIZADO O NIVEL 5 CMM - CMMI

Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades.

Procesos que hay que implantar para alcanzar este nivel :o Innovación organizacionalo Análisis y resolución de las causas

Page 12: Garantía y Calidad de Software

ESTRUCTURA DEL MODELO CMM:

Page 13: Garantía y Calidad de Software

MODELO ISO 12207 Modelos de ciclo de vida del software: Propósito:

Establecer un marco común para el ciclo de vida del software para:o adquirir, suministrar, desarrollar, operar y mantener softwareo gestionar, controlar y mejorar el marcoo como base para el comercio internacional de software o Una arquitectura de alto nivel para el ciclo de vidao Modularidado Responsabilidado Un proceso bajo la responsabilidad de uo Estándar de evaluación de procesos de software.

Alcance: o Ejecutar, planificar, gestionar, controlar y mejorar los procesos de: 

o Adquisicióno Suministroo Desarrolloo Operación o Aporte

Page 14: Garantía y Calidad de Software

MÉTRICAS DE CALIDAD DE SOFTWARE

Cada factor de calidad Fc se puede obtener como combinación de una o varias métricas:

Fc= c1 * m1 + c2 * m2 + … + cn * mn o Ci: factor de ponderación de la métrica i, que dependerá de cada aplicación

específica.o mi: métrica i.o Métricas para determinar los factores de calidad:

Formación.Facilidad de auditoría. Exactitud.Normalización de las comunicaciones.Completitud.Concisión.Consistencia.Estandarización de los datos.Tolerancia de errores.Eficiencia de la ejecución.

Facilidad de expansión.Generalidad.Independencia del hardware.Instrumentación.Modularidad.Facilidad de operación.Seguridad.Autodocumentación.Simplicidad.Independencia del sistema software.Facilidad de traza.

Page 15: Garantía y Calidad de Software

CAUSAS DE FALTA DE GARANTÍA DE CALIDAD DE SOFTWARE

Especificación de software y requerimientos imprecisos. Falta de entendimiento de los requerimientos del cliente. Violación de los estándares de diseño y programación. Representación de datos errónea. Interfaz inadecuada. Lógica incorrecta en reglas y procesos. Errores de pruebas. Documentación incompleta y defectuosa. Falta de dominio del conocimiento

Page 16: Garantía y Calidad de Software

JUSTIFICACIÓN

La calidad de un producto de software es el indicador que permite determinar si los procesos de construcción de software fueron apropiados. Es por esto que debe indagarse sobre los métodos y técnicas que garantizan calidad en los productos, con miras a generar propuestas concretas para aplicaciones con características específicas.

Page 17: Garantía y Calidad de Software

GARANTÍA DE CALIDAD DEL SOFTWARE(SQA)

SQA – Definición:- La garantía de calidad de software es el conjunto de

actividades que se deben llevar a cabo para asegurar la calidad del software.

- Consiste en la auditoria y las funciones de información de la gestión.

- Su objetivo es proporcionar datos necesarios sobre la calidad del producto. Los datos proporcionados mediante la garantía de calidad identifican problemas, es responsabilidad de la gestión afrontar los problemas y aplicar los recursos necesarios para resolver aspectos de calidad.

Page 18: Garantía y Calidad de Software

VENTAJAS DEL SQA• Mejora de satisfacción del cliente : debido a que el producto

que reciben es confiable y esta libre de defectos y errores.

• Se reduce el costo de desarrollo: debido a que al seguir un plan SQA se reducen los defectos y errores del software se simplifican las fases finales del ciclo de vida del software que son las pruebas.

• Se reduce el costo de mantenimiento: Un software lleno de bugs es difícil de mantener ya que se necesitará de parches y modificaciones constantes. En cambio un software probado rigurosamente tendrá menos errores y su mantenimiento será menos frecuente y por lo tanto menos costoso.

Page 19: Garantía y Calidad de Software

FORMALIZACIÓN DEL PLAN DE CALIDADEste Plan debe contener: 

- Una descripción de los criterios y actividades de garantía de calidad aplicables al proyecto.

- La planificación en tiempo, de las actividades de garantía de la calidad, la organización y responsabilidades de las mismas.

- Referencia a los procedimientos, normas, metodología, guías y estándares aplicables.

Page 20: Garantía y Calidad de Software

FORMALIZACIÓN DEL PLAN DE CALIDADEl Plan de Calidad puede formalizarse en:

Alcance Documentos Organización y responsabilidades Control de suministros Actividades de garantía de calidad sobre: El plan y la

gestión del proyecto, la gestión de configuración y seguridad y confidencialidad.

Actividades de garantía de calidad en la fase de: Análisis, Diseño, Implementación, Pruebas, Implantación.

Gestión de elementos críticos

Page 21: Garantía y Calidad de Software

PRÁCTICAS CLAVES DEL SQA

• Pruebas de Validación: Se ingresa a la aplicación datos erróneos para ver la respuesta del sistema.

• Comparación de Datos : Se compara las salidas de datos de la aplicación con las que analíticamente son correctas.

• Pruebas de Stress: El software se prueba bajo condiciones extremas para ver si puede soportarlo.

Pruebas de Usabilidad: Se da el software a personas no familiarizadas con su desarrollo para ver si puede ser usado intuitivamente.

Page 22: Garantía y Calidad de Software

ACTIVIDADES DEL SQA

• Planificar las actividades de SQA.

• Verificar la adherencia de los productos y actividades de software a los estándares, a los procedimientos y a los requisitos aplicables.

• Los grupos y los individuos afectados son informados de las actividades y de los resultados de la SQA.

• Las tareas que no cumplen con los estándares o procedimientos y que no se pueden resolver dentro del proyecto del software son tratadas por la gerencia general.

Page 23: Garantía y Calidad de Software

SUBPROCESOS DEL SQA

• Planificación de la SQA: consiste en elaborar el Plan SQA. Este plan define las actividades, procedimientos y recursos necesarios para asegurar que: el proceso de desarrollo de la aplicación se siga y la aplicación satisfaga los atributos de calidad establecidos para ella.

Evaluación Objetiva de Productos: Los diferentes productos intermedios y finales que se producen a lo largo del desarrollo de una aplicación deben ser evaluados, a fin de determinar si ellos cumplen ó no con los requisitos de calidad establecidos para la aplicación.

Page 24: Garantía y Calidad de Software

FIGURA Nº 2 : SUBPROCESOS DEL SQA

Page 25: Garantía y Calidad de Software

TÉCNICAS DE PRUEBA PARA SQARevisión y actividades SQA no suficientes para detectar

errores.

Casos de Prueba de lógica interna y requerimientos de software ejecutados para encontrar errores y corregirlos.

La especificación del plan de prueba:• Ámbito de prueba o alcance de prueba• Plan prueba• Especificación de prueba• Datos para casos de prueba y entorno de prueba• Resultados esperados• Errores encontrados y reportados• Tomar acción correctora• Prueba de nuevo con casos de prueba

Page 26: Garantía y Calidad de Software

LOS DOS NIVELES DE LA CALIDAD DEL SOFWARE: EMPRESA/ORGANIZACIÓN Y PROYECTO

El nivel de entidad u organización, donde se trata de crear y gestionar una infraestructura que fomente la calidad de los productos software mediante la adecuación y mejora de las actividades y procesos involucrados en su producción e, incluso, en su comercialización y en la interacción con los clientes. Para implantar esta infraestructura de calidad se suele recurrir al concepto de sistema de calidad.

Page 27: Garantía y Calidad de Software

El nivel de proyecto, donde las guías que la infraestructura organizativa prevé para las distintas actividades de desarrollo y mantenimiento de software deben ser adaptadas a las características concretas del proyecto y de su entorno para ser aplicadas en la práctica. En este nivel, se pasa a la aplicación práctica de las técnicas propias de evaluación y control de la calidad del software a lo largo del ciclo de vida.

Page 28: Garantía y Calidad de Software

NIVELES DE LA CALIDAD DEL SOFTWARE El trabajo para la mejora de la calidad tiene distintos ámbitos de

actuación:Nivel de empresa/organizaciónNivel de proyecto

La gestión de la calidad a nivel de empresa u organización consiste en la creación de una estructura organizativa apropiada para fomentar el trabajo por la calidad de todas las personas y departamentos de la empresa. Se suele recurrir al concepto de sistema de calidad

La gestión de la calidad a nivel de Proyecto, donde las guías que la infraestructura organizativa prevé para las distintas actividades de desarrollo y mantenimiento de software deben ser adaptadas a las características concretas del proyecto y de su entorno para ser aplicadas en la práctica.

Page 29: Garantía y Calidad de Software

LOS DOS NIVELES DE LA CALIDAD Y SUS RELACIONES•Planificación

estratégica.

•Asignación de recursos.

•Actividades sistemáticas

Page 30: Garantía y Calidad de Software

DOCUMENTOS DEL SISTEMA DE CALIDAD

Se considera como principales documentos:

• Manual de Calidad

• Manual de Procedimientos

• Planos Instructivos, Formatos

y Registros

Page 31: Garantía y Calidad de Software

CALIDAD A NIVEL DE PROYECTO A) Planificación del aseguramiento de la calidad del software en un

proyecto  Al inicio de un proyecto de desarrollo de software se deben decidir aspectos

del mismo:  - La selección de uno o varios modelos candidatos del ciclo de vida, que se

adaptaran y concretaran luego en el ciclo de vida del proyecto específico. - Los aspectos relacionados con la financiación, la disponibilidad y la

visibilidad (normas contractuales, presupuestos, recursos, etc.). La definición del entorno del proyecto: metodologías, técnicas y herramientas. - Planificación de la gestión del proyecto. - La gestión día a día del proyecto. - La planificación del aseguramiento de la calidad del software. - La planificación de la documentación que debe generarse a lo largo del ciclo

de vida (que deberá seguir las políticas y estándares de calidad que se refieren a aspectos administrativos y de documentación).

  -A partir de este plan del proyecto, se puede generar un Plan de Aseguramiento de calidad de Software.

Page 32: Garantía y Calidad de Software

B) Guía de IEEE para planificación de la garantía de calidad   Esta guía viene a complementar el estándar de IEEE para los Planes de Garantía de Calidad y

recoge el consenso alcanzado entre un cierto número de personas experimentadas en la generación, implementación, evaluación y modificación de Planes de Garantía de Calidad de software sobre lo que son buenas prácticas de Garantía de Calidad. Es, por tanto, un conjunto de recomendaciones, no un estándar.

b.1. Tipo de software considerado:

El estándar de IEEE está dirigido al desarrollo de software crítico, es decir, aquel cuyo fallo puede producir grandes pérdidas o catástrofes. Si se está desarrollando software no crítico, no tiene sentido imponer todos los requisitos del estándar.

b.2. Grupos afectados por la Garantía de Calidad:   Los usuarios: ya sean externos o internos a la organización que desarrolla el software. Lo que necesita el usuario es que al finalizar el proceso de desarrollo el producto satisfaga los

requisitos que se han identificado. El programa de Garantía de Calidad permite al usuario tener un cierto grado de confianza, durante el mismo proceso de desarrollo, en que el producto está adquiriendo dichos requisitos, sin tener que esperar a la realización de pruebas al finalizar el proceso de desarrollo para confirmar que los posee o averiguar que no los posee.

Los desarrolladores: El programa de Garantía de Calidad les ofrece un marco de trabajo estándar y estable de un proyecto a otro, sobre el que basar las responsabilidades.

El público en general: ya que se verá afectado por el buen o mal funcionamiento de los sistemas software desarrollado.

Page 33: Garantía y Calidad de Software

CONCLUSIONES El éxito en la producción de software se obtiene logrando hacerlo con

calidad y demostrando el grado de ésta, calificando como buena. Esto sólo es posible con la implantación de un Sistema para el Aseguramiento de la Calidad del Software.

Los proyectos de software deberían incluir un plan SQA ya que aporta varios beneficios a corto y largo plazo para la empresa tanto en el desarrollo del producto de software como en la mejora de la relación con el cliente.

El proceso del plan SQA sigue en paralelo con las etapas del desarrollo del software ya que los errores y defectos pueden ocurrir en cualquiera de estas etapas.

La falta de un plan SQA puede conllevar a no lograr la calidad del software como se requiere ya que se esta muy propenso, durante el desarrollo del software, a cometer errores, no garantizándose la calidad, estos errores podrían llevar a una reestructuración del proyecto, corregirlos después podría significar comenzar de nuevo desde la fase de análisis, perdiendo tiempo y dinero.

Page 34: Garantía y Calidad de Software

INTEGRANTES DEL GRUPO: - COTRINA VARGAS JOMHER - MARTÍNEZ REYES PAÚL - MERCADO ZARE MILAGROS - PASTOR CRUZADO JAVIER - PÉREZ RONCAL ALÁN - RODRÍGUEZ MENDOZA FRANCO

FIN….