2. Cocomo II
• Es un modelo de estimación de costes.
• Constructive Cost Model (Modelo Constructivo de Costo).
• Creado por Barry W. Boehm.
3. Los objetivos principales que se tuvieron en cuenta
para construir el modelo COCOMO II fueron:
• Desarrollar un modelo de estimación de costo y cronograma de proyectos de
software.
• Construir una base de datos de proyectos.
• Implementar una herramienta de software que soportara el modelo.
• Proveer un marco analítico cuantitativo y un conjunto de herramientas y técnicas que
evaluaran el impacto de las mejoras tecnológicas de software sobre los costos y
tiempos en las diferentes etapas del ciclo de vida de desarrollo.
COCOMO II está compuesto por tres modelos denominados: Composición de
Aplicación, Diseño Temprano y Post-Arquitectura.
4. 1. Modelo I:
Nivel inicial de prototipo - Modelo
Composición de Aplicación.
• Se expresa en meses/persona (PM) y representa los meses de trabajo de una persona full time, requeridos para desarrollar el proyecto.
• Estimación del Esfuerzo Estimaciones realizadas con puntos de objeto y una fórmula simple para el cálculo del esfuerzo
• Soporta proyectos con prototipo y proyectos que hacen uso intensivo de la reutilización.
• Basado en estimaciones estándar de la productividad del desarrollador en puntos-objeto/mes.
• Tiene en cuenta el uso de herramientas CASE
• La fórmula es:
Cálculo de Esfuerzo
PM = ( NOP * (1 - %reuso/100 ) ) / PROD
• Donde:
• NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar expresado en Puntos Objeto y se calcula de la siguiente manera:
• %reuso: Porcentaje de reuso que se espera lograr en el proyecto
• PROD: Es la productividad promedio determinada a partir del análisis de datos de proyectos en [Banker 1994]
5. 2. Modelo II:
Modelo para Diseño Temprano (EDM)
• Se usa en las etapas tempranas de un proyecto de software, cuando se conoce muy poco del tamaño del producto a ser desarrollado. Este
modelo podría emplearse tanto en productos desarrollados en sectores de Generadores de Aplicación, Sistemas Integrados o Infraestructura.
La fórmula para el cálculo del esfuerzo es la siguiente:
• Donde:
• PM Estimado: es el esfuerzo nominal ajustado por 7 factores, que reflejan otros aspectos propios del proyecto que afectan al esfuerzo
necesario para la ejecución del mismo.
• KSLOC: es el tamaño del software a desarrollar expresado en miles de líneas de código fuente.
• A: es una constante que captura los efectos lineales sobre el esfuerzo de acuerdo a la variación del tamaño, (A=2.94).
• B: es el factor exponencial de escala, toma en cuenta las características relacionadas con las economías y des economías de escala producidas
cuando un proyecto de software incrementa su tamaño.
6. Modelo III:
Nivel post-arquitectura.
• Es el modelo de estimación más detallado y se aplica cuando la arquitectura del proyecto está completamente definida. Este modelo se aplica
durante el desarrollo y mantenimiento de productos de software incluidos en las áreas de Sistemas Integrados, Infraestructura y Generadores
de Aplicaciones. La fórmula para el cálculo del esfuerzo es la siguiente:
• Personas Mes Nominales . PM= A * Tamaño B * EMi (A= 2.94)
• B < 1. Los esfuerzos de desarrollo mejoran cuando escalan. Si se dobla el tamaño, el esfuerzo es menor del doble.
• B = 1. Los proyectos están balanceados. Los aumentos son proporcionales.
• B > 1. Los esfuerzos de desarrollo empeoran cuando escalan. Si se dobla el tamaño, el esfuerzo es menor del doble.
• Factor de Escala B = 0,91 + 0,01 × W i
• Cálculo de Esfuerzo PM = PM nominal * IIEMi
8. Lo que la pantalla Cocomo II se parece al iniciar un nuevo proyecto.
Tenga en cuenta que usted comienza a cabo en el modelo de arquitectura post , y no existe
un modelo Composición de aplicaciones disponibles .
10. Realmente no se puede hacer mucho a menos que se añade un
módulo , por lo que elija Edición Agregar módulo . Una nueva
línea se muestra en la pantalla con un nombre de módulo por
defecto.
11. 1. Cambie el
nombre del
módulo a lo que
quieras .
2. Ahora haga doble clic en el
rectángulo amarillo bajo Tamaño de
módulo ...
12. Esta pantalla aparecerá permitiéndonos elegir entre la fuente de
líneas de código ( SLOC ), puntos de función , o la adaptación y
reutilización. Vamos a seguir con SLOC para este módulo .
13. He indicado mi lenguaje de programación C ++ es ( esto es muy
importante saber de los puntos de función ) , hay un estimado de
10.000 líneas de código , y el 20 % del código será descartada
debido a los requisitos evolución y volatilidad. Pulsa OK ...
14. La pantalla principal se actualiza con el SLOC y lenguaje de programación , así como
algunos valores calculados vamos a descifrar más tarde. Tenga en cuenta que el SLOC es
de 12.000 . ¿Por qué? { Parte pertinente de cálculo en la siguiente diapositiva en cajas
rojas } Ahora añadir otro módulo y elegir los puntos de función .
16. Esta es la pantalla por
defecto de los puntos
de función .
Veamos más
profunda a las
descripciones de tipo
de función ...
Esta es la pantalla por defecto de los puntos de función . Veamos más profunda a las descripciones de tipo de función ..
17. Entrada externa (
Entradas )
Contar cada datos de usuario o tipo de entrada de control de
usuario que (i) entra en el limite extreme del Sistema de software
que se esta midiendo y (j) Agrega o cambia los datos en un
archive interno logico interno.
Salida externa (
salidas )
Contar cada tipo de salida de datos de usuario único o de control
que deja el límite externo del sistema de software que se está
midiendo .
De archivo logico
interno (archivos)
Contar cada grupo lógico principal de datos de usuario o información de
control en el sistema de software como un tipo de archivo interno lógico.
Incluye cada archivo lógico (por ejemplo , cada grupo lógico de datos)
que se genera , utiliza , o mantenido por el sistema de software .
Archivos de
interface externa
(interfaces)
Pasaron archivos o compartidos entre los sistemas de software
deben ser contados como los tipos de archivos de interfaz
externos dentro de cada sistema.
Su mensaje externo
(consultas).
Contar cada combinación de entrada-salida única, donde una
entrada provoca y genera una salida inmediata , como un tipo de
consulta externa
From Cocomo II User Manual via software
18. Así que vamos a
volver a esta pantalla y
añadir algunas
entradas en la
cuadrícula.
Aviso , hay algún tipo
de subtotales por línea
, pero el equivalente
SLOC = 0 .
Vamos a cambiar el
lenguaje y ver qué pasa
.
19. Al cambiar el idioma a
C ++ , ahora tenemos
un total equivalente en
SLOC .
También, podemos ver
un valor al lado del
botón Cambiar
multiplicador .
Vamos a cambiar el
lenguaje en código
máquina !
20. Una gran diferencia
que salta de 10.653
SLOC a 128.640
SLOC .
Tenga en cuenta el
multiplicador pasado
de 53 a la 640.
Cambiar el idioma una
vez más a la
Generación 5 'th .
21. Así, utilizando un lenguaje
de nivel de generación de 5
'th reduciría nuestra base de
código en un factor de 285
veces de acuerdo a la
estimación por defecto del
Cocomo II (no calibrada
para su entorno , sin tener
en cuenta otros factores ) .
Cambiar el idioma a C ++
y cambiar REVL al 20 % ...
22. Así que ahora tiene Module2 F: 12783 o, en otras palabras, está basado en
puntos de función ( F :) y tiene un equivalente de 12.783 líneas de código (
10.653 + 20 % para la volatilidad ) .
Entonces, ¿cómo lo hicieron los 12.783 (o incluso el 10.653 ) Calculado
conseguir ?
Parte 1 de la contestación es hacer clic en Parameters puntos de función .
Verá la siguiente pantalla ...
23. Estos son los valores por defecto utilizados como factores de ponderación en
contra de las entradas se pone en . Así que si introdujo 2,3,4 cuando se
introduce en la información de puntos función para la primera fila , el
resultado final sería de 2 * 7 + 3 * 10 + 4 *15. Esto entonces se multiplica
por el multiplicador ...
24. Language Value
Machine Code 640
Assembly, Basic 320
First Generation 320
Assembly, Macro 213
C 128
Fortran77 107
Second Generation 107
Procedural 105
Cobol 85, ANSI 91
High Level 91
Pascal 91
Modula 2 80
Report Generator 80
Third Generation 80
Ada 83 71
Fortran 95 71
Basic, ANSI 64
Lisp 64
Prolog 64
C++ 53
Java 53
Ada 95 49
AI Shell 49
Basic, Compiled 49
Forth 49
Language Value
Simulation Default 46
Database Default 40
Access 38
Visual C++ 34
APL 32
Basic, Interpreted 32
Object Oriented 29
Visual Basic 5.0 29
Perl 21
UNIX Shell 21
Fourth Generation 20
PowerBuilder 16
HTML 3.0 15
Query Default 13
Spreadsheet Default 6
Fifth Generation 5
USR_1 1
USR_2 1
USR_3 1
USR_4 1
USR_5 1
Default Multiplier values per Language
25. Así que vamos a ver qué parte del cálculo que acabamos agarrados ...
26. Cocomo II basic calcs:
Effort Equation for Post Architecture Model
Una vez más , hemos afectado a la misma parte del cálculo de esfuerzo como cuando
entramos directamente líneas de código .
27. Así que ahora vamos a añadir un módulo y el uso de Adaptación y Reciclar ...
28. Todos estos artículos
están asociados con un
modelo de reutilización
no lineal.
¿Por qué no lineal ?
estudio de la NASA de
3000 módulos de re -
utilizado encontró :
1.Hay un costo de alrededor
de 5 % sólo para
evaluar , seleccionar y
asimilar un proyecto
2. Pequeñas modificaciones
generan costes
desproporcionadament
e grandes .
29. Modulo de Estimacion no lineal de cocomo II (de acuerdo con el manual del modelo)
Inglés
30. modelo de estimación
no lineal de cocomo II ,
de acuerdo con el manual
del modelo:
... % Del código que va a
cambiar?
% De esfuerzo requerido para
integrar el adaptada software en
un producto general y para
poner a prueba el producto
resultante en comparación con
la cantidad normal de
integración y prueba esfuerzo
para el software de tamaño
comparable.
31. La comprension del software
(SU): utilice la siguiente table para
ayudarle a subir con una media
ponderada basada en tres areas
clave..
La comprensión del software (SU ) : Utilice la siguiente tabla para ayudarle a subir con una media ponderada basada en tres áreas clave ...
32. Evaluación y Asimilación ( AA ) : 0 a
8. Esfuerzo para determinar si un
módulo de software reutilizado
totalmente es apropiado para la
aplicación y la integración de su
descripción en el producto global
descripción
33.
34. Estas dos últimas zonas tienen para
hacer frente a la traducción
automática de código
. La cifra es ATPROD en los
estados de origen / persona y mes.
El manual Modelo entra en más
detalles .
35. Cocomo II basic calcs:
Effort Equation for Post Architecture Model
Así que a través de la adaptación y Reciclar ahora hemos abordado las áreas de cálculo en
este color azul ...
Así que ahora vamos a hablar de los factores de ajuste del esfuerzo ( EEP )
36. Haga doble clic en el rectángulo amarillo en el EEP para el módulo 1
37. Esta pantalla pop -up .
Al hacer clic en
cualquier botón fila
superior botón
determinado , el título
del botón cambiará (
Nom, alto, muy alto ,
muy bajo, bajo , etc ) y
verá el horno eléctrico
de arco en la parte
inferior de la pantalla
cambian .
38. He cambiado sólo el botón de
Confiar de VHI y al hacerlo , la
EAF ha cambiado a 1,26 .
Así que sólo incrementamos la
ecuación Esfuerzo en un 26 %
!!! Haga clic en Aceptar para ver
el resultado .
39. Por lo que el horno eléctrico de arco para el módulo 1 ha cambiado . También vemos
cambios en los resultados a la derecha ... NOM DEV ha permanecido igual ; EST DEV
ha ido 48,6-61,6 ; PROD 245,6-194,9 ; El personal de 3 a la 3,7; y peligro de 0.0 a 1,7.
Qué significa todo esto?
40. •NOM DEV : nominales Meses hombre persona exclusivos del EEP .
•EST DEV : Meses Mediana persona inclusivas del EEP .
•PROD : SLOC / EST DEV Esfuerzo . Por lo que la unidad es Fuente líneas de código
por el hombre Mes .
Costo: Si hubiéramos entrado en una tasa de trabajo , el coste sería , calculado .
41. •
INST COSTE : calculado costo más probable es que por instrucción . Este número se
calcula a partir de coste / SLOC en cada módulo.
• Personal: muy probablemente estimación para el número de desarrolladores a tiempo
completo que serían necesarios para completar un módulo en el tiempo de desarrollo
estimado .
•RIESGO : total_risk = schedule_risk + product_risk + + personnel_risk process_risk +
+ platform_risk reuse_risk . A continuación, el riesgo total de un módulo = total_risk /
373 * 100 .
42. Vamos a volver a visitar la
pantalla EEP. . ¿Qué
significa cuando elegimos "
VHI " (muy alto ) ?
Cualitativamente , eso es
una frase bonita . Pero
¿qué significaba
cuantitativamente ?
Correo electrónico recibido de la
USC después de la presentación :
las palancas % Incr son sólo un
refinamiento adicional de la
"base " en incrementos de 25 %
de la gama ...
43. Para responder a esta pregunta es necesario hacer clic en las opciones de menú anteriores
Parameters Post Architecture Product . Nota: Existen otros menús de parámetros al
igual que las opciones post- Arch / producto .
Se puede ver una lista de los de arriba . Puede ajustar los pesos de punto de función , los
factores de horno de arco eléctrico para la arquitectura de principios , los factores de
escala , el número de horas en un mes persona, etc.
44. Esto es donde se configuran las medidas cuantitativas asociadas con sus opciones
cualitativos . Esta es la forma de calibrar Cocomo II para adaptarse a su medio ambiente.
También puede guardar las calibraciones como módulo independiente.
45. " Muy Alto" , " Muy baja " , etc están bien, pero ¿cuáles son los
detalles detrás de ellos? Para obtener esta respuesta, que realmente
tiene que visitar el Manual Modelo , que es una debilidad en Cocomo
II . Así que para ampararse, aquí es lo que dice el manual del modelo:
Por lo tanto la selección de " Muy Alta " "El riesgo para la vida
humana " realmente se quiere decir y , a través de la opción de menú
Parameters Post Architecture Product para depender cambiado la
contribución EEP por un factor de 1,26 .
46. Cocomo II calculadoras básicas : Ecuación
Esfuerzo para Post Arquitectura Modelo
Al ajustar los factores de ajuste del esfuerzo , estamos viendo la parte de la ecuación
Esfuerzo en verde por encima de ...
Por último , en la ecuación de esfuerzo es los factores de escala .
47. •Si volvemos a la pantalla principal y haga clic en factor de escala , vemos la pantalla
emergente anterior .
•Nota importante : Factor de escala y calendario son para todo el proyecto , no
específicos del módulo !!!
48. Cambiar Precedentedness de VHI . Observe que el número a la derecha del
botón cambia a 1,24 . Haga clic en Aceptar
49. Nótese que algunos de los costos han cambiado . En particular , se han bajado. Al
disminuir el exponente en la ecuación de esfuerzo, hemos reducido el gasto de esfuerzo
requerido .
Vamos a ver qué área del cálculo que estamos hablando ...
50. Cocomo II calculadoras básicas : Ecuación
Esfuerzo para Post Arquitectura Modelo
Por lo que la porción de factor de escala de la ecuación Esfuerzo ahora aparece resaltada
en color morado !
Nota; Se trata de b se muestra a continuación !
51. Una vez más , ¿qué significa " VHI " significa cuantitativamente para " Precedentedness " , y
cuáles son los detalles?
De Factores Parameters Scale , podemos encontrar las medidas cuantitativas que se
muestran arriba en el pop-up ...
52. ... Y otra vez , desde el Manual Modelo poco de ayuda en la
determinación de cómo elegir muy bajo, nominal , muy alta , etc.
53. Vamos a hablar sobre el factor SCED , que se aplica en todo el
proyecto. El cálculo de la Lista es :
54. Una mayor área de entrada de dirección en esta primera pantalla : Programación. Si hacemos
clic en el botón Lista en la esquina superior derecha , podemos ajustar el programa de
compresión / elongación a través de la ventana emergente que vemos en la pantalla .
55. Una vez más , desde el manual del modelo y en el menú
Parameters Post Architecture Project podemos poner más
valores cuantitativos para nuestra selección ..
56. Debe tenerse en cuenta que hemos estado tratando con el modelo de arquitectura post .
Un modelo inicial de diseño está también disponible con sólo el 7 Factores esfuerzo de
ajuste , ninguna evaluación del riesgo ( que yo sepa ) , y los mismos factores de escala de
todo el proyecto y calendario . PERO ... en Cocomo II hay un ajuste de peso lista
separada en cada modelo.
57. ¿Qué otra información se puede obtener a partir de los cálculos? Así , por ejemplo, sabemos
que el total de líneas de código estimados ...
58. También se nos da una serie de estimaciones , + / - una desviación estándar de la media.
59. También podemos ver algunos informes con la distribución del esfuerzo , ya sea como un
ciclo de vida de la cascada o " MBASE " ( un modelo en espiral ) , y en todas las fases o para
una fase concreta .
Por lo tanto , una de las opciones anteriores , vamos a elegir " Fase general "
60. Observe los porcentajes para la elaboración y construcción suma el 100 % !!! Inicio y
transición están configurados de forma estática como porcentaje de la elaboración y
construcción, en este caso en un 6% y 12 % , respectivamente .
61. Vamos a echar un vistazo a la fase de Inicio en MBASE ...
63. Asciende hasta el 100 % ... opciones del menú Archivo. Los
intrigantes son la capacidad de cambiar los factores de ponderación
de los factores de ajuste del esfuerzo , los factores de escala , Persona
meses-hombre , y los puntos de función ... y luego salvar a aquellos
como su propio modelo para futuros proyectos .
Además, si se elige la opción de exportación , a continuación, puede
cargar hasta informes adicionales a través de una interfaz de Excel
(se puede encontrar el archivo de Excel mediante la navegación a
través de la Start Programs USC Cocomo II ) .
64. Bibliography
• Kemerer (1993 ) : Los estudios empíricos de los supuestos que subyacen en
la estimación de costos de software .
• Información y Software Technol . , 34 ( 4 ) , 211-18 , 1992
• Software Tamaño Estimación :
http://yunus.hacettepe.edu.tr/~sencer/size.html
• Manual de COCOMO II.1999.0
• Modelo:ftp://ftp.usc.edu/pub/soft_engineering/COCOMOII/cocomo99.0
/userman.pdf
• Manual de Ayuda cocomo II disponible a través del software. " Cocomo " ,
Seminario sobre Estimación de costes de software . Nancy Merlo - Schett .
http://www.ifi.uzh.ch/rerg/fileadmin/downloads/teaching/seminars/semin
ar_ws0203/Seminar_4.pdf "Visión general de COCOMO " por
SoftStarSystems.com . http://www.softstarsystems.com/overview.htm