You are on page 1of 17

Tabla de contenido

Factores De Calidad Y Productividad. ................................................................................................. 3 Introduccin. ................................................................................................................................... 3 Concepto de calidad del software................................................................................................... 3 Modelo de McCall. .......................................................................................................................... 5 Factores de calidad de revisin. .................................................................................................. 5 Factores de calidad de transicin. ............................................................................................... 5 Factores de calidad de operacin. .............................................................................................. 5 Criterios de calidad: factor mantenibilidad. ................................................................................ 6 Criterios de calidad: factor flexibilidad. ...................................................................................... 6 Criterios de calidad: factor testeabilidad. ................................................................................... 7 Criterios de calidad: factor portabilidad. .................................................................................... 7 Criterios de calidad: factor reusabilidad. .................................................................................... 8 Criterios de calidad: factor interoperabilidad. ............................................................................ 8 Criterios de calidad: factor correctitud. ...................................................................................... 8 Criterios de calidad: factor confiabilidad. ................................................................................... 9 Criterios de calidad: factor eficiencia. ......................................................................................... 9 Criterios de calidad: factor integridad......................................................................................... 9 Criterios de calidad: factor usabilidad. ........................................................................................ 9 Mtricas de calidad. .................................................................................................................. 10 Modelo de Boehm. ........................................................................................................................ 11 Caractersticas de alto nivel. ..................................................................................................... 11 Caractersticas de nivel intermedio........................................................................................... 11 Caractersticas primitivas. ......................................................................................................... 11 Comparacin de modelos McCall-Boehm. .................................................................................... 12 Evaluacin de los modelos de McCall y Boehm. ....................................................................... 13 Modelos ad-hoc................................................................................................................................. 13 Normas ISO para el software ............................................................................................................ 13 La calidad en el ciclo de vida del software. ............................................................................... 14 Caractersticas de calidad internas y externas. ......................................................................... 14 Caractersticas de calidad y puntos de vista. ............................................................................ 14

Caractersticas de calidad de uso. ............................................................................................. 15 Sub-caractersticas de calidad. .................................................................................................. 15 Mtricas de calidad en ISO 9126. .................................................................................................. 15 Objetivos del uso de mtricas para medir caractersticas externas. ........................................ 15 Objetivos del uso de mtricas para medir caractersticas internas. ......................................... 16 Objetivos del uso de mtricas para medir caractersticas de uso............................................. 16 Proceso de evaluacin de la calidad. ........................................................................................ 16 Uso de las mtricas en el ciclo de vida. ..................................................................................... 17

Factores De Calidad Y Productividad. Introduccin. Cuando se habla de la Ing. de Software para la construccin de sistemas, existe un criterio que ha sido muy generalizado, ampliamente difundido, pero tal vez no en la misma medida aplicado. Y este es: debemos construir sistemas tiles y de calidad. tiles. Que cumplan con los requerimientos del usuario. Que tengan xito, sea que la organizacin logre con ellos algo que no alcanzara sin ellos. De calidad. Que cumplan con un conjunto de reas clave del desarrollo de sistemas. Pero se ver que la calidad no es tan fcil de definir, incluso no existe una definicin nica, completa y definitiva. Algunos autores sostienen que la calidad es indefinible porque es simple, inmediata y directa. Concepto de calidad del software. Una de las causas ms fuertes para que sucediera la crisis del software, fue la falta de productividad. Resumindose en ella los motivos de la crisis del software: Falta de comunicacin con los usuarios. No existan construcciones de sistemas modulares, para as bajar el esfuerzo de ajuste y extensin. La mantenibilidad, no era un atributo del software. Esto quiere decir que nunca se pensaba al sistema en funcin del cambio. El esfuerzo de mantenimiento era alto. Entonces, la solucin era obviamente incrementar la productividad, que significaba resolver todos los problemas que dieron lugar a la crisis. Para esto debamos establecer reas clave. Segn la administracin, no todas las reas de una gestin brindan el mismo rendimiento ante idnticos esfuerzos, es decir, que en algunas las mejoras por unidad de esfuerzo sern ms significativas que en otras. Esas son las llamadas reas clave, y en principio son las reas sobre las que se ha desarrollar nuestra gestin.

