Professional Documents
Culture Documents
Evaluación de SI - Parte 2
Ing. Joffre León Veas, MAE
2017-2017
2013-2013
Twitter: @JoffreLeonVeas Correo:
Correo:jleon@ups.edu.ec
jleon@ups.edu.ec
“Cuando puedes medir sobre lo que estás diciendo y expresarlos en
números, sabes algo sobre ello, pero cuando no puedes medirlo ni
expresarlo en números entonces tu conocimiento es precario e
insatisfactorio”. Lord Kelvin, Finales de Siglo XIX
Alternativas de
Fuentes de
Entidades
Medición de proceso
La medición del proceso [software] implica las mediciones de las
actividades relacionadas con el software, siendo algunos de sus
atributos típicos el esfuerzo, el costo y los defectos encontrados.
(Fenton y Pfleeger, 1997)
Medición de proceso
Las métricas del proceso de software se utilizan para
propósitos estratégicos y en muchas propuestas, la
medición se realiza extrayendo las características de
tareas específicas de la ingeniería de software y
obteniendo como resultados métricas sobre errores
detectados antes de la entrega del software, defectos
detectados e informados por los usuarios finales,
productos de trabajo entregados, el esfuerzo humano y
el tiempo consumido,... (Pressman, 2002)
Medición de proceso
Por este motivo, el enfoque de medición del
proceso [software] se ha centrado en recopilar una
serie de métricas de todos los proyectos y
durante un largo período de tiempo.
El objetivo entonces es proporcionar
indicadores que lleven a mejoras de los
procesos software a largo plazo.
Medición de proceso
Otro enfoque de medición del
proceso es a nivel conceptual, ya
que es posible que la complejidad
u otras características de calidad
del modelo del proceso puedan
afectar a su ejecución y por ende
a la calidad de los productos
finales obtenidos.
Medición de proceso
En este sentido se pueden encontrar algunos
estudios para evaluar la mantenibilidad de los
modelos de los proceso software. (García, 2004)
Se definen una serie de métricas sobre modelos de
procesos representados con el lenguaje SPEM
(Software Process Engineering Metamodel)
(OMG, 2002), pero que pueden ser aplicados a
otros lenguajes de modelado.
Medición de proceso
El modelo conceptual de SPEM está basado en
la idea de que un proceso de desarrollo de
software consiste en la colaboración entre
entidades abstractas y activas, denominadas
“roles de proceso”, que realizan operaciones
denominadas “actividades”, sobre entidades
tangibles denominadas “productos de
trabajo”.
Medición de proceso
Para las métricas de los modelos de procesos se
consideran dos niveles de alcance:
Nivel de modelo, son métricas que se aplican
para medir la complejidad estructural del proceso
en su conjunto.
Nivel de elementos fundamentales, mide los
elementos del modelo, tales como actividades,
roles definidos en el proceso y productos de trabajo
Medición de proceso
Métrica Definición
NA 5 NDPA 4
Producto = Productividad*Esfuerzo*Tiempo
Medición del Proyecto
Donde:
● Producto, representa la cantidad de funcionalidad
expresada en tamaño, (LOC, Puntos Función, etc.)
● Esfuerzo, el esfuerzo total del personal del proyecto
para desarrollar el producto, usualmente medida en
personas/mes.
● Tiempo, duración del proyecto, medida en meses.
● Productividad, relación entre la funcionalidad
producida en el tiempo y el esfuerzo dedicado.
Medición del Proyecto
La ecuación luego fue refinada en base al análisis
de los resultados históricos de una base de
proyectos, quedando:
Tamaño de = Índice de x a x b
Esfuerzo Tiempo
producto productividad
DC = CLOC / LOC
Medición del Producto
Otras métricas para evaluar la longitud de un
programa son:
● Número de sentencias de programación,
similar a LOC.
● SIZE1, se define como el número de puntos y
comas; solo aplicable a lenguajes que usan este
símbolo para separar sentencias.
Medición del Producto
Otras métricas para evaluar longitud,...
Métricas de las ciencias del software, que
intenta independizar las métricas del lenguaje de
programación.
Se basan en los tokens, que son unidades
sintácticas elementales distinguibles por el
compilador y que pueden ser divididos en
operadores y operandos.
Medición del Producto
Métricas de las ciencias del software, las
métricas son:
● La longitud de un programa,
● El volumen de un programa y
● El esfuerzo de implementación de un programa.
Medición del Producto
Las métricas base definidas para los elementos
indicados son:
μ1 = número de operadores diferentes que aparecen en el
programa.
μ2 = número de operandos diferentes que aparecen en el
programa.
N1 = número total de veces que aparece el operador.
N2 = número total de veces que aparece el operando.
Grafos de control.
Representación de las estructuras básicas de un programa.
Medición del Producto
A partir del grafo de control, las alternativas de
cálculo de esta métrica son las siguientes:
● V(G) = A - N + 2, siendo A el número de arcos
y N el número de nodos.
● V(G) = r, siendo r el número de regiones
cerradas del grafo.
● V(G) = c + 1, siendo c el número de nodos de
condición.
Medición del Producto
A mayor valor de la métrica V(G) entonces mayor
la complejidad del programa.
Se indica también que un valor razonable de esta
métrica para que un módulo sea mantenible debe
ser menor de diez, V(G) < 10.
Medición del Producto
a. V(G) = A - N + 2
V(G) = 14 - 11 + 2
V(G) = 5
b. V(G) = r
V(G) = 5
c. V(G) = c + 1
V(G) = 4 + 1
V(G) = 5
Medición del Producto
Fan-in y Fan-out, propuestas por Henry y
Kafura en 1981, ambas métricas trabajan sobre la
estructura de un módulo representado como un
árbol o grafo de llamadas entre módulos.
El fan-in de un módulo m es el número de flujos
que terminan en m.
El fan-out de un módulo m es el número de flujos
que salen de m.
Medición del Producto
Complejidad de un módulo, está basada en las
métricas fan-in y fan-out y fue creada también
Henry y Kafura en 1981, siendo su definición:
MHK = longitud(i) * [fan-in(i) * fan-out(i)]2
Consultar stock 1 1 1 14 14
Tratar Petición 1 1 1 20 20
Informar Petición 1 0 0 6 0
Rechazar Petición 1 0 0 5 0
Métricas Orientadas a Objetos
El software desarrollado siguiendo el
paradigma orientado a objetos difiere en
importante medida del software desarrollado
usando enfoque tradicionales.
Ello planteó la necesidad de definir nuevas
métricas adaptadas a las características
particulares de este paradigma.
Métricas Orientadas a Objetos
En la bibliografía se pueden encontrar diversas
propuestas de métricas para SOO, a saber:
● Métricas MOOSE (Chidamber y Kremerer, 1994)
● Métricas MOOD (Brito e Abreu y Carapuca , 1994)
● Métricas de Lorenz y Kidd (1994)
● Métricas para UML
● Puntos Función para SOO
Métricas Orientadas a Objetos
Métricas MOOSE, compuesto por las
siguientes métricas:
1. Métodos ponderados por clase
2. Profundidad del árbol de herencia de una clase
3. Número de hijos
4. Acoplamiento entre objetos
5. Respuesta de una clase
6. Falta de cohesión en los métodos
Métricas Orientadas a Objetos
Métodos ponderados por clase (WMC), mide
la complejidad de una clase.
Si todos los métodos son igualmente complejos,
entonces WMC es igual al número de métodos
definidos en la clase.