Professional Documents
Culture Documents
Ingeniera de Software
2015
METODOS MANUALES
INTEGRANTES:
-
Aricoch
Garca
Llontop Suyn, Alexis
Maldonado
Merino
Ingeniera de Software
METODOS MANUALES
Tabla de Contenido
Introduccin..................................................................................................................... 4
Mtodos Basados en Mtricas de Lnea de Cdigo (LOC).................................................5
Frmula......................................................................................................................... 6
Ventajas y Desventajas................................................................................................. 7
Ejemplo......................................................................................................................... 8
Mtodos Basados en Proporciones y Porcentajes.............................................................8
Desventaja.................................................................................................................... 8
Factores de Ajuste......................................................................................................... 9
Desarrollo por clase de Software............................................................................... 9
Desarrollo por tamao de Software.........................................................................10
Interseccin entre Mtodos basados en proporciones y LOC......................................10
Mtodos Basados en Mtricas de Punto de Funcin.......................................................11
Esquema..................................................................................................................... 12
Composicin............................................................................................................... 12
Factores de clculo..................................................................................................... 13
Frmulas..................................................................................................................... 14
Ejemplo....................................................................................................................... 15
Relacin entre puntos de funcin y lneas de cdigo..................................................16
Ttulo 1........................................................................................................................... 16
Ttulo 2........................................................................................................................ 16
Ttulo 3..................................................................................................................... 16
METODOS MANUALES
Ingeniera de Software
METODOS MANUALES
Introduccin
El software ha alcanzado una mala reputacin pues ha sido considerado como una
tecnologa perturbadora. Los grandes proyectos de software han tendido a tener una
muy alta frecuencia de exceso de calendarizacin, costos, problemas de calidad e
indiscutibles cancelaciones. Mientras esta mala reputacin a menudo es merecida, es
importante notar que algunos grandes proyectos de software finalizan a tiempo y con el
presupuesto estimado, adems funcionan satisfactoriamente cuando stos son
desplegados.
Los grandes proyectos exitosos difieren de los fracasos. Una diferencia importante es la
utilizacin de estimaciones automatizadas respecto a las estimaciones manuales, estas
ltimas son generalmente inexactos y a menudo excesivamente optimistas contrario a
las estimaciones automatizadas que conducen a estimaciones ms exactas.
Hay que tener en cuenta que las estimaciones manuales y las automatizadas pueden
ser equitativamente cercanas en trminos de prediccin del esfuerzo de programacin
o codificacin, pero las estimaciones automatizadas son mejores para predecir
actividades de no codificacin (crecimiento de los requerimientos, esfuerzo del diseo,
esfuerzo de documentacin, esfuerzo de administracin, esfuerzo de evaluacin).
Debido a que el crecimiento de la estimacin de costos es una actividad compleja,
existe un crecimiento industrial de compaas dedicadas a ofrecer diferentes marcas
comerciales de herramientas de estimacin de costos en el mercado. A partir del 2005,
algunas de esas herramientas de estimacin son: COCOMO II (actualizacin de COCOMO
81), CoStar, CostModeler, CostXpert, KnowledgePlan, PRICE S, SEER, SLIM y SoftCost.
Algunas de las herramientas de estimacin de costos ms antiguas, no estn
activamente en el mercado pero todava son utilizadas, tales como: CheckPoint,
COCOMO, ESTIMACS, REVIC y SPQR/20, ya que su uso no es apoyado por los
vendedores, por lo que su utilizacin est en declive.
En 1998 Capers Jones propone una clasificacin de los mtodos de estimacin [Jones, 2007] en
la que aparecen seis metodologas agrupadas en dos grandes grupos: metodologas manuales,
que no tienen herramientas que automaticen el clculo y los mtodos automticos, que s las
tienen.
A continuacin se ofrecen varios mtodos prcticos Manuales de Estimacin de Costos de
Software interesantes y a veces tiles. Se advierte al lector que estos mtodos prcticos no son
adecuados para la realizacin de proyector formales, importantes o de negocio.
Ingeniera de Software
METODOS MANUALES
Redaccin
de cdigo
LOC/mes
1
10
100
1 000
10 000
100 000
1 000 000
2500
2250
2000
1750
1500
1200
1000
Esfuerzo
de
redaccin
de cdigo
- mes
0.0004
0.0044
0.0500
0.5714
6.6667
83.3333
1000.000
Esfuerzo
de
pruebas,
%
Esfuerzo
ajeno a
cdigo, %
10.00
20.000
40.00
50.00
75.00
100.00
125.00
10.00
20.00
40.00
50.00
75.00
100.00
150.00
Esfuerzo
total,
meses
LOC netas
por mes
0.0005
2083
0.0062
1607
0.0900
1111
1.2000
833
17.0000
588
250.0000
400
3750.000
267
0
Tabla 1. Mtodos prcticos basados en Mtricas LOC para lenguajes por
procedimiento (Supone que 1 mes de trabajo= 132 horas de trabajo)
La Tabla 1 ilustra los mtodos prcticos basados en LOC para lenguajes por
procedimientos donde se utiliza meses como unidad de trabajo. Esta forma de unidad
en mes resulta comn en sistemas grandes y si se quiere para programas pequeos se
puede utilizar la unidad en horas.
La columna rotulada Esfuerzo de pruebas, % denota el tiempo relatico para hacer
pruebas en lugar de programar. Como puede apreciarse, entre ms grande sea el
proyecto se necesita ms tiempo para hacer pruebas.
La columna rotulada Esfuerzo ajeno a cdigo, % denota un sinfn de actividades
distintas de la programacin pura, asociada con proyectos de software y que deben
incluirse en la estimacin:
Definicin de requisitos
Diseo externo
Ingeniera de Software
METODOS MANUALES
Diseo interno
Administracin del cambio
Documentacin de usuario
Administracin de proyectos
Frmula
La Lnea de cdigo es cualquier lnea de texto de un programa que no sea un
comentario o lnea en blanco, sin tener en cuenta el nmero de instrucciones o partes
de instrucciones en la lnea. Esta medida suele representarse por NCLOC (NoComentary
Lines of code).Para calcular la longitud de un programa se utiliza la siguiente frmula:
LOC = NCLOC + CLOC
Donde CLOC es el nmero de lneas de comentarios (Comentary Lines of Code).
Cuando se busca solo la nocin de pura longitud, se manejan dos alternativas
aceptables:
a)Medir la longitud en trminos de bytes de almacenamiento requerido para contener
el texto del programa.
b)Medir la longitud en trminos de nmero de caracteres en el texto del programa. Si
se conoce el nmero medio de caracteres por lnea de texto (NL); el nmero de lneas
se calcula de la siguiente forma:
LOC = Char / NL
Ingeniera de Software
METODOS MANUALES
Ventajas y Desventajas
Este mtodo prctico puede ser til para alguno e intil para otros por ese motivo a
continuacin presentaremos algunas ventas y desventajas de usar la estimacin en
LOC.
Ventajas
Desventajas
El problema en el uso de este mtodo es que no se tome en cuente el concepto de
reutilizacin, as como los costos fijos, ni las tareas que se desarrollan que no producen
cdigo. Por lo que no debe ser utilizado este mtodo directamente en la estimacin de
esfuerzo o productividad.
Ingeniera de Software
METODOS MANUALES
Ejemplo
Ejemplo 01:
Si una organizacin de software mantiene registros sencillos, se puede crear una tabla
de datos orientados al tamao, como se muestra en la siguiente tabla:
Proyecto
Alfa
Beta
Gamma
Esfuerzo
24
62
43
$
168
440
314
KLDC
12.1
27.2
20.2
Pag. Doc.
365
1224
1050
Errores
29
86
64
Gente
3
5
6
La tabla anterior lista cada proyecto de desarrollo de software de los ltimos aos y los
correspondientes datos originados al tamao de cada uno. Debe tenerse en cuenta que
el esfuerzo y el costo registrados en la tabla incluyen todas las actividades de
ingeniera de software: anlisis, diseo, codificacin y prueba. Con los datos de la tabla
se pueden calcular valores medidos con todos los proyectos como son:
Productividad = KLDC/persona-mes
Calidad = errores/KLDC
Costo = Dlares/KLD
Documentacin = pgs. de doc. /KLDC
Ventajas y Desventajas
Ventajas
Ingeniera de Software
METODOS MANUALES
Desventajas
El problema bsico con la estimacin basada en proporciones, radica en la falsa
suposicin de que existen proporciones constantes entre redaccin de cdigo y otras
actividades clave, como pruebas, administracin de proyectos, integracin, etctera.
De hecho, las proporciones varan de forma significativa, con base en cinco conjunto de
variables independientes:
Factores de Ajuste
Existen demasiadas combinaciones de factores para ilustrarlas todas, pero resulta
instructivo ver cmo los porcentajes aplicados en actividades de software clave, varan
en relacin con la clase y tamao de la aplicacin.
Actividad
Definicin
de
requisitos
Proyectos
de usuario
final
0
Proyectos
MIS
Proyectos
de sistemas
Proyectos
comerciales
Proyectos
militares
10
Ingeniera de Software
METODOS MANUALES
Diseo
10
Redaccin
60
de Cdigo
Pruebas
30
Administraci 0
n de
cambios
Documentac 0
in
Administraci 0
n del
proyecto
Total
100
Tabla de Porcentajes
(Supone una aplicacin
12
25
15
18
10
25
15
18
30
6
30
10
36
5
22
12
10
10
12
12
10
13
100
100
100
100
de esfuerzo de desarrollo por clase de software.
de 1 000 puntos de funcin o 100 000 instrucciones
de cdigo fuente)
Actividad
Proyectos
de 10 PF
Proyectos
de 100 PF
Proyectos
de 1000 PF
Proyectos
10000 PF
Definicin
de
requisitos
Diseo
Proyectos
de 100000
PF
9
10
12
13
Ingeniera de Software
10
METODOS MANUALES
Redaccin
50
40
30
20
15
de Cdigo
Pruebas
27
29
30
33
34
Administraci 1
4
6
7
8
n de
cambios
Documentac 4
6
7
8
9
in
Administraci 8
10
10
12
12
n del
proyecto
Total
100
100
100
100
100
Tabla de Porcentajes de esfuerzo de desarrollo por tamao de software.
(Supone lenguajes por procedimiento, como COBOL o C)
Lenguaje de Programacin
Promedio de reso, %
Ingeniera de Software
11
METODOS MANUALES
Visual Basic
Eiffel
Smaltalk
JAVA
Objetive C
Ada 95
C++
SQL
Ada
COBOL
FORTRAN
Ensamblador de macros
C
Pascal
Jovial
CMS2
PL/I
Ensamblador bsico
Promedio
Tabla Cantidad aproximada de
60.00
55.00
50.00
50.00
45.00
35.00
27.00
25.00
25.00
17.00
15.00
15.00
12.50
12.50
10.00
10.00
7.50
5.00
26.15
cdigo reutilizable por lenguaje.
Ingeniera de Software
12
METODOS MANUALES
Esquema
Primero la aplicacin del mtodo de Puntos de Funcin para determinar las sentencias
de cdigo del proyecto software, la cual mantiene una distorsin, producida por no
considerar esta tcnica la reutilizacin de mdulos preexistentes.
Ingeniera de Software
13
METODOS MANUALES
distribuidas, rendimiento, configuraciones fuertemente utilizadas, frecuencia de
transacciones, entrada on-line de datos, diseo para la eficiencia del usuario final,
actualizacin on-line, procesos complejos, utilizacin en otros sistemas, facilidad de
instalacin, facilidad de operacin, instalacin de mltiples sitios y facilidad de cambio,
posibilitando a partir de all el establecimiento, de acuerdo a ratios especficos, de la
cantidad de sentencias de cdigo del sistema software.
Este mtodo calcula los puntos de funcin de un sistema descomponiendo al mismo en
cinco funciones principales (entradas, salidas, consultas, ficheros internos y externos),
asignndoles valores de acuerdo a su complejidad y en funcin de la cantidad de cada
uno de ellos se llega a determinar, mediante su sumatoria, los puntos de funcin, que
son posteriormente ajustados de acuerdo a las caractersticas especficas del proyecto
(International Function Point users Group).
Composicin
Un Punto de Fusin es una mtrica que se compone de la suma ponderada de los
totales de entradas, salidas, consultas, archivos lgicos, e interfaces que se identifican
en la aplicacin.
Salida: Pantallas o informes que la aplicacin produce. Las salidas que requieren
procesamiento separado deben ser contabilizadas en aplicaciones de
remuneracin. Una funcin de salida que genere 100 cheques se cuenta como
una sola (Pantallas de datos de salida, informes impresos, archivo en disco, sets
de cheques). En general, contabilizaremos como salida entidades que son
referenciadas por nombres.
Archivos lgicos: Coleccin lgica de registros que la aplicacin actualiza. Estos
pueden ser planos en una base de datos, una rama de una base de datos
jerrquica, una tabla de una base de datos relacional.
Interfaces: Son los archivos compartidos con otras aplicaciones, como archivos
en cintas magnticas que vienen o van, bases de datos compartidas o listas de
parmetros.
Consultas: son pantallas que permiten al usuario interrogar a la aplicacin y
solicitar asistencia. Tales como pantallas de ayuda(HELP).
Ingeniera de Software
14
METODOS MANUALES
Factores de clculo
Factores de clculo de punto de funcin que se toman en cuenta son los siguientes:
[Rating de 0-5]
1. Comunicaciones de datos
2. Funciones distribuidas
3. Objetivos de performance
4. Configuracin fuertemente utilizado
5. Tasa de transacciones
6. Entrada de datos interactivas (en lnea)
7. Eficiencia del usuario final
8. Actualizacin en lnea
9. Complejo el procesamiento interno
10.Diseado el cdigo para ser reutilizable
11.Factibilidad de la instalacin
12.Factibilidad operacional
13.13.Sitios mltiples
14.Facilidad para los cambios
Procedimiento para clculo del factor de ajuste:
1.
2.
3.
4.
Parmetro
Baja
Media
Alta
Entradas
x3
x4
x6
Salidas
x4
x5
x7
Peticiones
x3
x4
x6
Ficheros
x7
x 10
x 15
x5
x7
x 10
Total
Internos
Ficheros
Externos
Frmulas
Ingeniera de Software
15
METODOS MANUALES
El punto de funcin FP se calcula con la siguiente ecuacin:
PF = T * (0.65 + 0.01 * F).
Clculo del CAF (Complexity Adjustment Factor):
CAF = 0.65 + 0.01 *N
* CAF puede variar entre 0.65 (todos los ratings en 0) hasta 1.35 (todos los
ratings en 5)
Clculo del AFP (Adjusted Funtion Points):
AFP = FP * CAF
Clculo Puntos de Aplicacin (SLOC/FP):
SLOC = LANG_FACTOR * PF
Ejemplo
Ejemplo 02:
Supongamos un aplicacin con 10 entradas, 10 salidas, 10 consultas, 1 archivo de
datos y i archivo de interfaz, todos ellos de complejidad promedio. Supongamos que los
factores de influencia se determinaron de la siguiente manera:
Ingeniera de Software
16
METODOS MANUALES
F1
F2
F3
F4
F38
F5
F39
F6
F 410
F7
F 411
F 12
F 13
F 14
La
El
Parmetro
significativo
Entradas
Salidas
Archivos Lgicos
Archivos de
Interface
Consultas
Baja complejidad
Alta complejidad
10
10
10
1
4
5
4
10
40
50
40
10
Normal
Ingeniera de Software
17
METODOS MANUALES
Ttulo 1
Ttulo 2
Ttulo 3
Normal
http://www.academia.edu/4749373/2_2_Evaluaci%C3%B3n_del_Costo_Beneficio
http://eclases.tripod.com/id14.html
http://www.codecompiling.net/files/slides/clase_06_costos.pdf
ocw.uc3m.es/ingenieria-informatica/principios-de-ingenieria-informatica/psp-0.1
http://www.liderdeproyecto.com/articulos/estimacion_costos_de_software.html
Ingeniera de Software
18