Calidad de Producto de Software

download Calidad de Producto de Software

of 48

Transcript of Calidad de Producto de Software

CALIDAD DEL PRODUCTO SOFTWARE

EVOLUCIN HISTRICA

HASTA LOS AOS 40 Inspeccin y deteccin de errores Trabajo artesanal: control individual de cada tarea

HASTA LOS AOS 80 Control estadstico de calidad Mercado poco competitivo. Control de calidad = problema a resolver Conseguir uniformidad de servicio

A PARTIR DE LOS AOS 80 Mercado competitivo y de oferta Modelos de calidad Inters por la calidad en los EE.UU. ISO 9000 a partir de las normas britnicas

HOY Gestin de calidad Impacto estratgico Planificacin Una filosofa, una cultura, una estrategia, un estilo de gerencia.

EVOLUCIN HISTRICAM E J O R A D E L A C A L I D A D

Calidad total Mejora continua Garanta de calidad Prevenir errores Control de calidad Detectar errores TIEMPO

CONCEPTOS BASICOS

Qu es Software?Software

Conjunto

Programas

Instrucciones

Reglas informticas

que

Ejecutan ciertas tareas en una computadora

Qu es calidad?

Calidad

Conjunto

de

Propiedades inherentes a algo

Que permiten

Juzgar el valor de las cosas

Qu es Calidad de Software?Producto de software IncorporanCaractersticas que garantizan su eficiencia

Requerimientos del cliente

Si no hubiese calidad de software?Tener errorespodra Por lo que

El software

No cubrira las expectativas del cliente

Ser muy complicado de usar

mbitosCalidad de softwareImplica

ProcesosAmbos

Producto final

Se encuentran estandarizadospor

Los ISO

mbitos del control de calidadISO/IEC 9126, 14598, 25000

Producto

Estndares

Proceso

Estndares

CMMI, ISO/IEC 15504

CICLO DE VIDA DEL SOFTWARE

CICLO DE VIDA DEL SOFTWAREProceso que se sigue para construir, entregar y hacer evolucionar el software, desde la concepcin de una idea hasta la entrega y el retiro del sistema.ETAPASPLANIFICACION

IMPLEMENTACION

PUESTA EN PRODUCCION

ANLISIS DISEO DEBUGGING

VALIDACION MANTENIMIENTO Y EVOLUCIN

Divisin de procesos Segn complejidad

Divisin de procesos Segn su funcionalidad

MODELOS DE CICLO DE VIDA CICLO DE VIDA LINEALEn este modelo es el ms sencillo, aqu se descompone en etapas independientes ya que no hay retroalimentacin entre ellas.

CICLO DE VIDA EN CASCADA PUROEste ciclo de vida permite iteraciones, con esto provee un producto con elevado grado de calidad sin necesidad de un personal altamente calificado.

CICLO DE VIDA EN VContiene las mismas etapas que el ciclo de vida en cascada puro con la diferencia que se le agregaron 2 subetapas de retroalimentacin: validacin y verificacin .

MODELOS DE CICLO DE VIDA CICLO DE VIDA CON COMPONENTESCiclo adecuado para los proyectos en los que se dispone de todos los requerimientos al comienzo, para el desarrollo de un producto con funcionalidades conocidas.

CICLO DE VIDA ITERATIVOEste modelo busca reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos durante la etapa de solicitud de requerimientos.

CICLO DE VIDA EN ESPIRALEl modelo se basa en una serie de ciclos repetitivos para ir ganando madurez en el producto final. Ventaja: bajo riesgo de retraso en caso de deteccin de errores solucionndolo en la prxima rama de espiral pero el costo de tiempo que suma cada vuelta del espiral.

MODELOS DE CICLO DE VIDA CICLO DE VIDA INCREMENTALEste modelo de ciclo de vida se basa en la filosofa de construir incrementando las funcionalidades del programa. Se puede utilizar este modelo para casi cualquier proyecto, pero es verdaderamente til cuando el usuario necesite entregas rpidas, aunque sean parciales.

CICLO DE VIDA EVOLUTIVOEste modelo acepta que los requerimientos del usuario pueden cambiar en cualquier momento. Se comienza con un alto grado de incertidumbre. Mediante iteracin de ciclos requerimiento-desarrollo-evolucin

CICLO DE VIDA ORIENTADO A OBJETOSEsta es tal vez una de las mejores metodologas a seguir para la creacin de software. Aqu cada funcionalidad o requerimiento solicitado por el usuario, es considerado un objeto, teniendo como caracterstica principal a la abstraccin, que permite analizar y desarrollar las caractersticas esenciales de un objeto.

ISO 12207La ISO en su norma 12207 define al ciclo de vida de un software como un marco de referencia que contiene las actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto software, abarcando desde la definicin hasta la finalizacin de su uso.

REINGENIERIALa reingeniera utiliza los resultados obtenidos por la ingeniera inversa para corregir o prevenir errores en un software. Se reflejo de la reingeniera para evitar el efecto Y2K.

