INDICE
1. CALIDAD DE SOFTWARE .......................................................................................................................... 5
1.1. CALIDAD DE SOFTWARE .................................................................................................................. 5
1.2. GESTIÓN DE LA CALIDAD ................................................................................................................. 5
1.3. SISTEMA DE CALIDAD ...................................................................................................................... 5
1.4. ESTRUCTURA Y ENFOQUE DE LOS MODELOS DE CALIDAD DE SOFTWARE ....................................... 6
CALIDAD A NIVEL DE PROCESO ............................................................................................... 6
CALIDAD A NIVEL DE PRODUCTO ............................................................................................ 6
CALIDAD EN USO .................................................................................................................... 7
1.5. MODELOS A NIVEL DE PROCESO ..................................................................................................... 7
ITIL: ......................................................................................................................................... 7
ISO/IEC 15504: ........................................................................................................................ 7
BOOTSTRAP: ........................................................................................................................... 8
DROMEY: ................................................................................................................................ 8
PERSONAL SOFTWARE PROCESS (PSP): ................................................................................... 8
TEAM SOFTWARE PROCESS (TSP): .......................................................................................... 8
IEEE / EIA 12207: ..................................................................................................................... 8
COBIT 4.0: ............................................................................................................................... 9
ISO 90003: .............................................................................................................................. 9
CMMI (Capability Maturity Model Integration): ..................................................................... 9
ISO/IEC 20000: ........................................................................................................................ 9
1.6. MODELOS A NIVEL DE PRODUCTO .................................................................................................. 9
MCCALL: ............................................................................................................................... 10
GQM o Goal Question Metric: .............................................................................................. 10
BOEHM: ................................................................................................................................ 10
FURPS: .................................................................................................................................. 10
GILB: ..................................................................................................................................... 10
ISO 9126: .............................................................................................................................. 10
SQAE o Software Quality Assessment Exercise: .................................................................... 10
WEBQEM: ............................................................................................................................. 11
ISO 25000: ............................................................................................................................ 11
1.7. BENEFICIOS DE LOS PROCESOS DE ASEGURAMIENTO DE LA CALIDAD EN EL SOFTWARE ............... 11
2. MÉTRICAS DE SOFTWARE ...................................................................................................................... 12
2.1. MÉTRICAS DE SOFTWARE .............................................................................................................. 12
FACTOR DE CALIDAD (ISO 9126) ............................................................................................ 12
2.2. CARACTERÍSTICAS DE LAS METRICAS DE SOFTWARE ..................................................................... 15
2.3. BENEFICIOS DE MEDIR SOFTWARE ................................................................................................ 15
2.4. TIPOS DE METRICAS ...................................................................................................................... 15
MÉTRICAS DE PRODUCTO ..................................................................................................... 15
MÉTRICAS DE PROCESO ........................................................................................................ 15
2.5. CLASIFICACIÓN DE LAS MÉTRICAS ................................................................................................. 16
MÉTRICAS PARA EL MODELO DE ANÁLISIS ............................................................................ 17
MÉTRICAS PARA EL MODELO DE DISEÑO .............................................................................. 17
MÉTRICAS PARA EL CÓDIGO FUENTE .................................................................................... 17
MÉTRICAS PARA PRUEBAS .................................................................................................... 18
3. CONCLUSIONES ..................................................................................................................................... 18
INTRODUCCION
En los tiempos actuales, gracias a los avances de la Informática, el software se utiliza en casi todos los
campos de la actividad humana: la industria, el comercio, las finanzas, el gobierno, la salud, la
educación, las artes. Existe una creciente preocupación por lograr que los productos software cumplan
con ciertos criterios de calidad. Para ello, se avanza en la definición e implementación de estándares
que fijan los atributos deseables del software de calidad, a la vez que surgen modelos y metodologías
para la evaluación de la calidad. Para lograr este objetivo, los ingenieros de software deben emplear
métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de
desarrollo del software.
Las métricas del software permiten medir de forma cuantitativa la calidad de sus atributos internos
del producto, esto permite al ingeniero evaluar la calidad antes de su construcción. Es importante
establecer ¿qué es la calidad del software?, ¿Quién lo hace?, ¿Por qué es importante?, ¿Cuáles son
los pasos? Para determinar la calidad, ¿Cuál es el producto obtenido?, ¿Cómo estar seguro de hacerlo
correctamente? Todas estas interrogantes se determinarán a lo largo del desarrollo del presente
informe. Aspectos a considerar tales como hacer una distinción entre medida, métrica e indicador,
qué factores de calidad se toman.
Las métricas según el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) se definen como una
medida cualitativa, del grado en que un sistema, componente o proceso posee un atributo
determinado. Si realmente se desea conseguir la calidad de un software la medición es esencial, es
por eso que existen distintos tipos de métricas para poder evaluar, mejorar y clasificar el software
final, en donde serán manejadas dependiendo del entorno de desarrollo al cual pretendan orientarse.
1. CALIDAD DE SOFTWARE
1.1. CALIDAD DE SOFTWARE
El término puede ser ambiguo e incluso subjetivo porque, como la belleza, la calidad
depende de quien la observa. Es necesario definir el concepto con claridad, ya que, si la
calidad no puede ser definida, no puede ser medida; y donde la calidad no puede ser medida
entonces no puede ser controlada [30]. Para trabajar sobre un esquema consistente y evitar
ambigüedades, a continuación, se ofrece la definición de calidad ofrecida por la organización
ISO, siendo esta “La totalidad de características de un producto, proceso o servicio que
cuenta con la habilidad de satisfacer necesidades explícitas o implícitas”.
Para complementar la definición, dado que el concepto calidad puede ser subjetiva y debido
a que las necesidades explícitas o implícitas varían de organización en organización o de
usuario en usuario, es esencial identificar dichas necesidades para el usuario o para la
organización.
medidas externas. Por esta razón, algunas normas y estándares han definido la calidad
a nivel de producto en tres tipos: interna, externa y en uso. Este enfoque está
orientado a verificar el cumplimiento de las características que permitan alcanzar la
satisfacción del cliente en cuanto a los requisitos definidos en las etapas iniciales del
proceso de desarrollo.
CALIDAD EN USO
Es importante resaltar que, aunque en diferentes escenarios se utilizan los términos
usabilidad y calidad en uso, con el mismo propósito y de forma intercambiable tienen
significados distintos, principalmente porque el concepto de calidad en uso es más
amplio y abarca más elementos que la usabilidad, y esta última es una de las
características de calidad de un producto software. La calidad en uso se define como
el "conjunto de atributos relacionados con la aceptación por parte del usuario final y
seguridad", y está basada en la eficacia, productividad, seguridad y satisfacción, según
ISO/IEC 9126.
ITIL:
Desarrollado en el Reino Unido, con el fin de fortalecer la gestión gubernamental, a
partir de cinco elementos fundamentales: la perspectiva del negocio, entrega del
servicio, soporte del servicio, manejo de la infraestructura y manejo de aplicaciones,
con el propósito de ofrecer una estructura integral para prestar a la organización un
servicio completo, cubriendo necesidades de apoyo de instalación, adecuación de
redes, comunicaciones, hardware, servidores, sistema operativo, y software
necesarios.
ISO/IEC 15504:
Permite adaptar la evaluación para procesos en pequeñas y medianas empresas
(pymes) y grupos de desarrollo pequeños, mediante la estructuración en seis niveles
de madurez:
Su objetivo es llegar a que la organización logre ser madura, lo cual conlleva que la
organización tenga procesos definidos, responsabilidades definidas, predicción de
resultados, productos entregados con calidad, que las entregas se den en los tiempos
pactados, incrementar la productividad, clientes satisfechos, y empleados felices.
BOOTSTRAP:
Metodología de evaluación que permite la mejora de procesos a partir de seis
actividades básicas: Examinar la necesidad, Iniciar proceso de mejora, preparación y
dirección de la evaluación, análisis de resultados, implantación y finalización de
mejoras.
DROMEY:
Es un modelo adaptable a evaluar varias etapas del proceso de desarrollo como
levantamiento de requisitos, diseño e implementación. Se estructura con
características y subcaracterísticas de calidad; propone tres modelos distintos para
cada etapa de construcción del producto: modelo de requerimientos, modelo de
diseño y modelo de calidad de la implementación, a partir de la evaluación establecida
en cinco etapas, para características como: eficiencia, confiabilidad, mantenibilidad,
portabilidad, facilidad de uso y funcionalidad.
COBIT 4.0:
Se caracteriza por ser orientado a negocios y proceso, además de ser basado en
controles, trabaja con siete criterios de información que son definidos como
requerimientos de control del negocio: efectividad, eficiencia, confidencialidad,
integridad, disponibilidad, cumplimiento y confiabilidad.
ISO 90003:
Conjunto de estándares utilizados para el desarrollo, suministro y soporte del
software, cuyo propósito es ofrecer una guía de aplicación de la norma 9001 que
pretende ser utilizada para demostrar o soportar que la entidad está en capacidad de
desarrollar software con criterios de calidad.
ISO/IEC 20000:
El objetivo principal de esta norma es el de avalar que las prestaciones de servicios
gestionados de TI de una empresa cuentan con la calidad necesaria para brindar
dichos servicios a los clientes. Se subdivide en dos partes: "Especificaciones",
publicada como ISO 200001:2005, y "Código de buenas prácticas" publicada como ISO
20000-2:2005.
MCCALL:
Uno de los modelos pioneros en la evaluación de la calidad de software, tiene tres
etapas definidas: factores, criterios y métricas. Los once criterios base, son: Exactitud,
confiabilidad, eficiencia, integridad, usabilidad, mantenibilidad, testeabilidad,
flexibilidad, portabilidad, reusabilidad e interoperabilidad.
BOEHM:
Es un modelo incremental, dividido en regiones de tareas y estas a su vez en conjuntos
de tareas, las cuales se ajustan a la cantidad de iteraciones que el equipo defina, y
cada iteración se divide en cuatro sectores: planeación, análisis de riesgo, ingeniería y
evaluación.
FURPS:
Modelo desarrollado por Hewlett-Packard, cuyo nombre proviene de los criterios que
evalúa: Funcionalidad, usabilidad, confiabilidad (reliability), desempeño
(performance) y soportabilidad.
GILB:
Modelo de calidad que orienta la evaluación de software a partir de los atributos:
Capacidad de trabajo, adaptabilidad, disponibilidad y utilizabilidad, los cuales se
dividen en subatributos, de tal manera que sirva de apoyo a la gestión de proyectos,
y proporcione una guía para solucionar problemas y detectar riesgos.
ISO 9126:
Estándar basado en el modelo de McCall, dirigido a desarrolladores, aseguradores de
calidad, evaluadores, analistas y cualquier otro involucrado en el proceso de
construcción de software. Está dividido en cuatro partes: modelo de calidad, métricas
externas, métricas internas y calidad de métricas en uso; elementos en torno a seis
características (funcionalidad, Habilidad, usabilidad, eficiencia, mantenibilidad y
portabilidad) y subcaracterísticas asociadas.
WEBQEM:
Es una metodología de evaluación de calidad de sitios Web (Website Quality
Evaluation method), diseñada para la evaluación siguiendo seis fases: planificación y
programación de la evaluación de calidad, definición y especificación de
requerimientos de calidad, definición e implementación de la evaluación elemental,
definición e implementación de la evaluación global, análisis de resultados, conclusión
y documentación, validación de métricas.
ISO 25000:
También llamadas como SQuaRE, cuyo propósito es guiar el desarrollo con los
requisitos y la evaluación de atributos de calidad, principalmente: la adecuación
funcional, eficiencia de desempeño, compatibilidad, capacidad de uso, Habilidad,
seguridad, mantenibilidad y portabilidad.
2. MÉTRICAS DE SOFTWARE
2.1. MÉTRICAS DE SOFTWARE
Aquella aplicación continua de técnicas basadas en la medida de los procesos de desarrollo
del software, para producir una información de gestión significativa al mismo tiempo que se
mejoran aquellos procesos y sus productos, se denominan métrica de software. “Un Método
y una escala cuantitativos que pueden ser usados para determinar el valor que toma cierta
característica en un producto de software concreto”.
“Una función que toma como entrada cierta información del software que se está midiendo,
y que devuelve como salida un valor numérico sencillo, el cual es interpretada, como el grado
en que el producto de software posee un atributo dado que afecta a su calidad”.
FIABILIDAD:
La capacidad del producto software para mantener un nivel especificado de
rendimiento cuando se utiliza en las condiciones especificadas. Se subdivide en:
USABILIDAD:
La capacidad del producto software de ser entendido, aprendido, utilizado y atractivo
al usuario, cuando se utiliza en las condiciones especificadas. Depende del tipo de
"uso" que se espera y tipo de "usuario" que utilizará el producto (desarrollador,
evaluador/seleccionador, integrador, configurador/administrador del sistema,
usuario del sistema). Se subdivide en:
EFICIENCIA:
La capacidad del producto software para proporcionar el rendimiento apropiado,
relativo a la cantidad de recursos utilizados, bajo las especificaciones determinadas.
Se subdivide en:
MANTENIBILIDAD:
La capacidad del producto software para ser modificado. Las modificaciones pueden
incluir correcciones, mejoras o adaptación del software a cambios en el entorno, en
los requisitos o en las especificaciones funcionales. Se subdivide en:
PORTABILIDAD:
la capacidad del producto software de ser transferido de un entorno a otro. Se
subdivide en:
MÉTRICAS DE PRODUCTO
Para justificar la existencia de este tipo de métrica, se argumenta que éstas deben ser
enunciadas y utilizadas para administrar el proceso de desarrollo y debe ser conforme
al producto de software particular. El proveedor de productos de software debe de
recopilar y actuar sobre las medidas cuantitativas de la calidad de esos productos de
software. Estas medidas deben ser utilizadas para los propósitos siguientes:
MÉTRICAS DE PROCESO
El proveedor debe tener métricas cuantitativas de la calidad del proceso de desarrollo
y de liberación. Estas métricas deben de reflejar:
A. Qué tan bien el proceso de desarrollo está siendo llevado a cabo en términos
de puntos de revisión y en objetivos de calidad en el proceso, siendo cumplidos
en tiempo de calendario,
B. Qué tan efectivo es el proceso de desarrollo, al reducir la probabilidad que se
introduzcan fallas o que cualquier falla introducida sea detectada.
Aquí como las partes de las métricas del producto, lo importante es que los niveles
sean conocidos y utilizados para el control del proceso y de las mejoras y no sean
utilizadas métricas fijas. Las métricas seleccionadas deben de ajustarse al proceso
utilizado y si es posible, tener un impacto directo sobre la calidad de software liberado.
Las métricas también pueden ser categorizadas como métricas de resultado o
métricas de predicción. Una medición de predicción es normalmente una métrica de
producto que puede ser utilizada para predecir el valor de otra métrica. La métrica es
predicha, una métrica de proceso, es conocida como una métrica de resultado.
Aunque casi todas las métricas de software satisfacen los atributos y se entiende cuatro más
importantes en el desarrollo del software:
3. CONCLUSIONES
La realización de registros y obtención de métricas son una de las prácticas sugeridas por
la Ingeniería de software y son parte de las actividades que propone el Aseguramiento de
Calidad de Software para el desarrollo del software de calidad. Su difusión y aplicación no
ha sido la ideal.
Se requiere impulsar este campo, las métricas son, por lo tanto, una faceta de la ingeniería
de software, parte del aseguramiento de calidad y las implantaciones de mejores prácticas
para toda disciplina que busca el desarrollo de software con calidad.
Los estándares de software son importantes para garantizar la calidad puesto que
representan una identificación de las «mejores prácticas». El proceso de control de calidad
implica comprobar que el proceso del software y el software a desarrollar concuerdan con
estos estándares.
Las revisiones de los productos a entregar por el proceso del software incumben a un
equipo de personas los cuales comprobarán que se han seguido los estándares de calidad,
las revisiones son la técnica más utilizada para valorar la calidad.
REFERENCIAS
[1] Primer Foro Nacional de experiencias en el Sector TIC. "El Encuentro de los Polos de Argentina". 2007.
Disponible en:
http://www.ses.me.gov.ar/spu/Noticias/Noticias_Universitarias_2007/noticias_marzo_2007__asociacion_de_tec
html
ANEXOS
CASO PRACTICO, USO DE METRICA DE CALIDAD AL SOFTWARE ADOBE CREATIVE SUITE y OPEN
SOURCE
El software que puede cumplir con cubrir las necesidades de los usuarios seria lo siguiente:
Ventajas de software:
Programa ligero
ANALISIS COMPARATIVO
El análisis comparativo técnico se hizo sobre software comercial con instalador descargables de
Internet en calidad de prueba y sobre de libre uso (Open Source), también descargables desde
Internet.
En plataforma comercial se hicieron las pruebas solo con los programas que se necesitan, como son
Adobe PhotoShop, Adobe Ilustrator y Adobe InDesign.
MODELO DE CALIDAD
Se aplicó para este fin el modelo de calidad externa e interna, metodología establecida en la “Guía
Técnica Peruana” y se tomó los aspectos de: Funcionalidad, Fiabilidad, Usabilidad, Portabilidad,
Adecuación, Madurez, Entendimiento, Aprendizaje y Adaptabilidad.
Como resultado del análisis comparativo costo beneficio, se determina que el software seleccionado
para cubrir esta necesidad es el siguiente:
ITEM SOFTWARE
Adobe PhotoShop CS6 Extended
SOFTWARE SUITE DE DISEÑO INTEGRADO Adobe Ilustrator CS6
Adobe InDesign CS6