:::: MENU ::::


¿Qué es la ISO?


La Organización Internacional de Normalización o ISO (del griego ἴσος, «isos», que significa «igual»), nacida tras la Segunda Guerra Mundial (23 de febrero de 1947), es el organismo encargado de promover el desarrollo de normas internacionales de fabricación (tanto de productos como de servicios), comercio y comunicación para todas las ramas industriales. Su función principal es la de buscar la estandarización de normas de productos y seguridad para las empresas u organizaciones (públicas o privadas) a nivel internacional.


ISO 9126


La ISO 9126  es un estándar internacional para evaluar la calidad del software en base a un conjunto de características y sub-características de la calidad. Cada sub-característica consta de un conjunto de atributos que son medidos por una serie de métricas. 

Estas métricas miden artefactos obtenidos en etapas tardías del desarrollo de software, aumentando el costo de detección y corrección de errores. Por esta razón, en la literatura ha surgido un mayor interés por la definición de métricas que pretenden evaluar una o varias de las características de calidad definidas en el estándar ISO 9126, en etapas tempranas del desarrollo de software.

Esta norma Internacional fue publicado 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).

El modelo ISO 9126 fue desarrollado por la ISO (organización de estandarización internacional por sus siglas en Ingles ISO) y este es uno de los grandes grupos reconocidos por los estándares aplicados internacionalmente a través de un amplio rango de solicitudes. 

A la fecha, el modelo ISO 9216 no ha sido aplicado extensamente al ambiente de aprendizaje virtual, sin embargo, los autores creen que el modelo tiene el potencial para proporcionar una herramienta útil de evaluación: esta creencia se deriva de los muchos años de experiencia en la industria que uno de los investigadores ha tenido en la garantía de calidad de software.

Las perspectivas sobre este campo proporcionan un entendimiento relevante para los educadores virtuales.


Preguntas centrales que atiende a cada una de las características.



Funcionabilidad: conjunto de atributos que se relacionan con la existencia de un conjunto de funciones  y sus propiedades específicas. Las funciones son aquellas que satisfacen lo indicado o implica necesidades.

  • Idoneidad: Se enfoca a evaluar si el SW cuenta con un conjunto de funciones apropiadas para efectuar las tareas que fueron especificadas en su definición.
  • Exactitud: Permite evaluar si el SW presenta resultados o efectos acordes a las necesidades para las cuales fue creado.
  • Interoperabilidad: Permite evaluar la habilidad del SW de interactuar con otros sistemas previamente especificados.
  • Seguridad: Se refiere a la habilidad de prevenir el acceso no autorizado, ya sea accidental o promediado, a los programas y datos.
  • Conformidad: Evalúa si el SW se adhiere a estándares, convenciones o regulaciones en leyes y prescripciones similares.

Confiabilidad: conjunto de atributos relacionados con la capacidad de mantener un nivel de presentación bajo condiciones establecidas durante un periodo de tiempo establecido.
  • Madurez: Permite medir la frecuencia de falla por errores en el SW.
  • Recuperación: Se refiere a la capacidad de restablecer el nivel de operación y recobrar los datos que hayan sido afectados directamente por una falla, así como al tiempo y el esfuerzo necesario para lograrlo.
  • Tolerancia de fallos: Se refiere a la habilidad de mantener un nivel específico de funcionamiento en caso de fallas del SW o de cometer infracciones de su interfaz específica.
Usabilidad: Conjunto de atributos relacionados con el esfuerzo necesitado para el uso, y en la valoración individual de tal uso, por un establecido o implicado conjunto de usuarios.

  • Comprensión: Se refiere al esfuerzo requerido por los usuarios para reconocer la estructura lógica del sistema y los conceptos relativos a la aplicación del SW.
  • Facilidad de Aprender: Establece atributos del SW relativos al esfuerzo que los usuarios deben hacer para aprender a usar la aplicación.
  • Operatividad: Agrupa los conceptos que evalúan la operación y el control del sistema.


Eficiencia: Conjunto de atributos relacionados con la relación entre el nivel de desempeño del SW y la cantidad de recursos necesitados bajo condiciones establecidas.
  • Comportamiento en el tiempo: Atributos del SW relativos a los tiempos de respuesta y de procedimiento de los datos.
  • Comportamiento de recursos: Atributos de SW relativos a la cantidad de recursos usados y la duración de su uso en la realización de sus funciones.
