modelo cocomo (ingeniera de software)

36
MODELO COCOMO Modelo Constructivo de Costos (COnstructive COst Model)

Upload: yadith-miranda-silva

Post on 15-Jan-2017

750 views

Category:

Engineering


10 download

TRANSCRIPT

Page 1: MODELO COCOMO (INGENIERA DE SOFTWARE)

MODELO COCOMO Modelo Constructivo de

Costos(COnstructive COst Model)

Page 2: MODELO COCOMO (INGENIERA DE SOFTWARE)

Ingeniería de Software Andrea Vecino Yadith Miranda

Verónica Obregón Andrés Barrios

David Pava

Tecnología en Sistemas(VI Semestre)

Page 3: MODELO COCOMO (INGENIERA DE SOFTWARE)

Cocomo es un modelo diseñado por Barry W. Boehm para dar una estimación de el número de meses hombre que tomará para desarrollar un producto software.

Es un modelo matemático de base empírica utilizado para estimación de costos de software. Incluye tres submodelos, cada uno ofrece un nivel de detalle y aproximación, cada vez mayor, a medida que avanza el proceso de desarrollo del software: Básico, Intermedio y Detallado.

3

¿Qué es el Modelo COCOMO?

Page 4: MODELO COCOMO (INGENIERA DE SOFTWARE)
Page 5: MODELO COCOMO (INGENIERA DE SOFTWARE)

Simple: proyectos pequeños de < 50KLDC, en los cuales se tiene experiencia de proyectos similares

Moderado: proyectos de complejidad media(< 300 KLDC) donde la experiencia es variable.

Incrustado: proyectos bastante complejos donde la experiencia es nula y se utiliza tecnología realmente de frontera.

Page 6: MODELO COCOMO (INGENIERA DE SOFTWARE)

Las estimaciones de LDC y PF son técnicas de estimación distintas: 

LDC (Orientadas al tamaño)PF (Orientadas a la función)

Los datos de LDC y PF se utilizan de dos formas durante la estimación del proyecto de software.

Estimación LDC y PF

Page 7: MODELO COCOMO (INGENIERA DE SOFTWARE)

El valor esperado para la variable de estimación, E, puede

obtenerse como una media ponderada de las estimaciones

LDC o PF optimista (a), más probable (m), y pesimista (b) de

las estimaciones LDC o PF por ejemplo:

E = (a + 4m + b)/6

EJEMPLO: LDC

Técnicas de Estimación

Page 8: MODELO COCOMO (INGENIERA DE SOFTWARE)

Este modelo se crea como una alternativa a laestimación del tamaño de un producto softwaremediante LDC (Líneas de Código Fuente).

El método de estimación de puntos de función seutiliza para determinar el tamaño del software.

Están orientadas a la función es decir se centran en la funcionalidad o utilidad del programa.

EJEMPLO

PF= ConteoTotal * [0,65 + 0,01 * ∑ (Fi )]

Modelos de Punto de Función

Page 9: MODELO COCOMO (INGENIERA DE SOFTWARE)

Trabaja en Función de 3 Submodelos:Modelo BásicoModelo IntermedioModelo Detallado

Page 10: MODELO COCOMO (INGENIERA DE SOFTWARE)

MODELOS DE ESTIMACION Las ecuaciones que se utilizan en los tres modelos son: , en persona-mes , en meses , en personas donde: E es el esfuerzo requerido por el proyecto, en persona-

mes Tdev es el tiempo requerido por el proyecto, en meses P es el número de personas requerido por el proyecto a, b, c y d son constantes con valores definidos en una

tabla, según cada submodelo Kl es la cantidad de líneas de código, en miles. m(X) Es un multiplicador que depende de 15 atributos.

Page 11: MODELO COCOMO (INGENIERA DE SOFTWARE)

E= esfuerzo (hombre/mes)KLOC= número (miles) estimado de líneas de código del proyecto.

E= a (KLOC)b

D= c (E)dTiempo de desarrollo:

El modelo COCOMO básico

Page 12: MODELO COCOMO (INGENIERA DE SOFTWARE)

La Variable “a” es un factor constante que depende de las practicas organizacionales locales y del tipo de software que se desarrolla.

La variable b por lo general se encuentra entre (1;1.5), refleja el esfuerzo requerido en la mayoria de proyectos

