La medición es muy común en el mundo de la ingeniería. Medimos potencia de consumo, pesos, dimensiones físicas, temperaturas, voltajes, señales de ruidos por mencionar algunos aspectos. Desgraciadamente la medición se aleja de lo común en el mundo de la ingeniería del software. Encontramos dificultades en ponernos de acuerdo sobre que medir y como va evaluar las medidas.
Hay varias razones para medir un producto.
- Para indicar la calidad del producto.
- Para evaluar la productividad de la gente que desarrolla el producto.
- Par evaluar los beneficios en términos de productividad y de calidad, derivados del uso de nuevos métodos y herramientas de la ingeniería de software.
- Para establecer una línea de base para la estimación
- Para ayudar a justificar el uso de nuevas herramientas o de formación adicional.
Las mediciones del mundo físico pueden englobarse en dos categorías: medidas directas y medidas indirectas.
Medidas Directas. En el proceso de ingeniería se encuentran el costo, y el esfuerzo aplicado, las líneas de código producidas, velocidad de ejecución, el tamaño de memoria y los defectos observados en un determinado periodo de tiempo.
Medidas Indirectas. Se encuentra la funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de mantenimiento, etc.
Las Metricas del software son las que están relacionadas con el desarrollo del software como funcionalidad, complejidad, eficiencia.
MÉTRICAS TÉCNICAS: Se centran en lasa características de software pro ejemplo: la complejidad lógica, el grado de modularidad. Mide la estructura del sistema, el cómo esta hecho.
MÉTRICAS DE CALIDAD: proporcionan una indicación de cómo se ajusta el software a los requisitos implícitos y explícitos del cliente. Es decir cómo voy a medir para que mi sistema se adapte a los requisitos que me pide el cliente.
MÉTRICAS DE PRODUCTIVIDAD. Se centran en el rendimiento del proceso de la ingeniería del software. Es decir que tan productivo va a ser el software que voy a diseñar.
MÉTRICAS ORIENTADAS A LA PERSONA. Proporcionan medidas e información sobre la forma que la gente desarrolla el software de computadoras y sobre todo el punto de vista humano de la efectividad de las herramientas y métodos. Son las medidas que voy a hacer de mi personal que va hará el sistema.
MÉTRICAS ORIENTADAS AL TAMAÑO. Es para saber en que tiempo voy a terminar el software y cuantas personas voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla,
En los rendimientos del sistema y los rudimentarios datos contenidos en la tabla se puede desarrollar, para cada proyecto un conjunto de métricas sencillas de productividad y calidad orientadas al tamaño. Se obtienen las siguientes formulas:
Productividad = KLDC/persona-mes
Calidad = errores/KLDC
Documentación = pags. Doc/ KLDC
Costo = $/KLDC
MÉTRICAS ORIENTADAS A LA FUNCIÓN. Son medidas indirectas del software y del proceso por el cual se desarrolla. En lugar de calcularlas las LDC, las métricas orientadas a la función se centran en la funcionalidad o utilidad del programa.
Las métricas orientadas a la función fueron el principio propuestas por Albercht quien sugirió un acercamiento a la medida de la productividad denominado método del punto de función. Los puntos de función que obtienen utilizando una función empírica basando en medidas cuantitativas del dominio de información del software y valoraciones subjetivos de la complejidad del software.
Los puntos de función se calculan rellenando la tabla como se muestra en la siguiente figura:
Los valores constantes de la ecuación anterior y los factores de peso aplicados en las encuestas de los ámbitos de información han sido determinados empíricamente.
Una vez calculado los puntos de función se usan de forma analógica a las LDC como medida de la productividad, calidad y otros productos del software.
Las métricas orientadas a la función fueron el principio propuestas por Albercht quien sugirió un acercamiento a la medida de la productividad denominado método del punto de función. Los puntos de función que obtienen utilizando una función empírica basando en medidas cuantitativas del dominio de información del software y valoraciones subjetivos de la complejidad del software.
Los puntos de función se calculan rellenando la tabla como se muestra en la siguiente figura:
Se determinan 5 características del ámbito de la información y los cálculos aparecen en la posición apropiada de la tabla. Los valores del ámbito de información están definidos de la siguiente manera.
- Números de entrada de usuario: se cuenta cada entrada del usuario que proporcione al software diferentes datos orientados a la aplicación. Las entradas deben ser distinguidas de las peticiones que se contabilizan por separado.
- Numero de salida del usuario: se encuentra cada salida que proporciona la usuario información orientada ala aplicación. En este contexto las salidas se refieren a informes, pantalla, mensajes de error. Los elementos de datos individuales dentro de un informe se encuentran por separado.
- Números de peticiones al usuario: una petición esta definida como una entrada interactiva que resulta de la generación de algún tipo de respuesta en forma de salida interactiva. Se cuenta cada petición por separado.
- Numero de archivos: se cuenta cada archivo maestro lógico, o sea una agrupación lógica de datos que puede ser una parte en una gran base de datos o un archivo independiente.
- Numero de interfaces externas: se cuentan todas las interfaces legibles por la maquina por ejemplo: archivos de datos, en cinta o discos que son utilizados para transmitir información a otro sistema.
Cuando han sido recogidos los datos anteriores se asocian el valor de complejidad a cada cuenta. Las organizaciones que utilizan métodos de puntos de función desarrollan criterios para determinar si una entrada es denominada simple, media o compleja. No obstante la determinación de la complejidad es algo subjetivo.
Para calcular los puntos de función se utiliza la siguiente relación.
PF = CUENTA_TOTAL * [0.65 + 0.01 * SUM(fi)]
Donde CUENTA_TOTAL es la suma de todas las entradas de PF obtenidas de la tabla anterior.
Fi donde i puede ser de uno hasta 14 los valores de ajuste de complejidad basados en las respuestas a las cuestiones señaladas de la siguiente tabla.
Evaluar cada factor en escala 0 a 5.
Los valores constantes de la ecuación anterior y los factores de peso aplicados en las encuestas de los ámbitos de información han sido determinados empíricamente.
Una vez calculado los puntos de función se usan de forma analógica a las LDC como medida de la productividad, calidad y otros productos del software.
Productividad = PF / persona-mes
Calidad = Errores / PF
Costo = Dólares / PF
Documentación = Pags. Doc / PF
MODELO COCOMO
El modelo COCOMO se basa en la existencia de tres niveles que ha de aplicarse según el estado en que se encuentre el desarrollo del proyecto.
•Estos tres niveles son:
–Modelo básico
–Modelo intermedio
–Modelo detallado
La función básica que utilizan los tres modelos es:
donde:
a y b: Son constantes con valores definidos en cada sub-modelo
Kl o KLOC: Es la cantidad de líneas de código excluyendo comentarios, en miles.
m(X): Es un multiplicador que depende de 15 atributos.
El resultado se da en unidades salario/mes y horas-hombre.
cada sub-modelo también se divide en modos de trabajo que representan el tipo de
proyecto, y puede ser:
1. Modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía desde unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles (medio).
2. Modo Semilibre o Semiencajado: corresponde a un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo puede incluir una mezcla de personas experimentadas y no experimentadas.
3. Modo Rígido o Empotrado: el proyecto tiene fuertes restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.
FUNDACION FES
El modo de trabajo es Rígido y el modelo es Básico.
Según Bib. | Formulario | |
Persona x mes (P) | MM | a*(Klb) |
Tiempo de Desarrollo (Td) | TDEV | C*Pd |
Costo del Software (CT) | CosteM | P/Td*SalProm |
Esfuerzo (E) | E | P*m(x) |
Calcular el Punto de Fusión
Parámetro | Cuenta | Simple | Medio | Complejo | ST | |||
#Entradas |
* | 3 | 4 |
| 192 | |||
#Salidas |
* | 4 | 5 |
| 112 | |||
#Peticiones |
* | 3 |
| 96 | ||||
#Archivos |
* | 7 | 10 | 100 | ||||
#Interfaces |
* | 5 | 7 | 10 = | 300 | |||
Cuenta Total | 800 |
Evaluación de 0 – 5
Preg. | Resp. | Preg. | Resp. | Preg. | Resp. |
1 | 3 | 6 | 4 | 11 | 5 |
2 | 4 | 7 | 1 | 12 | 0 |
3 | 4 | 8 | 4 | 13 | 0 |
4 | 2 | 9 | 5 | 14 | 5 |
5 | 4 | 10 | 5 |
Fi = 45
Pf = 800*[0.65+0.01*45] = 880
Kl = 880/1000 = 0.88
Tabla de Constantes del Modelo Básico
MODO | a | b | c | d |
Orgánico | 2.40 | 1.05 | 2.50 | 0.38 |
Semilibre | 3.00 | 1.12 | 2.50 | 0.35 |
Rígido | 3.60 | 1.20 | 2.50 | 0.32 |
P = 3.6*(0.88)1.2
P = 3.08 = 3 personas
T = 2.5*(3.08)0.32= 3.58 = 3 meses y medio
Campos | Salario | Personal |
Analista | 500 | Hazel Ramírez |
Desarrollador | 300 | Javier Reyes |
Programador | 300 | Kenny Coleman |
Desarrollador | 300 | Jenny Hodgson |
Total | 1400 | Prom = 1400/4 = 350 |
CT = [3.08/3.58]*350
CT = 301.12 ganancia
AGENCIA DE VIAJES SKY LIGHT TOUR
El modo de trabajo es Rígido y el modelo es Básico.
Según Bib. | Formulario | |
Persona x mes (P) | MM | a*(Klb) |
Tiempo de Desarrollo (Td) | TDEV | C*Pd |
Costo del Software (CT) | CosteM | P/Td*SalProm |
Esfuerzo (E) | E | P*m(x) |
Calcular el Punto de Fusión
Parámetro | Cuenta | Simple | Medio | Complejo | ST | |||
#Entradas |
* | 3 | 4 |
| 150 | |||
#Salidas |
* | 4 | 5 |
| 112 | |||
#Peticiones |
* | 3 |
| 96 | ||||
#Archivos |
* | 7 | 10 | 100 | ||||
#Interfaces |
* | 5 | 7 | 10 = | 200 | |||
Cuenta Total | 658 |
Evaluación de 0 – 5
Preg. | Resp. | Preg. | Resp. | Preg. | Resp. |
1 | 3 | 6 | 4 | 11 | 5 |
2 | 5 | 7 | 3 | 12 | 0 |
3 | 4 | 8 | 4 | 13 | 0 |
4 | 2 | 9 | 5 | 14 | 4 |
5 | 5 | 10 | 3 |
Fi = 47
Pf = 658*[0.65+0.01*45] = 736
Kl = 736/1000 = 0.736
Tabla de Constantes del Modelo Básico
MODO | a | b | c | d |
Orgánico | 2.40 | 1.05 | 2.50 | 0.38 |
Semilibre | 3.00 | 1.12 | 2.50 | 0.35 |
Rígido | 3.60 | 1.20 | 2.50 | 0.32 |
P = 3.6*(0.88)1.2
P = 2.4 = 2 personas
T = 2.5*(2.4)0.32= 3.30 = 3 meses
Campos | Salario | Personal |
Analista | 500 | Hazel Ramírez |
Desarrollador | 300 | Javier Reyes |
Programador | 300 | Kenny Coleman |
Desarrollador | 300 | Jenny Hodgson |
Total | 1400 | Prom = 1400/4 = 350 |
CT = [2.4/3.30]*350
CT = 255 ganancia
No hay comentarios:
Publicar un comentario