PARADIGMAS DE PROGRAMACION

Son las estrategias para crear la estructura de un programa. Existen 2 grupos: la programacin imperativa y la declarativa. En la primera codificamos qu hacer y cmo, en la segunda slo qu hacer, el lenguaje que utilizado har el resto. Un ejemplo de la ultima es el lenguaje SQL, mediante el cual pedimos datos pero no cmo hacerlo.

Modelos de Referencia de Calidad de Producto. Norma ISO/IEC 9126: Modelo de calidad del producto software. Norma ISO/IEC 14598:Calidad de la evaluacin del producto software.

Norma ISO/IEC 25000: SQuaRE

Norma ISO/IEC 9126: Modelo de calidad del producto software

Calidad del Producto Software (ISO/IEC 9621)Estndar ISO/IEC 9126 proviene desde el modelo establecido en 1977 por McCall y sus colegas, los cuales propusieron un modelo para especificar la calidad del software. El modelo de calidad McCall est organizado sobre tres tipos de Caractersticas de Calidad: Factores (especificar): Describen la visin externa del software, como es visto por los usuarios.Criterios (construir): Describen la visin interna del software, como es visto por el desarrollador. Mtricas (controlar): Se definen y se usan para proveer una escala y mtodo para la medida.

La ISO 9126 se basa en los siguientes fundamentos:El objetivo no es necesariamente alcanzar una calidad perfecta, sino la necesaria y suficiente para cada contexto de uso a la hora de la entrega y del uso del software por parte de los usuarios. Es necesario comprender las necesidades reales de los usuarios con tanto detalle como sea posible (requisitos).

ISO/IEC 9126 distingue entre fallo y no conformidad. Un fallo es el incumplimiento de los requisitos previos, mientras que la no conformidad es el incumplimiento de los requisitos especificados. Una distincin similar es la que se establece entre validacin y verificacin.

Calidad en el ciclo de vida del Software

9126-1Modelo de Calidad:*9126-2 Mtrica Exterior *9126-3 Mtrica Interior * 9126-4 Mtrica de Calidad en usoRequisitos de calidad externa Contribuye a especificar Uso y Contribuye a especificarretroalimentacin

Calidad en uso

IndicaValidacin Calidad externa

Indica

Verificacin

1.-9126-1Modelo de CalidadEs un conjunto de buenas prcticas para el ciclo de vida del software, enfocado en los procesos de gestin y desarrollo de proyectos. La especificacin y la evaluacin de la calidad de producto de software se puede conseguir definiendo caractersticas de calidad apropiadas, tomando en cuenta el objetivo de uso del producto de software, por eso Los modelos de calidad te dicen QUE hacer. No COMO hacerlo eso depende de: * Las metodologas que se use. * Los objetivos del negocio.

1.1.-9126-2(Mtrica externa )y 9126-3(Mtrica interna)Mtricas Internas:Medible a partir de las caractersticas intrnsecas, como el cdigo fuente Aplican a un producto de software no ejecutable. Aplican durante las etapas de su desarrollo. Permiten predecir la calidad del producto final. Permiten al usuario iniciar acciones correctivas temprano en el ciclo de desarrollo.

Mtrica Externa:-Medible en el comportamiento del producto, como en una prueba.

Calidad Externa e Interna

Funcionabilidad

Fiabilidad

Usabilidad

EficienciaComportamiento temporal Utilizacin de recursos

Mantenibilidad

Portabilidad

Adecuacin Madureces Tolerancia Exactitud a fallos Interoperabilidad Capacidad de seguridad de recuperacin acceso

Capacidad para ser entendido Capacidad para ser aprendido Capacidad para ser operado Capacidad de ser atractivo Cumplimiento de Cumplimiento funcionabilidad de fiabilidad Cumplimiento de usabilidad

Capacidad para Adaptabilidad ser analizado Instalabilidad Capacidad para Coexistencia ser cambiado Capacidad para Estabilidad Ser reemplazado Capacidad para Cumplimiento de ser probado la eficiencia Cumplimiento Cumplimiento de de mantenibilidad portabilidad

En sntesis calidad Interna y Externa significa:Funcionalidad Se encuentran las funciones requeridas en el software? Cun fcil es la transferencia del software a otro entorno ?

Portabilidad

Mantenibilidad

Cun fcil es modificar el software ?

Eficiencia

Cun eficiente es el software?

Usabilidad

Es el software fcil para usar?

Fiabilidad

Cun fiable es el software?

1.2.- (Mtrica de calidad de uso)Podemos considerar a la calidad en uso como la capacidad del producto software para permitir que usuarios especficos logren realizar tareas especficas con productividad, efectividad, seguridad y satisfaccin, en determinados escenarios de uso. El objetivo de un producto es que posea la calidad necesaria y suficiente para que satisfaga las necesidades de usuario explcitas e implcitas.

La usabilidad se refiere a la capacidad de un software de ser comprendido, aprendido, usado y ser atractivo para el usuario, en condiciones especficas de uso