Page 13: MODELO COCOMO (INGENIERA DE SOFTWARE)

Coeficientes a usar:

PROYECTO SOFTWARE

a b c d Descripción

Simple 3,2 1,05 2,5 0,38

Aplicaciones bien comprendidas desarrolladas por equipos pequeños

Moderada 3,0 1,12 2,5 0,35

Proyectos más complejos donde los miembros del equipo tienen experiencia limitada en sistemas relacionados

Incrustada 2,8 1,20 2,5 0,32

Proyectos complejos donde el software es parte de un complejo fuertemente acoplado de hardware, software, reglas y procedimientos operacionales.

Page 14: MODELO COCOMO (INGENIERA DE SOFTWARE)

Supongamos que una empresa cualquiera desea diseñar un proyecto que gestione sus inventarios y decide desarrollarlo mediante su propio equipo de analista y programadores que anteriormente y durante muchos años, vienen desarrollando aplicaciones similares en la misma empresa.

Si un estudio inicial determina que el tamaño del producto en alrededor de 32 000 líneas de programa fuente (32 KLOC). Cuales serán las características del proyecto?.

Ejemplo:

Page 15: MODELO COCOMO (INGENIERA DE SOFTWARE)

E = 2.4 (32)1.05

E = 91 hombres-mes

D = 2.5 (91)0.38D= c (E)bd

•Esfuerzo:

•Tiempo de desarrollo:

= 14 meses

N = 91/14

•Número de personas trabajando en el proyecto:

= 6.5 hombresLa cantidad de hombres nos da una medida del número equivalente de personas trabajando a tiempo completo en el proyecto.

Page 16: MODELO COCOMO (INGENIERA DE SOFTWARE)

Considerar un paquete de software a desarrollar para una aplicación de diseño asistido por computador (CAD). Revisando la especificación del sistema encontramos que el software va ejecutarse en una estación de trabajo de microcomputadora y se conectará con varios periféricos gráficos incluyendo ratón, digitalizador, pantalla en color de alta resolución, y una impresora de alta resolución.

La evaluación del alcance indica que se requieren las siguientes funciones principales para el software de CAD:* Interfaz de usuario y facilidades de control (IUCF)* Análisis geométrico bidimensional (AG2D)* Análisis geométrico tridimensional (A3GD)* Gestión de estructuras de datos (GED)* Facilidades de visualización de gráficos de computadora (FVGC)* Control de periféricos (CP)* Módulos de análisis de diseño (MAD)

Ejemplo: LDC

Page 17: MODELO COCOMO (INGENIERA DE SOFTWARE)

SOLUCIONFunción Optimista Más

probablePesimista Esperado

Control de interfaz de usuario

1800 2400 2650 2340

Análisis geométrico en 2-D

4100 5200 7400 5380

Análisis geométrico en 3-D

4600 6900 8600 6800

Gestión de la estructura de datos

2950 3400 3600 3350

Visualización de gráficos en la computadora

4050 4900 6200 4950

Control periféricos 2000 2100 2450 2140Análisis de diseño 6600 8500 9800 8400

33360

LDC estimadasREGRESAR

Page 18: MODELO COCOMO (INGENIERA DE SOFTWARE)

Contraseña Consulta de zona

Consulta de sensor Botón de pánico

Activar/Desactivar

Usuario

Sensores

Usuario

SubsistemaDe

MonitoreoY Respuesta

Datos De Configuracion Del Sistema

Función E Interacción De Usuario En Hogar Seguro

Page 19: MODELO COCOMO (INGENIERA DE SOFTWARE)

SOLUCION Se muestra 3 entradas externas (contraseña, botón de pánico y

activar/desactivar) junto con 2 consultas externas(consulta de zona y consulta de sensor). Se muestra ALI (archivo de configuración del sistema). También están presentes 2 salidas de usuarios( mensajes y estatus del sensor) y 4 AIE (sensor de prueba, configuración de zona, activar /desactivar y alerta de alarma)

PREGUNTAS para determinar los factores de ajustes de valor Fi en PF:

1) ¿El sistema requiere respaldo y recuperación confiables?2) ¿Se requieren comunicaciones de datos especializados para