Mantenibilidad: Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en un sistema SW.
  • Estabilidad: Capacidad del SW de tener un desempeño normal a pesar de hacerse modificaciones.
  • Facilidad de análisis: Relativo al esfuerzo necesario para diagnosticar las deficiencias o causas de fallas, o para identificar las partes que deberán ser modificadas.
  • Facilidad de cambios: Capacidad del que tiene el SW para que la modificación pueda ser válida.
  • Facilidad de pruebas: Capacidad del que tiene el SW para que la modificación pueda ser válida.

   
     Portabilidad: Conjunto de atributos relacionados con la capacidad de un sistema SW para ser transferido desde una plataforma a otra. 





  •       Adaptabilidad: Evalúa la oportunidad para adaptar el SW a diferentes ambientes sin  necesidad de aplicarle modificaciones.  
  •     Facilidad de instalación: Es el esfuerzo necesario para instalar el SW en un      ambiente determinado.  
  •      Cumplimiento: Permite evaluar si el SW de adhiere a estándares o convenciones     relativas a portabilidad.  
  •     Capacidad de reemplazo: Se refiere a la oportunidad y el esfuerzo usando en       sustituir el SW por otro producto con funciones similares.


La calidad de estos sistemas y la frecuencia con la que deberían ser usados. Los problemas incluyen baja representación, poca utilidad y consumo, lo que hace difícil atender las necesidades específicas de cada estudiante. Además, la educación en línea ha sido criticada muchas veces por no ser un sistema educativo que soporte las necesidades del sistema educativo presencial. 

A pesar del uso extendido de sistemas virtuales y de la considerable inversión en la compra o desarrollo de los mismos en casa, no existe consenso en un esquema estándar para evaluar la calidad de este. La falta de un acuerdo en la calidad del modelo del sistema virtual está en contraste con el extenso trabajo en la garantía de calidad del software en general. 

El modelo ISO 9126 pueda ser usado como base para la comparación de los sistemas de aprendizaje virtual con el fin de informar las decisiones respecto a la revisión de los sistemas ya existentes y la adquisición de nuevos sistemas.

El modelo puede ser usado para evaluar un sistema de aprendizaje virtual. Con esto en mente, escogimos un modelo comúnmente usado “blackboard” (en español plataforma) como base para nuestra investigación y adoptamos un enfoque de estudio de caso. Aplicamos el modelo al sistema en el contexto de una materia de tecnología de la información en un programa universitario.

Estas ventajas que se tiene con las nuevas herramientas de desarrollo de software se olvida la calidad del producto que es entregado, no es solamente una calidad gráfica, o la calidad de velocidad en la respuesta, hay que tener en cuenta otras cualidades, para buscar una integralidad al afirmar que el software es de calidad.

Los requerimientos para evaluar el software ayuda al desarrollo, compra o auditoría de cualquier aplicación informática del mercado, teniendo en cuenta que hoy en día es muy importante para las empresas privadas o públicas la inversión en este tipo de producto, los cuales verifican la calidad a la hora de entrar a producción, donde se detectan las falencias, reportando allí pérdidas. 

Los estándares de calidad sugeridos la norma ISO/IEC 9126; de la ISO (Organización Internacional de Normalización) y la IEC (Comisión Electrotécnica Internacional).


Estas seis características son divididas en un número de sub -características.






OBJETIVOS


Sensibilizar a los lectores con los conceptos necesarios para la evaluación de software
Orientar a estudiantes y Profesionales del campo informático en los estándares mínimos de calidad para recibir o entregar un desarrollo comercial o libre.

Brindar a las empresas o clientes compradores del software una herramienta para tener en cuenta en sus departamentos de sistemas en el momento que desean adquirir una aplicación informática.

Aumentar y mantener la calidad en el desarrollo de las aplicaciones realizadas dentro de la dirección de sistemas de una empresa.

Sensibilizar a los lectores la importancia de la certificación de calidad software.
Colaborar en el desarrollo de software cumpliendo con los requerimientos del cliente y entregar un producto de calidad.

Aportar un modelo o instrumento para la evaluación de aplicaciones informáticas en empresas de auditorías.

Con estas bases se explica al lector de forma sencilla, para que pueda aplicar los procesos para tener en cuenta a la hora de evaluar un software, los temas que contiene la guía son los siguientes:

  1. Modelo de Calidad
  2. Indicadores de Calidad
  3. Métricas
  4. Proceso de evaluación
  5. Practica Instrumento de evaluación.


1.- MODELO DE CALIDAD


La 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.

Sus atributos y el modelo de calidad en uso sus 4 indicadores pasarían hacer sus atributos, mirándolo gráficamente quedaría así: 



La calidad del software se evalúa teniendo en cuenta la etapa del desarrollo, se deben fijar la metas de la calidad tanto para el software final como para desarrollos incompletos y tener en cuenta que es imposible que las metas y criterios sean iguales para un software pequeño y un gran software empresarial.



2.- MODELO DE CALIDAD EXTERNA E INTERNA Y CALIDAD EN USO



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 sub-característica de calidad del software que influye en la calidad. 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.




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. Capacidad del software para asegurar un nivel de funcionamiento adecuado cuando es utilizando en condiciones específicas. En la ISO/IEC 2382-14:1997 es "la habilidad de la unidad funcional de realizar 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 diskette 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. Es la capacidad del software de ser entendido, aprendido, y usado en forma fácil y atractiva. 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.




  • 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 atractivo 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. 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.

  • Comportamiento de tiempos: Los tiempos adecuados de respuesta y procesamiento, el rendimiento cuando realiza su función en condiciones específicas.
  • 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. 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.



  • 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.



  • 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. 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. 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.




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.

  • 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 de 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. 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.




