Ejemplo de Cocomo

Post on 16-Dec-2015

59 views 4 download

description

como usar cocomo II ejemplo

Transcript of Ejemplo de Cocomo

  • ESTIMACION DE

    COSTOS DEL

    SOFTWARE

  • 2.1. CATEGOR~AS DE LOS PRODUCTOS DE PROGRAMACION.

    a. De aplicacin :

    Procesamiento de datos.

    Informacin gerencial.

    Programas cientficos.

    b. De apoyo:

    Compiladores.

    Ligadores.

    Sistemas de inventarias.

    c. De sistemas: 0 Sistema< de bases de datos.

    Sistemas operativos.

    0 Sistemas en tiempo real.

    2.2. NIVELES DE COMPLEJIDAD DE LOS PRODUCTOS DE PROGRAMACIN. a. Orgnica @ara los programas de aplicacin). b. Semi separada (para los programas de apoyo). c. Incrustada (para los programas de sistema).

    2.3. ECUACIONES DE ESFUERZO PARA LOS NIVELES DE COMPLEJIDAD.

    PM = Esfueno total del proyecto de programacin. KDSI = Instmcciones de cdigo fuente (en miles) (una instruccin se considera una lnea de

    cdigo fuente sin tomar en cuenta los comentarios) a. PM = 2.4 * (KDSI) A 1 .O5 ------ para los programas de aplicacin. b. PM = 3.0 * (KDSI) A 1.12 ------para los programas de apoyo. c. PM = 3.6 * (KDSI) A 1.20 ------ para los programas de sistemas. Donde KDSI es el nmero total de instrucciones de cdigo fuente (en miles) entregadas con el producto.

    9

  • . ,

    ~g~~;~[~;~;fl@~i)#j#&~j@ig@#~~#g~~~&;;;8:i~&;vj,~~,[i~;;;~j$;$s':!~.~#~#g~~#$~g[[!ii~~@#~l#, q>?; t !

  • 2.8. FACTORES MULTIPLICADORES DE ESFUERZO EN COCOMO.

    I 1 podra generar el error

    Tamaio de la base de datos 1 0.94 a 1.16 1 La cantidad de lneas que puede tener un

    Efecto multiplicador

    Atributos del producto 1

    Caracteristicas de la miquina Limitantes en t i em~o de eiecucin 1 1.00 a 1.65 1 se caracteriza Dor los sistemas multi

    I Intervalo de valores

    1 sistema

    Caracteristicas de aplicacin

    e Confiabilidad requerida

    1 correr el sistema Volatilidad de la virtualidad de la 1 0.87 a 1.30 1 1

    Son las categoras de complejidad vistas en las ecuaciones de esfuerzo del COCOMO

    Complejidad del producto

    0 Limitaciones en memoria principal

    0.75 a 1.40

    0.70 a 1.65

    Que tan catastrfico puede ser el error que cometa el sistema, cual es el costo que

    1.00 a 1.56

    mquina Tiempo de entrega del programa

    Caracteristicas del personal Capacidad de los analistas

    usuarios (capacidad mximas de usuarios simultneamente) y mono usuarios. Restricciones del uso de la memoria para

    Capacidad de los programadores

    Experiencia en programas de aplicacin Experiencia en maquinas virtuales Experiencia en lenguajes de programacin

    0.87 a 1.15

    1.46 a 0.71

    Caracteristicas del proyecto Uso de tecnicas modernas de programacin

    Uso de herramientas de programacin

    calculado por la ecuacin de tiempo de COCOMO, la contraccin o expansin de este tiempo el que se pone en este tem.

    Destreza de los analistas en el desarrollo de

    1.42 a 0.70

    1.29 a 0.82

    1.21 a 0.90 1.14a0.95

    . -

    sistemas Destreza de los analistas en el desarrollo de sistemas Experiencia en la realizacin de sistemas anteriores

    Cantidad de uso del lenguaje de programacin a usar en la codificacin del

    1.24 a 0.82

    1.24 a 0.83 - 1 de verificacin automtica, etc.

    sistema el sistema

    Consiste en el uso de anlisis y disefic sistemticos, notaciones estructuradas de disefio, recorridos e inspecciones, de la programacin estructurada, de pruebas sistemticas y desarrollo de una biblioteca de programas bsicos. Procesadores de diserio, generadores de cdiao. editores interactivos. herramientas

    Tiempo requerido para el desarrollo 1 1.23 a 1.10 1 Existe un tiempo nominal de desarrollo 1

  • Las ecuaciones COCOMO incorporan algunas suposiciones importantes como las siguientes:

    1. Desde programas pequeos hasta medianos ( desde 2K hasta 32K). 11. En una rea de aplicacin conocida.

    111. Para un desarrollo interno.

    Con el fin de modificar las suposiciones anteriores se utilizan los multiplicadores de esfuerzo.

    Las siguientes actividades se cubren con estas modificaciones:

    1. Se abarca desde el diseo hasta las pmebas de aceptacin.

    11. Incluye los costos de documentacin y revisiones.

    111. Incluye los costos del gerente del proyecto y del bibliotecario del programa.

    Los estimadores de esfueno no incluyen los costos de ~laneacin, anlisis, instalacin y entrenamiento, as como los costos de secretaria, personal de limoieza, o~eradores del e q m de computo.

    Las estimaciones de DSI comprenden las proposiciones de control de trabajo y cdigo fi~ente, pero excluyen los comentarios y las mtinas de apoyo no modificadas, se considera a cada lnea como un

    DSI; igualmente se consideran 152 horas de programador por cada mes de programador.

    Otras suposiciones concernientes a la naturaleza del proyecto en estimacin en COCOMO son las

    siguientes.

    1. Un pequeo numero de personas capaces efectan una definicin cuidadosa y validacin de los

    requisitos.

    11. Los requisitos permanecen constantes durante el proyecto.

    111. Un pequeo numero de personas capaces realizan la definicin y validacin minuciosa del

    diseo arquitectnico del sistema.

    IV. Gmpos paralelos de programadores, desarrollan el diseo detallado. la codificacin y las

    pmebas por unidad.

    V. Las pmebas de integracin, se elaboran de acuerdo a una anticipada planeacin al respecto.

  • Ecuacin (Curva) de Rayleigh de esfuerzo contra tiempo. E = ( P M ) * t * e A ( - tA2 )

    tdA2 ( 2" tdA2) Donde:

    t = tiempo en meses.

    td = TDEVR (una aproximacin buena ya que el 40% del rea bajo la curva se encuentra a la izquierda de td y el 60% a la derecha de td). PM = esfuerzo en meses del programador.

    Esta ecuacin representa una curva. El rea bajo la curva en cualquier intervalo representa el intervalo total realizado durante ese intervalo.

    Dentro de esta curva no quedan incluidos el anlisis ni el diseo funcional (Arquitectnico externo e interno).

    Ecuacin para determinar el personal a tiempo completo (Desde el diseo arquitectnico hasta la instrumentacin y las pruebas).

    FSP = personal requerido para el tiempo t. Segn BOEHM la curva es un estimador razonable exacto de los requisitos del personal para el ciclo de vida del desarrollo, desde el diseo arquitectnico hasta la instrumentacin y pmebas del

    sistema, siempre y cuando se use la porcin de la curva entre 0.3td y 1.7td, la ecuacin de Rayleigh

    toma entonces la forma siguiente:

    FSP = PM( 0.15TDEV+0.7t )*e "-( O.lSTDEV+ 0.7tlA2 0.25TDEVA2 0.5TDEVA2

  • I$# 2.10. DISTRIBUCIN DE ESFUERZO EN PROGRAMAS DE APLICACIN.

    Actividad

    Planes y requisitos * Diseo arauitectnico (6.3%)

    ** El tiempo de los planes y requisitos no es calculado por la ecuacin y por lo tanto se tiene que

    sumar un porcentaje del tiempo de diseo calculado por la ecuacin, y este porcentajes esta

    * *Diseo detallado (12.7%)

    Codificacin y pmebas unitaria Pruebas de sistemas

    estimado segn se presenta en sus respectivas casillas.

    ** El porcentaje del tiempo de desarrollo para el diseo detallado y arquitectnico se encuentra

    Esfuerzo

    24%

    38% 22%

    combinado en el 19% que contiene la casilla del diseo arquitectnico. Aunque para efectos de

    separacin de tiempos de desarrollo se considera el 6.3% para el diseo arquitectnico y el 12.7%

    para el diseo detallado.

    Calendario 32 KDSI

    6% 16%

    32KDSI 12% 19%

    128 KDSI 6% 16% 23%

    3 6% 25%

    128KDSI 13% 19%

    Valores combinados (diserlo arquitectnico y detallado):

    55% 51% 26% 30%

  • 2.11. ESTIMACIN DE LOS COSTOS DE MANTENIMIENTO. CUADRO DE DISTRIBUCI~N DEL ESFUERZO DE MANTENIMIENTO.

    DETERMINACI~N DEL NUMERO DE PERSONAL PARA EL MANTENIMIENTO. Un programador individual es capaz de mantener hasta 32K de instrucciones (lineas de

    cdigo) en el ambiente de procesamiento de datos, por lo tanto para obtener el nmero de personal de mantenimiento se obtiene mediante la siguiente ecuacin:

    FSPm = numero de programadores para el mantenimiento.

    KDSI = numero de lneas de cdigo del sistema. FSPm = KDSI / 32K.

    EL COCOMO. Pasos para usar el COCOMO

    1. Identificar todos los sub sistemas v mdulos del ~roducto 2. Estimar el tamao de cada modulo y calcular el tamao de cada subsistema en total 3. Es~ecificar los factores rnultiolicadores de esfuerzo Dara cada modulo: esto es la com~leiidad

    S S

    del producto, la capacidad del programador, la experiencia en el lenguaje de programacin 4. Calcular el esfuerzo para cada mdulo, asi como el tiempo de desarrollo; para lo anterior usar

    las ccuaciones de estiniacin nominal. ,unto con los fact& relevantes d i cada mdulo k S. Fs~ecificar los I I multinlicadorcs restantes de cada subsistema 6 . De los pasos 4 y 5, calcular el esfuerzo y el tiempo de desarrollo para cada subsistema 7. Del paso 6 calcular el csfuer~o y tiempo rotalcs del sistema 8. Efcctuar una anilisis de sensibilidad sobre la estimacin. estableciendo comparacioner para

    diversos factores 9. Sumar los otros ingredientes en el costo del desarrollo, como la planeacin y el anlisis, que no

    se hayan incluido antes

  • Nombre La unidad de programa : Determinacin de costos y asignacin preliminares de tiempo

    para un proyecto de programacin.

    Analistas : Ricardo Emilio Figueroa Cortez.

    Gladis Marlene Chaves Ortiz.

    Programadores : Ricardo Emilio Figueroa Cortez.

    Gladis Marlene Chvez Ortz.

    Auditor : Ing. Osbaldo Caldern. Fecha de diseo : Abril-Octubre1 1998.

    Fecha de Instrumentacin : Octubre1 1998 - Febrero1 1999. Fecha de revisin : Octubre 1998 y Marzo 1999.

    2.12.2. DESCRIPCION DE LA UNIDAD DE PROGRAMA. Realizar la determinacin preliminar de los costos del software a partir de las especificaciones del

    diseo arquitectnico, en lo que respecta al nmero de lneas de cdigo fuente (puede ser una aproximacin). Caractersticas:

    La caracterstica principal de la unidad es determinar los costos jerrquicamente para cada nitina, seccin, unidad y por ultimo para el proyecto general.

    Trabaja para los siguientes niveles de complejidad del producto: a) Orgnica (de aplicacin). b) Semi separada (de apoyo). c) Incrustada (de sistemas).

  • 2.12.3. CAPACIDADES DE LA UNIDAD. Entre los aspectos sobre los cuales trabaja la unidad son los siguientes: a. Calculo del esfuerzo programador (PM).

    De las etapas de planificacin. - Planes y requisitos.

    - Diseo arquitectnico.

    - Diseo detallado.

    - De la codificacin y pmebas unitarias.

    - De las pmebas de sistemas.

    De la instrumentacin. - Para cada rutina.

    - Para cada seccin de unidad de programa.

    - Para cada unidad de programa.

    - Para el software total.

    b. Estimaciones del tiempo de desarrollo (TDEV): Para los planes y requisitos.

    Para diseo arquitectnico.

    Para el diseo detallado.

    Para la codificacin y pmebas mtinarias.

    Para las pmebas de sistemas.

    c. Estimacin del costo por:

    Unidades de programa.

    Todo el software.

  • todas las caracteristicas que se estiman en esta unidad en bases a la tcnica COCOMO.

    Estructura :

    fsico del campo

    l ~ u m e r o de lneas del nivel 1 1 C d s i

    Estimacin del tiempo de desarrollo del nivel C-tdev

    modulo

    1 - Complejidad del producto 1

    Limitantes en tiempo de 1 C-lim-eje ejecucin Limitantes en memoria

    Tiempo de entrega de C-tie-ent programas Capacidad de los analistas Ccap-ana

    I Capacidad de los 1 C c a p g r o

    aplicacin

    programacin

    Tipo Tamailo I Descripcin Es el cdigo que identifica la asociacin dt los niveles en cuanto Proyecto-Unidad. Seccion-Mdulo Es el nombre largo del nivel de eshictura Es el abreviado del nivel Es el nmero de lineas de cdigo fuente de nivel (solo se especifican las de nivel ma: bajo, los niveles mas altos de actualizar autom6ticamente por sumatoria) Es el esfuerzo en mese de programado de nivel respectivo, este valor es calculado poi un proceso no

  • 2.12.5. LISTADO DE LAS SECCIONES DE LA UNIDAD. a. Seccin de determinacin de costos.

    Capacidades:

    Administrar los detalles de cada funcin (adicin, consulta, modificacin, eliminacin). - Nombre.

    - Numero de lneas.

    - Factores multiplicadores.

    . . jf#g#@a#i#a&$g;q$;! ~;&&!;~!!~> { ;!jpj);*fi#

    Factores:

    Nombre lgico del Campo

    Uso de tcnicas modernas de programacin Uso de herramientas de programacin Tiempo requerido para el desmollo

    Nombre fisico del campo

    C-tecmod

    C h e r g r o

    CJie-des

    Factor

    I requerida

    Tipo

    N

    N

    N

    1. Atributos del producto 1 1 Confiabilidad 1 Se caracteriza por la magnitud de los problemas que podra ocasionar la falla del sistema

    Caracteristicas

    Muv baia: Aleuna molestia menor 1 0.75 s de recuperar

    .

    0 Muy alta : Kiesgo ae una viaa I 1 . 4 ~ 1.2. Tamario de la base de 1 Se categorizan por el nmero de lneas de cdigo fuente que contienen

    Valor

    0.88 iraaes reiaiivas en la recuperacin

    datos

    Tamao

    4,2

    4,2

    4,2

    1 .O0

    Descripcin

    Es el factor multiplicador de la categora Caracteristicas del proyecto Es el factor multiplicador de la categora Caractersticas del proyecto Es el factor multiplicador de la categora Caracteristicas del proyecto

    . ,.rrdida financiera

    0 Trivial : menor o igual a 500 lneas de cdigo Pequeio : de 501 a 2,000 lneas de cdigo Mediano : de 2.001 a 50,000 lneas de cdigo Grande : de 50,001 a 100,000 lneas de cdigo Muy Grande : de 100,001 a 1,000,000 de lneas de cdigo Extremadamente Grande : de 1000,001 o ms lneas de cdigo

    1.15

    0.94 1.08 1.22 1.37 1 .SO 1.65

    - . . . , . m

  • producto

    --

    Factor

    ejecucin Monousuario : El sistema slo atiende a un usuario a la ves 1 1 .O0

    1.3. Complejidad del 1 Existen tres categoras de complejidad con respecto a su clasificacin de la misma Caracteristicas

    Fcil : aplicacin aislada de procesamiento de datos, sistema conocido Normal : Procesamiento de datos en red, procesos desconocidos

    e Dificil : Aplicaciones cientficas, de simulacin, muchos

    1 principal 1 memoria del computador y el tamao del sistema.

    Valor

    0.70

    1.17 1.65

    realizar los procesos Mnima : Si hay que hacer grandes esfuerzos para mantener lo 1 1.66

    Holgado : Cuando no hay restricciones de memoria

    I estrictamente necesario en memoria I

    1 O0

    3. Caracteristicas del personal 3.1. Capacidad de los 1 Se categoriza por la experiencia y preparacin acadmica

    Normal : Si lo que se mantiene en inemoria es lo suficiente para 1 1.33

    1 equipo en programas de 1

    analistas

    3.2. Capacidad de los programadores

    aplicacin

    Poca : Con poco estudio y sin experiencia Media : Con bastante estudio pero sin o poca experiencia Alta : Con mucha experiencia y preparacin acadmica

    1.46 1.08 0.71

    -

    Ninguno : O

    3.4. Experiencias de los programadores en el lenguaje de programacin

    Se categoriza por la experiencia y preparacin acadkmica

    1.29

    Poca : Con poco estudios y sin experiencia

    Se categoriza por la cantidad de sistemas realizados en el lenguaje de programacin

    1.42

    Pocos : 1-3

    Poca : Solo las practicas de estudiante y otras practicas aisladas Alguna : se ha programado por lo menos un sistema en el lenguaje Mucha : Se ha programado mas de un sistema en el lenguaje

    1 .O5

    1.14 1 .O4

    0.95

    Muchos : mas de 3 1 0.82

  • 1 modernas de programacin 1 orientada a objetos; as como del desarrollo de anlisis y diseo sistemticos, y el uso de 1 notaciones estructuradas

    Improvisado : Con la mnima planeacin, con el conocimiento 1 1.24

    Realizar clculos jerrquicos ascendentes (funciones-secciones-unidades-sistema).

    4.2. Uso de herramientas de programacin

    4.3. Tiempo requerido para el desarrollo

    b. Seccin de determinacin de tiempos. c. Seccin de determinacin de personal requerido. d. Seccin de simulacin. e. Seccin de despliegues y reportes.

    general Organizado : Estndares y planeacin Estructurado : Notaciones de anlisis y de diseo estructuradas Sistemtico : Incluir inspecciones o revisiones y recorridos

    1.10 0.96 0.82

    Se categoriza por el uso de herramientas de programacin como generadores de cdigo, Lenguajes de cuarta generacin, estndares sobre la instrumentacin

    Programacin manual sin estndares Programacin manual con estndares Programacin automtica sin estndares Programacin automtica con estndares

    1.24 1.10 0.96 0.82

    Se categoriza por el tiempo disponible para el desarrollo del proyecto

    Mnimo : Si el tiempo para el desarrollo es mayor o igual al 75% del tiempo nominal Nominal : Es el tiempo calculado mediante la tcnica COCOMO Holgado : Es el tiempo nominal mas algunas holguras por imnrevintoi

    1.23

    1.17 1.10

  • :ostos le software

    determinacin

    La Aplicacin efectiva de sta metodologa, requiere del seguimiento detallado de los

    diferentes tpicos tratados en el contenido de este captulo. Este seguimiento es difcil pero muy til para la determinacin de costos tanto de anlisis como de implementacin de Sistemas automatizados, lo cual es fundamental para la toma de decisiones en cuanto a la inversin en desarrollo de planes y proyectos de corto y largo plazo.