You are on page 1of 14

Calidad de Software

Herramientas de Software Facultad de Informtica, Ciencias de la Comunicacin y Tcnicas Especiales Lic. Cecilia Palazzolo Ao 2005

Qu es la calidad del SW?


La calidad est de moda, en todos los aspectos, pero especialmente en el desarrollo de software. El inters por la calidad crece de forma continua, a medida que los clientes se vuelven ms selectivos y comienzan a rechazar los productos poco fiables o que realmente no dan respuesta a sus necesidades.

Calidad de Producto vs. Calidad de SW


Es importante diferenciar entre la calidad del PRODUCTO software y la calidad del PROCESO de desarrollo. Las metas que se establezcan para la calidad del producto van a determinar las metas a establecer para la calidad del proceso de desarrollo, ya que la calidad del producto va a estar en funcin de la calidad del proceso de desarrollo. Sin un buen proceso de desarrollo es casi imposible obtener un buen producto.

Calidad de Producto vs. Calidad de SW


El software es un producto mental, no restringido por las leyes de la fsica o por los lmites de los procesos de fabricacin. Es algo abstracto, y su calidad tambin lo es. Se desarrolla, no se fabrica. El coste est fundamentalmente en el proceso de diseo, no en la produccin y los errores se introducen tambin en el diseo, no en la produccin. Es artesanal en gran medida. Se construye a medida, en vez de ser construido ensamblando componentes existentes y ya probados.

Calidad de Producto vs. Calidad de SW


El software no se deteriora con el tiempo. No es susceptible a los efectos del entorno, y su curva de fallos es muy diferente de la del hardware. Todos los problemas que surjan durante el mantenimiento estaban all desde el principio, y afectan a todas las copias del mismo; no se generan nuevos errores. El mantenimiento del software es mucho ms complejo que el mantenimiento del hardware. Cuando un componente hardware se deteriora se sustituye por una pieza de repuesto, pero cada fallo en el software implica un error en el diseo o en el proceso mediante el cual se tradujo el diseo en cdigo mquina ejecutable.

Calidad de Producto vs. Calidad de SW


Es engaosamente fcil realizar cambios sobre un producto software Los efectos de estos cambios se pueden propagar de forma explosiva e incontrolada. El software con errores no se rechaza. Se asume que es inevitable que el software presente errores. Tambin es importante destacar que la calidad de un producto software debe ser considerada en todos sus estados de evolucin (especificaciones, diseo, cdigo, ...).

Definicin de Calidad
La calidad es la suma de todos aquellos aspectos o caractersticas de un producto o servicio que influyen en su capacidad para satisfacer las necesidades, expresadas o implcitas (ISO 8402)

Grado con el cual el cliente o usuario percibe que el software satisface sus expectativas (IEEE 729-83)

Definicin de Calidad
Es realmente posible encontrar un conjunto de propiedades en un producto software que nos den una indicacin de su calidad?. La ventaja de los modelos de calidad es que la calidad se convierte en algo concreto, que se puede definir, que se puede medir y, sobre todo, que se puede planificar. Los modelos de calidad ayudan tambin a comprender las relaciones que existen entre diferentes caractersticas de un producto software. En los Modelos de Calidad, la calidad se define de forma jerrquica. Resuelven la complejidad mediante la descomposicin. ( McCall, Boehm)

Definicin de Calidad
Control de Calidad: Actividades para evaluar la calidad de los productos desarrollados. Mejora de la calidad del software: Cmo utilizar la informacin disponible acerca de la calidad del producto SW para mejorar su calidad a lo largo del CV. Gestin de Calidad: Determinacin y aplicacin de las polticas de calidad de la empresa (objetivos y directrices generales) Garanta o Aseguramiento de Calidad: Conjunto de actividades planificadas y sistemticas necesarias para proporcionar confianza en que el producto software satisfacer los requisitos dados de calidad.

Modelos de calidad del SW


