Está en la página 1de 12

MODELOS DE CALIDAD DEL SOFTWARE

Para empezar a hablar sobre el tema de calidad de software, primero


debemos saber cmo se definen estas palabras:
Calidad de acuerdo a la Real academia espaola: Propiedad o
conjunto de propiedades inherentes a una cosa, que permiten apreciarla como
igual, mejor o peor que las restantes de su especie.
Calidad del Software segn la IEEE: Grado con el cual el cliente o
usuario percibe que el software satisface sus expectativas.
Calidad del Software segn la ISO: El conjunto de caractersticas de
una entidad que le confieren su aptitud para satisfacer las necesidades
expresadas y las implcitas.
Por ello en la obtencin de un software con calidad implica la utilizacin
de metodologas o procedimientos estndares para el anlisis, diseo,
programacin y prueba del software que permitan uniformar la filosofa de
trabajo, para 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.
La calidad est compuesta por una composicin de muchas
caractersticas. Un modelo de calidad entonces describe estas caractersticas
y sus relaciones.
MEJORA DEL PROCESO DEL SOFTWARE

PSP (Personal Software Process): En el ao de 1995 el PSP fue


propuesto por Watts Humphrey, este inicialmente estaba dirigido para
estudiantes, para 1997 con el lanzamiento del libro An Introduction to the
Personal Software Process el PSP ya estaba destinado a los ingenieros.
Caractersticas:
El PSP busca proporcionar un marco de trabajo para el personal
involucrado en el proceso de desarrollo de software.
El PSP se centra en la administracin del tiempo y en la
administracin de la calidad a travs de la eliminacin temprana de
defectos.
PSP demuestra cmo manejar la calidad desde el principio del
trabajo.
Objetivos del PSP:
Planificar, estimar, medir, seguir y controlar todo el proceso de
desarrollo de software.
Lograr una disciplina de mejora continua en el proceso de
desarrollo.
Mejorar los niveles de calidad del proceso de desarrollo de software.
En general, PSP provee calidad
PSP puede ser aplicado en:
Desarrollo de programas.
Definicin de requerimientos.
Documentacin.
Pruebas de sistemas.
Mantenimiento de sistemas.

TSP (Team Software Process): Fue creado en 1999 por Watts Humphrey
con el fin de proporcionarles a los estudiantes de ingeniera de software
una visin total del ciclo de vida del software TSP busca a travs de la
definicin de procesos, ayudar a predecir costos y tiempos de proyectos,
mejorando la productividad y en general todo el ciclo de desarrollo
proporcionando caractersticas de calidad.

Caractersticas:
Se fundamenta en el trabajo en equipo al establecer directrices para
la definicin de objetivos, planificacin y control de sus procesos,

MODELOS DE CALIDAD DEL SOFTWARE 2


enfocados en prcticas de ingeniera avanzada. Se establecen
actividades de apoyo para la conformacin de equipos de trabajo y
su administracin.
Se posibilita encontrar defectos en las etapas iniciales del ciclo de
desarrollo del software, al ser reparados tempranamente, se reduce
el tiempo de pruebas y por tanto el tiempo total.
La aplicacin de esta metodologa ayuda a mejorar el desempeo
de los individuos y por tanto de los equipos, hacindolos ms
disciplinados y giles.
Objetivos:
Lder del Equipo: Dirige al equipo, se asegura que todos reporten
sus datos de los procesos y completen su trabajo tal y como se
plane. Realiza los reportes semanales del avance del equipo.
Gestor de Desarrollo: Gua al equipo en el diseo y desarrollo del
producto.
Gestor de Planificacin: Apoya y gua al equipo en la planificacin y
seguimiento del trabajo.
Gestor de Calidad/Proceso: Apoya al equipo en definir sus
necesidades acerca del proceso y a establecer y administrar el plan
de calidad. Genera estndares para obtener un trabajo uniforme.
Modera las inspecciones y revisa cada artefacto generado.
Administrador de Requerimientos/Soporte: Dirige al equipo en el
desarrollo de requerimientos de software y ayuda a dar a conocer la
tecnologa y en las necesidades de apoyo administrativo. Administra
el plan de configuracin.

Modelo de Capacidad y madurez integrado (CMMI): El Modelo de


