You are on page 1of 10

1.

- INTRODUCCION: El Modelo Constructivo de Costes (o COCOMO, por su acrónimo del inglés COnstructive COst MOdel) es un modelo matemático de base empírica utilizado para estimación de costes1 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. COCOMO II es un modelo que permite estimar el coste, esfuerzo y tiempo cuando se planifica una nueva actividad de desarrollo software. Está asociado a los ciclos de vida modernos. El modelo original COCOMO ha tenido mucho éxito pero no puede emplearse con las prácticas de desarrollo software más recientes tan bien como con las prácticas tradicionales. COCOMO II apunta hacia los proyectos software de los 90 y de la primera década del 2000, y continuará evolucionando durante los próximos años.
¿Por que COCOMO?

   

Está bien documentado Es de dominio público Es ampliamente utilizado y muy evaluado Gran tradición desde su creación

2.- OBJETIVOS: A la hora de la creación del modelo COCOMO II fueron:  Desarrollar un modelo de estimación de tiempo y de coste del software de acuerdo con los ciclos de vida utilizados en los 90 y en la primera década del 2000.  Desarrollar bases de datos con costes de software y herramientas de soporte para la mejora continua del modelo.  Proporcionar un marco analítico cuantitativo y un conjunto de herramientas y técnicas para la evaluación de los efectos de la mejora tecnológica del software en costes y tiempo del ciclo de vida software. 3.- NIVELES: Se consideran tres modelos o niveles 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. o Nivel de construcción de prototipos inicial ).

