You are on page 1of 8

Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

1
Ingeniera de Software Karen Justo Garca

Mtricas, Estimacin y Planificacin en Proyectos de
Software
Cuando se planifica un proyecto se tiene que obtener estimaciones del costo y esfuerzo humano
requerido por medio de las mediciones de software que se utilizan para recolectar los datos
cualitativos acerca del software y sus procesos para aumentar su calidad.
De las Mtricas
En la mayora de los desafos tcnicos, las mtricas nos ayudan a entender tanto el proceso tcnico
que se utiliza para desarrollar un producto, como el propio producto. El proceso para intentar
mejorarlo, el producto se mide para intentar aumentar su calidad.
El principio, podra parecer que la necesidad de la medicin es algo evidente. Despus de todo es
lo que nos permite cuantificar y por consiguiente gestionar de forma ms efectiva. Pero la realidad
puede ser muy diferente. Frecuentemente la medicin conlleva una gran controversia y discusin.
1. Cules son las mtricas apropiadas para el proceso y para el producto?
2. Cmo se deben utilizar los datos que se recopilan?
3. Es bueno usar medidas para comparar gente, procesos o productos?
Estas preguntas y otras tantas docenas de ellas siempre surgen cuando se intenta medir algo que
no se ha medido en el pasado.
Hay varias razones para medir un producto, algunas de ellas son:
1. Para indicar la calidad del producto.
2. Para evaluar la productividad de la gente que desarrolla el producto.
3. Par evaluar los beneficios en trminos de productividad y de calidad, derivados del uso
4. de nuevos mtodos y herramientas de la ingeniera de software.
5. Para establecer una lnea de base para la estimacin
6. Para ayudar a justificar el uso de nuevas herramientas o de formacin adicional.
Las mediciones del mundo fsico pueden englobarse en dos categoras: medidas directas y
medidas indirectas.

Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

2
Ingeniera de Software Karen Justo Garca

Medidas Directas.
En el proceso de ingeniera se encuentran el costo, y el esfuerzo aplicado, las lneas de cdigo
producidas, velocidad de ejecucin, el tamao 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.
MTRICAS DEL SOFTWARE.
Son las que estn relacionadas con el desarrollo del software como funcionalidad, complejidad y
eficiencia.
Mtricas tcnicas: Se centran en las caractersticas de software por ejemplo: la complejidad lgica,
el grado de modularidad, mide la estructura del sistema, el Cmo est hecho?
Mtricas de calidad: proporcionan una indicacin de cmo se ajusta el software a los requisitos
implcitos y explcitos del cliente. Es decir cmo voy a desarrollar para que mi sistema se adapte a
los requisitos que me pide el cliente.
Mtricas de productividad. Se centran en el rendimiento del proceso de la ingeniera del software.
Es decir que tan productivo va a ser el software que voy a disear.
Mtricas orientadas a la persona. Proporcionan informacin sobre las personas, tal como:
La forma en que la gente desarrolla software
El punto de vista humano
La opinin del personal sobre la efectividad de las herramientas
Su motivacin e incentivos
Sobre el ambiente de trabajo
Mtricas orientadas al tamao. Es para saber en qu tiempo voy a terminar el software y cuantas
personas voy a necesitar Medidas directas sobre el proyecto, del resultado y la calidad, si una
organizacin de software mantiene registros sencillos, se puede crear una tabla de datos
orientados al tamao como se muestra en la siguiente figura:
Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

3
Ingeniera de Software Karen Justo Garca


La tabla lista cada proyecto del desarrollo del software de los ltimos aos correspondientes,
datos orientados al tamao de c/u. Refirindonos a la entrada de la tabla del proyecto 999-01 se
desarrollaron 12.1 KLDC (miles de lneas de cdigo) con un esfuerzo de 24 personas mes y un costo
de 168 mil dlares. Debe tenerse en cuenta que el esfuerzo y el costo registrados en la tabla
incluyen todas las actividades de la ingeniera de software como son anlisis, diseo, codificacin y
prueba. Otra informacin del proyecto 222-01 indica que se desarrollaron 365 paginas mientras
que se encontraron 29 errores tras entregrselo al cliente, dentro del primer ao de utilizacin
tambin sabemos que trabajaron 3 personas en el desarrollo del proyecto.
En los rendimientos del sistema y los rudimentarios datos contenidos en la tabla se puede
desarrollar, para cada proyecto un conjunto de mtricas sencillas de productividad y calidad
orientadas al tamao. Se obtienen las siguientes formulas:
Productividad = KLDC/persona-mes
Calidad = errores/KLDC
Documentacin = pags. Doc/ KLDC
Costo = $/KLDC
persona-mes es el esfuerzo
Mtricas orientadas a la funcin. Son medidas indirectas del software y del proceso por el cual se
desarrolla. En lugar de calcularlas las LDC, las mtricas orientadas a la funcin se centran en la
funcionalidad o utilidad del programa.
Las mtricas orientadas a la funcin fueron el principio propuestas por Albercht quien sugiri un
acercamiento a la medida de la productividad denominado mtodo del punto de funcin. Los
puntos de funcin que obtienen utilizando una funcin emprica basando en medidas cuantitativas
del dominio de informacin del software y valoraciones subjetivos de la complejidad del software.
Los puntos de funcin se calculan rellenando la tabla como se muestra en la siguiente figura:
Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

