Sei sulla pagina 1di 22

Luis Alvarez Vargas

GESTION DE CALIDAD DE SOFTWARE

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

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

Las mediciones son fundamentales para cualquier especialidad de la ingeniería y la ingeniería de


software no se excluye de esto. Un ingeniero de software puede utilizar las mediciones para evaluar
la calidad en los resultados del proyecto y para ayudar a tomar las decisiones más acertadas para
contribuir a la mejora del producto.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

Dentro del contexto de Ingeniería de Software, se tomará la definición de calidad en el


software propuesta por la organización internacional de estándares (ISO/IEC DEC 9126): La
totalidad de características de un producto de software que tienen como habilidad,
satisfacer necesidades explícitas o implícitas. Otra definición bastante completa de calidad
en el software es la que se presenta más adelante: Se puede decir que el software tiene
calidad si cumple o excede las expectativas del usuario en cuanto a:

 Funcionalidad (que sirva un propósito),


 Ejecución (que sea práctico),
 Confiabilidad (que haga lo que debe),
 Disponibilidad (que funcione bajo cualquier circunstancia) y
 Apoyo, a un costo menor o igual al que el usuario está dispuesto a pagar.

Resumiendo, podemos decir, que la calidad de software se refiere a: “Los factores de un


producto de software que contribuyen a la satisfacción completa y total de las necesidades
de un usuario u organización”.

1.2. GESTIÓN DE LA CALIDAD


Gestión de la Calidad [ISO QS/9000], conjunto de actividades de la función general de la
dirección que determina la calidad, los objetivos y las responsabilidades y se implantan por
medios tales como la planificación de la calidad, el control de la calidad, el aseguramiento
(garantía) de la calidad y la mejora de la calidad, en el marco del sistema de calidad.

1.3. SISTEMA DE CALIDAD


Los sistemas de calidad representan la estructura organizativa, procedimientos, procesos y
recursos necesarios para implantar la gestión de calidad, en donde esta debe de adecuarse
a los objetivos de calidad de la empresa. La dirección de la empresa es la responsable de fijar
las políticas de calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar
el sistema de calidad. Un sistema de calidad consta de varias partes:

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

 Documentación: Manual de Calidad, es el documento principal para establecer e


implantar un sistema de calidad. Puede haber manuales a nivel de empresa,
departamento, producto, específicos (compras, proyectos).
 Parte Física: Locales, herramientas, ordenadores, etc.
 Aspectos Humanos: Formación de personal, Creación y coordinación de equipos.

Algunas Normativas de Calidad en los sistemas de información que ayudan a la realización


de aplicar mejores prácticas en las organizaciones son:

 ISO 9000, gestión y aseguramiento de calidad (conceptos y directrices generales).


 Recomendaciones externas para aseguramiento de la calidad (ISO 9001, ISO 9002, ISO
9003).
 Recomendaciones externas internas para aseguramiento de la calidad (ISO 9004).
 MALCOM BALDRIGE NATIONAL QUALITY AWARD
 Software Engineering Institute (SEI).
 Capability Maturity Model (CMM).

1.4. ESTRUCTURA Y ENFOQUE DE LOS MODELOS DE CALIDAD DE SOFTWARE

Los modelos de calidad de software


generalmente están estructurados como se
muestra en la Figura donde se pueden tener
diversos factores de calidad que a su vez se
componen de criterios que son evaluados por
métricas, con el propósito de abordar la
evaluación desde lo general a lo particular, y
permitir la reducción de la subjetividad en la
asignación de un valor, ya sea cuantitativo o
cualitativo. Así mismo, los modelos de calidad
de software se clasifican de acuerdo con el
enfoque de evaluación, ya sea a nivel de proceso, producto o calidad en uso.

CALIDAD A NIVEL DE PROCESO


