21
Unidad 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.

Temas Unidad 2

  • Upload
    wiso08

  • View
    13.457

  • Download
    0

Embed Size (px)

DESCRIPTION

Temas de calidad de Software

Citation preview

Page 1: Temas Unidad 2

Unidad 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: Temas Unidad 2

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

Page 3: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

2.2 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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

2.3 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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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: Temas Unidad 2

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).