Analizando la distribucin de costos que insume un producto de software, salta a primera vista que el porcentaje ms alto se lleva el mantenimiento (70% a 80%), una actividad posterior al desarrollo. Entonces una manera de ser ms productivos es usar nuestros esfuerzos en nuevos sistemas y no as en mantener sistemas ya hechos. Para esto debemos pensar el diseo de un sistema en funcin del cambio futuro, establecer un proceso para lograr especificaciones mantenibles. Se ha detectado un rea clave: la mantenibilidad. Otra rea clave que se deduce al pensar en cmo bajar los costos es la confiabilidad o fiabilidad, porque un producto confiable ayuda a bajar los costos de mantenimiento. Durante el desarrollo, se han revisado las distintas etapas de este, para que los errores no lleguen al usuario final sin ser detectados, de tal forma que el usuario pueda confiar en el software. Tanto la confiabilidad como la mantenibilidad son un complejo de cualidades, pero adems no son las nicas reas clave, existen otras reas de gestin no menos importantes como la portabilidad y la eficiencia. En verdad, veremos que estas reas se convertirn en factores de calidad y que sus cualidades sern las mtricas que se usarn para medirlas, cuando se hable de modelos de calidad. Tomando esta definicin se puede decir que un sistema que no cumple con lo que se esperaba de l, en cuanto a funcionalidad y rendimiento, carece de calidad. Tambin se puede concluir que un sistema que no ha sido desarrollado usando una ingeniera, difcilmente lograr tener calidad, porque incluso la legibilidad del cdigo, que es una caracterstica implcita de la visin de ingeniera, podra no existir. Sin embargo, la definicin no es ms importante que saber cmo incorporar este elemento en nuestro producto, es por esto que muchos investigadores, ingenieros en software, a travs de los aos han ido estableciendo y mejorando distintos modelos para la calidad del software.

Modelo de McCall. McCall propone tres perspectivas para agrupar los factores de calidad: Revisin del producto habilidad para ser cambiado. Transicin del producto adaptabilidad al nuevo ambiente. Operacin del producto caractersticas de operacin.

Factores de calidad de revisin.


La revisin del producto incluye los siguientes factores de calidad:

Mantenibilidad esfuerzo requerido para localizar y corregir fallas. Flexibilidad facilidad de realizar cambios. Testeabilidad facilidad para realizar el testing, para asegurarse que el producto no tiene errores y cumple con la especificacin. Factores de calidad de transicin. La transicin del producto incluye los siguientes factores de calidad: Portabilidad esfuerzo requerido para transferir entre distintos ambientes de operacin. Reusabilidad facilidad de reusar el software en diferentes contextos. Interoperabilidad esfuerzo requerido para acoplar el producto con otros sistemas. Factores de calidad de operacin. La operacin del producto incluye los siguientes factores de calidad: Correctitud el grado en el que el producto cumple con su especificacin. Confiabilidad la habilidad del producto de responder ante situaciones no esperadas. Eficiencia el uso de los recursos tales como tiempo de ejecucin y memoria de ejecucin. Integridad proteccin del programa y sus datos de accesos no autorizados. Usabilidad facilidad de operacin del producto por parte de los usuarios.

Criterios de calidad: factor mantenibilidad. Segn McCall el factor mantenibilidad incluye los siguientes criterios: Consistencia. Simplicidad. Concisidad. Auto-descripcin. Modularidad.

Pero la mantenibilidad ha cambiado bastante desde 1977, encontrar y corregir errores es slo un aspecto ms. Ghezzi la divide en tres categoras: Correctiva concerniente a remover pequeas fallas remanentes despus del testeo. Adaptativa concerniente al cambio del producto necesario por el cambio de sus requerimientos. Perfectiva busca solo mejorar los algoritmos usados para hacerlos ms eficientes. Mantenibilidad est muy influenciado por el uso de buenas prcticas a lo largo de todo el ciclo de desarrollo algunas de estas buenas prcticas son: Seguir una metodologa bien definida. Usar buenas tcnicas de diseo, tanto de procedimientos como de datos, para aumentar cohesin y reducir acoplamiento. Observar la documentacin interna. Usar buenas prcticas de programacin: nombres significativos, cdigo legible, etc. Criterios de calidad: factor flexibilidad. Segn McCall el factor flexibilidad incluye los siguientes criterios: Expandibilidad. Generalidad. Auto-descripcin. Modularidad.

Con el correr de los aos este criterio se ha fusionado con mantenibilidad de hecho, en la definicin original, dos de los criterios de flexibilidad estaban compartidos con mantenibilidad.

