NORMA
DE EVALUACIÓN ISO/IEC 9126
Esta norma
Internacional fue publicada en 1992, la cual es usada para la evaluación de la
calidad de software, llamado “Information technology-Software product
evaluation-Quality characteristics and guidelines for their use”; o también
conocido como ISO 9126 (o ISO/IEC 9126). Este estándar describe 6
características generales: Funcionalidad, Confiabilidad, Usabilidad,
Eficiencia, Mantenibilidad, y Portabilidad.
La norma
ISO/IEC 9126 permite especificar y evaluar la calidad del software desde
diferentes criterios asociados con adquisición, requerimientos, desarrollo,
uso, evaluación, soporte, mantenimiento, aseguramiento de la calidad y
auditoria de software. Los modelos de calidad para el software se describen
así:
Calidad interna y
externa: Especifica 6
características para calidad interna y externa, las cuales, están subdivididas.
Estas divisiones se manifiestan externamente cuando el software es usado como
parte de un sistema Informático, y son el resultado de atributos internos de
software.
Calidad en
uso: Calidad en uso es
el efecto combinado para el usuario final de las 6 características de la
calidad interna y externa del software. Especifica 4 características para la
calidad en uso.
Al unir la calidad
interna y externa con la calidad en uso se define un modelo de evaluación más
completo, se puede pensar que la usabilidad del modelo de calidad externa e
interna pueda ser igual al modelo de calidad en uso, pero no, la usabilidad es
la forma como los profesionales interpretan o asimilan la funcionabilidad del
software y la calidad en uso se puede asumir como la forma que lo asimila o
maneja el usuario final. Si se unen los dos modelos, se puede definir que los
seis indicadores del primer modelo tienen sus atributos y el modelo de calidad
en uso sus 4 indicadores pasarían hacer sus atributos, mirándolo gráficamente
quedaría así:
Se establecen
categorías para las cualidades de la calidad externa e interna y calidad en uso
del software, teniendo en cuenta estos 7 indicadores (funcionalidad,
confiabilidad, utilidad, eficiencia, capacidad de mantenimiento, portabilidad y
calidad en uso), que se subdividen a su vez en varios indicadores;
estas se pueden medir por métrica interna o externa.
Las definiciones
se dan para cada característica y subcaracterística de calidad del software que
influye en la calidad. Para cada característica y subcaracterística, la
capacidad del software es determinada por un conjunto de atributos internos que
pueden ser medidos. Las características y subcaracterísticas se pueden medir
externamente por la capacidad del sistema que contiene el software.
FUNCIONALIDAD
Funcionalidad es
la capacidad del software de cumplir y proveer las funciones para satisfacer
las necesidades explícitas e implícitas cuando es utilizado en condiciones
específicas. A continuación se muestra la característica de Funcionalidad y las
subcaracterísticas que cubre:
La funcionalidad se divide en
5 criterios:
Adecuación: La capacidad del software para proveer un adecuado
conjunto de funciones que cumplan las tareas y objetivos especificados por el
usuario.
Exactitud: La
capacidad del software para hacer procesos y entregar los resultados
solicitados con precisión o de forma esperada.
Interoperabilidad: La capacidad del software de interactuar con uno o
más sistemas específicos.
Seguridad: La capacidad del software para proteger la
información y los datos de manera que los usuarios o los sistemas no
autorizados no puedan acceder a ellos para realizar operaciones, y la capacidad
de aceptar el acceso a los datos de los usuarios o sistemas autorizados
Conformidad de la
funcionalidad: La capacidad del
software de cumplir los estándares referentes a la funcionalidad.
CONFIABILIDAD
La confiabilidad
es la capacidad del software para asegurar un nivel de funcionamiento adecuado
cuando es utilizando en condiciones específicas. En este caso a la
confiabilidad se amplía sostener un nivel especificado de funcionamiento y no
una función requerida.
La
confiabilidad se divide en 4 criterios:
Madurez: La capacidad que tiene el software para evitar
fallas cuando encuentra errores. Ejemplo, la forma como el software advierte al
usuario cuando realiza operaciones en la unidad de diskett vacía, o cuando no
encuentra espacio suficiente el disco duro donde esta almacenando los datos.
Tolerancia a
errores: La capacidad que
tiene el software para mantener un nivel de funcionamiento en caso de errores.
Recuperabilidad: La capacidad que tiene el software para restablecer
su funcionamiento adecuado y recuperar los datos afectados en el caso de una
falla.
Conformidad de la
fiabilidad: La capacidad del
software de cumplir a los estándares o normas relacionadas a la fiabilidad.
USABILIDAD
La usabilidad es
la capacidad del software de ser entendido, aprendido, y usado en forma fácil y
atractiva. Algunos criterios de funcionalidad, fiabilidad y eficiencia afectan
la usabilidad, pero para los propósitos de la ISO/IEC 9126 ellos no clasifican
como usabilidad. La usabilidad está determinada por los usuarios finales y los
usuarios indirectos del software, dirigidos a todos los ambientes, a la
preparación del uso y el resultado obtenido.
La
usabilidad se divide en 5 criterios:
Entendimiento: La capacidad que tiene el software para permitir al
usuario entender si es adecuado, y de una manera fácil como ser utilizado para
las tareas y las condiciones particulares de la aplicación. En este criterio se
debe tener en cuenta la documentación y de las ayudas que el software entrega.
Aprendizaje: La forma como el software permite al usuario
aprender su uso. También es importante considerar la documentación.
Operabilidad: La manera como el software permite al usuario
operarlo y controlarlo.
Atracción: La presentación del software debe ser atractiva al
usuario. Esto se refiere a las cualidades del software para hacer más agradable
al usuario, ejemplo, el diseño gráfico.
Conformidad de
uso: La capacidad del
software de cumplir los estándares o normas relacionadas a su usabilidad.
EFICIENCIA
La eficiencia del
software es la forma del desempeño adecuado, de acuerdo a al número recursos
utilizados según las condiciones planteadas. Se debe tener en cuenta otros
aspectos como la configuración de hardware, el sistema operativo, entre otros.
La eficiencia se divide en 3
criterios:
Comportamiento de
tiempos: Los tiempos
adecuados de respuesta y procesamiento, el rendimiento cuando realiza su
función en condiciones específicas. Ejemplo, ejecutar el procedimiento más
complejo del software y esperar su tiempo de respuesta, realizar la misma
función pero con más cantidad de registros.
Utilización de
recursos: La capacidad del
software para utilizar cantidades y tipos adecuados de recursos cuando este
funciona bajo requerimientos o condiciones establecidas. Ejemplo, los recursos
humanos, el hardware, dispositivos externos.
Conformidad de
eficiencia: La capacidad que
tiene el software para cumplir con los estándares o convenciones relacionados a
la eficiencia.
CAPACIDAD DE
MANTENIMIENTO
La capacidad de
mantenimiento es la cualidad que tiene el software para ser modificado.
Incluyendo correcciones o mejoras del software, a cambios en el entorno, y
especificaciones de requerimientos funcionales.
El mantenimiento se divide en
5 criterios:
Capacidad de ser
analizado: La forma como el
software permite diagnósticos de deficiencias o causas de fallas, o la
identificación de partes modificadas.
Cambiabilidad: La capacidad del software para que la
implementación de una modificación se pueda realizar, incluye también
codificación, diseño y documentación de cambios.
Estabilidad: La forma como el software evita efectos inesperados
para modificaciones del mismo.
Facilidad de
prueba: La forma como el
software permite realizar pruebas a las modificaciones sin poner el riesgo los
datos.
Conformidad de
facilidad de mantenimiento: La
capacidad que tiene el software para cumplir con los estándares de facilidad de
mantenimiento.
Portabilidad
La capacidad que
tiene el software para ser trasladado de un entorno a otro.
La usabilidad se divide en 5 criterios:
Adaptabilidad: Es
como el software se adapta a diferentes entornos especificados (hardware o
sistemas operativos) sin que implique reacciones negativas ante el cambio.
Incluye la escalabilidad de capacidad interna (Ejemplo: Campos en pantalla,
tablas, volúmenes de transacciones, formatos de reporte, etc.).
Facilidad de instalación: La
facilidad del software para ser instalado en un entorno específico o por el
usuario final.
Coexistencia: La
capacidad que tiene el software para coexistir con otro o varios software, la
forma de compartir recursos comunes con otro software o dispositivo.
Reemplazabilidad: La
capacidad que tiene el software para ser remplazado por otro software del mismo
tipo, y para el mismo objetivo. Ejemplo, la remplazabilidad de una nueva
versión es importante para el usuario, la propiedad de poder migrar los datos a
otro software de diferente proveedor.
Conformidad de portabilidad: La
capacidad que tiene el software para cumplir con los estándares relacionados a
la portabilidad.
CALIDAD EN USO
Calidad en uso es la calidad del software que el usuario final refleja, la forma como el usuario final logra realizar los procesos con satisfacción, eficiencia y exactitud. La calidad en uso debe asegurar la prueba o revisión de todas las opciones que el usuario trabaja diariamente y los procesos que realiza esporádicamente relacionados con el mismo software.
La calidad de uso se divide en 4 criterios:
Eficacia: La capacidad del
software para permitir a los usuarios finales realizar los procesos con
exactitud e integridad.
Productividad: La
forma como el software permite a los usuarios emplear cantidades apropiadas de
recursos, en relación a la eficacia lograda en un contexto específico de uso.
Para una empresa es muy importante que el software no afecte a la productividad
del empleado
Seguridad: Se refiere al que
el Software no tenga niveles de riesgo para causar daño a las personas,
instituciones, software, propiedad intelectual o entorno. Los riesgos son
normalmente el resultado de deficiencias en la funcionalidad (Incluyendo
seguridad), fiabilidad, usabilidad o facilidad de mantenimiento.
Satisfacción: La
satisfacción es la respuesta del usuario a la interacción con el software, e
incluye las actitudes hacia el uso del mismo. A continuación se describe un cuadro
donde podemos resumir las características y cada uno de sus atributos, este
cuadro le ayudara a visualizar el proceso de evaluación.