4
Ingeniera de Software Karen Justo Garca

Calculo de mtricas de punto de funcin

Se determinan 5 caractersticas del mbito de la informacin y los clculos aparecen en la posicin
apropiada de la tabla. Los valores del mbito de informacin estn definidos de la siguiente
manera.
1. Nmeros de entrada de usuario: se cuenta cada entrada del usuario que proporcione al
software diferentes datos orientados a la aplicacin. Las entradas deben ser distinguidas de las
peticiones que se contabilizan por separado.
2. Nmero de salida del usuario: se encuentra cada salida que proporciona al usuario informacin
orientada a la aplicacin. 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.
3. Nmeros de peticiones al usuario: una peticin est definida como una entrada interactiva que
resulta de la generacin de algn tipo de respuesta en forma de salida interactiva. Se cuenta cada
peticin por separado.
4. Nmero de archivos: se cuenta cada archivo maestro lgico, o sea una agrupacin lgica de
datos que puede ser una parte en una gran base de datos o un archivo independiente.
5. 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 informacin a otro
sistema.
Cuando han sido recogidos los datos anteriores se asocian el valor de complejidad a cada cuenta.
Las organizaciones que utilizan mtodos de puntos de funcin desarrollan criterios para
determinar si una entrada es denominada simple, media o compleja. No obstante la
determinacin de la complejidad es algo subjetivo.
Para calcular los puntos de funcin se utiliza la siguiente relacin.
Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

5
Ingeniera de Software Karen Justo Garca

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 sealadas de la siguiente tabla.
Evaluar cada factor en escala 0 a 5.

Los valores constantes de la ecuacin anterior y los factores de peso aplicados en las encuestas de
los mbitos de informacin han sido determinados empricamente.
Una vez calculado los puntos de funcin se usan de forma analgica a las LDC como medida de la
productividad, calidad y otros productos del software.
Productividad = PF / persona-mes
Calidad = Errores / PF
Costo = Dlares / PF
Documentacin = Pags. Doc / PF
Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

6
Ingeniera de Software Karen Justo Garca

La medida de puntos de funcin se dise originalmente para ser utilizadas en aplicacin de
sistemas de informacin de gestin. Sin embargo, algunas aplicaciones se les denominan puntos
de caractersticas.
La medida del punto de caracterstica da cabida a aplicaciones cuya complejidad algortmica es
alta. Las aplicaciones de software de tiempo real de control de procesos y de sistemas que
encontrados tienden a tener una complejidad algortmica alta y por tanto fcilmente tratables por
puntos de caractersticas.
Para calcular los puntos de caractersticas, nuevamente se cuentan y ponderan los valores del
mbito de informacin, como se describi anteriormente. Adems, las mtricas de punto de
caracterstica tienen en cuenta otra caracterstica del software, los algoritmos. Un algoritmo se
define como un problema de complejidad computacional limitada que se incluye dentro de un
determinado programa de computadora. La inversin de una matriz, la decodificacin de una
cadena de bits o el manejo de una interrupcin son todo ellos ejemplos de algoritmos.
Para calcular los puntos de caracterstica, se utiliza la siguiente tabla:

Se usa nico valor de peso para cada uno de los parmetros de medida y se calcula el valor del
punto caracterstica global mediante la ecuacin.
PF = CUENTA_TOTAL * [0.65 + 0.01 * SUM(fi)]
Debe tenerse en cuenta que los puntos de caracterstica y los puntos de funcin representan lo
mismo. "funcionalidad o utilidad" en forma de software.

Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