La calidad de un sistema software debe ser programada desde el inicio del proyecto,
y posteriormente en cada etapa del proceso de desarrollo se debe llevar a cabo el
control y seguimiento de los aspectos de calidad, para minimizar los riesgos y ofrecer
soporte continuo, se garantiza así un óptimo nivel de cumplimiento de los factores de
calidad, teniendo en cuenta que si en alguna de las etapas se deja de lado la
verificación de los factores y criterios es posible que se presente deficiencia en alguno
de éstos y disminuirá el nivel de calidad no solo del proceso, sino también del producto
en desarrollo.

CALIDAD A NIVEL DE PRODUCTO


La principal finalidad del modelo de calidad de producto es especificar y evaluar el
cumplimiento de criterios del producto, para lo cual se aplican medidas internas y/o

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

1.5. MODELOS A NIVEL DE PROCESO


Con base en la información recopilada se presenta, en la que se muestra la línea de tiempo
de algunos modelos a nivel de proceso discutidos en este documento.

Línea de tiempo de modelos a nivel de proceso

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:

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

 Nivel 0- Organización inmadura


 Nivel 1- Organización básica
 Nivel 2- Organización gestionada
 Nivel 3-Organización establecida
 Nivel 4- Organización predecible
 Nivel 5- Organización optimizando.

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.

PERSONAL SOFTWARE PROCESS (PSP):


Este modelo está enfocado al desarrollo profesional del ingeniero, fomentando una
adecuada administración de calidad de los proyectos de desarrollo, reducción de
defectos del producto, estimación y planeación del trabajo.

TEAM SOFTWARE PROCESS (TSP):


TSP es la fase posterior de PSP, está diseñado para el trabajo de equipos de desarrollo
de software auto dirigidos, que se orienta al desarrollo de productos con el mínimo
de defectos en tiempo y costos estimados. Cuenta con planes detallados y procesos
como revisiones personales, inspecciones e índices de desempeño de calidad, y el
fomento de la integración del equipo.

IEEE / EIA 12207:


Este estándar establece un marco de trabajo común para el ciclo de vida del desarrollo
de software, a partir del planteamiento de procesos, actividades y tareas que pueden
ser aplicadas durante la adquisición, suministro, desarrollo, operación,
mantenimiento y/o despliegue de un producto software (ISO/IEC, 2008).

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

CMMI (Capability Maturity Model Integration):


Es de los modelos más utilizados en las empresas de construcción de software, con el
propósito de verificar el cumplimiento de estándares de calidad a partir de la medición
con niveles de madurez. Este modelo se representa de dos maneras: escalonada y
continua, donde el modelo escalonado está dirigido al software y permite clasificar las
organizaciones en cinco tipos de nivel establecidos: Inicial, gestionado, definido,
gestionado cuantitativamente y en optimización; y por su parte el modelo continuo se
enfoca al análisis de la capacidad de cada proceso inmerso en las áreas de la ingeniería
de sistemas y lo clasifica en uno de los siguientes seis niveles: Incompleto (0),
ejecutado (1), gestionado (2), definido (3), cuantitativamente gestionado (4) y en
optimización (5).

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.

1.6. MODELOS A NIVEL DE PRODUCTO


La Figura presenta la línea de tiempo de algunos modelos de evaluación a nivel de producto.

Modelos de calidad a nivel de producto

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

GQM o Goal Question Metric:


Se enfoca a proporcionar una forma que permita definir métricas para medir el avance
como los resultados de algún proyecto, a partir de la aplicación de unas preguntas
relacionadas con el proyecto, que permitan alcanzar unas metas previamente
planteadas, el modelo trabaja sobre metas, preguntas y métricas.

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.

SQAE o Software Quality Assessment Exercise:


Este modelo, basado en Boehm, McCall, Dromey e ISO 9126, está orientado
principalmente a realizar evaluación por terceros que no están directamente
involucrados con el desarrollo, siguiendo tres capas: área, factor y atributo de calidad,
que permiten orientar la evaluación jerárquicamente.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

1.7. BENEFICIOS DE LOS PROCESOS DE ASEGURAMIENTO DE LA CALIDAD EN EL SOFTWARE