Capacidad y Madurez Integrado del SEI (CMMI) provee un camino para
la mejora de procesos, el cual proporciona a las organizaciones con
elementos esenciales para lograr procesos efectivos. El modelo puede ser
usado en un proyecto o en una divisin dentro de la organizacin. CMMI
ayuda a integrar reas funcionales, establecer objetivos de mejora y sus
prioridades, guiar procesos de calidad e incrementar la eficiencia en el
desarrollo y mantenimiento de productos y servicios. CMMI se enfoca en
los procesos de la organizacin y considera como premisa que la calidad
de un sistema es fuertemente influenciada por la calidad de los procesos
usados para adquirirlos, desarrollarlos y mantenerlos.
Caractersticas:
Inicial: Las organizaciones en este nivel no disponen de un ambiente
estable para el desarrollo y mantenimiento de software. Aunque se
utilicen tcnicas correctas de ingeniera, los esfuerzos se ven
minados por falta de planificacin.

MODELOS DE CALIDAD DEL SOFTWARE 3


Repetible: En este nivel las organizaciones disponen de unas
prcticas institucionalizadas de gestin de proyectos, existen unas
mtricas bsicas y un razonable seguimiento de la calidad. La
relacin con subcontratistas y clientes est gestionada
sistemticamente.
Definido: Adems de una buena gestin de proyectos, a este nivel
las organizaciones disponen de correctos procedimientos de
coordinacin entre grupos, formacin del personal, tcnicas de
ingeniera ms detalladas y un nivel ms avanzado de mtricas en
los procesos.
Gestionado: Se caracteriza porque las organizaciones disponen de
un conjunto de mtricas significativas de calidad y productividad,
que se usan de modo sistemtico para la toma de decisiones y la
gestin de riesgos. El software resultante es de alta calidad.
Optimizado: La organizacin completa est volcada en la mejora
continua de los procesos. Se hace uso intensivo de las mtricas y
se gestiona el proceso de innovacin.

Objetivos de CCMI:
Ligar explcitamente las actividades de administracin e ingeniera
con los objetivos de negocio.
A desarrollar funciones organizacionales adicionales que son
crticas para sus productos y servicios.
Incorporar lecciones aprendidas en los proyectos a travs de la
mejora continua de sus procesos.

ESTRUCTURA DE LOS MODELOS DE CALIDAD DE SOFTWARE


En los modelos de calidad, la calidad se define de forma jerrquico. Es
un concepto que se deriva de un conjunto de subconjuntos cada uno de los
cuales se va a evaluar a travs de un conjunto de indicadores o mtricas.
Tienen una estructura de tres niveles:

MODELOS DE CALIDAD DEL SOFTWARE 4


ALGUNOS MODELOS DE CALIDAD DE SOFTWARE
MODELO DE MCCALL
Fue el primero en ser presentado en 1977 y se origin motivado
por Air Forc y Dod. Se focaliza en el producto final identificando
atributos claves desde el punto de vista del usuario. Estos atributos se
denominan factores de calidad y son normalmente atributos externos.
Pero tambin se incluyen algunos atributos posiblemente internos. Los
factores de calidad son demasiados abstractos para ser medidos
directamente, por lo que por cada uno de ellos se introduce atributos de
bajo nivel denominados criterios de calidad. algunos criterios de calidad
son atributos internos segn McCall que el atributo interno tiene un
efecto directo en el atributo externo correspondiente.
El modelo de McCall se centra en tres aspectos importantes de
un producto de software:
Sus caractersticas operativas: Operacin del Producto.
Su capacidad para soportar los cambios: Revisin del
Producto.
Su adaptabilidad a nuevos entornos: Transicin del producto.

Lista de factores:
Operacin del Producto
- Correccin: mide el grado en que un programa satisface sus
especificaciones y consigue los objetivos del usuario.
- Fiabilidad: mide el grado en que se puede esperar que un
programa lleve a cabo sus funciones esperada con la precisin
requerida.

MODELOS DE CALIDAD DEL SOFTWARE 5


- Eficiencia: mide la cantidad de recursos de computadora y de
cdigo requerido por un programa para que lleve a cabo las
funciones especificadas.
- Integridad: es el grado en que puede controlarse el acceso al
software o a los datos por personal no autorizado.
- Facilidad de Uso: es el esfuerzo requerido para aprender un
programa e interpretar la informacin de entrada y de salida.
Revisin del Producto
- Facilidad de Mantenimiento: es el esfuerzo requerido para
localizar y arreglar programas.
- Facilidad de Prueba: es el esfuerzo requerido para probar un
programa.
- Flexibilidad: es el esfuerzo requerido para modificar un sistema
operativo.
Transicin del Producto
- Portabilidad: es el esfuerzo requerido para transferir un software
de un hardware o un entorno de sistemas a otro
- Reusabilidad: es el grado en que un programa (o partes de un
programa) se puede reutilizar en otro.
- Facilidad de Interoperacin: es el esfuerzo requerido para
asociar un programa a otro.

