FACULTAD DE INGENIERÍA
INGENIERÍA DEL SOFTWARE l
ISO/IEC 9126-1
INTEGRANTES
AYRTON FABIAN PAREDES RODAS
DIEGO ALEJANDRO LLANOS GARECA
DIEGO ALEJANDRO URIBE BLATNIK
Santa Cruz de la Sierra, Diciembre 2019
1. INTRODUCCIÓN
Como referencia en torno al avance importante que muestran los nuevos procesos de desarrollo
de software mucho más eficientes y capaces. Se pone en evidencia el valor de establecer
normas que integren conceptos claros de aplicación de estándares que velen por la calidad del
software en sí. En este Documento se abordarán los principales apartados de la norma ISO/IEC
9126-1.
2. OBJETIVO GENERAL
Desarrollar los puntos clave de la norma ISO/IEC 9126-1 y establecer un escenario aplicativo
siguiendo las etapas del desarrollo de software.
3. MARCO CONCEPTUAL
Calidad. - Propiedad o conjunto de propiedades inherentes a una persona o cosa
que permiten diferenciarla con respecto a las restantes de su especie, como de
mejor o peor.
ISO. - Organismo Internacional de Normalización
UX. - (Experiencia de Usuario) Es el conjunto de esfuerzos que se enfocan en la percepción del
usuario con el servicio o producto.
4. ESTÁNDAR ISO 9126
Este estándar ISO 9126 ha sido desarrollado en un intento de identificar los atributos
clave de calidad para el software.
El estándar provee un entorno para que las organizaciones definan un modelo de calidad
para el producto software. Haciendo esto así, sin embargo, se lleva a cada organización
la tarea de especificar precisamente su propio modelo. Esto podría ser hecho, por
ejemplo, especificando los objetivos para las métricas de calidad las cuales evalúan el
grado de presencia de los atributos de calidad.
Esta norma indica las características de la calidad y los lineamientos para su uso. El
estándar identifica 6 atributos clave de calidad: Confiabilidad, Funcionalidad, Usabilidad,
Eficiencia, Mantenibilidad y portabilidad.
Está dividida en cuatro partes:
ISO/IEC 9126‐1: 2001 : Presenta el modelo de calidad que clasifica la calidad del
software en un conjunto estructurado de características: funcionalidad, fiabilidad,
usabilidad, eficiencia, mantenibilidad y portabilidad.
ISO/IEC 9126‐2:2003 : Describe las métricas externas que se pueden utilizar para
evaluar el comportamiento del software cuando es operado por el usuario.
ISO/IEC 9126‐3:2003 : Describe las métricas internas que se pueden utilizar para
describir propiedades estáticas de la interfaz, que puede ser evaluadas por la inspección
sin poner en funcionamiento el software.
ISO/IEC 9126‐4:2004 : Describe las métricas de calidad que se pueden utilizar para
evaluar el efecto del producto software cuando son operados por el usuario en
determinados contextos de uso.
MODELO ISO 9126
En esa ISO nos encontramos con los siguientes atributos de calidad interna y externa.
5. APLICACIÓN Y DESCRIPCIÓN DE 3 ATRIBUTOS DE LA CALIDAD INTERNA Y EXTERNA
MANTENIBILIDAD
El IEEE (19990) define mantenibilidad como: “La facilidad con la que un sistema o componente
de software puede ser modificado para corregir fallos, mejorar su función u otros atributos o
adaptarse a cambios en el entorno”.
Aspectos que influyen en la mantenibilidad
Proceso de desarrollo: La mantenibilidad debe formar parte integral del proceso de desarrollo
del software, Las técnicas usadas tienen que ser lo menos intrusivas posible con el software
existente. Esto quiere decir que al momento de modificar algo en nuestro software, el cambio
tiene que realizarse de una manera que no se tenga que cambiar en profundidad la estructura
del producto.
Documentación: Realizar una buena documentación, para que los costes en tiempo de lectura
y entendimiento del código sean cada vez más bajos.
Comprensión de los programas: La dificultad humana que se tiene al tratar de entender los
programas existentes. Estos obstáculos surgen de tres fuentes principales:
-Información disponible es incomprensible, incorrecta o insuficiente.
-La naturaleza del software
- Mala interpretación
La mantenibilidad tiene los siguientes atributos:
-Facilidad de análisis
-Facilidad de cambio
-Estabilidad
-Facilidad de Prueba
De los anteriores, la facilidad de análisis se resuelve con una documentación bien elaborada, la
facilidad de cambio, con el proceso de desarrollo que permite que el software se construya de
manera estable y flexible. Y por último la facilidad de prueba va de la mano de la Comprensión
de los programas, y de la documentación.
Métricas de mantenibilidad de software.
Las métricas de mantenibilidad no pueden medir el coste de realizar un cambio particular al
sistema de software, sino que miden aspectos de la complejidad y la calidad de los programas
ya que existe una alta correlación entre la complejidad y la mantenibilidad.
Las métricas de mantenibilidad se centran en 3.
De Producto: Describen las características del producto que de alguna forma determinan la
mantenibilidad; Por ejemplo, el tamaño, complejidad o características del diseño.
Métricas de proceso: Son usadas para mejorar el desarrollo y mantenibilidad del software,
eliminar defectos durante el desarrollo, el patrón en el que aparecen los defectos durante las
pruebas
Métrica de proyecto: Describen las características y ejecución del proyecto. Por ejemplo, el
número de desarrolladores, el patrón de staffing en el ciclo de vida, coste, planificación y
productividad del software.
Conclusiones
Aquí vemos que para la mantenibilidad es muy importante una buena documentación y buen
proceso de desarrollo. Se recomienda seguir las siguientes recomendaciones.
Separar la lógica de la programación en diferentes partes, componentes y módulos
Tener uniformidad en la notación, terminología y simbología. Manejar de manera correcta
la convención de nombres, manejo de excepciones y usos adecuados de patrones de
diseño
El promedio de “variables vivas”, son las que se usan con frecuencia por sentencias
anteriores o posteriores, no tiene que ser elevado ya que será más complejo el desarrollo
y la mantenibilidad (variables vivas/sentencias ejecutables).
La proporción de comentarios tiene que ser concisa y directa, al igual que las líneas de
código que se explica
USABILIDAD
Es un atributo cualitativo que se simplifica mayormente como la facilidad de uso donde el sistema
interactúe con el usuario, a través de este se puede medir la calidad de la experiencia que tiene
el usuario cuando utiliza el producto.
Con sus siguientes características:
1. Comprensibilidad
2. Cognoscibilidad
3. Operabilidad
4. Atracción
5. Conformidad
Beneficios de la Usabilidad
Reducción en los costos de formación del uso del producto para los usuarios
Mejor posicionamiento a nivel marca o producto
Mejor calidad del producto
Incrementa la satisfacción y productividad de los usuarios
La Usabilidad en las diferentes etapas del Desarrollo del Software
1. Análisis
Se podría decir que es la etapa más importante de todo el proceso, ya que en esta etapa
se define con el cliente las ideas, objetivos y alcances del producto. Se recolectan las
historias de usuario que servirán para especificar el UX además de evitar un trabajo extra
en el futuro.
a. Wireframing. - Toma como base la etapa previa de análisis y se comienza a plasmar
visualmente la idea, generando mockups, wireframes, wireflows, y convirtiéndose estas en las
principales herramientas para describir la visión del producto.
b. Prototipado. - Se establece la materialización del producto, ya que al crearse un
prototipo, el usuario puede navegar en el, como si se tratase del producto final.
c. Maquetado. - Recoge la información obtenida del prototipado centrándose
únicamente en aquellos factores que persistirán en el producto final.
2. Desarrollo
En paralelo o inmediatamente después del maquetado, el equipo de desarrolladores,
agrega las funcionalidades necesarias para el producto.
3. Pruebas
Verificar que los objetivos trazados por la UX no se vean afectados
Importancia de la Usabilidad en metodologías Ágiles
Las metodologías ágiles al basarse en Iteraciones donde el cliente retroalimenta al equipo de
desarrollo, pueden requerir de ajustes importantes para la usabilidad del producto, ya que por el
devenir de las tecnologías, el cliente confía en el establecimiento de patrones de interacción en
sus productos. Un método bastante utilizado es que los encargados de la usabilidad se
encuentren un spring por delante de los desarrolladores así estos pueden interactuar
directamente con el cliente discutiendo el diseño del producto centrado en el usuario, ahorrando
costes de re elaboración de entregas realizadas.
Metodos de Evaluacion de la Usabilidad
Métodos modelos Cognitivos
Consisten en crear un modelo computacional que permite medir el tiempo que le toma a un
usuario realizar determinada tarea, estos modelos estan basados en principios psicologicos y
estudios experimentales, algunos de ellos son:
Diseño Paralelo
Se genera un grupo donde cada miembro crea un diseño a partir de una misma lista de
requerimientos. Cuando el diseño está terminado, se analizan y comparten conceptos.
Esto se realiza hasta que el equipo esté satisfecho y con una idea clara del diseño ideal
del producto.
GOMS
Analiza la complejidad de los sistemas interactivos se requiere de un conjunto de objetivos
, un conjunto de operadores , un conjunto de métodos para lograr los objetivos y un conjunto
de reglas de selección para elegir entre métodos competitivos para los objetivos.
Modelo de Procesador Humano
Analiza cada tarea del proceso a realizar, lo que permite localizar áreas específicas que
requieran una mejora. Este modelo se basa en variables que afectan directamente a los
sujetos de prueba, por ejemplo para una adulto joven, las estimaciones razonables son:
Evaluación Heurística
Método de la ingeniería de la usabilidad, donde un conjunto de evaluadores examinan las
interfaces y trazan observaciones y posibles mejoras a la misma. Estas se basan en 10
puntos clave que se enumeran a continuación:
Visibilidad del estado del sistema
Correspondencia entre el sistema y el mundo real
Control y libertad para el usuario
Consistencia y estándares
Prevención de errores
Minimizar la necesidad de memorizar para el usuario
Flexibilidad y eficiencia
Diseño estético y minimalista
Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores
Ayuda y documentación
El resultado de una evaluación heurística es una lista de problemas de usabilidad que han
sido transgredidos en el diseño en opinión del evaluador.
Otros estándares Importantes
ISO 13407 - Procesos de diseño centrado en las personas para sistemas interactivos
ISO/IEC 14598 - Evaluación de productos de Software
ISO 9241 - Requisitos ergonómicos para trabajar con terminales de presentación visual
Conclusión
La usabilidad representa un factor muy importante para definir la calidad de un producto, dada las
tendencias de uso de patrones de interacción en productos de software, un buen análisis de
usabilidad puede ayudar a disminuir costes en rediseños tardíos.
FUNCIONALIDAD
Se refiere a la capacidad del producto de software para suministrar un conjunto de
funciones que satisfagan las necesidades implícitas o explícitas de los usuarios, al ser
utilizado bajo condiciones específicas. Se relaciona directamente con aquello que el
software hace para satisfacer necesidades, mientras que las demás características se
refieren al cómo y al cuándo. Evalúa el cumplimiento de requerimientos, la exactitud de
los resultados, la seguridad del producto y la interacción con otros sistemas.
Métricas de la FUNCIONALIDAD
Adecuidad
Es la capacidad del software para suministrar un conjunto apropiado de funciones
que cumplan tareas específicas y objetivos del usuario.
Exactitud
Capacidad del software para proveer los resultados correctos y los efectos
pactados, con un adecuado grado de precisión.
Interoperabilidad
Capacidad del software para interactuar con uno o más sistemas específicos.
Esto depende, en gran parte, de la necesidad de interacción con los demás
sistemas.
Seguridad
Hace referencia a la capacidad del software para proteger los datos y la
información, con el fin de que personas no autorizadas nunca puedan ingresar al
sistema, leer o modificar los datos.
Conformidad de la funcionalidad
Capacidad del software para ajustarse a los estándares, convenciones y
regulaciones relacionadas con la correcta implementación de especificaciones
durante todo el proceso de análisis y construcción.
Eemplo de Metrica de Adecuidad
Nombre Completitud de la implementación funcional
Propósito Qué tan completa está la implementación funcional
Método de COntar las funciones faltantes y comparar con las que están descritas
aplicación en los requisitos
Medición X=1-A/B
A=número de funciones faltantes
B=número de funciones requeridas
INterpretación 0<=X<=1
Entre más cercana a 1 , mas completa
Fuente de medición Especificación de requisitos
DIseño
Código FUente
Informe de revisión
APLICACION DE LA NORMA
Funcionalidad Conveniencia ✓ Puede el software
desempeñar las
Precisión tareas requeridas.
✓ ¿El resultado es el
esperado?
Interoperabilidad ✓ ¿el sistema puede
interactuar con otro?
seguridad ✓ ¿el sistema impide el
acceso no
autorizado?
Confiabilidad ✓ ¿muchas de las fallas
Vencimiento han sido eliminadas
durante el tiempo?
Tolerancia a las ✓ ¿el software es capaz
fallas de manejar errores?
✓ ¿Puede el software
Capacidad de reasumir el
recuperación. funcionamiento y
restaurar datos
perdidos después de
la falla?
Utilidad Claridad ✓ ¿el usuario
Capacidad de comprende
aprendizaje fácilmente como usar
Operatividad el sistema?
atractivo ✓ ¿Puede el usuario
aprender fácilmente a
utilizar el sistema?
✓ ¿el usuario puede
utilizar el sistema sin
mucho esfuerzo?
✓ ¿la interfaz se ve
bien?
Eficiencia Comportamiento del ✓ ¿Qué tan rápido
tiempo. responde el sistema?
Utilización de ✓ ¿el sistema utiliza los
recursos recursos de manera
eficiente?
Capacidad de Capacidad de ✓ ¿las fallas Pueden
Mantenimiento análisis ser fácilmente
Variabilidad diagnosticadas?
Estabilidad ✓ ¿el sistema puede ser
Capacidad de fácilmente
prueba modificado?
✓ ¿el sistema puede
seguir funcionando si
se hacen cambios?
✓ ¿el sistema puede ser
Probado fácilmente?
Transportabilidad Adaptabilidad ✓ ¿El software se
puede trasladar a
Capacidad de otros ambientes?
instalación ✓ ¿el software se puede
instalar fácilmente?
Conformidad ✓ ¿el software cumple
con los estándares de
Capacidad para Transportabilidad?
remplazar ✓ ¿el software puede
remplazar fácilmente
otro software?
Todas las características Cumplimiento ✓ ¿el software cumple
con todas las leyes y
reglamentos?
El modelo presentado detalla la evaluación de sistema en cualquier tipo de tamaño
y complejidad. De hecho, la ventaja de este modelo es que es fácil de adaptar y
utilizar, comparándolo con otros como el IEEE P1484.1 LTSA, SCORM o iMS.
Referencias
http://gridtics.frm.utn.edu.ar/docs/Introduccion%20a%20la%20Calidad%20de%20Software%
20Vazquez.pdf pág. 4
https://pdfs.semanticscholar.org/ea01/0c53c609ca4b74a2ffd7e15cdc98bf445261.pdf
https://upcommons.upc.edu/bitstream/handle/2099.1/5452/TESINA_Carre%C3%B3n_Su%C3%A1r
ez%20del%20Real.pdf
http://www.cs.umss.edu.bo/doc/material/mat_gral_124/APLICACION%20DE%20LA%20NORM
A%20ISO%209126.pdf