Los beneficios que se pueden obtener como resultado de aplicar los procesos de
aseguramiento de calidad son muchos y variados, algunos que se pueden citar con brevedad
son:

A. Se detectan problemas rápidamente, Es posible identificar problemas en tempranas


etapas del desarrollo de productos de software, ayudando al desarrollador a
corregirlos inmediatamente y poder avanzar con más rapidez.
B. Se crean y se siguen estándares de trabajo, Con apoyo del proceso de aseguramiento
de calidad, se pueden establecer estándares tan diversos como son los de codificación
o de documentación, los cuales apoyan a uniformizar y consolidar el proceso de
desarrollo.
C. Se verifica que los objetivos individuales vayan acordes con los objetivos de la
organización, Se busca y se recomienda que los requerimientos expuestos por
usuarios finales estén alineados con los objetivos globales de la empresa, facilitando
así el logro de los mismos y la integración total de los usuarios a la organización.
D. Se recomiendan métodos para realizar el trabajo, Las prácticas de aseguramiento de
calidad, como son muy robustas ya que aplican técnicas muy completas de medición,
pueden proponer en un momento dado qué métodos se ajustan más a la naturaleza
del producto a ser desarrollado, teniendo como efecto final que el producto tenga
más posibilidades de ser un producto con calidad.
E. Se evita incurrir en costos innecesarios, Como un efecto generalizado de algunos de
los puntos mencionados con anterioridad, la práctica de procesos de aseguramiento
de calidad lleva a las organizaciones a evitar costos no deseados como pueden ser
todos aquellos ocasionados por mantenimiento correctivo.
F. Se planea la calidad, Está claro que el concepto de calidad no es algo que se da de una
manera automática e impredeciblemente. Es algo que se busca. Por lo mismo, se debe
de planear, construir e implantar en el producto

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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

FACTOR DE CALIDAD (ISO 9126)


La ISO, bajo la norma ISO-9126, ha establecido un estándar internacional para la
evaluación de localidad de productos de software el cual fue publicado en 1992 con
el nombre de “Information technology Software product evaluation: Quality
characteristics and guide lines for their use”, en el cual se establecen las características
de calidad para productos de software. El estándar ISO-9126 establece que cualquier
componente de la calidad del software puede ser descrito en términos de una o más
de seis características básicas, cada una de las cuales se detalla a través de un conjunto
de subcaracterísticas que permiten profundizar en la evaluación de la calidad de
productos de software. Las cuales son:

CARACTERISTICAS DE LA ISO 9126


FUNCIONALIDAD:
La capacidad del producto software para proporcionar funciones que satisfagan las
necesidades especificadas e implícitas cuando el software se utiliza en las condiciones
especificadas. Se subdivide en:

 Adecuación: la capacidad del producto software para proporcionar un


conjunto apropiado de funciones para tareas específicas y objetivos de los
usuarios.
 Exactitud: la capacidad del producto software para proporcionar los
resultados o efectos correctos y con el grado de precisión acordado.
 Interoperabilidad: la capacidad del producto software para interactuar con
uno o más sistemas especificados.
 Seguridad: Capacidad del producto software para proteger información y
datos de manera que las personas o sistemas no autorizados no puedan
leerlos o modificarlos, al tiempo que no se deniega el acceso a las personas o
sistemas autorizados.
 Conformidad: la capacidad del producto software para adaptarse a los
estándares, convenciones o regulaciones en leyes y prescripciones relativos a
la funcionalidad.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

FIABILIDAD:
La capacidad del producto software para mantener un nivel especificado de
rendimiento cuando se utiliza en las condiciones especificadas. Se subdivide en:

 Madurez: la capacidad del producto software para evitar fallos provocados


por errores en el software.
 Tolerancia a fallos: la capacidad del producto software para mantener
un nivel de rendimiento determinado en caso de defectos en el
software o incumplimiento de su interfaz.
 Recuperabilidad: la capacidad del producto software para restablecer un
determinado nivel de rendimiento y recuperar los datos afectados
directamente en caso de ocurrir un fallo.
 Conformidad: la capacidad del producto software para adaptarse a