Es la capacidad que tiene el software para cumplir con las normas o estándares relacionados con cada uno de los atributos.

3.- MÉTRICAS

Las palabras medición y medida, aunque estas tres son distintas. La medición “es el proceso por el cual los números o símbolos son asignados a atributos o entidades en el mundo real tal como son descritos de acuerdo a reglas claramente definidas”.

El IEEE “Standard Glosary of Software Engering Terms” define como métrica como “una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado”, las métricas hay que tener en cuenta que la gran documentación se basa en métricas aplicadas a desarrollos realizados por codificación manual.

Es importante aclarar que esta guía plantea métricas solo para la evaluación de productos finales y realizados desde la visión del cliente.


4.- PROCESO DE EVALUACIÓN DE SOFTWARE


La evaluación de software se inicia con una visión cualitativa y deriva en una evaluación cuantitativa, siendo todo el proceso documentado y cumpliendo los siguientes pasos:

  • Estado del Software: Conocimiento del el estado del software, estableciendo si se trata de un desarrollo sin terminar o un producto terminado para la entrega al cliente.
  • Identificar el tipo de software: Especificar el tipo de software a evaluar, si es un sistema operativo, software de seguridad, software de ofimática, lenguaje de programación, base de datos, aplicativo a la medida, entre otros.
  • Perfiles de Evaluadores: Teniendo como marco conceptual al estándar ISO [ISO/IEC9126], se consideran tres perfiles de usuario, a un alto nivel de abstracción para desarrollo de software, usuarios finales, desarrolladores, y gerentes.


Las características de calidad (como usabilidad, funcionalidad, confiabilidad, eficiencia, portabilidad, y mantenibilidad y calidad en uso) varían dependiendo del punto de vista considerado y de la crítica de los componentes del software a evaluar.

La visión de calidad del desarrollador debe considerar no sólo los requerimientos del software para la visión del usuario sino también la calidad para los desarrollos intermedios resultantes de las actividades de la fase de desarrollo.

Se debe tener en cuenta que los desarrolladores están preocupados en características de calidad del software como mantenibilidad y portabilidad.

La visión de calidad del gerente es una visión integradora, que incorporar requerimientos de negocio a las características individuales.

  • Especificar los Objetivos: Conocer los objetivos tanto generales como específicos del software
  • Aplicar el modelo de calidad: Elaborar un instrumento o formato donde aplique el modelo de calidad externo e interno y calidad de uso.
  • Criterios de la evaluación: Los criterios parten de los 7 indicadores principales los cuales fueron socializados anteriormente.



Los criterios para evaluar el software se dividen en dos grandes bloques:


1.- dedicado a criterios que son aplicables a cualquier tipo de software (criterios generales).

2.- conjunto compuesto por criterios adaptables al grupo de software evaluado (criterios específicos).


Este ejercicio ayuda a definir que opciones se deben evaluar con más detalle y valor.





  • Seleccionar métricas: La selección de métricas se obtiene a partir de los indicadores especificados en el modelo.

  • Niveles o escalas. A cada métrica seleccionada le asigna un puntaje máximo de referencia.La suma de los puntajes máximos de todas las métricas debe ser igual o aproximado a 100 puntos.


El personal que participa en la evaluación debe establecer niveles de calificación cualitativa con base a los puntajes, por ejemplo:

-          De 0 a 1 Inaceptable.
-          De 2 a 3 mínimo aceptable
-          Más de 3 Aceptable o satisfactorio

  • Establecer criterios. Las persona que participa en el proceso de evaluación debe tener criterios con respecto al indicador que se está analizando, Es importante tener en cuenta que el criterio debe ajustar al tipo de software que se va a evaluar.
  • Tomar medidas. Para la medición, las métricas seleccionadas se aplican al software. Los resultados son valores expresados en las escalas de las métricas, definidos previamente.
  • Resultados. El proceso de evaluación genera un cuadro de resultados por cada uno de los principales indicadores y el total final de resultado.
  • Documentación. El proceso de evaluación se documenta, indicando la fecha, empresa, los cargos, nombres y apellidos, dependencia de las personas que participan en el proceso de evaluación, especificando las etapas en las que participaron.
  • Seguimiento. Si el resultado de la evaluación tiene observaciones o indicadores de calidad bajos, y el personal que lo evalúa permite realizar la corrección, se programa otra evaluación donde se verifique que el proceso mejora, el tiempo que se estime debe influir en los criterios de la aproxima evaluación.

1 comentario:

Universidad Tecnológica de la Selva Ing. en Tecnologías de la información/8° "B"