Inf 522 - Unidad4.2Informe - Jose AMado
Inf 522 - Unidad4.2Informe - Jose AMado
Inf 522 - Unidad4.2Informe - Jose AMado
Unidad no. 4
1
Visión General de los Factores que Afectan a la Calidad
Medida de la calidad
Aunque hay muchas medidas de la calidad de software, la corrección, facilidad de
mantenimiento, integridad y facilidad de uso suministran indicadores útiles para el equipo
del proyecto
Facilidad de mantenimiento. El mantenimiento del software cuenta con más esfuerzo que
cualquier otra actividad de ingeniería del software. La facilidad de mantenimiento es la
habilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar
si su entorno cambia o optimizar si el cliente desea un cambio de requisitos.
2
En promedio, los programas que son más fáciles de mantener tendrán un TMC más bajo (para
tipos equivalentes de cambios) que los programas que son más difíciles de mantener. Hitachi
ha empleado una métrica orientada al costo (precio) para la capacidad de mantenimiento,
llamada “desperdicios”. El costo estará en corregir defectos hallados después de haber
distribuido el software a sus usuarios finales. Cuando la proporción de desperdicios en el
costo global del proyecto se simboliza como una función del tiempo, es aquí donde el
administrador logra determinar si la facilidad de mantenimiento del software producido por
una organización de desarrollo está mejorando y asimismo se pueden emprender acciones a
partir de las conclusiones obtenidas de esa información.
(3) aumento neto en productividad (sobre el enfoque que el sistema reemplaza) medida
cuando alguien emplea el sistema moderadamente y eficientemente.
Calidad del Software. Los requisitos del Software son la base de las medidas de calidad.
La falta de concordancia con los requisitos es una falta de calidad.
3
Unos estándares específicos definen un conjunto de criterios de desarrollo que guían la
manera en que se hace la ingeniería del Software. Si no se siguen los criterios, habrá
seguramente poca calidad.
Factores que se pueden medir directamente, como por ejemplo los defectos por punto
de función.
Factores que se pueden medir sólo indirectamente, como por ejemplo la facilidad de
uso o mantenimiento.
4
McCall y sus colegas plantearon una categorización de factores que afectan a la calidad de
software, que se muestran en la figura anterior en donde se centralizan con tres aspectos
importantes de un producto de software: sus características operativas, su capacidad de
cambio y su adaptabilidad a nuevos entornos. Refiriéndose a los factores de la figura , McCall
proporciona las siguientes descripciones:
5
actividad siguiente. Esto también puede ser utilizado dentro del proyecto para evaluar la
habilidad de un equipo, esto con el objetivo de encontrar deficiencias que harán que se atrase
el proyecto. Existen varias métricas de calidad, pero las más importantes y que engloban a
las demás, son sólo cuatro: corrección, facilidad de mantenimiento, integridad y facilidad de
uso, se explicaron en la sección anterior.
Independencia del hardware: El grado con que se desacopla el software del hardware
donde opera.
6
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.
7
sistema y permitiendo consultas sobre el estado de las zonas de seguridad y varios censores
de seguridad. La función muestra una serie de mensajes de petición y envía señales
apropiadas de control a varios componentes del sistema de seguridad. El diagrama de flujo
de datos se evalúa para determinar las medidas clave necesarias para el cálculo de al métrica
de PF.: - número de entradas de usuario - número de salidas de usuario - número de consultas
del usuario - número de archivos - número de interfaces externas
La métrica Bang
Puede emplearse para desarrollar una indicación del tamaño del software a implementar
como consecuencia del modelo de análisis. Desarrollada por Tom DeMarco [Ejiogo ‘91], la
métrica bang es “ una indicación, independiente de la implementación, del tamaño del
sistema”.
Para calcular la métrica bang, el desarrollador de software debe evaluar primero un conjunto
de primitivas (elementos del modelo de análisis que no se subdividen más en el nivel de
análisis) Las primitivas se determinan evaluando el modelo de análisis y desarrollando
cuentas para los siguientes elementos: - Primitivas funcionales (Pfu) Transformaciones
(burbujas) que aparecen en el nivel inferior de un diagrama de flujo de datos. - Elementos de
datos (ED) Los atributos de un objeto de datos, los elementos de datos no compuestos y
aparecen en el diccionario de datos. - Objetos (OB) Objetos de datos. 79 - Relaciones (RE)
Las conexiones entre objetos de datos. - Transiciones (TR) El número de transacciones de
estado en el diagrama de transición de estado. Además de las seis primitivas nombradas
arriba, se determinan medidas adicionales para: - Primitivas modificadas de función manual
(PMFu) Funciones que caen fuera del límite del sistema y que deben modificarse para
acomodarse al nuevo sistema.
- Elementos de datos de salida (EDS) Aquellos elementos de datos que se sacan en el sistema.
- Elementos de datos retenidos (EDR) Aquellos elementos de datos que son retenidos
(almacenados) por el sistema.
8
- Muestras (tokens) de datos (TCi) Las muestras de datos (elementos de datos que no se
subdividen dentro de una primitiva funcional) que existen en el l’imite de la i-ésima primitiva
funcional (evaluada para cada primitiva).
- Conexiones de
relación (Rei)
Las relaciones
que conectan el
i-ésimo objeto
en el modelo de
datos con otros
objetos.
DeMarco
sugiere que la
mayoría del software se puede asignar a uno de los dos dominios siguientes, dominio de
función o dominio de datos, dependiendo de la relación RE/PFu. Las aplicaciones de dominio
de función (encontrados comúnmente en aplicaciones de ingeniería y científicas) hacen 80
hincapié en la transformación de datos y no poseen generalmente estructuras de datos c
omplejas
9
por la especificación y ns es el número de estados especificados. La relación Q2 mide
porcentaje de funciones necesarias que se han especificado para un sistema, sin embargo, no
trata los requisitos no funciónales. Para incorporarlos a una métrica global completa,
debemos considerar el grado de validación de los requisitos: Q3 = nc / (nc + nnv) donde nc
es el número de requisitos que se han validados como correctos y nnv el número de requisitos
que no se han validado todavía
Métricas de cohesión.
Bieman y Ott [Hamdi ‘99] definen una colección de métricas que proporcionan una
indicación de la cohesión de un módulo. Las métricas se definen con cinco conceptos y
medidas: - Porción de datos. Dicho simplemente, una porción de datos es una marcha atrás a
través de un módulo que busca valores de datos que afectan a la localización del módulo en
el que empezó la marcha atrás. Debería resaltarse que se pueden definir tanto porciones de
programas (que se centran en enunciados y condiciones) como porciones de datos. - Símbolos
léxicos (tokens) de datos. Las variables definidas para un módulo pueden definirse como
señales de datos para el módulo.
- Señales de unión. El conjunto de señales de datos que se encuentran en uno o más porciones
de datos. 89
- Señales de super-unión.
-Las señales de datos comunes a todas las porciones de datos de un módulo.
Métricas de complejidad.
Se pueden calcular una variedad de métricas del software para determinar la complejidad del
flujo de control del programa. Muchas de éstas se basan en una representación denominada
grafo de flujo, un grafo es una representación compuesta de nodos y enlaces (también
denominados filos) Cuando se dirigen los enlaces (aristas), el grafo de flujo es un grafo
dirigido. McCabe identifica un número importante de usos para las métricas de complejidad,
donde pueden emplearse para predecir información sobre la fiabilidad y mantenimiento de
sistemas software, también realimentan la información durante el proyecto de software para
ayudar a controlar la actividad de 93 diseño, en las pruebas y mantenimiento, proporcionan
información sobre los módulos software para ayudar a resaltar las áreas de inestabilidad. La
métrica de complejidad más ampliamente usada (y debatida) para el software es la
complejidad ciclomática, originalmente desarrollada por Thomas McCabe. La métrica de
McCabe proporciona una medida cuantitativa para probar la dificultad y una indicación de
la fiabilidad última. Estudios experimentales indican una fuerte correlación entre la métrica
de McCabe y el número de errores que existen en el código fuente, así como el tiempo
requerido para encontrar y corregir dichos errores. McCabe también defiende que la
complejidad ciclomática puede emplearse para proporcionar una indicación cuantitativa del
tamaño máximo del módulo. Recogiendo datos de varios proyectos de programación reales,
ha averiguado que una complejidad ciclomática de 10 parece ser el límite práctico superior
para el tamaño de un módulo, Cuando la complejidad ciclomática de los módulos excedían
ese valor, resultaba extremadamente difícil probar adecuadamente el módulo.
11
Métricas de código fuente
La teoría de Halstead de la ciencia del software es ‘probablemente la mejor conocida y más
minuciosamente estudiada... medidas compuestas de la 96 complejidad (software)’.
Estas medidas se listan a continuación. n1: el número de operadores diferentes que aparecen
en el programa n2: el número de operandos diferentes que aparecen en el programa
Métricas de mantenimiento
Se han propuesto métricas diseñadas explícitamente para actividades de mantenimiento. El
estándar IEEE 982.1-1988 sugiere un índice de madurez del software (IMS) que proporciona
una indicación de la estabilidad de un 101 producto de software (basada en los cambios que
ocurren con cada versión del producto)
13
Conclucion
Al terminar este informe he logrado comprender los procesos que pasa un software diseñado
con altos estándares de calidad, en mi resumen mostre algunos de las métricas utilizadas para
poder disenar en implementar software del mas alto nivel.
Cada una de estas métricas es tomada en cuenta en base al tamaño del proyecto que se haya
de desarrollar y su impacto en el uso dependerá de la finalidad con la que se apliquen dichas
métricas.
Dentro de las métricas tomamos en cuenta cada detalle, desde la idealización del proyecto
hasta los mantenimiento previstos que se le han de realizar a dicho software en su vida útil.
Es sorprendente que cada métrica resumida en este informe tiene formas y formulas para ser
aplicada en mi estudio recomiendo el análisis de cada una para determinar el uso que se les
darán alas mismas.
14
Bibliografía
https://aulavirtual.uasd.edu.do/pluginfile.php/1787971/mod_resource/content/1/UNIDA
D_4/Metricas_Tecnicas_del_Software.pdf
https://aulavirtual.uasd.edu.do/pluginfile.php/1787970/mod_resource/content/1/Metric
as_en_el_Desarrollo_de_Software.pdf
https://calidaddesoftwaresite.wordpress.com/2016/07/05/metricas-de-calidad/
https://sg.com.mx/content/view/471
15