Criterios de calidad: factor testeabilidad. Segn McCall el factor testeabilidad incluye los siguientes criterios: Simplicidad. Instrumentacin. Dado su ubicacin en tradicionales modelos de ciclo de vida de software, la facilidad de testing se define claramente como un criterio de calidad. ISO 9000-3 divide el testeo en cuatro etapas: Testeo de unidad se testea los componentes individuales, generalmente realizado por los programadores. Testeo de integracin se testean los mdulos compuestos por diversos componentes. Testeo de sistema se testea el sistema completo tal como lo usara un usuario normal, pero sin su presencia. Testeo de aceptacin el usuario ejecuta el sistema completo para asegurarse que cumpla con los requerimientos. Tambin llamado alpha testing. El testeo interacta con otros criterios de calidad, por ejemplo correctitud y eficiencia debe ser llevado a cabo siguiendo planes pre-definidos, con datos conocidos y cuyos resultados sean predeterminados la testeabilidad puede ser maximizada usando herramientas automticas, buenas estrategias de cohesin y de diseo, y buenas prcticas de programacin McCall defini originalmente mtricas para testeabilidad consistentes en una matriz de complejidad que involucra nmero y tamao de mdulos, tamao de procedimientos, profundidad de anidamiento, nmero de errores por unidad de tiempo, etc. Criterios de calidad: factor portabilidad. Segn McCall el factor testeabilidad incluye los siguientes criterios: Auto-descripcin. Modularidad. Independencia de la mquina. Independencia del sistema operativo.

Algunos autores (Sommerville) lo consideran parte de la reusabilidad se favorece mediante el seguimiento de estndares, tanto de procedimientos (X Windows) como de datos (XML) la existencia de compiladores cruzados favorece la portabilidad.

Criterios de calidad: factor reusabilidad. Segn McCall el factor reusabilidad incluye los siguientes criterios: Generalidad. Modularidad. Auto-descripcin. Independencia de la mquina. Independencia del sistema operativo.

Se puede favorecer la reusabilidad usando libreras de software, y tcnicas de programacin orientada a objetos hay que tener en cuenta que el desarrollo de cdigo reusable cuesta ms tiempo y dinero existe un factor econmico difcil de medir: el costo de cdigo reusable y la ganancia por reusar cdigo ya desarrollado. Criterios de calidad: factor interoperabilidad. Segn McCall el factor interoperabilidad incluye los siguientes criterios: Modularidad. Interoperabilidad en comunicacin. Interoperabilidad en datos. La interoperabilidad est relacionada con la reusabilidad en la actualidad su importancia ha crecido debido al creciente inters de conectarse con sistemas legacy se favorece mediante la adopcin de estndares. Criterios de calidad: factor correctitud. Segn McCall el factor correctitud incluye los siguientes criterios: Trazabilidad. Completitud. Consistencia. Correctitud es un factor muy difcil de identificar debido a la falta de terminologa estndar se lo pueden confundir con otros factores, tales como confiabilidad e integridad para medirlo es necesario tener disponible una especificacin formal de los requerimientos, cosa muy rara salvo en proyecto de alto presupuesto y sistemas crticos las tcnicas para verificarlo pueden ser: inspecciones de cdigo, verificacin matemtica y analizadores estticos de programas.

Criterios de calidad: factor confiabilidad. Segn McCall el factor confiabilidad incluye los siguientes criterios: Tolerancia a errores. Consistencia. Simplicidad. Exactitud.

Combina la tolerancia tanto a errores de hardware como de software tcnica de programacin tales como tolerancia a las fallas, manejo de excepciones y programacin defensiva ayudan puede ser medido con medidas como: Tiempo medio entre fallas. Tiempo medio antes de mantenimiento. Tiempo medio antes de recuperacin. Probabilidad de falla.

Criterios de calidad: factor eficiencia. Segn McCall el factor eficiencia incluye los siguientes criterios: Eficiencia en tiempo. Eficiencia en espacio. Muchas tcnicas favorecen este factor: el lenguaje de programacin, el sistema operativo, optimizacin de algoritmos, normalizacin de datos. Criterios de calidad: factor integridad. Segn McCall el factor integridad incluye los siguientes criterios: Control de acceso. Auditora de acceso. Involucra tanto evitar el acceso malintencionado, as como los daos causados por errores involuntarios de usuarios autorizados. Criterios de calidad: factor usabilidad. Segn McCall el factor usabilidad incluye los siguientes criterios: Operabilidad. Entrenamiento.