MODELOS DE CALIDAD DEL SOFTWARE 6


MODELO DE BOEHM
Este modelo de calidad es el segundo ms conocido y fue
propuesto por Barry Boehm en el ao de 1978 y es similar al modelo de
McCall definiendo la calidad en trminos de atributos cualitativos y
mtricas para realizar las medidas.
La estructura jerrquica del modelo se presenta en la figura y
plantea 3 niveles para las caractersticas: de alto nivel, de nivel
intermedio y nivel primitivo. Cada una de estas caractersticas
contribuye al nivel general de calidad. El modelo se centra en:

Sus caractersticas operativas.


Su capacidad para soportar los cambios.
Su adaptabilidad a nuevos entornos.
La evaluacin del desempeo del hardware.

Las caractersticas de algo nivel representan requerimientos


generales de uso:
Utilidad per-se, cuan (usable, confiable, eficiente) es el
producto en s mismo.
Mantenimiento, cuan fcil es modificarlo, entenderlo y
retestearlo.
Utilidad general, si puede seguir usndose si se cambia el
ambiente.
Las caractersticas de nivel intermedio representan factores de
calidad de Boehm:
Portabilidad
Fiabilidad
Eficiencia
Usabilidad
Capacidad de prueba
Comprensibilidad
Flexibilidad

El nivel ms bajo corresponde a caractersticas asociadas a uno


o dos criterios de calidad.
Aunque parezcan similares, la diferencia est en que McCall
focaliza en medidas precisas de alto nivel, mientras que Boehm

MODELOS DE CALIDAD DEL SOFTWARE 7


presenta un rango ms amplio de caractersticas primitivas. La
mantenibilidad est ms desarrollada en Boehm.

VENTAJAS Y DESVENTAJAS DE LOS MODELOS MCCAL/ BOEHM:


VENTAJAS DESVENTAJAS
Por estructura - Se evalan muchos
jerrquica, se puede factores lo que
observar que es implicara un
prctico y fcil de trabajo adicional al
entender y de esta proceso.
forma fcil de aplicar. - Implicara un
- Est orientado al trabajo tedioso por
producto final, pero la cantidad de
se puede aplicar al mtricas que se
McCALL (1977) proceso. utilizara.
- En costos resulta
viable su aplicacin
pues no resulta
inoperante y por el
contrario, sera de
gran ayuda para
cualquier
organizacin pues
generara un mayor
good will (buena

MODELOS DE CALIDAD DEL SOFTWARE 8


voluntad) en el
mercado.
- Se podra utilizar no
para uno sino para
varios proyectos.
- No lucrativo. - No especifica
- Fundamentado en muchos aspectos
modelo ISO 9000 y relacionados con el
CMMI. usuario.
BOEHM (1978) - No implica esfuerzo
adicional para
mejorar y obtener
una certificacin en
ISO 9000.

MODELO ISO/IEC 9126


Esta norma Internacional fue publicada en 1992, la cual es usada para la
evaluacin de la calidad de software, llamado Information Technology
Software Product Evaluation Quality Characteristics and Guidelines for their
Use; o tambin conocido como ISO 9126 (o ISO/IEC 9126).
La norma ISO 9126 presenta dos partes, la primera es el modelo de calidad
para tratar la calidad externa e interna, y la segunda es el modelo de calidad
uso para tratar la calidad en uso.
A continuacin, se detalla cada una de las caractersticas que establece el
estndar ISO-9126, segn su calidad externa e interna y su calidad en uso:

Calidad Externa e interna


Funcionalidad: En este grupo se conjunta una serie de atributos que
permiten calificar si un producto de software maneja en forma
adecuada el conjunto de funciones que satisfagan las necesidades
para las cuales fue diseado. Para este propsito se establecen los
siguientes atributos:

MODELOS DE CALIDAD DEL SOFTWARE 9


- Adecuacin: Se enfoca a evaluar si el software cuenta con un
conjunto de funciones apropiadas para efectuar las tareas que
fueron especificadas en su definicin.
- Exactitud: Este atributo permite evaluar si el software presenta
resultados o efectos acordes a las necesidades para las cuales fue
creado.
- Interoperabilidad: Permite evaluar la habilidad del software de
interactuar con otros sistemas previamente especificados.
- Conformidad: Evala si el software se adhiere a estndares,
convenciones o regulaciones en leyes y prescripciones similares.
- Seguridad: Se refiere a la habilidad de prevenir el acceso no
autorizado, ya sea accidental o premeditado, a los programas y
datos.