informes. Ada COCOMO y COCOMO Incremental. Ventajas  COCOMO es transparente. Extremadamente vulnerable para la mis-clasificación de el modo de desarrollo. Post-Arquitectura o Nivel post arquitectónico).  Manejadores de costo ayudan particularmente a el estimador a comprender el impacto de diferentes factores que afectan en el costo del proyecto. KDSI. cuando la mayoría de las estimaciones de esfuerzo son requeridas. Es difícil estimar KDSI con precisión sobre el antiguo proyecto. Generadores. Uso de la Métrica Object Points [Banker1994]: Pantallas. Proyectos basados en CASE. Desventajas     Triunfo depende ampliamente de la adaptación de el modelo a las necesidades de la organización. se puede ver como trabaja con otros modelos tal como SLIM (Software Life Cycle Management).Las estimación es de tamaño se basan en puntos objeto y se utiliza una fórmula sencilla tamaño/productividad para estimar el esfuerzo requerido. usando datos históricos. Se utiliza un conjunto de multiplicadores que reflejan: capacidad del personal. Éstos surgen en respuesta a la diversidad del mercado actual y futuro de desarrollo de software. módulos  Modelo EDM (Mod. Como mejora de COCOMO surgieron varias versiones de COCOMO y podemos mencionar una de ellas que es: COCOMO II. realmente. el producto y características del proyecto Modelo COCOMO II más detallado. Se utiliza una vez que seha desarrollado por completo la arquitectura del proyecto. Las estimaciones se basan en punto función que se convierten en líneas de código fuente. Para obtener estimaciones aproximadas del coste de un proyecto antes de que esté determinada por completo su arquitectura. Diseñada la arquitectura del sistema se hace una estimación más o menos precisa del tamaño del soft.  Modelo PAM (Mod. Corresponde a la terminación de los requerimientos del sistema con algún diseño inicial. . no es una medida del tamaño. sino una medida de longitud. de Diseño Inicial o Nivel de diseño inicial). Esta diversidad podría representarse con el siguiente esquema (Figura 3). los cuales no siempre están disponibles.

mediante la utilización de generadores de aplicaciones tales como planillas de cálculo.Borland con el objetivo de crear módulos pre-empaquetados que serán usados por usuariosfinales y programadores. Estas aplicaciones surgen debido al uso masivo de estas herramientas. c. Generadores de Aplicaciones: En este sector operan firmas como Lotus. sistemas de consultas. Novell y NeXT. Aplicaciones desarrolladas por Usuarios Finales: En este sector se encuentran las aplicaciones de procesamiento de información generadas directamente por usuarios finales. administradores de bases de datos. Microsoft. SyBase. sistemas de control de fabricación. Infraestructura: Área que comprende el desarrollo de sistemas operativos. etc. protocolos de redes. Estas aplicaciones son generadas por un equipo reducido de personas. Incrementalmente este sector direccionará sus soluciones. e. procesos industriales. con un alto grado de integración entre sus componentes.Figura 3: Distribución del Mercado de Software Actual y Futuro. buscadores inteligentes de datos. Componentes típicas son constructores de interfases gráficas. en pocas semanas o meses. etc. hacia problemas genéricos de procesamiento distribuido y procesamiento de transacciones. Oracle.). etc. sistemas de información corporativos. sistemas administradores de bases de datos. etc. Novell. Aplicaciones con Componentes: Sector en el que se encuentran aquellas aplicaciones que son específicas para ser resueltas por soluciones pre-empaquetadas. se encuentran grandes firmas que desarrollan software de telecomunicaciones. Firmas representativas son Microsoft. sin antecedentes en el mercado que se puedan tomar como base. . Entre las empresas que desarrollan software representativo de este sector. componentes de dominio-específico (medicina. finanzas. b. conjuntamente con la presión actual para obtener soluciones rápidas y flexibles. [Boehm 1995/1] a. Porciones de 27 estos sistemas pueden ser desarrolladas a través de la composición de aplicaciones. Sistemas Integrados: Sistemas de gran escala. d. pero son lo suficientemente simples para ser construidas a partir de componentes interoperables. a soluciones middleware.

1 MODELO COMPOSICIÓN DE APLICACIÓN: Usado principalmente para aplicaciones de pro-totipaje o aplicaciones basadas en generadores de pantallas. . medio y difícil. Casificarlos dentro de los niveles de complejidad sencillo.4. 2. Estimar el nº de pantallas. 4. etc… Procedimiento: 1. se expresa en meses/persona (PM) y representa los meses de trabajo de una persona fulltime. Aplicar el peso a cada concepto. 3. cualquiera sea el modelo empleado. requeridos para desarrollar el proyecto.. informes. listados y componentes. base de datos.ESTIMACIÓN DEL ESFUERZO: El esfuerzo necesario para concretar un proyecto de desarrollo de software.

5.% reusado)) / 100 6. El esfuerzo viene dado: PM = NPO / PROD Donde: NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar expresado en Puntos Objeto y se calcula de la siguiente manera: NOP = OP x (100 . mostrada en Tabla. Calcular el ratio de la productividad: PROD: Es la productividad promedio determinada a partir del análisis de datos de proyectos en [Banker 1994]. PROD = NPO / persona-mes según la siguiente tabla: Experiencia de desarrolladores los Muy Baja Muy Baja 4 Baja Baja 7 Normal Normal 13 Alto Alto 25 Muy Alto Muy Alto 50 Experiencia en herramientas PROD (ratio) 7. Determinar los Puntos Objeto: Tamaño del software a desarrollar expresado en Puntos Objeto %reuso: Porcentaje de reuso que se espera lograr en el proyecto. la cantidad de PO quedará (NPO): NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar expresado en Puntos Objeto y se calcula de la siguiente manera: NPO = (PO * (100 .Tipo Objeto Pantallas Listados de Sencillo 1 2 Medio 2 5 Difícil 3 8 10 Componentes 4.%reuso)/100 . Estimar el porcentaje de código reusado.

01 x Σ FEj (j = 1 a 5) FE = Factor de Escala (de 0 a 5) 4. Estimar los PFNA. de la naturaleza de la plataforma. El esfuerzo ajustado será: PMAjustado = PMNominal * Π EAi (i = 1 to 7) FA = Factores de Ajuste . El modelo de Diseño Temprano ajusta el esfuerzo nominal usando siete factores de costo.0. del personal a ser incorporado al proyecto o detalles específicos del proceso a utilizar. el valor del multiplicador correspondiente será mayor que 1.2 MODELO DISEÑO TEMPRANO: Este modelo se usa en las etapas tempranas de un proyecto de software.0. La fórmula para el cálculo del esfuerzo es la siguiente: EMi corresponde a los factores de costo que tienen un efecto multiplicativo sobre el Esfuerzo. Cada nivel tiene un peso asociado. Si el factor provoca un efecto nocivo en el esfuerzo de un proyecto. Esta escala varía desde un nivel Extra Bajo hasta un nivel Extra Alto. Cada factor se puede clasificar en seis niveles diferentes que expresan el impacto del multiplicador sobre el esfuerzo de desarrollo. cuando se conoce muy poco del tamaño del producto a ser desarrollado. Convertir los PFNA a KIFE.0. El peso promedio o nominal es 1. 2. El esfuerzo nominal viene dado por: PMNominal = A * (Tamaño)B el tamaño viene dado en KIFE A = constante de calibración (2.4. según tabla: Lenguaje Ada Assembler Basic C C++ Cobol 85 LdC / PFNA 71 320 91 128 29 100 Lenguaje Cobol Visual Java Lisp Pascal Prolog LdC / PFNA 29 23 64 91 64 3.94) B = viene determinado por los factores de escala B = 0. Procedimiento: 1.91 + 0. caso contrario el multiplicador será inferior a 1.

4.26 1.87 Muy Alto 1.00 1.81 0.30 1.00 Alto 1.29 0.63 0.28 + 0.00 1.67 d = 0.91 1. El personal a tiempo completo necesario para el desarrollo (PDTC) será: PDTC = PM / TDES 4. 1-3.62 1. Este modelo se aplica durante el desarrollo y mantenimiento de productos de software incluidos en las áreas de Sistemas Integrados.83 0.00 1.3 MODELO POST-ARQUITECTURA: Es el modelo de estimación más detallado y se aplica cuando la arquitectura del proyecto está completamente definida.33 1.87 0. El tiempo estimado.62 0.10 Normal 1.72 2.00 1.73 Extra Alto 2. se obtiene de: TDES = [ c x (PM)d ] * SCED%/100 siendo PM = esfuerzo de desarrollo sin tener en cuenta el multiplicador Sced c = 3.91] 6. El esfuerzo ajustado será: PMAjustado = PMNominal * Π EAi (i = 1 to 17) .Factor RCPX RUSE PDIF PERS PREX FCIL SCED Factores RCPX PDIF PERS PREX FCIL Descripción Fiabilidad y complejidad del producto Requerimientos de reusabilidad Dificultad de la plataforma Capacidad del personal Experiencia del personal Facilidades para el desarrollo Esfuerzo de calendario Muy Bajo 0.87 1.50 0. Los tres primeros pasos son similares al modelo EDM.33 1.60 Bajo 0. una vez conocido el esfuerzo necesario.61 0.74 0.62 5.83 0.2 * [B – 0. Infraestructura y Generadores deAplicaciones.12 1.

Producto RELY: Fiabilidad Requerida del SW. que se obtienen desglosando los 7 factores del modelo inicial (según tabla) 5. El tiempo del proyecto se calcula igual que para el modelo EDM. LTEX TOOL. PVOL ACAP. MB B N A MA XA . PCAP. DOCU RUSE TIME. Desglose de los factores de ajuste de EDM Factor EDM RCPX RUSE PDIF PERS PREX FCIL SCED Factores PAM RELY. STOR. SITE SCED Multiplicadores esfuerzo. PEXP. DATA. CPLX.FA = Factores de Ajuste para PAM. PCON AEXP.

A 70%. MA. N. XA PCAP: Capacidad de los programadores. MB Riguroso… MA Conformidad. A. N. B. MA 85%. A. . SITE: Desarrollo en varias localizaciones Situación (Local… País) Comunicaciones (Teléfono…Multimedia interactiva) SCED: Restricciones de duración del proyecto Muy Bajo Acabar en el 75% de t sobre el nominal Bajo 80% Nominal 100% Alto 130% Muy alto 160% Factores de escala. Plataforma N < 50%. PREC: Precedencia. A. XA AEXP: Experiencia en el área funcional. Proyecto TOOL: Uso de herramientas software. N < 100. MA. B. DATA: Volumen de datos (BD en bytes/ SLOC) B < 10. PCON: Continuidad del personal. B. PEXP: Experiencia en el área funcional. FLEX: Flexibilidad de desarrollo. LTEX: Experiencia en el lenguaje y herramientas.XA 95% STOR: Restricción en almacenamiento principal (Ídem) N < 50%. MA 85%. N. N <6 meses. MA <1 mes Personal MB. MB. RESL: Resolución de Arquitectura: Identificación de riesgos y eliminación de los mismos.MB. A 70%. A < 1000 CPLX: Complejidad del producto medida en 5 áreas: Funcionamiento de CRTL Funcionamiento computacional Funcionamiento de dispositivos Funcionamiento del sector de datos Funcionamiento del gestor de IF de Usuario RUSE: Reutilización requerida DOCU: Documentación asociada a las necesidades del ciclo de vida. MB Sin Precedentes…MA Muy Familiar. MA.XA 95% PVOL: Volatilidad de la plataforma HW y SW B <12 meses. A < 2 meses.

Gestionado 3. Nº de ítems de riesgo: MB > 10 Crítico. MA 33% % Arquitectos SW alto nivel.. MA > 5 No crítico. % tiempo dedicado a establecer arquitectura: MB 5%. TEAM: Cohesión del equipo MB Interacción difícil… MA Muy cooperativo... Optimizado 4. Nivel incertidumbre arquitectura. Inicial . PMAT: Madurez del proceso software. Cuestionario de madurez CMM.. Repetible 1. 5. Definido 2.