transferir información a la aplicación, u obtenerla de ella?3) ¿Hay funciones distribuidas de procesamiento?4)¿El desempeño es crítico?5)¿El sistema se ejecutará en un entorno existente que tiene un uso

pesado de operaciones?6)¿El sistema requiere entrada de datos en línea?7)¿La entrada de datos en línea requiere que la transacción de

entrada se construya en varias pantallas u operaciones?

Page 20: MODELO COCOMO (INGENIERA DE SOFTWARE)

8)¿Los ALI se actualizan en línea?9)¿Las entradas, las salidas, los archivos o las

consultas son complejos?10)¿Es complejo el procesamiento interno?11)¿El código diseñado será reutilizable?12)¿Se incluyen la conversión e instalación en el

diseño?13)¿Esta diseñado el sistema para instalaciones

múltiples en diferentes organizaciones?14) ¿La aplicación está diseñada para facilitar el

cambio y para que el usuario use fácilmente?

Page 21: MODELO COCOMO (INGENIERA DE SOFTWARE)

TIPO DE FUNCIONNIVEL DE COMPLEJIDAD

TOTALSIMPLE MEDIO COMPLEJO

Entradas de Usuario

3* 3 3*4 3* 6 9

Salidas de Usuario

2* 4 2*5 2* 7 8

Archivos Internos 1*7 1*10 1* 15 7

Archivos Externos 4* 5 4* 7 4* 10 20

Consultas de Usuario

2* 3 2* 4 2* 6 6

TOTAL PF SIN AJUSTAR PF = 50

Desarrollo de un proyecto matemático de métodos numéricos:

REGRESARPF= 50*(0,65+(0,01*46)) PF=56

Ejemplo PF

Page 22: MODELO COCOMO (INGENIERA DE SOFTWARE)

Modelo COCOMO Intermedio

COCOMO intermedio esfuerzo del desarrollo del software de los cálculos como función del

tamaño del programa y de un sistema de los “conductores del coste” que incluyen el

gravamen subjetivo del producto, del hardware, del personal y de las cualidades del proyecto.

Page 23: MODELO COCOMO (INGENIERA DE SOFTWARE)

Esta extensión considera un sistema de cuatro “los conductores costados”, cada uno con un número de cualidades del subsidiario: Cualidades de producto

◦ Confiabilidad requerida del software◦ Tamaño de la base de datos del uso◦ Complejidad del producto

Cualidades del hardware◦ Apremios de funcionamiento Run-time◦ Apremios de la memoria◦ Volatilidad del ambiente virtual de la máquina◦ Tiempo de turnabout requerido

Cualidades del personal◦ Capacidad del analista◦ Capacidad de la tecnología de dotación lógica◦ Experiencia de los usos◦ Experiencia virtual de la máquina◦ Experiencia del lenguaje de programación

Cualidades del proyecto◦ Uso de las herramientas del software◦ Uso de los métodos de la tecnología de dotación lógica

Horario requerido del desarrollo

Page 24: MODELO COCOMO (INGENIERA DE SOFTWARE)

Cada uno de las 15 cualidades recibe un grado en una escala del seis-punto que se extienda de “muy bajo” a “superior” (en importancia o valor). Un multiplicador del esfuerzo de la tabla abajo se aplica al grado. El producto de todos los multiplicadores del esfuerzo da lugar a coeficiente de adaptación del esfuerzo (EAF). Los valores típicos para EAF se extienden a partir de la 0.9 a 1.4.

Page 25: MODELO COCOMO (INGENIERA DE SOFTWARE)

Conductores del coste GradosMuy bajo

Bajo Nominal Alto Muy arriba Superior

Cualidades de producto

Confiabilidad requerida del software

0.75 0.88 1.00 1.15 1.40

Tamaño de la base de datos del uso

0.94 1.00 1.08 1.16

Complejidad del producto

0.70 0.85 1.00 1.15 1.30 1.65

Cualidades del hardware

Apremios de funcionamiento Run-time

1.00 1.11 1.30 1.66

Apremios de la memoria 1.00 1.06 1.21 1.56

Volatilidad del ambiente virtual de la máquina

0.87 1.00 1.15 1.30

Tiempo de turnabout requerido

0.87 1.00 1.07 1.15

Page 26: MODELO COCOMO (INGENIERA DE SOFTWARE)

