modelo cocomo

25
COCOMO II Modelo de Composición de Aplicaciones Yessica Julie Marrugo M. Gestión de proyectos UNIVERSIDAD DE CARTAGENA

Upload: jesus-daniel-rodriguez-oyola

Post on 12-Jun-2015

8.185 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: Modelo Cocomo

COCOMO II Modelo de Composición de

AplicacionesYessica Julie Marrugo M.

Gestión de proyectos

UNIVERSIDAD DE CARTAGENA

Page 2: Modelo Cocomo

Introducción Contexto

◦ Estimación del proyecto de software◦ Estimaciones seguras ◦ Técnicas de estimación

COCOMO COCOMOII

◦ Objetivos◦ Características

Modelo ACM◦ Uso◦ Bases◦ Procedimiento◦ Ejemplo

Conclusiones

Contenido

Page 3: Modelo Cocomo

¿Qué es Planificación? La planificación de un proyecto de software implica la estimación -su intento por determinar cuánto dinero, esfuerzo, recursos, y tiempo supondrá construir un sistema o producto específico de software-.

Introducción

Page 4: Modelo Cocomo

La estimación del coste y del esfuerzo del software nunca será una ciencia exacta.

Estimación del Proyecto de Software

Page 5: Modelo Cocomo

Para realizar estimaciones seguras de costes y esfuerzos tenemos varias opciones posibles:

Dejar la estimación para más adelante (obviamente, podemos realizar una estimación al cien por cien fiable tras haber terminado el proyecto!).

Basar las estimaciones en proyectos similares ya terminados.

Utilizar «técnicas de descomposición» relativamente sencillas para generar las estimaciones de coste y de esfuerzo del proyecto.

Utilizar uno o más modelos empíricos para la estimación del coste y esfuerzo del software.

Estimaciones seguras

Page 6: Modelo Cocomo

Técnicas de estimación• Se pueden utilizar los modelos empíricos de estimación como complemento de las técnicas de descomposición, ofreciendo un enfoque de estimación potencialmente valioso por derecho propio.

• Las técnicas de descomposición utilizan un enfoque de «divide y vencerás» para la estimación del proyecto de software.

Page 7: Modelo Cocomo

Desarrollado en 1981 por Barry Boehm (Universidad de California Sur).

El modelo COCOMO original se ha convertido en uno de los

modelos de estimación de coste del software más utilizados y estudiados en la industria. El modelo original ha evolucionado

a un modelo de estimación más completo llamado

COCOMO II [BOE 96, BOE 001]. En 1995 se publicó la versión COCOMO II y actualmente derivó a

COCOMO 2000.

El equipo liderado por B. Boehm (Center for Software Engineering) pretende mejorar, ampliar y adaptar el modelo anterior a las nuevas formas en que se desarrolla el software.

COCOMO (Constructive Cost Model, Modelo Constructivo de Costes)

Page 8: Modelo Cocomo

Permite estimar el esfuerzo, costo y duración de cualquier proyecto informático.

Es un modelo algorítmico, es decir, se basa en una serie de fórmulas matemáticas que producen una estimación en

función de un conjunto de variables (x1, x2,... xn) :

• Líneas de código fuente.

• Capacidad de analistas y programadores.

• Complejidad del producto.

• Restricciones de tiempo de ejecución, memoria, equipos de trabajo …

• Fiabilidad de la aplicación. Etc..

COCOMO II (Modelo constructivo de costes 2000)

Page 9: Modelo Cocomo

Desarrollar un modelo de estimación de costo y cronograma de proyectos de software que se adaptara tanto a las prácticas de desarrollo del 90 como a las futuras.

Construir una base de datos de proyectos de software que permitiera la calibración continua del modelo, y así incrementar la precisión en la estimación.

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.

Objetivos

Page 10: Modelo Cocomo

• Asume que existe un buen entendimiento entre el usuario y los desarrolladores.

• La estimación se realiza de acuerdo con la información disponible en el momento que se lleva a cabo.

• Se consideran tres submodelos que cubren desde el comienzo del análisis de requerimientos hasta el final de las pruebas e integración del sistema:

Modelo ACM (Mod.de Comp. de Aplicac.).

Modelo EDM (Mod. de Diseño Inicial).

Modelo PAM (Mod. Post-Arquitectura).

Características

Page 11: Modelo Cocomo

Utilizado durante las primeras etapas de la ingeniería del software, donde el prototipado de las interfaces de usuario, la interacción del sistema y del software, la evaluación del rendimiento, y la evaluación de la madurez de la tecnología son de suma importancia.

Modelo ACM (Modelo de Composición de Aplicaciones)

Page 12: Modelo Cocomo

Usado principalmente para aplicaciones de pro-totipaje o aplicaciones basadas en generadores de pantallas (ej: QT Designer, NetBeans y Windows Forms Designer. ), informes, base de datos, etc…

Modelo ACM .Uso

Page 13: Modelo Cocomo

Basado en Puntos Objeto (PO) (número y complejidad de pantallas, listados, componentes de lenguajes) y Factores de Reusabilidad y Productividad.

NOP : Nuevos Puntos Objeto. Servidores: Número de tablas de datos del

servidor. Clientes: Numero de tablas de datos del cliente. %reuse: Porcentaje de pantallas, informes y

módulos 3GL reutilizados a partir de aplicaciones anteriores.

Modelo ACM. Bases

Page 14: Modelo Cocomo

1. Estimar el nº de pantallas, listados y componentes.

Procedimiento:

Page 15: Modelo Cocomo