7
Ingeniera de Software Karen Justo Garca

ESTIMACIN
Es una pequea planeacin sobre qu es lo que va a ser mi proyecto. Una de las actividades
cruciales del proceso de gestin del proyecto del software es la planificacin. Cuando se planifica
un proyecto de software se tiene que obtener estimaciones de esfuerzo humano requerido, de la
duracin cronolgica del esfuerzo humano requerido, de la duracin cronolgica del proyecto y
del costo. Pero en muchos de los casos las estimaciones se hacen valindose de la experiencia
pasada como nica gua. Si un proyecto es bastante similar en tamao y funciona un proyecto es
bastante similar en tamao y funciona un proyecto pasado es probable que el nuevo proyecto
requiera aproximadamente la misma cantidad de esfuerzo, que dure aproximadamente lo mismo
que el trabajo anterior. Pero qu pasa si el proyecto es totalmente distinto entonces puede que la
experiencia obtenida no sea lo suficiente.
Se han desarrollado varias tcnicas de estimacin para el desarrollo de software, aunque cada una
tiene sus puntos fuertes y sus puntos dbiles, todas tienen en comn los siguientes atributos:
1. Se han de establecer de antemano el mbito del proyecto.
2. Como bases para la realizacin de estimaciones se usan mtricas del software de
proyectos pasados.
3. El proyecto engloba partes ms pequeas que se estiman individualmente.
PLANEACIN DEL PROYECTO
La planeacin efectiva de un proyecto de software depende de la planeacin detallada de su
avance, anticipado problemas que puedan surgir y preparando con anticipacin soluciones
tentativas a ellos. Se supondr que el administrador del proyecto es responsable de la planeacin
desde la definicin de requisitos hasta la entrega del sistema terminado. No se analizara la
planeacin que implica a la estimacin de la necesidad de un sistema de software y la habilidad de
producir tal sistema, la asignacin de prioridad al proceso de su produccin.
Los puntos analizados posteriormente generalmente son requeridos por grandes sistemas de
programacin, sin embargo estos puntos son vlidos tambin para sistemas pequeos. Panorama.
Hace una descripcin general del proyecto detalle de la organizacin del plan y resume el resto del
documento.
Plan de fases. Se analiza el ciclo de desarrollo del proyecto como es: anlisis de requisitos, fase de
diseo de alto nivel, fase de diseo de bajo nivel, etc. Asociada con cada fase debe de haber una
fecha que especifique cuando se debe terminar estas fases y una indicacin de cmo se pueden
solapar las distintas fases del proyecto.
Plan de organizacin. Se definen las responsabilidades especficas de los grupos que intervienen
en el proyecto.
Mtricas, estimacin y planificacin para el software 8 de septiembre de 2014

8
Ingeniera de Software Karen Justo Garca

Plan de pruebas. Se hace un esbozo general de las pruebas y de las herramientas, procedimientos
y responsabilidades para realizar las pruebas del sistema.
Plan de control de modificaciones. Se establece un mecanismo para aplicar las modificaciones que
se requieran a medida que se desarrolle el sistema.
Plan de documentacin. Su funcin es definir y controlar la documentacin asociada con el
proyecto.
Plan de capacitacin. Se describe la preparacin de los programadores que participan en el
proyecto y las instrucciones a los usuarios para la utilizacin del sistema que se les entregue.
Plan de revisin e informes. Se analiza cmo se informa del estado del proyecto y se definen las
revisiones formales asociadas con el avance de proyecto.
Plan de instalacin y operacin. Se describe el procedimiento para instalar el sistema en la
localidad del usuario.
Plan de recursos y entregas. Se resume los detalles crticos del proyecto como fechas
programadas, marcas de logros y todos los artculos que deben entrar bajo contrato.
Indice. Se muestra en donde encontrar las cosas dentro del plan.
Plan de mantenimiento. Se establece un bosquejo de los posibles tipos de mantenimiento que se
tienen que dar para futuras versiones del sistema.
ERRORES CLASICOS EN UN PROYECTO DE SOFTWARE
1. Mal anlisis en los requerimientos.
2. Una mala planeacin.
3. No tener una negociacin (documento, contrato) con el cliente.
4. No hacer un anlisis costo beneficio.
5. Desconocer el ambiente de trabajo de los usuarios.
6. Desconocer los usuarios que trabajan con el sistema.
7. Mala eleccin de recursos (hardware, software, humanos).

You might also like