Este documento describe los factores y métricas de calidad de software según el modelo de McCall. Identifica 23 factores de calidad agrupados en 3 categorías: características operativas, capacidad de soportar cambios y adaptabilidad. Luego presenta ejemplos de métricas para medir factores como fiabilidad, integridad, disponibilidad y mantenibilidad. Finalmente, explica brevemente el cálculo de dichas métricas.
1.
UNIVERSIDAD TECNOLÓGICA DEL ESTADO DE
ZACATECAS
UAP
CALIDAD EN EL DESARROLLO DE SOFTWARE
MÉTRICAS DEL SOFTWARE
Carrera: Tecnologías de la Información y Comunicación
Alumno (a): Ma. Cecilia Hernández Jiménez
Profesora: Lucia González Hernández
Grado y Grupo: V-“A”
Lugar: Pinos Zacatecas
2.
FACTORES Y CARACTERISTICAS QUE DETERMINAN LA
CALIDAD DE SOFTWARE SEGÚN MC CALL
McCall proporciona los siguientes factores de la calidad. Los factores
desarrollados según el modelo de McCall, se centra en tres aspectos importantes
de un productos de software:
• Sus características operativas.
• Su capacidad para soportar los cambios.
• Su adaptabilidad a nuevos entornos.
Lista de factores:
• Corrección: Mide el grado en que un programa satisface sus
especificaciones y consigue los objetivos del usuario.
• Fiabilidad: Mide el grado en que se puede esperar que un programa lleve
a cabo sus funciones esperada con la precisión requerida.
• Eficiencia: Mide la cantidad de recursos de computadora y de código
requerido por un programa para que lleve a cabo las funciones
especificadas.
• Integridad: Es el grado en que puede controlarse el acceso al software o a
los datos por personal no autorizado.
• Facilidad de Uso: Es el esfuerzo requerido para aprender un programa e
interpretar la información de entrada y de salida.
• Facilidad de Mantenimiento: Es el esfuerzo requerido para localizar y
arreglar programas.
3.
• Facilidad de Prueba: Es el esfuerzo requerido para probar un programa.
• Flexibilidad: Es el esfuerzo requerido para modificar un sistema operativo.
• Portabilidad: es el esfuerzo requerido para transferir un software de un
hardware o un entorno de sistemas a otro.
• Reusabilidad: es el grado en que un programa (o partes de un programa)
se puede reutilizar en otro.
• Facilidad de Interoperación: es el esfuerzo requerido para asociar un
programa a otro.
• Facilidad de auditoria: La facilidad con la que se puede justificar el
cumplimiento de los estándares.
• Exactitud: La exactitud de los cálculos y del control.
• Estandarización de comunicaciones: El nivel de empleo de
estándares de interfaces, protocolos y anchos de banda.
• Complexión: El grado con que sé a logrado la implementación total de
una función.
4.
• Concisión: Lo compacto que resulta ser el programa en términos de líneas
de código.
• Consistencia: El uso de un diseño uniforme y de técnicas de
documentación a través del proyecto de desarrollo del software.
• Estandarización de datos: El empleo de estructuras y tipos de datos
estándares a lo largo del programa.
• Tolerancia al error: El deterioro causado cuando un programa descubre
un error.
• Eficiencia de ejecución: El rendimiento del funcionamiento de un
programa.
• Capacidad de expansión: El grado con que se pueden aumentar el
diseño arquitectónico, de datos o procedimental.
• Generalidad: La extensión de aplicación potencial de los componentes
del programa.
• Independencia del hardware: El grado con que se desacopla el
software del hardware donde opera.
• Instrumentación: El grado con que el programa vigila su propio
funcionamiento e identifica los errores que suceden.
• Modularidad: La independencia funcional de componentes de programa.
5.
• Operatividad: La facilidad de operación de un programa.
• Seguridad: La disponibilidad de mecanismos que controlan o protegen los
programas y los datos.
• Auto documentación: El grado en que el código fuente proporciona
documentación significativa.
• Simplicidad: El grado de facilidad con que se puede entender un
programa.
• Independencia del sistema de software: El grado de independencia
de programa respecto a las características del lenguaje de programación
no estándar , características del sistema operativo y otras restricciones del
entorno.
• Trazabilidad: La capacidad de seguir una representación del diseño o un
componente real del programa hasta los requisitos.
• Formación : El grado en que ayuda el software a manejar el sistema a los
nuevos usuarios.
6.
Métricas
Relacionadas
Con
Factores
de
Mc
Call
Métrica
Para
Medir
La
Fiabilidad
:
TMEF
=
TMDF
+
TMDR
10
años
+
1dia
10
años
+0.0027 año =10.0027 años
Métrica
Para
Medir
La
Integridad
:
Integridad
=
0[(1-‐Amenaza)*(1-‐Seguridad)]
=
0[(1-‐4)*(1-‐3)]
=
0[3*2]
=
0+6
=
6
Métrica
Para
Medir
La
Disponibilidad
Disponibilidad=
TMDF/(TMDF+TMDR)*100%
=10/(10+4)*100%
=10/(14)*100%
=71.428%
TMEF
:
Tiempo
Medio
Entre
Fallos
TMEF
:
Tiempo
Medio
De
Fallos
TMEF
:
Tiempo
Medio
De
Fallos
La
métrica
de
factibilidad
es
para
medir
la
factibilidad
de
los
errores
,
el
resultado
muestra
cada
que
tiempo
se
puede
encontrar
un
fallo
en
el
software.
La
integridad
es
calculada
para
saber
que
porcentaje
hay
en
las
aplicaciones
que
probabilidades
hay
de
que
sean
amenazadas.
Eje:
un
antivirus
que
tan
efectivo
es.
La
disponibilidad
se
calcula
base
a
TMDF
y
TMDR
así
sabremos
que
porciento
es
de
disponibilidad
de
no
tener
errores
7.
Métrica
Para
Medir
La
Mantenibilidad
IMS=[Mr-‐(Fa+Fc+Fd)/Mr]
=[9-‐(4+2+1)]/10
=
0.2
Métrica
Para
Medir
La
Portabilidad
portabilidad
=
1
-‐
(ET/ER)
=
1
–
(50/40)
=
1
–
1.25
=
0.25
Mr
=
número
de
módulos
en
la
versión
actual
Fc
=
número
de
módulos
en
la
versión
actual
que
se
han
cambiado
Fa
=
número
de
módulos
en
la
versión
actual
que
se
han
añadido
Fd
=
número
de
módulos
de
la
versión
anterior
que
se
han
borrado
en
la
versión
actual
La
mantenibilidad
nos
ayuda
a
calcular
la
madurez
de
un
software.
ET:
medida
de
los
recursos
necesarios
para
mover
el
sistema
a
otro
entorno
(Target
Environment).
ER:
medida
de
los
recursos
necesarios
para
crear
el
sistema
en
el
entorno
residente
(Resident
Environment)
Nos
proporciona
el
porcentaje
de
la
a
facilidad
de
mover
una
aplicación
de
un
entorno
a
otro.