estándares, convenciones y regulaciones referidas a la fiabilidad.

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:

 Comprensibilidad: la capacidad del producto software para permitir al usuario


que entienda si el software es adecuado, y como debe utilizarse para
determinadas tareas y bajo ciertas condiciones de uso.
 Facilidad de aprendizaje: la capacidad del producto software para permitir al
usuario aprender su aplicación.
 Operabilidad: la capacidad del producto software para permitir que el usuario
lo opere y lo controle.
 Atracción: la capacidad del producto software para atraer al usuario.
 Conformidad: la capacidad del producto software para adaptarse a
estándares, convenciones, guías de estilo y regulaciones relacionadas con la
usabilidad.

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:

 Comportamiento temporal: la capacidad del producto software para


proporcionar tiempos de respuesta y de procesamiento apropiados cuando
realiza sus funciones bajo condiciones determinadas.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

 Utilización de recursos: la capacidad del producto software para utilizar


cantidades y tipos de recursos apropiados cuando el software realiza su
función bajo determinadas condiciones.
 Conformidad: la capacidad del producto software para adaptarse a estándares
o convenciones relacionadas con la eficiencia.

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:

 Analizabilidad: Capacidad del producto software de diagnosticar sus


deficiencias o causas de fallos, o de identificar las partes que deben ser
modificadas.
 Cambiabilidad: Capacidad del producto software de permitir implementar una
modificación especificada. La implementación incluye los cambios en el
diseño, el código y la documentación.
 Estabilidad: Capacidad del producto software de evitar los efectos
inesperados de las modificaciones.
 Facilidad de prueba: Capacidad del producto software de permitir validar las
partes modificadas.
 Conformidad: Capacidad del producto software de cumplir los estándares o
convenciones relativas a la mantenibilidad.

PORTABILIDAD:
la capacidad del producto software de ser transferido de un entorno a otro. Se
subdivide en:

 Adaptabilidad: capacidad del producto software para ser adaptado a


diferentes entornos especificados, sin aplicar acciones o mecanismos distintos
de aquellos proporcionados para este propósito por el propio software
considerado.
 Facilidad de instalación: la capacidad del producto software para ser instalado
en un entorno especificado.
 Coexistencia: la capacidad del producto software para coexistir con otro
software independiente en un entorno común, compartiendo recursos
comunes.
 Reemplazabilidad: la capacidad del producto software para ser utilizado en
lugar de otro producto de software, para el mismo propósito, en el mismo
entorno.
 Conformidad: la capacidad del producto software para adaptarse a estándares
relacionados con la portabilidad.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

2.2. CARACTERÍSTICAS DE LAS METRICAS DE SOFTWARE


Se afirma que para que las métricas sean útiles estás deben tener las siguientes cuatro
características:
A. Cuantificables, deben basarse en hechos, no en opiniones.
B. Independientes, los recursos no deben poder ser alterados por los miembros que las
apliquen o utilicen.
C. Explicable, debe documentarse información acerca de la métrica y de su uso.
D. Precisas, debe de conocerse un nivel de tolerancia permitido cuando se mide.

2.3. BENEFICIOS DE MEDIR SOFTWARE


Los beneficios los podemos enumerar de la siguiente forma:
 El proceso del software (para mejorarlo)
 El proyecto del software (para ayudar a estimar, control de calidad, evaluación de
productividad, control de proyectos)
 Calidad del producto (para ayudarse en la toma de decisiones tácticas a medida que
el proyecto evoluciona).

2.4. TIPOS DE METRICAS


Se afirma existen dos tipos de métricas: las métricas de producto y las métricas de proceso.
Las primeras son un valor numérico extraído de algunos documentos o de una pieza de
código; las segundas son un valor numérico que describe un proceso de software, por
ejemplo. El tiempo que se toma para depurar un módulo o la cantidad de errores que
permanecen en un sistema después de las pruebas finales.

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:

 Para recopilar información y reportar valores de métricas sobre bases regulares.


 Para identificar el actual nivel de desempeño por cada métrica.
 Para tomar la acción remedial si los niveles de las métricas crecen peor o
