Está en la página 1de 13

ISO / IEC 9126 Y MÉTRICA DE CALIDAD DE SOFTWARE

Por: German Alonso Restrepo Tamayo


La norma ISO/IEC es un estándar internacional para la evaluación de la calidad del
software, este estándar esta dividido en cuatro partes, estas dirigen, realidad,
métricas externas, métricas internas y calidad en las métricas de uso el modelo de
calidad en su primera parte del estándar clasifica la calidad del software en un
conjunto estructurado de características y sub características
MODELO DE ISO 9126
FUNCIONALIDAD: Adaptabilidad,exactitud,interoperación, Seguridad

CONFIABILIDAD: Madurez, Facilidad de Recursos.


FACILIDAD DE USO: Facilidad de comprensión, de operar y de aprender.
EFICIENCIA: Comportamiento en recursos, comportamiento en el tiempo.
FACILIDAD DE MANTENIMIENTO: Facilidad de análisis, facilidad de cambios, de prueba, de
estabilidad
PORTABILIDAD: Facilidad de nstalacion, de reeemplazo y conformidad
FUNCIONALIDAD 
Un 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 las necesidades implícitas o
explícitas.
· Adecuación - atributos del software relacionados con la presencia y aptitud de un conjunto de
funciones para tareas especificadas.
· Exactitud - atributos del software relacionados con la disposición de resultados o efectos
correctos o acordados.
· Interoperabilidad - atributos del software que se relacionan con su habilidad para la interacción
con sistemas especificados.
· Seguridad - atributos del software relacionados con su habilidad para prevenir acceso no
autorizado ya sea accidental o deliberado, a programas y datos.
· cumplimiento funcional.
FIABILIDAD 

Un conjunto de atributos relacionados con la capacidad del software de mantener su nivel de prestación bajo
condiciones establecidas durante un período establecido.

· Madurez - atributos del software que se relacionan con la frecuencia de falla por fallas en el software.
· Recuperabilidad - atributos del software que se relacionan con la capacidad para restablecer su nivel de
desempeño y recuperar los datos directamente afectos en caso de falla y en el tiempo y esfuerzo relacionado
para ello.

· Tolerancia a fallos - atributos del software que se relacionan con su habilidad para mantener un nivel
especificado de desempeño en casos de fallas de software o de una infracción a su interfaz especificada.

· Cumplimiento de fiabilidad - la capacidad del producto software para adherirse a normas, convenciones o
legislación relacionadas con la fiabilidad.
USABILIDAD 

- un conjunto de atributos relacionados con el esfuerzo necesario para su uso, y en


la valoración individual de tal uso, por un establecido o implicado conjunto de
usuarios.
· Aprendizaje- atributos del software que se relacionan al esfuerzo de los usuarios para
reconocer el concepto lógico y sus aplicaciones.
· Comprensión - atributos del software que se relacionan al esfuerzo de los usuarios para
reconocer el concepto lógico y sus aplicaciones.
· Operatividad - atributos del software que se relacionan con el esfuerzo de los usuario para
la operación y control del software.
· atractividad
EFICIENCIA 
Conjunto de atributos relacionados con la relación entre el nivel de desempeño del software y la
cantidad de recursos necesitados bajo condiciones establecidas.
· Comportamiento en el tiempo - atributos del software que se relacionan con los tiempos de
respuesta y procesamiento y en las tasas de rendimientos en desempeñar su función.
· Comportamiento de recursos - usar las cantidades y tipos de recursos adecuados cuando el
software lleva a cabo su función bajo condiciones determinadas.
MANTENIBILIDAD 
Conjunto de atributos relacionados con la facilidad de extender, modificar o corregir errores en
un sistema software.
· Estabilidad - atributos del software relacionados con el riesgo de efectos inesperados por
modificaciones.
· Facilidad de análisis - atributos del software relacionados con el esfuerzo necesario para el
diagnóstico de deficiencias o causas de fallos, o identificaciones de partes a modificar.
· Facilidad de cambio - atributos del software relacionados con el esfuerzo necesario para la
modificación, corrección de falla, o cambio de ambiente.
· Facilidad de pruebas - atributos del software relacionados con el esfuerzo necesario para
validar el software modificado.
PORTABILIDAD -
Conjunto de atributos relacionados con la capacidad de un sistema de software para ser
transferido y adaptado desde una plataforma a otra.
· Capacidad de instalación - atributos del software relacionados con el esfuerzo necesario
para instalar el software en un ambiente especificado.
· Capacidad de reemplazamiento - atributos del software relacionados con la oportunidad y
esfuerzo de usar el software en lugar de otro software especificado en el ambiente de dicho
software especificado.
CALIDAD EN USO 

