School Work y costos software">
Clase 06 Costos
Clase 06 Costos
Clase 06 Costos
Planificacin de Proyectos
Money, so they say / Is the root of all evil / Today Pink Floyd
"Oh dear! Oh dear! I shall be too late!" White Rabbit Alice In Wonderland
Costo y el Esfuerzo
Costo y el Esfuerzo
Para calcular los costos de un sistema es necesario
calcular, entre otras cosas su tamao y en
consecuencia el esfuerzo necesario para desarrollarlo
mtricas?
cmo mido el
tamao de una
aplicacin?
Puntos de Funcin
Errores por
Caso de Uso
Nmero de
Clases e
Interfaces
Errores por
Lnea de Cdigo
Otras...
Fuente: http://es.wikipedia.org/wiki/Mtrica_(informtica)
Hola Mundo en
Assembler
(Aproximadamente
15 lneas de cdigo)
peor an...
por ejemplo...
Puntos de Funcin
Es una mtrica que sirve para estimar el tamao de
una aplicacin de forma independiente del lenguaje de
programacin o las tecnologas utilizadas
Los requisitos funcionales del sistema son
identificados y clasificados dentro de cada uno de
los siguientes cinco tipos: entradas, salidas,
interacciones con el usuario, interfaces externas y
archivos utilizados por el sistema
La mtrica fue fundamentalmente diseada para
sistemas de informacin de gestin (de negocios,
empresariales, etctera)
Es decir:
Los puntos de funcin
miden el tamao de un
sistema en trminos de la
cantidad de funcionalidad
del sistema!
Puntos de Funcin
(5 Componentes Bsicos)
Entradas: IU -> (Archivos / BD / Otros Sistemas)
Salidas: (Archivos / BD / Otros Sistemas) -> IU
Interacciones / Consultas: IU -> Archivos / BD -> UI
Interfaces Externas: Integracin con otras
aplicaciones, bases de datos, etctera externas al
sistema
Archivos (Interfaces) Internos: Integracin con
fuentes de datos internas
Puntos de Funcin
(5 Componentes Bsicos)
Categora
Cantidad
Entradas
Salidas
Interacciones
Interfaces Externas
Archivos Internos
Puntos de Funcin
(PF)
Cada uno de los elementos de las categoras
anteriores se vuelve a clasificar segn su complejidad
en simples, promedio y complejo, asignando pesos
adicionales que van de 3 a 15 (respectivamente)
Categora
Cantidad
Total
Simples
Promedio
Complejos
Puntos de
Funcin
Entradas
1x3
2x7
1x15
3+14+15=32
Salidas
3x3
0x7
0x15
9+0+0=9
Interacciones
2x3
0x7
2x15
6+30=36
Interfaces Externas
3x3
1x7
1x15
9+7+15=31
Archivos Internos
2x3
0x7
0x7
6+0+0=6
114
Puntos de Funcin
(Factor Ambiental / Aspectos Generales)
Se toman en cuenta las caractersticas no funcionales
(Aspectos Generales del Sistema)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Factor Ambiental
Rating (0...5)
5
4
3
0
5
4
2
2
5
2
3
4
2
2
43
Puntos de Funcin
(CAF)
Se calcula el CAF
(Complexity Adjustment Factor)
Puntos de Funcin
(AFP)
Se calcula el AFP
(Adjusted Funtion Points)
AFP = FP
* CAF
Puntos de Aplicacin
(SLOC/FP)
Lenguaje
SLOC/FP
(Source Lines Of Code) / (Function Points)
--
Avg
Med
Mn
Mx
ASP
56
50
32
106
Assembler
209
203
91
320
148
107
22
704
C++
59
53
20
178
C#
58
59
51
66
FoxPro
36
35
34
38
J2EE (Java)
57
50
50
67
Java
55
53
214
JavaScript
54
55
45
63
JSP
59
.NET
60
60
60
60
Perl
57
57
45
60
PL/SQL
47
39
16
78
Puntos de Funcin
Si estamos programando en Java
6820 ... y?
(Ser acertado este clculo?)
Puntos de Funcin
Puntos de Funcin
Puntos de Funcin
Puntos de Funcin
Y qu???
Puntos de Funcin
La estrategia de PF se basa en la
experiencia del que calcule los PF
(fundamentalmente) y en el
conocimiento y grado de correcta
aplicacin de los criterios usados para
calcularlos
Puntos de Funcin
Adems...
Con los PF o la cantidad de lneas de
cdigo no resolvemos el problema
de determinar el costo de una
aplicacin...
B
1,05
M
1,02
Esfuerzo=A * TamaoB * M
Tamao (PF)
Esfuerzo (PM)
Equipo de 5
Equipo de 10
En 6 meses
En 12 meses
PF
A*PF B*M
PM/5
PM/10
PM/6
PM/12
10
12,02
2,4
1,2
20
24,88
4,98
2,49
4,15
2,07
30
38,09
7,62
3,81
6,35
3,17
40
51,52
10,3
5,15
8,59
4,29
50
65,12
13,02
6,51
10,85
5,43
60
78,86
15,77
7,89
13,14
6,57
70
92,71
18,54
9,27
15,45
7,73
80
106,67
21,33
10,67
17,78
8,89
90
120,71
24,14
12,07
20,12
10,06
100
134,83
26,97
13,48
22,47
11,24
30
25
20
Equipo de 5
Equipo de 10
En 6 meses
En 12 meses
15
10
0
10
20
30
40
50
60
70
80
90
100
Tamao (PF)
The Mythical
Man Month
En general, no es
posible forzar la
cantidad de
participantes en
un proyecto ms
all de cierto
punto para
acelerar la fecha
de entrega
Lo peor que se puede hacer para resolver retrasos existentes en un
proyecto es aadir mas personal al equipo de trabajo...
Ver: http://en.wikipedia.org/wiki/The_Mythical_Man-Month
COCOMO 81
(Constructive Cost Model)
COCOMO 81
(Constructive Cost Model)
Proyectos Simples: Aplicaciones bien entendidas desarrolladas
por equipos pequeos
PM=2.4 * KSLOC1.05 * M
Proyectos Moderados: Aplicaciones ms complejas en las que
el equipo de desarrollo tiene experiencia limitada en el tipo de
sistema en cuestin
PM=3.0 * KSLOC1.12 * M
Proyectos Empotrados: Proyectos complejos donde la
aplicacin es parte de un fuerte acoplamiento de software,
hardware y reglas operacionales
PM=3.6 * KSLOC1.20 * M
COCOMO 81
(Constructive Cost Model)
Atributos
Siglas
Valor
Muy bajo
Bajo
Nominal
Alto
Muy alto
Extra
alto
Atributos de software
Fiabilidad
RELY
0,75
0,88
1,15
1,4
--
DATA
--
0,94
1,08
1,16
--
Complejidad
CPLX
0,7
0,85
1,15
1,3
1,65
Atributos de hardware
TIME
--
--
1,11
1,3
1,66
--
--
1,06
1,21
1,56
--
0,87
1,15
1,3
--
TURN
--
0,87
1,07
1,15
--
Restricciones de tiempo de
ejecucin
Tiempo de respuesta
Atributos de personal
Capacidad de anlisis
ACAP
1,46
1,19
0,86
0,71
--
Experiencia en la aplicacin
AEXP
1,29
1,13
0,91
0,82
--
PCAP
1,42
1,17
0,86
0,7
--
Experiencia en la mquina
virtual
Experiencia
en el lenguaje
VEXP
1,21
1,1
0,9
--
--
LEXP
1,14
1,07
0,95
--
--
MODP
1,24
1,1
0,91
0,82
--
Utilizacin de herramientas de
software
TOOL
1,24
1,1
0,91
0,83
--
Restricciones de tiempo de
desarrollo
SCED
1,23
1,08
1,04
1,1
--
Fuente: http://es.wikipedia.org/wiki/COCOMO
COCOMO 81
(Constructive Cost Model)
Modelo Bsico:
M=1
Modelo Intermedio:
M = RELY * DATA * CPLX * TIME * STOR *
VIRT * TURN * ACAP * AEXP * PCAP * VEXP *
LEXP * MODP * TOOL * SCED
COCOMO 81
(Constructive Cost Model)
COCOMO II
(Constructive Cost Model)
http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html
SLOC
Esfuerzo
(PM)
Alfa
12.100
24
Beta
27.200
Gamma
...
Costo
(BsF)
Pginas
Documentacin
Errores
Defectos
Personas
45.000
165
134
29
8,00
62
140.000
245
321
86
12,40
20.200
43
150.000
500
256
64
7,17
...
...
...
...
...
...
...
...
Tiempo de
Desarrollo
(Meses)
Ventajas:
Preciso si se dispone de datos previos
Desventajas:
Imposible de realizar si no se han desarrollado
proyectos comparables.
Es necesario mantener una base de datos con
la informacin necesaria.
Es necesario que las condiciones generales de
los proyectos a comparar sean similares.
Juicio Experto
Juicio Experto
Costo=
=Happy Monkey
<== El Experto!!!
Juicio Experto
De verdad, no es
broma...
Cmo lo hacen?
Juicio Experto
CU01
CU02
CU09
CU03
CU10
actor
CU04
actor
CU05
CU11
CU06
actor
CU07
CU12
CU08
actor
El costo se puede
estimar en funcin a
un grupo de
requisitos / casos de
uso / funcionalidad
inicial, la experiencia
de los expertos en el
dominio y la
experiencia de los
expertos en software
Juicio Experto
Tiempos / Costos de Desarrollo Sistema XXX
Costo / hora
Bs65,00
Tiempo (Das)
Costo
15
Bs7.800,00
10
Bs5.200,00
25
Bs13.000,00
2
2
1
3
Bs1.040,00
Bs1.040,00
Bs520,00
Bs1.560,00
Bs4.160,00
20
5
Bs10.400,00
Bs2.600,00
25
Bs13.000,00
20
0
Bs10.400,00
Bs0,00
Subtotal
20
Bs10.400,00
78
Bs40.560,00
Subtotal
Recursos Logsticos
Subtotal
Control de calidad / ajustes finales
Control de Calidad
Instalacin y puesta a punto final
Subtotal
Manuales / Entrenamiento
Desarrollo del manual de usuario
Entrenamiento
Juicio Experto
Ventajas:
Suele ser muy barato.
Puede ser muy exacto si se cuenta con los
expertos adecuados.
Desventajas:
Imposible de realizar (o muy impreciso) si no se
cuenta con los expertos adecuados
Ley de Parkinson
Pricing to Win
Costos fijos
Concepto
Costos Fijos
Administradores
Limpieza
Alquiler
2.000,00
Papelera
1.000,00
Luz / Agua
400,00
Redes / Comunicacin
500,00
Condominio
200,00
TOTAL (A)
6.700,00
4.000,00
15,00
446,67
A/C
4.446,67
B+D
26,47
Planificacin (Tareas)
Proceso
Tcnico 1
Proceso
Tcnico 2
Grupo de
Procesos
Proceso
Tcnico N
NO ENTRAR EN
MUCHO DETALE
Proceso A
...
...
Subproceso
A.1
Proceso B
...
...
Subproceso
A.n
Proceso C
...
Planificacin (Hitos)
Estudio de
Viabilidad
Informe
de
Viabilidad
La definicin y
verificacin de
Hitos es una
forma de darle
visibilidad al
proceso
Perfilar
Requisitos
Definicin
de
Requisitos
Desarrollo de
Prototipos
Especificacin
de Requisitos
Especificacin
de
Requisitos
Prototipos
Informe
de
Evaluacin
de Prototipos
NO ENTRAR EN
MUCHO DETALE
Modelos Incrementales
(Modelo Incremental)
Requerimientos
y Funcionalidad
Planificar slo
pensando en los
requerimientos o
slo pensando en el
proceso
(especialmente esto
ltimo) usualmente
no es adecuado
R
ec
ur
so
hu
m
an
os
Mtodo / Proceso
Gestin de
Grupos
(eGroupware,
PHPGroupware)
Soporte
al Usuario
(Foros, Issue
Trackers y otras
herramientas
Discusiones
(Foros y otras
herramientas)
(mybb, phpbb,
fluxbb, SMF)
Gestin de
Cdigo Fuente
(SCM)
(CVS, SVN, Hg,
Git, etc)
Manejo de
Contenido
(CMS)
(Drupal,
Joomla, etc)
Base
de Conocimiento
(Wiki / Otras)
Dokuwiki,
Mediawiki,
etc
Gestin y
Asignacin de Tareas
(Redmine, dotProject,
eGroupware,
Trac)
Gestin
de Bugs
(FlySpray, Trac,
Jira, Mantis,
etc)
Gestin de
Documentos
(GoogleDocs,
KnowledgeTree,
eGroupWare,
Collanos)
Manejo de
Clientes
(CRS)
Gestin
gil de Proyectos
(SCRUM, XP,
Otros)
Gestin de
Recursos
Humanos
otras...
(Launchpad,
Atlassian (tools),
PHProjekt,
Gforge, Saros)
Sobre el PMBok
Ms informacin en:
http://www.pmi.org/
(PMBok: Project Management Body of Knowledge)
http://marketplace.eclipse.org/content/saros-distributed-collaborative-editing-and-pair-programming
Gracias
Gracias!