En los modelos de calidad, la calidad se define de forma jerrquica. Es un concepto que se deriva de un conjunto de sub-conceptos, cada uno los cuales se va a evaluar a travs de un conjunto de indicadores o mtricas. Tienen una estructura, por lo general, en tres niveles: Factores de Calidad Criterios de calidad del Producto Mtricas del Producto

Modelos de calidad del SW


En el nivel ms alto de la jerarqua se encuentran los FACTORES de calidad, que representan la calidad desde el punto de vista del usuario. Cada uno de los factores se descompone en un conjunto de CRITERIOS de calidad. Son atributos que, cuando estn presentes, contribuyen al aspecto de la calidad que el factor asociado representa. Se trata de una visin de la calidad desde el punto de vista del producto software. Para cada uno de los criterios de calidad se definen entonces un conjunto de MTRICAS, que son medidas cuantitativas de ciertas caractersticas del producto que dan una indicacin del grado en que dicho producto posee un determinado atributo de calidad.

El modelo de McCall
Organiza los Factores en tres ejes o puntos de vista desde los cuales el usuario puede contemplar la calidad de un producto. Operacin del producto Revisin del producto Transicin del producto

El modelo de McCall
Se basa en 11 Factores de calidad, que se organizan en torno a los tres ejes de la siguiente forma: Operacin del producto: Facilidad de uso (Puedo ejecutarlo?) Integridad (Es seguro?) Correccin (Hace el software lo que yo quiero?) Fiabilidad (Lo hace de forma exacta todo el T?) Eficiencia (Se ejecutar sobre mi HW lo mejor posible?)

El modelo de McCall
Revisin del producto Facilidad de mantenimiento (Puedo arreglarlo?) Facilidad de prueba (Puedo probarlo?) Flexibilidad (Puedo modificarlo?) Transicin del producto Facilidad de reutilizacin (Podr reutilizar parte del software?) Interoperabilidad (Podr comunicarlo con otros sistemas?) Portabilidad (Podr utilizarlo en otra mquina?)

Factor - Criterios
Facilidad de uso
Facilidad de operacin Facilidad de comunicacin Facilidad de aprendizaje

Correccin
Completitud Consistencia Trazabilidad

Integridad
Facilidad de auditora

Fiabilidad
Precisin Consistencia

Eficiencia
Eficiencia en ejecucin Eficiencia en almacenamiento

Tolerancia a fallos Modularidad Simplicidad

Factor - Criterios
Facilidad de mantenimiento Facilidad de prueba
Modularidad Simplicidad Consistencia Concisin Auto descripcin Modularidad Simplicidad Auto descripcin Instrumentacin

Reusabilidad Flexibilidad
Auto descripcin Capacidad de expansin Generalidad Modularidad Auto descripcin Generalidad Modularidad Independencia entre sistema y software Independencia del hardware

Factor - Criterios
Interoperabilidad
Modularidad Compatibilidad de comunicaciones Compatibilidad de datos

Portabilidad
Auto descripcin Modularidad Independencia entre sistema y software Independencia del hardware

El modelo de Boehm
Presenta una jerarqua de caractersticas, cada una de las cuales contribuye a la calidad global. El concepto de SW exitoso abarca las necesidades y expectativas de los usuarios (igual que Mc Call). Incluye caractersticas de desempeo de HW (omitidas en MC Call). Utilidad General del SW: se afirma que el SW debe ser til por sobre todas las cosas. (Usuario Final, Usuario Mantenedor del Sistema y el Usuario Programador). El SW debe:
hacer lo que el Usuario quiere que haga. utilizar recursos de la computadora correcta y eficientemente. es fcil de aprender y usar para los usuarios. est bien diseado, bien codificado y es probado y mantenido fcilmente.

El modelo de Boehm
Portabilidad Confiabilidad Utilidad General Utilidad Percibida Eficiencia Ingeniera Humana Facilidad de Prueba Facilidad de Mantenimiento Facilidad de Comprensin Facilidad de Modificacin

El modelo de ISO 9126


Es un modelo jerrquico con seis atributos principales que contribuyen a la calidad. a diferencia de Mc Call y Boehm, cada caracterstica de la derechasolo est relacionada solo con un solo atributo de la izquierda. Las caractersticas de la derecha se relacionan con la vista del usuario final.

