modelo cocomo

Post on 12-Jun-2015

8.188 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COCOMO II Modelo de Composición de

AplicacionesYessica Julie Marrugo M.

Gestión de proyectos

UNIVERSIDAD DE CARTAGENA

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

¿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

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

Estimación del Proyecto de Software

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

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.

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)

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)

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

• 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

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)

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

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

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

Procedimiento:

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

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

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

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:

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

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

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

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

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

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

Gracias por su atención!!!

top related