Comunicacin. Volumen de E/S. Tasa de E/S. La usabilidad ha cambiado mucho desde la poca de McCall incluye aspectos tales como adaptabilidad, aprendizaje, adecuacin al contexto algunos autores consideran por ejemplo que facilidad de aprendizaje es un factor de calidad independiente se puede subdividir en: Ergonoma general el equipo es adecuado para el uso previsto. Ergonoma de software estilos de dilogos, metforas, diseo de pantallas, etc. Mtricas de calidad. La medicin de cualquiera de estos factores est definida en este modelo en base a 41 mtricas para cada criterio existe una lista de condiciones que se deben cumplir en distintas etapas: requerimientos (R), diseo (D), implementacin (I) se cuentan las condiciones que se satisfacen en cada una de las etapas, sobre el total posible eso da una medida del criterio, que se pondera en partes iguales para medir el factor con los otros criterios asociados al factor.

Modelo de Boehm. El segundo modelo de calidad ms conocido es el presentado por Barry Boehm en 1978 este modelo introduce caractersticas de alto nivel, caractersticas de nivel intermedio y caractersticas primitivas, cada una de las cuales contribuye al nivel general de calidad. Caractersticas de alto nivel. Las caractersticas de alto nivel representan requerimientos generales de uso pueden ser: Utilidad per-se cuan (usable, confiable, eficiente) es el producto en s mismo. Mantenibilidad cun fcil es modificarlo, entenderlos y retestearlo. Utilidad general si puede seguir usndose si se cambia el ambiente. Caractersticas de nivel intermedio. Las caractersticas de nivel intermedio representan los factores de calidad de Boehm: Portabilidad (utilidad general). Confiabilidad (utilidad per-se). Eficiencia (utilidad per-se). Usabilidad (utilidad per-se). Testeabilidad (mantenibilidad). Facilidad de entendimiento (mantenibilidad). Modificabilidad o flexibilidad (mantenibilidad).

Caractersticas primitivas. El nivel ms bajo corresponde a caractersticas directamente asociadas a una o dos mtricas de calidad de portabilidad: Independencia de dispositivos. Auto-contencin. De confiabilidad: Auto-contencin. Exactitud. Completitud. Consistencia. Robustez/integridad.

De eficiencia: Accesibilidad. Eficiencia de uso de dispositivos. De usabilidad: Robustez/integridad. Accesibilidad. Comunicacin. De testeabilidad: Comunicacin. Auto descripcin. Estructuracin. De entendibilidad: Consistencia. Estructuracin. Concisidad. Legibilidad.

De modificabilidad: Estructuracin. Aumentabilidad. Comparacin de modelos McCall-Boehm. Aunque parezcan similares, la diferencia est en que McCall focaliza en medidas precisas de alto nivel, mientras que Boehm presenta un rango ms amplio de caractersticas primarias la mantenibilidad est ms desarrollada en Boehm.

Evaluacin de los modelos de McCall y Boehm. Estos modelos tienen sus lmites: Es difcil que las caractersticas y sub-caractersticas sean siempre perfectamente independientes falta una asociacin explcita entre los modelos y el proceso de software, cmo realizar software de calidad las caractersticas son en general propiedades abstractas medible mediante mtricas. No siempre existe una relacin perfectamente lineal entre los valores de las mtricas y las caractersticas que deben estimar.

Modelos ad-hoc. Para monitorear la calidad de software, se pueden tomar dos caminos: Adoptar un modelo fijo: se supone que todos los factores de calidad importantes son un subconjunto de los de un modelo publicado; se acepta el conjunto de criterios y mtricas asociados al modelo. Desarrollar un modelo propio de calidad: se acepta que la calidad est compuesta por varios atributos, pero no se adopta lo impuesto por modelos existentes. En este ltimo caso, se debe consensuar el modelo con los clientes antes de empezar el proyecto se deciden cules atributos son importantes para el producto, y cules medidas especficas los componen. Gilb y Kitchenham-Walker fueron los pioneros en la filosofa de calidad evolutiva Gilb propone la identificacin de medidas objetivas de calidad, en complemento con su filosofa de desarrollo evolutivo el producto es entregado incrementalmente al cliente, basado en la importancia de las diferentes funcionalidades la propuesta COQUAMO de Kitchenham y Walker extiende las ideas de Gilb con el soporte de herramientas automticas. Normas ISO para el software La ISO ha emitido algunas normas que definen un modelo de calidad del software, en varios contextos de uso: ISO 9126-1 - define 6 caractersticas de calidad principales, y 27 subcaractersticas. Incluye 3 reportes tcnicos (ISO/IEC 9126-2, 3e 4).