10

El modelo de ISO 9126


Funcionalidad Confiabilidad Facilidad de Uso Eficiencia Facilidad de Mantenimiento Portabilidad Adaptabilidad, Exactitud Interoperacin, Seguridad Madurez, Tolerate a defectos, Facilidad de recuperacin Facilidad de comprensin, de aprender, de operar Comportamiento en el tiempo Comportamiento de recursos Facilidad de anlisis, Fac. de cambios, de prueba, Estabilidad Facilidad de instalacin, de reemplazo, Conformidad

Actividades del Ctrol. de Calidad del SW


El objetivo del Control de Calidad es comprobar si un producto posee o no posee una determinada caracterstica de calidad en el grado requerido. Revisiones Auditoras Comprobacin de Escritorio Revisin por Pares Anlisis de Flujo Ejecucin Simblica

11

Qu es la Garanta de Calidad?
Conjunto de actividades de planificacin, estimacin y supervisin de las actividades de desarrollo, que se realizan de forma independiente al equipo de desarrollo, de tal forma que los productos software resultantes cumplen los requisitos establecidos.

El mbito del Control de Calidad es el producto software, mientras que el mbito de la Garanta de Calidad es tambin el proceso de desarrollo.

Qu es la Garanta de Calidad?
1. Las metas y objetivos: Debe asegurar que las metas de la organizacin y los objetivos del U se estn satisfaciendo, y que no existen conflictos entre ellos, o entre los objetivos de diferentes usuarios. 2. Los mtodos: Debe asegurar que las actividades de desarrollo de software siguen los procedimientos establecidos, se ajustan a los estndares seleccionados, estn de acuerdo con las polticas de la organizacin y se ejecutan segn las guas de trabajo y recomendaciones disponibles. 3. Rendimiento: Debe asegurar que se optimiza la utilizacin del hardware y software en los productos desarrollados, que son econmicos (se desarrollan con el menor coste posible), eficientes (sacan el mximo partido posible a los recursos utilizados) y efectivos (alcanzan el resultado deseado con la menor cantidad posible de recursos, tiempo y esfuerzo).

12

Garanta de Calidad - Tareas


1. Planificacin de la calidad: Consiste en seleccionar, clasificar y ponderar las propiedades de calidad que se van a establecer como requisitos, con respecto al producto y con respecto al proceso. Se elegirn tambin los mecanismos de control de calidad a utilizar para medir y evaluar estas caractersticas y se determinarn las metas a alcanzar. 2. Supervisin de la calidad: Consiste en supervisar y corregir, si es necesario, el trabajo que se est realizando (segn los resultados obtenidos con las actividades de control de calidad), con el objetivo de llegar a satisfacer los requisitos establecidos. 3. Construccin de la calidad: Actividades constructivas son aquellas que sirven para construir la calidad, es decir, son actividades preventivas cuyo objetivo es evitar la introduccin de errores mediante la puesta en prctica de ciertos principios, mtodos, formalismos y herramientas.

El Costo de la Calidad
El costo necesario para conseguir productos de calidad tiene dos componentes: Prevencin de errores: Construccin de la Calidad Deteccin de defectos: Control de Calidad Si no invertimos suficiente dinero y esfuerzo en la construccin y control de la calidad, obtendremos productos de baja calidad, y esto tambin tiene su coste. El coste de la no calidad tambin tiene dos componentes: El coste de correccin de los defectos que se vayan poniendo a la luz Repercusiones externas: falta de credibilidad, descontento de los usuarios, responsabilidad civil, prdida de clientes

13

Ejemplos de Costos de Calidad


Distribucin de defectos detectados segn la fase en la Otros que se introdujeron:
Codificac. 7% 10%

Diseo 27%

Especific. 56%

Porcentaje, sobre el coste total de correccin de los defectos, segn la fase en la que se introdujeron:
Otros 4% Codificac. 7% Diseo 13% Especific. 56%

14

You might also like