Cualidades del personal

Capacidad del analista 1.46 1.19 1.00 0.86 0.71

Experiencia de los usos 1.29 1.13 1.00 0.91 0.82

Capacidad de la Software Engineer

1.42 1.17 1.00 0.86 0.70

Experiencia virtual de la máquina

1.21 1.10 1.00 0.90

Experiencia del lenguaje de programación

1.14 1.07 1.00 0.95

Cualidades del proyecto

Uso de las herramientas del software

1.24 1.10 1.00 0.91 0.82

Uso de los métodos de la tecnología de dotación lógica

1.24 1.10 1.00 0.91 0.83

Horario requerido del desarrollo

1.23 1.08 1.00 1.04 1.10

Page 27: MODELO COCOMO (INGENIERA DE SOFTWARE)

FORMULA DEL MODELO COCOMO INTERMEDIO

E=ai(KLoC)(bi).EAF

Page 28: MODELO COCOMO (INGENIERA DE SOFTWARE)

Donde está el esfuerzo E aplicado en persona-meses, KLoC es el número estimado de millares de líneas entregadas de código para el proyecto, yEAF es el factor calculado arriba. El coeficiente ai y el exponente bi se dan en la tabla siguiente.

El tiempo de desarrollo D aplicaciones del cálculo E de la misma forma que en el COCOMO básico.

Proyecto del software ai bi

Orgánico 3.2 1.05Semi-separado 3.0 1.12Encajado 2.8 1.20

Page 29: MODELO COCOMO (INGENIERA DE SOFTWARE)

Modelo COCOMO DetalladoCOCOMO detallado - incorpora

todas las características de la versión intermedia con un gravamen del impacto del conductor del coste en cada paso (análisis, diseño, etc.) del proceso de la tecnología de dotación lógica.

Page 30: MODELO COCOMO (INGENIERA DE SOFTWARE)

CONCLUSION DE FASESCOCOMO BASICO: Calcula esfuerzo y

costo del desarrollo en función del programa, expresados en LDC.

COCOMO INTERMEDIO: Calcula esfuerzo y costo en función de costo con atributos del producto del HW, del personal y del proyecto.

COCOMO DETALLADO: Incorpora las características del intermedio + evaluación de las condiciones de costo en cada fase del proyecto.

Page 31: MODELO COCOMO (INGENIERA DE SOFTWARE)

INCONVENIENTES DEL MODELO COCOMO

Los resultados no son proporcionales a las tareas de gestión ya que no tiene en cuenta los recursos necesarios para realizarlas.

Se puede desviar de la realidad si se indica mal el porcentaje de líneas de comentarios en el código fuente.

Es un tanto subjetivo, puesto que está basado en estimaciones y parámetros que pueden ser "vistos" de distinta manera por distintos analistas que usen el método.

Se miden los costes del producto, de acuerdo a su tamaño y otras características, pero no la productividad.

La medición por líneas de código no es válida para orientación a objetos.

Utilizar este modelo puede resultar un poco complicado, en comparación con otros métodos (que también sólo estiman).

Page 32: MODELO COCOMO (INGENIERA DE SOFTWARE)

A la vez, cada submodelo también se divide en modos que representan el tipo de proyecto,

y puede ser:Modo OrganicoModo Semilibre o SemiencajadoModo Rigido o Empotrado

Page 33: MODELO COCOMO (INGENIERA DE SOFTWARE)

MODO ORGANICOun 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).

proyectos relativamente sencillos, menores de 50 KDLC líneas de código, en los cuales se tiene experiencia de proyectos similares y se encuentran en entornos estables.

Page 34: MODELO COCOMO (INGENIERA DE SOFTWARE)

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.

proyectos intermedios en complejidad y tamaño (menores de 300 KDLC), donde la experiencia en este tipo de proyectos es variable, y las restricciones intermedias.

Page 35: MODELO COCOMO (INGENIERA DE SOFTWARE)

MODO RIGIDO O EMPOTRADOel 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.

 proyectos bastante complejos, en los que apenas se tiene experiencia y se engloban en un entorno de gran innovación técnica. Además se trabaja con unos requisitos muy restrictivos y de gran volatilidad.

Page 36: MODELO COCOMO (INGENIERA DE SOFTWARE)