Conjunto de atributos relacionados con la aceptación 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.


· Satisfacción - atributos relacionados con la satisfacción de uso del software
· la subcaracterística conformidad no está listada arriba ya que se aplica a todas las características.
ejemplos son conformidad a la legislación referente a usabilidad y fiabilidad. cada subcaracterística
(como adaptabilidad) está dividida en atributos. un atributo es una entidad la cual puede ser verificada o
medida en el producto software. los atributos no están definidos en el estándar, ya que varían entre
diferentes productos software.
CONCEPTO DE METRICA 
métricas de calidad de software es un conjunto de medidas utilizadas para estimar la calidad de
un proyecto   a   desarrollar,   entre   otros   conceptos,   y   que   permiten   comparar   o  
planificar   estas aplicaciones.
es  una  propiedad  de  la  aplicación  compleja,  ya  que  no  existe  una  precisión  absoluta  para
determinar  cuáles  son  los  elementos  o  procedimientos  relevantes  que  deben  ser 
aplicados  a  la hora  de  escribir  código. también,  es  necesario  definir  las  acciones  a  tomar 
dependiendo  de  los resultados de estas métricas.

Existen  diferentes  herramientas  que  nos  ayudan  en  la  tarea  de  mejorar  el  desarrollo  de 
nuestras aplicaciones.  en  ruby,  rubocop,  rubicritic,  bullet, algunas de las principales métricas
utilizadas por estas herramientas para determinar la calidad del código producido.
ACOPLAMIENTO  (COUPLING)  Se  refiere  al  nivel  de  «conectividad»  de  un  módulo  con  otros  módulos,
datos globales y entorno exterior. Un objetivo  es  mantener  una  baja  dependencia  o acoplamiento, esto
quiere decir que, un módulo debe ser capaz de interactuar con otro a través de una interfaz estable y sin
depender de otros, para su correcta implementación. 
COHESIÓN (COHESION) define el grado de relación que existe entre los elementos de un módulo.

un  módulo  que  siga  el  principio  de  responsabilidad  única  o  srp  por  sus  siglas  en  ingles  debe realizar
una única cosa. es muy habitual, si no prestamos atención a esto, que acabemos teniendo clases que tienen
varias responsabilidades lógicas a la vez.
COMPLEJIDAD una  de  las  métricas  más  importantes  con  la  que  contamos  en  el  desarrollo  es  la
complejidad ciclomática, que puede ser usada en las fases de desarrollo o mantenimiento entre otras.

esta métrica, propuesta por thomas mccabe en 1976, se basa en el diagrama de flujo determinado por  las 
estructuras  de  control  de  un  determinado  código.  del  análisis  de  esta  estructura  se obtendrán las
medidas cuantitativas que nos facilitarán la comprensión y mejora de las mismas.
CODE CHURN esta métrica presenta una relación directa con código defectuoso. esto quiere decir, mientras
más modificaciones sufra un código, mayor es la posibilidad de introducir un bug.
esta  métrica  es  fácil  de  calcular  usando  un  sistema  de  control  de  versiones  (git,  mercurial).  basta
contabilizar el numero de commits que modificaron uN DATO, FICHERO, O TODA UNA CLASE.
CODE COVERAGE Mide el porcentaje de código que se encuentra testeado. tener test de calidad en nuestro
proyecto,ayudará  a  incrementar  el  valor  de  esta  métrica  y,  a  su  vez,  será  menos  probable  que  el
código contenga bugs.
UNA  ORGANIZACIÓN  QUE  APLICA  MÉTRICAS  EN  SUS  PROCESOS  BUSCA  INCREMENTAR  EL  RETORNO 
DE  LA INVERSIÓN, IDENTIFICAR LAS ÁREAS A MEJORAR, OPTIMIZAR EL TIEMPO INVERTIDO EN EL PROCESO,
Y REDUCIR LOS COSTOS DE OPERACIÓN.
AL  APLICAR  ESTAS  MÉTRICAS,  MEJORAREMOS  LA  COMUNICACIÓN,  YA  QUE  SABREMOS  EL  REAL 
ESTADO  DE NUESTROS  PROYECTOS,  AYUDÁNDONOS  A  MEJORAR  LA  ESTIMACIÓN  DE  TIEMPOS  DE 
DESARROLLO, PREVENIR POSIBLES  FALLOS,  REDUCIR  COSTOS  Y  MEJORAR  EL  MANEJO  DEL  PROCESO 
PRIORIZANDO  LOS  PUNTOS  REALMENTE IMPORTANTES.

También podría gustarte