2Planificación 2.1PlanificacióndeTemporal La planificación temporal consiste en la estimación del tiempo y esfuerzo durante las fases de desarrollo, con el fin de incrementar los niveles de servicio, calidadycoste. Para ello, dividimos el ciclo de vida del proyecto en una serie de tareas a las cualesselesasignarálasdosestimacionessiguientes: - Estimación inicial: empleadas en los inicios del desarrollo. Son las menos exactas, pero se emplean como primera aproximación a la viabilidad del proyecto. - EstimaciónFinal:expresanladuraciónyelesfuerzorealempleado. Estos valores serán comparados para evaluar la exactitud de la estimación, empleandoelErrorRelativodelaestimación,REqueeselcocienteentreelerror absolutoyellaestimaciónfinal: Tarea Horas Estimadas HorasInvertidas ErrorAbsoluto ErrorRelativo Introducción 8 9 1 Planificación 4 6 2 ElicitacióndeRequisitos 40 21 Análisisderequisitos 30 16 Estudio,comprensióny adaptaciónalcódigo creado 40 26 Diseñodelsistema 12 2 Búsquedainformacióne instalaciónentornode desarrollo 16 14 -2 Pruebas implementación 90 101 Presentación 15 Total 275 195 -1- 2.2Planificacióndecostes.ModeloCOCOMO DefiniciónmodeloCOCOMO: Antes de aplicar COCOMO al proyecto es necesario entender que es, COCOMOacrónimodelinglésCOnstructiveCOstMOdeleselModeloConstructivo de Costes, una jerarquía de modelos de estimación de costes de software que incluye tres submodelos: básico,intermedioy detallado,cadaunodeellosofrece unniveldedetalleyaproximacióncadavezmayor,amedidaqueavanzaelproceso de desarrollo del software. Este modelo fue desarrollado porBarry W. Boehma finalesde los años 70y comienzosdelos80,exponiéndolodetalladamenteensu libro"SoftwareEngineeringEconomics"(Prentice-Hall,1981). Pertenece a la categoría de modelos de subestimaciones basados en estimaciones matemáticas y está orientado a la magnitud del producto final, midiendoel"tamaño"delproyecto,enlíneasdecódigoprincipalmente. Esunodelosmodelosmásdocumentadosenlaactualidadyesmuyfácilde utilizar, pero presenta algunos inconvenientes como una desproporcionalidad entre los resultados y las tareas de gestión necesarias al no tener en cuenta los recursos necesarios para realizarlas o no atender la productividad en las mediciones de los costes del producto entre otros. Por lo tanto los costes calculadossiempreseránunaaproximaciónalcosterealdelproyecto. Enrasgosgeneraleslosdistintossubmodelossecaracterizanpor: - Modelo Básico: Este modelo trata de estimar, de una manera rápida y más o menos burda, la mayoría de proyectos pequeños y medianos. Se consideran tres modosdedesarrolloenestemodelo:orgánico,semiencajadoyempotrado - Modelo Intermedio: En este modelo se introducen 15 atributos de coste para tener en cuenta el entorno de trabajo. Estos atributos se utilizan para ajustar el coste nominal del proyecto al entorno real, incrementando la precisión de la estimación. - Modelo Detallado: Este modelo puede procesar todas las características del proyecto para construir una estimación. Introduce dos características principales: § Multiplicadores de esfuerzo sensitivos a la fase. Algunas fases se venmásafectadasqueotrasporlosatributos.Elmodelodetallado proporcionaunconjuntodemultiplicadoresdeesfuerzoparacada atributo.Estoayudaadeterminarlaasignacióndelpersonalpara cadafasedelproyecto. § Jerarquía del producto a tres niveles. Se definen tres niveles de producto. Estos son módulo, subsistema y sistema. La cuantificaciónserealizaalnivelapropiado,estoes,alnivelalque esmássusceptiblelavariación. -2- Aunque como hemos visto existen distintos submodelos ambos utilizan tres ecuacionesbásicas: - E=a(Kl)b*m(X) Tdev=c(E)d P=E/Tdev CostoTotal=P*SM. Donde: § § § § § § § Eeselesfuerzorequeridoporelproyecto,enpersona-mes. Tdeveseltiemporequeridoporelproyecto,enmeses. Peselnúmerodepersonasrequeridoporelproyecto. Kleslacantidaddelíneasdecódigo,enmiles. m(X)Esunmultiplicadorquedependede15atributos. SMeselsalariomedioentrelosprogramadores. a,b,cydson constantes con valores definidos en una tabla, según tres modosdistintosenloquesedividecadasubmodelo: o modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamañodelsoftwarevaríadesdeunospocosmilesdelíneas(tamaño pequeño)aunasdecenasdemiles(medio). o modo semilibreosemiencajado: 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. o modo rígidooempotrado: el proyecto tiene fuertes restricciones, quepuedenestarrelacionadasconlafuncionalidady/opuedenser técnicas. El problema a resolver es único y es difícil basarse en la experiencia,puestoquepuedenohaberla. Quedandolatabladevaloresparaa,b,cyd: Modo\Variable a b Orgánico 2.40 1.05 Semilibre 3.00 1.12 Rígido 3.60 120 c 2.50 2.50 2.50 d 0.38 0.35 0.32 Sepuedeobservarqueamedidaqueaumentalacomplejidaddelproyecto (modo), las constantes aumentan de 2.4 a 3.6, que corresponde a un incremento del esfuerzo del personal. Hay que utilizar con mucho cuidado el modelo básico puestoqueseobvianmuchascaracterísticasdelentorno. -3- Aplicaciónalproyecto: Una vez entendido en que consiste COCOMO pasamos a aplicarlo al proyecto, en este casoel modeloa considerarparaobtenerloscálculosseráelmodelobásico, puesdependeremosdeunaúnicavariable,elnúmerodelíneasparaobtenerestos cálculosydentrodelmodelobásicoseencuadraenelmodoorgánico,puestoque éste es un proyecto pequeño con un número de líneas que rondara aproximadamentelosdosmillaresdelíneas. § Personasnecesariaspormes;MM=2,4*(11.05)=2,4personas/mes. § Tiempodedesarrollo;TDEV=2,5*(2,40.38)=3,49meses. § CosteH=2,4/3,49=0,69personas. Tomandocomoaproximacióndelsalariomínimomedioentrelosprogramadores sinexperienciaesdeunos950€mensuales. Costetotaldelproyecto:CosteM=0,69*950=665eurosmensuales,alser eltiempodedesarrollodelaestimación3,49mesesobtenemos,comocostetotal final2320,85€sinincluirmateriales,solocostehumano. Fuentes: - http://www.sc.ehu.es/jiwdocoj/mmis/cocomo.htm http://en.wikipedia.org/wiki/COCOMO http://sunset.usc.edu/csse/research/COCOMOII/cocomo_main.html -4-