Confiabilidad: Aqu se agrupan un conjunto de atributos que se


refieren a la capacidad del software de mantener su nivel de ejecucin
bajo condiciones normales en un periodo de tiempo establecido. Las
subcaractersticas que el estndar sugiere son:
- Nivel de Madurez: Permite medir la frecuencia de falla por errores
en el software.
- Tolerancia a fallas: Se refiere a la habilidad de mantener un nivel
especfico de funcionamiento en caso de fallas del software o de
cometer infracciones de su interfaz especfica.
- Recuperacin: Se refiere a la capacidad de restablecer el nivel de
operacin y recobrar los datos que hayan sido afectados
directamente por una falla, as como al tiempo y el esfuerzo
necesarios para lograrlo.

Usabilidad: Consiste de un conjunto de atributos que permiten evaluar


el esfuerzo necesario que deber invertir el usuario para utilizar el
sistema.
- Comprensibilidad: Se refiere al esfuerzo requerido por los usuarios
para reconocer la estructura lgica del sistema y los conceptos
relativos a la aplicacin del software.
- Facilidad de Aprender: Establece atributos del software relativos al
esfuerzo que los usuarios deben hacer para aprender a usar la
aplicacin.
- Operabilidad. Agrupa los conceptos que evalan la operacin y el
control del sistema.

Eficiencia: Esta caracterstica permite evaluar la relacin entre el nivel


de funcionamiento del software y la cantidad de recursos usados. Los
aspectos a evaluar son:

MODELOS DE CALIDAD DEL SOFTWARE 10


- Comportamiento con respecto al Tiempo: Atributos del software
relativos a los tiempos de respuesta y de procesamiento de los
datos.
- Comportamiento con respecto a Recursos: Atributos del software
relativos a la cantidad de recursos usados y la duracin de su uso
en la realizacin de sus funciones.

Mantenibilidad: Se refiere a los atributos que permiten medir el


esfuerzo necesario para realizar modificaciones al software, ya sea por
la correccin de errores o por el incremento de funcionalidad. En este
caso, se tienen los siguientes factores:
- Capacidad de anlisis: Relativo al esfuerzo necesario para
diagnosticar las deficiencias o causas de fallas, o para identificar las
partes que debern ser modificadas.
- Capacidad de modificacin: Mide el esfuerzo necesario para
modificar aspectos del software, remover fallas o adaptar el
software para que funcione en un ambiente diferente.
- Estabilidad: Permite evaluar los riesgos de efectos inesperados
debidos a las modificaciones realizadas al software.
- Facilidad de Prueba: Se refiere al esfuerzo necesario para validar
el software una vez que fue modificado.

Portabilidad: En este caso, se refiere a la habilidad del software de ser


transferido de un ambiente a otro, y considera los siguientes aspectos:
- Adaptabilidad: Evala la oportunidad para adaptar el software a
diferentes ambientes sin necesidad de aplicarle modificaciones.
- Facilidad de Instalacin: Es el esfuerzo necesario para instalar el
software en un ambiente determinado.
- Conformidad: Permite evaluar si el software se adhiere a
estndares o convenciones relativas a portabilidad.
- Capacidad de reemplazo: Se refiere a la oportunidad y el esfuerzo
usado en sustituir el software por otro producto con funciones
similares.

Calidad en Uso
Calidad en uso: Conjunto de atributos relacionados con la aceptacin
por parte del usuario final y Seguridad.
- Eficacia: Atributos relacionados con la eficacia del software cuando
el usuario final realiza los procesos.
- Productividad: Atributos relacionados con el rendimiento en las
tareas cotidiana realizadas por el usuario final.
- Seguridad: Atributos para medir los niveles de riesgo.

MODELOS DE CALIDAD DEL SOFTWARE 11


- Satisfaccin: Atributos relacionados con la satisfaccin de uso del
software.
Esta norma es una de las normas ISO que goza de ms reconocimiento
dentro de la comunidad y tiene como fundamento modelos de calidad
aportados por diversas investigaciones realizadas en los ltimos 30 aos para
la caracterizacin de la calidad del producto software.

MODELOS DE CALIDAD DEL SOFTWARE 12