exceden los niveles objetivos establecidos.
 Para establecer metas de mejoras especificas en términos de las mismas
métricas.

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:

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

2.5. CLASIFICACIÓN DE LAS MÉTRICAS


La medición asigna números o símbolos a atributos de entidades reales. Esto requiere un
modelo de medición que abarque un conjunto existente de reglas. En el contexto de la
ingeniería del software una medida proporciona una indicación cuantitativa de la extensión,
la cantidad, la dimensión, la capacidad o el tamaño de algún atributo de un producto o
proceso. La medición ocurre como resultado de la recopilación de uno o más puntos de
datos. Una métrica de software relaciona de alguna manera las medidas individuales, de
igual manera un ingeniero de software recopila medidas y desarrolla métricas para obtener
los indicadores.

Un indicador es una métrica o una combinación de métricas que proporcionan


conocimientos acerca del proceso del desarrollo de software, un proyecto de software o el
propio producto. Un indicador proporciona conocimientos que permiten a los ingenieros de
software ajustar el proceso, el proyecto o el producto para que las cosas mejoren. Existe la
necesidad de medir y controlar la complejidad en el desarrollo del software, debe de tenerse
la posibilidad de desarrollar medidas de diferentes atributos internos del programa. Estas
medidas y las métricas derivadas de ellas se utilizan como indicadores independientes de la
calidad de los modelos de análisis y diseño. Antes de generar e introducir una serie de
métricas del producto debemos contemplar que se:

 Deben de ayudar a evaluar los modelos de análisis y diseño.


 Deben ofrecer una indicación de la complejidad de los diseños procedimentales y
el código fuente.
 Deben de facilitar el diseño de pruebas más efectivas.

Se han propuesto cientos de métricas para el desarrollo de software, pero no todas


proporcionan un soporte práctico para el ingeniero de software. Algunas exigen mediciones
demasiado complejas otras son demasiado especializadas que pocos profesionales podrían
comprenderlas y otras más violan las nociones básicas de lo que es el software de alta
calidad. La métrica derivada y las medidas que llevan a ella deben ser:

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

 Simples incalculables. Debe ser relativamente fácil aprender a derivar la métrica y


su cálculo no debe exigir cantidades anormales de tiempo o esfuerzo.
 Empírica e intuitivamente persuasivas. La métrica debe satisfacer las nociones
intuitivas del ingeniero acerca del atributo del producto que se está construyendo.
 Consistentes y objetivas. La métrica siempre debe arrojar resultados que no
permitan ambigüedad alguna.
 Consistentes en el uso de unidades y dimensiones. El cálculo matemático de la
métrica debe emplear medidas que no lleven a combinaciones extrañas de
unidades.
 Independientes del lenguaje de programación. Las métricas deben basarse en el
modelo de análisis o diseño o en la estructura del propio programa.
 Mecanismos efectivos para la retroalimentación de alta calidad. Es decir, la métrica
debe llevar a un producto final de la más alta calidad.

Aunque casi todas las métricas de software satisfacen los atributos y se entiende cuatro más
importantes en el desarrollo del software:

MÉTRICAS PARA EL MODELO DE ANÁLISIS


Estas métricas atienden varios aspectos de la etapa de análisis en donde se incluyen:
 Funcionalidad entregada. Proporciona una medida indirecta de la funcionalidad
que se empaqueta con el software.
 Tamaño del sistema. Mide el tamaño general del sistema, definido desde el punto
de vista de la información disponible como parte del modelo de análisis.
 Calidad de la especificación. Proporciona un indicador específico o el grado en
que se ha completado la especificación de los requisitos.

MÉTRICAS PARA EL MODELO DE DISEÑO


Estas métricas cuantifican los atributos del diseño de manera tal que le permiten al
ingeniero de software evaluar la calidad del diseño, la métrica incluye:
 Métricas arquitectónicas. Proporcionan un indicio de la calidad del diseño