ISO/IEC 9241 - define las caractersticas de un software usable. ISO 12119 - define las caractersticas de calidad para un software COTS (Commercial off the shelf). La ISO tambin ha publicado la norma 14598 que gua en el proceso de valoracin de la calidad del software segn los criterios de la 9126. La calidad en el ciclo de vida del software. El foco en la calidad cambia durante el ciclo de vida: Al principio, durante la recopilacin de requerimientos y anlisis, la calidad es especificada por los requisitos del usuarios, sobre todo desde el punto de vista externo en la fase de diseo e implementacin, la calidad externa se traduce en un diseo tcnico, confrontndose con el punto de vista de los desarrolladores sobre la calidad interna y complementndose con los requisitos implcitos que el software debe cumplir la calidad final (la del uso) debe ser apropiada para los usuarios y el contexto de uso no existe una calidad perfecta o absoluta. Existe solamente una calidad necesaria y suficiente para un dado contexto. Caractersticas de calidad internas y externas. En ISO 9126 se reconocen seis factores de calidad que se pueden considerar tanto internos como externos: Funcionalidad. Confiabilidad. Eficiencia. Usabilidad. Mantenibilidad. Portabilidad.

Caractersticas de calidad y puntos de vista.

Caractersticas de calidad de uso. En ISO 9126 se reconocen cuatro factores de calidad de uso: Eficacia. Productividad. Seguridad. Satisfaccin.

Sub-caractersticas de calidad. Se pretende que estas caractersticas sean comprensivas, es decir cualquier componente de la calidad de software se puede describir como combinacin de aspectos de estos factores, a su vez estas caractersticas incluyen un conjunto de subcaractersticas que pueden ser re-finado mediante mltiples niveles, ISO 9126 tambin define un proceso para evaluar la calidad del Software. Mtricas de calidad en ISO 9126. ISO 9126 provee 3 conjuntos de mtricas, para medir respectivamente las caractersticas externas (en ISO 9126-2), las internas (en ISO 9126-3), y las de uso (en ISO 9126-4). Todas las mtricas estn caracterizadas por los siguientes elementos: Nombre de la mtrica. Objetivo de su uso. Mtodo con el cual se usa. Frmula y elementos de clculo. Interpretacin de la mtrica. Escala. Tipo de mtrica. Fuente de los datos de entrada. Beneficiarios de la mtrica.

Objetivos del uso de mtricas para medir caractersticas externas. Representar la calidad de un producto de software respecto a las caractersticas y sub-caractersticas del modelo 9126, durante el testeo. Validar el cumplimiento del software respecto a los requisitos de calidad externa. Predecir el nivel de calidad de uso del producto. Describir el grado de respuesta del producto respecto a los requisitos explcitos e implcitos de su uso.

Objetivos del uso de mtricas para medir caractersticas internas. Representar la calidad de un producto de software, en los estados de evolucin intermedios y finales no ejecutables, respecto a las caractersticas y subcaractersticas del modelo 9126 predecir el nivel de calidad externo del producto prevenir problemas en el uso del producto, descubriendo anticipadamente potenciales defectos las mtricas internas son en general combinacin de mtricas elementales aplicadas a cdigo fuente, diagramas UML o DFD, grficos, etc (medidas mediante anlisis esttico o con inspeccin de cdigo). Objetivos del uso de mtricas para medir caractersticas de uso. Verificar la capacidad de un producto de satisfacer las exigencias de los usuarios en un dado escenario de uso, en relacin con los objetivos previstos estas mtricas son en general combinaciones de mtricas elementales aplicadas a la interaccin entre usuario y sistema (medidas mediate field tests, inspecciones, walkthrough, etc). Proceso de evaluacin de la calidad. .

Uso de las mtricas en el ciclo de vida. Un comisionista puede valorar la conveniencia de elegir un determinado producto, usando mtricas para la confiabilidad un desarrollador deber disponer de mtricas de funcionalidad para verificar la correcta implementacin de productos semielaborados. En el mantenimiento se podr evaluar el esfuerzo y el riesgo de modificar un programa usando mtrica de mantenibilidad, se debern considerar mtricas de portabilidad antes de decidir la migracin de un producto a otros ambientes los usuarios debern poder medir la usabilidad y la eficacia del producto que se les entrega.

You might also like