Aseguramiento de la Calidad del Software II

21
Aseguramiento de la calidad del software ( SQA ) OBJETIVO: Comprenderá la relación entre ingeniería de software y el aseguramiento de la calidad de software.

Transcript of Aseguramiento de la Calidad del Software II

Page 1: Aseguramiento de la Calidad del Software II

Aseguramiento de la calidad del software ( SQA )

OBJETIVO:

Comprenderá la relación entre ingeniería de software y el aseguramiento de la

calidad de software.

Page 2: Aseguramiento de la Calidad del Software II

Relación de la Ingeniería de Software con SQA

Page 3: Aseguramiento de la Calidad del Software II

CARACTERISTICAS:

Elemento lógico, no físicoDesarrollado, no fabricadoNo se estropea, pero se deteriora (deterioro por cambios)Mayoritariamente cerrado: usar todo o nadaConstrucción a la medidaMantenimiento complicado

INGENIERÍA DE SOFTWARE: es el establecimiento y uso de principios sólidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en máquinas reales.

Page 4: Aseguramiento de la Calidad del Software II

El IEEE, ha elaborado una definición que establece:

Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo y mantenimiento del software.

La ingeniería de software es una tecnología estratificada. , debe estar sustentado en un compromiso con la calidad. La gestión de calidad total, sigma seis y enfoques similares fomentan una cultura de mejora continua del proceso y es una cultura la que al final conduce al desarrollo de enfoques muy afectivos para la ingeniería de software.

La base que soporta la ingeniería del software es un enfoque de calidad.

Page 5: Aseguramiento de la Calidad del Software II

Desarrollo de software a pequeña escala:

Proceso simpleModelado mínimoHerramientas simplesPuede hacerlo una sola persona Desarrollo artesanalBajo costo

No precisa, apenas requiere de ingeniería

Page 6: Aseguramiento de la Calidad del Software II

Desarrollo de software a gran escala:

Proceso complejoModelado y diseñoHerramientas sofisticadasEquipo de trabajoCosto elevadoGestión del proyectoPosiblemente plazos de terminación

Necesidad de ingeniería

Page 7: Aseguramiento de la Calidad del Software II

Perspectiva histórica del desarrollo de software

Década 50-60 Software como un añadido Desarrollo artesanal, a la medida Lenguaje de bajo nivel

Década 60-70 Software como producto Década lenguajes y compiladores Crisis de software

Década 70-80 Tecnología de SGBD, SO. Nuevos paradigmas de programación y de productos

90´ a la fecha: POO, Programación visual Análisis y diseño OOTecnología CASE Métodos agiles Componentes y reutilización Interoperabilidad Internet Correo electrónico

Page 8: Aseguramiento de la Calidad del Software II

La problemática actual del software

Incapacidad para estimar tiempo, costo, y esfuerzo para el desarrollo de un producto de software.

Falta de calidad del producto de software.

Avance del hardware y necesidad de aplicaciones más complejas.

Page 9: Aseguramiento de la Calidad del Software II

Problemas del software:¿Porqué lleva tanto tiempo terminar los programas?¿Porqué es tan elevado su costo?¿Porqué no debemos encontrar todos los errores antes de entregar el software a nuestros clientes?¿Porqué nos resulta difícil constatar el progreso conforme se desarrolla el software?

Page 10: Aseguramiento de la Calidad del Software II

Algunas causas:

Naturales no física de la programaciónProblemas derivados de la intervención de gruposProblemas de comunicación con los clientesPoco esfuerzo en el análisis y diseño Problemas de gestiónA veces, el software debe solucionar los problemas del sistema global.Difusión limitada a las nuevas técnicas, métodos y herramientas.

Page 11: Aseguramiento de la Calidad del Software II

Diferencias en comparación a otras disciplinas:

El software es un producto mentalSe desarrolla, no se fabrica.Los costos se concentran en las tareas de ingeniería.El software no se deteriora con el tiempo.Es artesanal en gran medida.Su mantenimiento es mucho más complejo.Los cambios son engañosamente fáciles.Como disciplina el desarrollo de software es joven.Se debe satisfacer una amplia gama de entes.Es necesario crear una cultura de calidad.

Page 12: Aseguramiento de la Calidad del Software II

