Calidad de Producto de Software
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