2. Clasificarlos dentro de los niveles de complejidad sencillo, medio y difícil.

Procedimiento:

Pantallas Numero de Tablas de Datos

Numero de vistas

<4(<2 servidores <3

clientes)

<8(<2/3 servidores

<3-5 clientes)

>=8(>3 servidores >5

clientes)

<3 sencillo sencillo medio

3-7 sencillo medio difícil

>=8 medio difícil difícil

Tabla 1

Page 16: Modelo Cocomo

2. Clasificarlos dentro de los niveles de complejidad sencillo, medio y difícil.

Procedimiento:

Listados Numero de Tablas de Datos

Numero de secciones

<4(<2 servidores <3

clientes)

<8(<2/3 servidores

<3-5 clientes)

>=8(>3 servidores >5

clientes)

0 o 1 sencillo sencillo medio

2 o 3 sencillo medio difícil

>=4 medio difícil difícil

Tabla 2

Page 17: Modelo Cocomo

3. Aplicar el peso a cada concepto.

Procedimiento:

Tipo de Objeto

Sencillo Medio Difícil

Pantallas 1 2 3

Listados 2 5 8

Componentes

10

Tabla 3

Page 18: Modelo Cocomo

4. Determinar los Puntos Objeto.

5. Estimar el porcentaje de código rehusado; la cantidad de PO quedará (NPO):

NPO = (PO * (100 - % reusado)) / 100

Procedimiento:

Page 19: Modelo Cocomo

6. Calcular el ratio de la productividad:PROD = NPO / persona-mes

según la siguiente tabla:

Procedimiento:

7. El esfuerzo viene dado: PM = NPO / PROD

Experiencia de los desarrolladores

Muy baja Baja Normal Alto Muy Alto

Experiencia en herramientas

Muy baja Baja Normal Alto Muy Alto

PROD (ratio) 4 7 13 25 50

Tabla 4

Page 20: Modelo Cocomo

Se desea construir una aplicación delineada sobre la Web, para el área de recursos audiovisuales de la Universidad de Cartagena, la cual debe permitir generar distintos reportes que den a conocer el estado y la disponibilidad de los equipos; permitiendo realizar reservas o llevar a cabo otros controles.

Se deben manejar diferentes tipos de reportes, dependiendo de parámetros de entrada variados; teniendo en cuenta que se manejaran varios roles de usuario con sus respectivas interfaces. Además de diversos formatos (html, pdf…)

Así mismo, se incluye un completo registro de los usuarios, de la existencia de sus reservas, préstamos y estado físico de los recursos, con informes al respecto.

Ejemplo

Page 21: Modelo Cocomo

1. Al hacer el recuento de objetos:

◦ 10 pantallas de complejidad Media◦ 8 informes de complejidad Media◦ 3 módulos 3GL (Lenguajes de tercera generación

desarrollados)2. Se clasifica cada instancia dentro de los niveles de

complejidad, de acuerdo a las tablas 1 y 2. 3. Al ponderar el N°de cada celda de acuerdo a la tabla 3:

Ejemplo

2Pantallas/Media

Listados/Media 8

3GL/Difícil 10

Page 22: Modelo Cocomo

4. Determinamos puntos Objetos:

(10*2)+(8*5)+(6*10)=120 PO

5. Estimar el porcentaje de reutilización. Y calcular los nuevos puntos Objeto: ◦ %reuse: 25%

120*(1-0,25)=90 NPO

6. Al determinar el ratio de productividad de acuerdo a la tabla 4, con un nivel normal: ◦ 13 NPO/PM

7. Calculamos finalmente el valor del esfuerzo:

PM=NOP/PROD= (90NPO)/(13NPO/PM) = 6,92≅ 7 PM (Personas-Mes)

Ir a http://www.oei.eui.upm.es/Asignaturas/PInformaticos/ficheros/software/opcion4/MCompApl1.html

Ejemplo

Page 23: Modelo Cocomo

COCOMO II permite estimar coste, esfuerzo y tiempo a la hora de planificar una actividad de desarrollo software (2000).

El modelo ACM se dirige a aplicaciones que están demasiado diversificadas para crearse rápidamente en una herramienta de dominio específico, (como una hoja de cálculo).

El modelo ACM es clave en la etapa de requisitos, o prototipado.

Dado que el Modelo de Composición de Aplicaciones incluye esfuerzos de prototipado para resolver asuntos potenciales de alto riesgo tales como interfaces de usuario, interacción software/sistema, ejecución ó grado de madurez tecnológica, los costes de este tipo de esfuerzo se estiman mejor mediante dicho modelo.

Conclusiones

Page 24: Modelo Cocomo

GOMEZ, A, LÓPEZ, M. del C, MIGANI, S. COCOMO, UN MODELO DE ESTIMACION DE PROYECTOS DE SOFTWARE . VI: (20-03-10). Tomado de:http://alarcos.inf-cr.uclm.es/doc/pgsi/doc/teo/8/cocomo2-apuntes.pdf

MORENO S, A. TEMA 7: COCOMOII. VI: (19-03-10). Tomado de: http://creaweb.ei.uvigo.es/creaweb/Asignaturas/PPI/apuntes/cocomo2k.pdf

MODELO DE ESTIMACION DE SOFTWARE : Esfuerzo y coste. VI: (19-03-10). Tomado de: http://www.oei.eui.upm.es/Asignaturas/PInformaticos/ficheros/temario/TEMA_3.pdf

Referencias

Page 25: Modelo Cocomo

Gracias por su atención!!!