Definición y propósito del SQA (garantía de la calidad del software)

SQA es un conjunto de actividades sistemáticas y planeadas para asegurar que los Procesos y Productos del software cumplen con los requerimientos, estándares y procedimientos.

Procesos: incluyen todas las actividades involucradas en el diseño, codificación, pruebas y mantenimiento,

Productos: incluyen software, datos asociados, documentación y todo el soporte y reportes de trabajo.

Page 13: Aseguramiento de la Calidad del Software II

SQA brinda a la administración la seguridad de que procesos oficialmente establecidos están siendo implementados. Y asegura que:

1.-Una metodología de desarrollo apropiada este establecida.

2.-Que los proyectos utilicen estándares y procedimientos en su trabajo.

3.-Que la documentación sea creada para mantenimiento y mejoramiento.

Page 14: Aseguramiento de la Calidad del Software II

4.-La administración de configuración de software este adecuada para controlar cambios.

5.-Se realicen pruebas y que se

aprueben. 6.-Cualquier deficiencia y desviaciones

sean identificadas y llevadas con atención a la administración.

Page 15: Aseguramiento de la Calidad del Software II

Propósito: Proporcionar visibilidad sobre los procesos utilizados por el proyecto

de software y sobre los productos que genera.

Objetivos: 1.-Planificar las actividades de aseguramiento de la calidad.

2.-Revisar y auditar objetivamente los productos y las actividades para verificar que están conformes con los procedimientos y estándares aplicables.

3.-Proporcionar los resultados de estas revisiones o auditorías informando a la dirección cuando sea necesaria su mediación.

Page 16: Aseguramiento de la Calidad del Software II

Problemas que resuelve la SQA

¿COMO OBTENER UN SOFTWARE DE CALIDAD?

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.

Con el objetivo 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.

Page 17: Aseguramiento de la Calidad del Software II

Esta política debe estar sustentada sobre tres principios básicos:

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.

Page 18: Aseguramiento de la Calidad del Software II

La adopción de una buena política contribuye en gran medida a lograr la calidad del software, pero no la asegura. Para el aseguramiento de la calidad es necesario su control o evaluación.

¿COMO CONTROLAR LA CALIDAD DEL SOFTWARE?

Para controlar la calidad del software es necesario, ante todo, definir los parámetros, indicadores o criterios de medición, ya que:

"usted no puede controlar lo que no se puede medir".

Las cualidades para medir la calidad del software son definidas por innumerables autores, los cuales las denominan y agrupan de formas diferentes.

Page 19: Aseguramiento de la Calidad del Software II

Otros autores identifican la calidad con el nivel de complejidad del software y definen dos categorías de métricas:

Complejidad de programa o código Complejidad de sistema o estructura.

Todos los autores coinciden en que el software posee determinados índices medibles que son las bases para la calidad, el control y el perfeccionamiento de la productividad.

Page 20: Aseguramiento de la Calidad del Software II

1.- Definir el software que va a ser controlado:

clasificación por tipo, esfera de aplicación, complejidad, etc., de acuerdo con los estándares establecidos para el desarrollo del software.

2.- Seleccionar una medida que pueda ser aplicada al objeto de control.

para cada clase de software es necesario definir los indicadores y sus magnitudes.

3.- Crear o determinar los métodos de valoración de los indicadores:

métodos manuales como cuestionarios o encuestas estándares para la medición de criterios periciales y herramientas automatizadas para medir los criterios.

4.- Definir las regulaciones organizativas para realizar el control:

quiénes participan en el control de la calidad, cuándo se realiza, qué documentos deben ser revisados y elaborados, etc.

Page 21: Aseguramiento de la Calidad del Software II

Para lograr el éxito en la producción de software es hacerlo con calidad y demostrar su buena calidad. Esto sólo es posible con la implantación de un Sistema para el Aseguramiento de la Calidad del Software directamente relacionado con la política establecida para su elaboración y que esté en correspondencia con la definición internacional de calidad ampliamente aceptada.

Por lo tanto SQA resuelve problemas como:

Aumenta las posibilidades de el éxito final del proyecto. Ayuda a definir los parámetros de medición de la calidad

del software. Verifica que los estándares sean aplicados correctamente. Define un plan de monitoreo del proceso de desarrollo del

software (ciclo de vida).