arquitectónico.
 Métricas al nivel de componente. Mide la complejidad de los componentes del
software y otras características que impactan la calidad.
 Métricas de diseño de la interfaz. Se concentran principalmente en la facilidad de
uso.
 Métricas especializadas en diseño orientado a objetos. Miden características de
clases, además de las correspondientes a comunicación y colaboración.

MÉTRICAS PARA EL CÓDIGO FUENTE


Estas métricas miden el código fuente y se usan para evaluar su complejidad, además
de la facilidad con que se mantiene y prueba entre otras características como:
 Métricas de complejidad. Miden la complejidad lógica del código fuente.
 Métricas de longitud. Proporcionan un indicio del tamaño del software.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

MÉTRICAS PARA PRUEBAS


Estas métricas ayudan a diseñar casos de prueba efectivos y evaluar la eficacia de las
pruebas en donde se incluyen:
 Métricas de cobertura de instrucciones y ramas. Lleva al diseño de casos de
prueba que proporcionan cobertura del programa.
 Métricas relacionadas con los defectos. Se concentran en encontrar defectos y
no en las propias pruebas.
 Efectividad de la prueba. Proporciona un indicio en tiempo real de la efectividad
y de las pruebas aplicadas.
 Métricas en el proceso. Métrica relacionada con el proceso de las pruebas.

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.

 La definición y selección de las métricas de calidad teniendo en cuenta las características


de calidad según la ISO 9126-1: Modelo de Calidad, permite tener una referencia de cuál
es el por ciento de cumplimiento que tienen los softwares de las características de calidad,
ayudando a los directivos a la toma de decisiones y a mejorar la calidad del proceso de
pruebas y del producto final.

 Un manual de calidad organizacional debe documentar un conjunto de procedimientos de


garantía de la calidad. Éste puede basarse en los modelos genéricos sugeridos en los
estándares ISO 9000.

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

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

ANEXOS
CASO PRACTICO, USO DE METRICA DE CALIDAD AL SOFTWARE ADOBE CREATIVE SUITE y OPEN
SOURCE

En la actualidad existe software de diseño gráfico en plataforma comercial y en plataforma de libre


uso (Open Source). Para la presente evaluación se ha considerado los siguientes productos: En
plataforma Comercial

Adobe Creative Suite que contiene los siguientes programas:


A. Adobe PhotoShop CS6 Extended
B. Adobe Ilustrator CS6
C. Adobe InDesign CS6

El software que puede cumplir con cubrir las necesidades de los usuarios seria lo siguiente:

El software de retoque fotográfico y pintura a base de imágenes de mapa de bits es el Adobe


PhotoShop o el Adobe Fireworks, este último más influenciado al tema Web, el Adobe PhotoShop
sirve tanto para el tema Web como para el tema gráfico y de impresión.

A. El software de creación, manipulación vectorial, artística de dibujo y pintura para ilustración de


imágenes seria Adobe Ilustrator.
B. El software de maquetación y composición profesional de páginas seria el InDesign.
 En este paquete también se encuentra el software Adobe Acrobat XI Pro, este sería de gran
utilidad para la edición y creación de archivos PDF, en el marco del cumplimiento de las
normas de ecoeficiencia.

En plataforma de Libre Uso (Open Source), se evalúan:


 Software de retoque fotográfico y pintura a base de imágenes de mapa de bits.
 GIMP

Ventajas de software:
 Programa ligero

Desventaja del Software:


 Trabaja con ventanas independientes.
 Si bien es cierto que maneja varias herramientas y filtros estos son limitados.
 Solo trabaja con el perfil de color SRGB.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

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.

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

ANALISIS COMPARATIVO DE COSTO BENEFICIO

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

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática


Luis Alvarez Vargas
GESTION DE CALIDAD DE SOFTWARE

DETALLE DEL ANALISIS COMPARATIVO TECNICO

GESTION DE CALIDAD DE SOFTWARE | Ing. De Sistemas e Informática

Potrebbero piacerti anche