Introducción
La ISO/IEC 9126 es un estándar internacional para la evaluación de la calidad del
Software desde diferentes criterios, este estándar proviene desde el modelo establecido en 1977 y
este a su vez esta supervisado por el proyecto SQuaRE, ISO 25000:2005 el cual desarrolla los
mismos conceptos.
El modelo de calidad de McCall está organizado sobre tres tipos de características de
calidad, el estándar provee un medio para que las organizaciones definan un modelo de calidad
para el producto a desarrollar.
Por tanto, se consigue utilizar para validar completitud de una definición de requisitos,
identificar los requisitos del software, pruebas, objetivos a definir, criterios, métricas, factores
entre otros.
Justificación
En el actual documento se encontrará información concerniente con la norma ISO/IEC
9126, el cual es inherente para el uso y la evaluación del software, teniendo en cuenta todo el
proceso hasta concluir con la obtención del resultado final cumpliendo cada una de las etapas
necesarias para el uso final.
Objetivo
Satisfacer las necesidades en la disposición del software en todos los procesos del ciclo
de vida del desarrollo del software.
Objetivo especifico
Creación de un marco de trabajo común para el desempeño del producto software.
Evaluar, mejorar y clasificar la eficacia del producto.
Abarcar todos los aspectos que puedan afectar a la calidad de los productos del software.
ISO/IEC 9126
La norma ISO/IEC 9126 permite especificar y evaluar la calidad de los productos del
software desde diferentes criterios asociados, fue reemplazado en 2005 por un conjunto de
normas SQuaRE, ISO 25000:2014, con el cual se permite desarrollar los mismos conceptos
originales de la norma ISO 9126.
Esta norma de estándar internacional fue publicada en 1992, es usada para la evaluación
de la calidad del software. Inicialmente se publicó con el nombre de “Information Technology
Software product evaluation: Quality characteristics and guidelines for their use”, marca las
características en cuanto a la disposición y eficacia del software, así mismo, establece que
cualquier componente puede ser descrito en términos de una o más de seis características
básicas, cada una de estas se detallan mediante un conjunto de subcaracteristicas el cual permite
profundizar en la evaluación de dicho producto software.
Un producto de software se define en un sentido extenso como: los ejecutables, código
fuente, descripciones de arquitectura, se da como resultado se muestra un conjunto de atributos
que se relacionan en la unión de funciones y sus propiedades específicas. En este sentido se han
realizado muchos esfuerzos para establecer diferentes fórmulas para el establecimiento de los
factores cualitativos que pueden afectar la calidad del software. Los principales son aquellos
propuestos por McCall, Hewllet Packard, adicionalmente, los intentos por estandarizar los
mecanismos de evaluación han sido diversos. Entre los principales están las normas ISO 9000
(ISO 9001 y la ISO 9003-2), el modelo de niveles madurez CMM (Capability Maturity Model),
el estándar para el aseguramiento de planes de calidad del IEEE 730:1984.
Los modelos de calidad para el software se describen de la siguiente manera:
Calidad interna y externa: se basan en seis características, de las cuales están
subdivididas, dichas divisiones están manifestadas externamente cuando el software es usado
como parte de un sistema informático, y a su vez, es el resultado de atributos internos del
software.
Calidad en uso: es un conjunto de atributos los cuales se encuentran relacionados con la
aceptación por parte del usuario final, se pueden observar cuatro características: eficacia,
productividad, seguridad y satisfacción.
El estándar está dividido en cuatro las cuales la primera parte del estándar del modelo de
calidad ISO 9126-1 clasifica dicha calidad en un conjunto estructurado de características y
subcaracteristicas y a su vez cada subcaracteristica esta está dividido en atributos. De define un
atributo como una entidad la cual puede ser verificada o medida por el producto software. Estas
índoles no están definidas en el estándar debido a que varían en los diferentes productos.
En este modelo incluyen métricas internas y externas. Las métricas internas son las que se
definen como aquellas que no dependen de la ejecución del software “medidas estáticas”,
mientras que las métricas externas son aplicables al software en ejecución. Solo cuando el
producto final es usado en condiciones reales estarán disponibles la calidad en las métricas de
uso.
Con esta implementación se establece que cualquier componente de la calidad del
software puede ser descrito en una o más de seis características fundamentales, las cuales son:
funcionalidad, confiabilidad, usabilidad, eficiencia, mantenibilidad y portabilidad.
1. Funcionalidad.
En este grupo se conjunta una serie de atributos que permiten clasificar si un producto de
software en su conjunto satisface las necesidades para las cuales fue diseñado. Las funciones son
aquellas que compensan las necesidades implícitas o explicitas, para este fin se establecen los
siguientes atributos:
1.1. Adecuación.
Se define como la capacidad del software para proveer un optimo conjunto de
funciones las cuales deben cumplir las tareas y objetivos específicos por el usuario.
1.2. Exactitud.
Con este atributo se permite evaluar si el software muestra resultados o efectos
acordes a las necesidades para las cuales fue creada.
1.3. Interoperabilidad.
Permite evaluar las capacidades o habilidades del software con uno o más
sistemas previamente especificados.
1.4. Conformidad.
Capacidad del software de adherirse a los estándares, convenciones, o
regulaciones en leyes referentes a la funcionalidad.
1.5. Seguridad.
Se relaciona con la habilidad de prevenir el acceso y proteger la información y los
datos de manera que los usuarios o los sistemas ya sea accidental o premeditado no
puedan acceder a ellos para realizar diferentes tipos de operaciones.
2. Fiabilidad.
Es la capacidad del software para asegurar un nivel de funcionamiento óptimo cuando es
utilizado en condiciones especiales, estos atributos están relacionados con el esfuerzo
necesario para el uso final.
La confiabilidad se divide en 4 criterios.
2.1. Madurez.
Permite medir la frecuencia de falla por error, una forma de explicarlo es cuando un
usuario realiza operaciones en una unidad sin espacio suficiente en el disco donde se
están almacenando los datos.
2.2. Recuperabilidad.
Se refiere a la capacidad de establecer el nivel de desempeño y recobrar los datos que
hayan sido afectados directamente por una falla.
2.3. Tolerancia a fallos.
Capacidad que tiene el software para mantener un nivel de funcionamiento en caso de
errores o de cometer infracciones en su interfaz.
2.4. Cumplimiento de fiabilidad.
Cumplir los estándares o normas que se adhieren a convenciones o legislaciones
relacionadas a la fiabilidad.
3. Usabilidad.
La usabilidad comprende la capacidad 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 protocolos de la ISO/IEC 9126 debido a que ellos no lo 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.
Esta se divide en 5 criterios.
3.1. Compresión.
Atributo del software que se relacionan al esfuerzo de los usuarios para reconocer el
concepto lógico y sus aplicaciones.
3.2. Facilidad de aprender.
Establece atributos del software relacionados al esfuerzo que los usuarios deben hacer
para aprender a usar la aplicación. También es importante considerar la documentación.
3.3. Operatividad.
Agrupan los conceptos que evalúan la operación y el control del sistema por parte del
usuario.
3.4. Atracción.
El diseño del software debe ser llamativo para el usuario. Esto se refiere a las
cualidades del software para hacerlo más agradable al consumidor final como por
ejemplo al diseño gráfico del sistema.
3.5. Conformidad de uso.
Cumplir con los estándares o normas relacionadas con su usabilidad.
4. Eficiencia.
La eficiencia del software es la forma del desempeño adecuado, de acuerdo con el nivel de
desempeño del software y la cantidad de recursos necesarios bajo condiciones establecidas.
También se debe tener en cuenta otros aspectos como la configuración del hardware, el sistema
operativo. entre otros.
Características de la eficiencia, se divide en 2 criterios.
4.1. Comportamiento en el tiempo.
Los tiempos adecuados de respuesta y procesamiento, el rendimiento cuando realiza
su función en condiciones especiales.
4.2. Comportamiento de recursos.
Usar las cantidades y tipos de recursos adecuados cuando este funciona bajo
requerimientos o condiciones establecidas.
5. Capacidad de mantenimiento.
Es la capacidad de ser modificado el software. En este se incluyen correcciones o mejoras de
la misma, cambios en entornos, y especificaciones de requerimientos funcionales.
En este caso, se tiene los siguientes factores.
5.1. Capacidad de análisis.
Es relativo al esfuerzo para diagnosticar las deficiencias o causas de fallas, o para
identificar las partes que deberán ser modificadas.
5.2. Capacidad de modificación.
Mide el esfuerzo necesario para modificar aspectos del software, remover fallas o
adaptar el software para que funcione en un ambiente diferente.
5.3. Estabilidad.
Evalúa los riesgos de efectos inesperados por motivos de modificaciones realizadas al
software.
5.4. Facilidad de pruebas.
La forma como el software permite realizar pruebas a las modificaciones sin poner en
riesgo los datos.
6. Portabilidad.
Habilidad del software de ser transferido de un ambiente a otro, se consideran los
siguientes aspectos.
6.1. Adaptabilidad.
Es la oportunidad del software de adaptarse a diferentes ambientes sin la necesidad de
modificaciones.
6.2. Facilidad de instalación.
Es el esfuerzo necesario para instalar el software en un ambiente determinado o por el
usuario final.
6.3. Conformidad.
Evalúa si el software se adhiere a estándares o convenciones relacionadas a la
portabilidad.
6.4. Capacidad de reemplazo.
La capacidad del software para ser reemplazado por otro sistema del mismo tipo, y
para el mismo objetivo con funciones similares.
6.5. Existencia.
Coexistir con otro software independiente, en un entorno común, compartiendo
recursos comunes.
La calidad de estos sistemas y la frecuencia con la que deberían ser usados. Pero con poca
utilidad y consumo, esto hace difícil atender las necesidades específicas de cada usuario.
El modelo ISO 9126 pueda ser usado como soporte para la comparación de los sistemas
informáticos, los requerimientos para evaluar el software ayudan al desarrollo, compra o
auditoria de cualquier aplicación informática en el mercado, debido a la importante necesidad
por adquirir productos de este tipo con las cuales se pueden verificar su funcionamiento, fallas y
por consiguiente reportando perdidas debido a estos sistemas.
Cada subcaracteristica está dividido en atributos, dicho atributo es una entidad la cual
puede ser verificada o medida en el producto software, el estándar provee un entorno para que
las organizaciones definan un modelo de calidad para el software. Sin embargo, se lleva a cada
organización la función de especificar su propio modelo. Las métricas internas son aquellas que
no dependen de la ejecución del software, por el contrario, las métricas externas son las
aplicables al software en ejecución. La calidad de las métricas está solo disponible cuando el
producto final está en condiciones reales.
La ISO 9126 difiere entre la falla y la no conformidad, por un lado, una falla incumple los
requisitos previamente estipulados mientras que la no conformidad infringe los requisitos
específicos.
Modelo para la calidad del uso
La norma ISO/IEC 9126-1 define la calidad en su uso como:
“la perspectiva del usuario de la calidad del producto software cuando este es usado en un
ambiente especifico y un contexto de uso especifico. Esta mide la extensión para la cual los
usuarios pueden conseguir sus metas en un ambiente particular, en vez de medir las propiedades
del software en sí mismo.” [ CITATION sit \l 9226 ]
La calidad del software es aquella que el usuario final refleja, la forma como el usuario
final logra realizar los procesos con satisfacción, eficiencia y exactitud. Esta calidad debe
asegurar la prueba o revisión de todas las opciones que el usuario trabaja diariamente y los
procesos que realiza espontáneamente relacionados con el mismo software.
Este modelo de calidad de uso se encuentra dividido en 4 factores que nos indican la
calidad del producto en específico.
1. Eficacia.
La capacidad del software para permitir a los usuarios realizar los procesos y alcanzar
objetivos con exactitud e integridad.
2. Productividad.
Los usuarios deben emplear cantidades apropiadas de recursos, en relación con la eficiencia
lograda en un contexto especifico de su uso. Para una entidad es importante que el producto a
consumir no afecte a la productividad del empleado.
3. Seguridad.
Alcanza los niveles aceptables de riesgo los cuales puedan causar daño a las personas,
instituciones, software, propiedad intelectual o entorno. Dichos riesgos son normalmente el
desarrollo de deficiencias en la funcionalidad, fiabilidad, usabilidad o facilidad de
mantenimiento.
4. Satisfacción.
La satisfacción se puede definir como la respuesta por parte del usuario a la interacción del
software, e incluye las actitudes hacia el uso de este.
Métrica de Calidad del Software.
Las métricas de calidad del producto se aplican a los diversos atributos del producto y
que permiten determinar posteriormente los niveles de calidad del producto. Se pueden aplicar de
acuerdo con los atributos que se encuentran definidos en la norma ISO/IEC 9126-2 para el caso
de la calidad externa, la ISO/IEC 9126-3 para el caso de la calidad interna y la ISO/IEC 9126-4
para la calidad de uso. En todos los casos, las normas señalan que las métricas presentadas no
pretenden ser exhaustivas ni limita la posibilidad de usar otras métricas de acuerdo con las
necesidades del usuario.
Las métricas internas pueden ser aplicadas durante el diseño y la codificación del
producto software no ejecutable como por ejemplo el código fuente y proporciona a todos los
involucrados el beneficio de conocer la calidad del producto durante la construcción y tomar
decisiones sobre esa base para conseguir el producto con la calidad especificada.
En cuanto a las métricas externas se aplican durante la prueba y operación del producto
software ejecutable y proporciona a todos los involucrados el beneficio de conocer la calidad del
producto software durante las pruebas u operación y saber si cumple con la calidad esperada.
Las métricas de calidad en uso miden el nivel en que un producto software cumple con
las necesidades específicas de los usuarios en un contexto de uso determinado y son el resultado
del uso del software, en lugar de las propiedades de este. El contexto de uso está determinado por
los escenarios en los que el usuario realiza sus tareas.
El objetivo en un equipo de desarrollo Es medir qué errores y defecto. Las métricas que
provienen de estas medidas proporcionan una indicación de la efectividad de las actividades de
control y de la garantía de calidad.
Importancia de las métricas.
Las métricas de software se utilizan para propósitos estratégicos y son utilizadas en el proyecto
para minimizar la planificación de desarrollo haciendo los ajustes necesarios que eviten retrasos y
reduzcan problemas y riesgos potenciales, también son utilizadas para evaluar la calidad de los
productos en el momento actual y cuando sean necesarios.
Conclusiones
La norma ISO/IEC 9126 es una guía para evaluar la calidad de los productos del software
mediante diferentes criterios especificados.
El modelo de calidad está dado por una sucesión de características y a su vez por
subcaracteristicas las cuales pueden ser medidas mediante métricas internas o externas.
En un entorno en el cual el consumo de software es cada vez mayor, es necesario tener
estándares que permitan la certificación en cuanto a la calidad de dicho producto.
Bibliografía
Abud, M. A. (30 de 01 de 2012). Obtenido de
[Link]
Google, s. (s.f.). Sites Google. Obtenido de
[Link]
Goolge, S. (s.f.). Sites Goolge. Obtenido de [Link]
9126
IEEE. (2015). IEEEexplorer. Obtenido de [Link]
ISO. (2001). [Link]. Obtenido de [Link]
IT, I. y. (21 de 01 de 2017). Interpolados. Obtenido de [Link]
isoiec-9126-calidad-del-producto-de-software/