ATRIBUTOS PARA CALIDAD EN USO1. Efectividad: Capacidad del producto software para permitir a los usuarios alcanzar objetivos especificados con exactitud y completitud, en un contexto de uso especificado.2. Productividad: Capacidad del producto software para permitir a los usuarios gastar una cantidad adecuada de recursos con relacin a la efectividad alcanzada, en un contexto de uso especificado. 3. Seguridad fsica: Capacidad del producto software para alcanzar niveles aceptables del riesgo de hacer dao a personas, al negocio, al software, a las propiedades o al medio ambiente en un contexto de uso especificado. 4. Satisfaccin: Capacidad del producto software para satisfacer a los usuarios en un contexto de uso especificado

Calidad en Uso

Eficiencia

Productividad

Seguridad

Satisfaccin

Norma ISO/IEC 14598:Calidad de la evaluacin del producto software.

ISO/IEC 14598Esta norma define el proceso de evaluacin y provee los requerimientos y las guas que conducen a evaluaciones de calidad.

14598 - 1 Descripcin General

14598 3 Proceso para Desarrolladores

14598 5 Proceso para Evaluadores

14598 2 Planeamiento y Gestin

14598 4 Proceso para Compradores

14598 6 Documentacin de mdulos de evaluacin

ISO/IEC 14598

Parte 1: Descripcin General

Establecer propsito de la evaluacin

Establecer requisitos de evaluacin

Identificar los tipos de producto(s) Especificar el modelo de calidad Seleccionar mtricas 9126-1 Caractersticas de Calidad 9126-2 Mtricas Externas 9126-3 Mtricas Internas 14598-6 Mdulos de Evaluacin

Especificar evaluacin

Establecer niveles para las mtricas Establecer criterios de valoracin

Disear evaluacin

Producir plan de evaluacin

Tomar medidasEjecutar evaluacin Comparar con criterios Valorar resultados

ISO/IEC 14598

Parte 2: Planeamiento y Gestin

Definicin de objetivos organizacionales

Recopilacin de datos y herramientas

Asignacin de responsabilidades

Comparacin y administracin de mejoras

ISO/IEC 14598

Parte 3: Proceso para Desarrolladores

Organizacin

Requerimientos de Calidad

Especificaciones

Diseo y Planeamiento

Montaje y Pruebas

ISO/IEC 14598

Parte 4: Proceso para Compradores

Establecimiento de los Requerimientos

Especificacin de la Evaluacin

Diseo de la Evaluacin

Ejecucin de la Evaluacin

ISO/IEC 14598

Parte 5: Proceso para Evaluadores

Requerimientos de Evaluacin

Especificacin de la Evaluacin

ISO/IEC 14598

Parte 6: Documentacin de Mdulos de Evaluacin

Mdulos de la evaluacin

Requerimientos de la documentacin

ISO/IEC 14598

Evaluacin del Producto de Software

Recursos y medio ambiente

Proceso de evaluacin

Producto de software

Efecto de los productos de software

Apoyo a la evaluacin

Proceso de evaluacin

Mtricas internas

Mtricas externas

Mtricas de calidad en uso

14598-114598-2 14598-6 14598-5 14598-3

9126-114598-4

9126-3

9126-2

9126-4

Norma ISO/IEC 25000: SQuaRE

ISO/IEC 2500n: Divisin de gestin de calidad

ISO/IEC 2501n: Divisin de modelo de calidad

ISO/IEC 2502n: Divisin de mencin de calidad

ISO/IEC 2503n: Divisin de requisitos de calidad

ISO/IEC 2504n: Divisin de Evaluacin de calidad

ISO/IEC 2505025099: Estndares de extensin SQuaRE

Vistas segn SQuaREVista Interna Vista Externa Vista en Uso

Calidad del Producto Software Medida de la Calidad de Software

Compuesto por Indica

Genera

Caractersticas sobre la Calidad

Funcin de Medida

Indica Compuesto por

Se aplican a

Sub-Caractersticas sobre la Calidad

Elementos de Medida de Calidad

Bibliografa

Calidad Del Producto Y Proceso Software CALERO, CORAL / MORAGA, Ma ANGELES / PIATTINI VELTHUIS, MARIO G Tcnicas cuantitativas para la gestin en la ingeniera del software Javier Dolado Cosn UNE-ISO-IEC 9126-1: Ingeniera del software : calidad del producto software : modelo de calidad Asociacin Espaola de Normalizacin y Certificacin (Madrid, Espaa) http://www.mena.com.mx/gonzalo/maestria/calidad/presenta/iso_9126-3/ CALIDAD DE SOFTWARE http://www.inf.udec.cl/~revista/ediciones/edicion1/lmonsalve.PDF http://www.calidaddelsoftware.com/ ISO-25000 (SQUARE) http://www.iso.org/iso/catalogue_detail.htm?csnumber=35683 http://iso25000.com/index.php/25000.html