algunas tecnicas para estimación de software

41
Tecnicas de Estimación de Productos de Software Clarena Rodriguez Pinto – 160002346 Juan Camilo Cajamarca - 160002332

Upload: aquinorita

Post on 10-Nov-2015

222 views

Category:

Documents


3 download

DESCRIPTION

Estimaciones de software

TRANSCRIPT

MODELOS DE ESTIMACION DE PROYECTOS DE SOFTWARE

COCOMO 81COCOMO IIDelphiAnalogiaPunto de FuncinLineas de CdigoModelosEstas tcnicas de estimacin son una forma de resolucin de problemas en donde, en la mayora de los casos, el problema a resolver es demasiado complejo para considerarlo como una sola parte. Por esta razn, descomponemos el problema, recaracterizndolo como un conjunto de pequeos problemas.

Las estimaciones estn asociadas con el esfuerzo, costo y el tiempo de las actividades identificadas del proyecto. El objetivo de la estimacin de proyectos es reducir los costos e incrementar los niveles de servicio y de calidad.Tecnicas de EstimacinFue desarrollado por Barry Boehmen 1981. El modelo asume que los requerimientos son relativamente estables y que el proyecto ser administrado por el cliente y el desarrollador. El modelo entrega un orden de magnitud de los costos del Software. Utiliza como datos el tamao estimado del proyecto y el tipo de producto adesarrollar.

Cocomo

COCOMO 81 est compuesto por tres modelos que corresponden a distintos niveles de detalle y precisin.

Modelo COCOMO bsico

Modelo COCOMO intermedio

Modelo COCOMO avanzado (o detallado)

Cocomo81 ModelosEs un modelo univariable esttico que calcula el esfuerzo y el tiempo del desarrollo de software en funcin del tamao del programa, expresado en Lneas de Cdigo (LDC) estimadas. Adecuado para hacer estimaciones de forma rpida, aunque sin gran precisin.Cocomo81 Modelo BasicoEs un modelo univariable esttico que calcula el esfuerzo del desarrollo de software en funcin del tamao del programa y un conjunto de conductores de coste, que incluyen la evaluacin subjetiva del producto, del hardware, del personal y de los atributos del proyecto. Estos conductores del coste se consideran como trminos de impacto agregado al esfuerzo total del proyecto.Cocomo81 Modelo IntermedioEs un modelo que incorpora todas las caractersticas de la versin intermedia y lleva a cabo una evaluacin del impacto de los conductores de coste en cada fase(anlisis, diseo, etc.) del proceso de ingeniera de software.

La estimacin es ms precisa a medida que se toman en cuenta mayor cantidad de factores que influyen en el desarrollo de un producto de software.Cocomo81 Modelo AvanzadoDiseo del Producto (PD)Se define la arquitectura del hardware, software y las estructuras de datos y control. Tambin se desarrolla un bosquejo del manual del usuario y los planes de aceptacin y testeo.

Diseo Detallado (DD)

Codificacin y Testeo de Unidades (CT)En estas dos fases el diseo global de la fase anterior es implementado, creando las componentes de software, que son testeadas y evaluadas individualmente.

Cocomo81 - FasesIntegracin y Testeo (IT)Se fusionan todas las componentes de software desarrolladas con el fin de lograr que el producto de software funcione correctamente. Los requerimientos definidos son usados para controlar las aptitudes del producto liberado. Los costos y tiempos de las fases excluidas (Requerimientos y Mantenimiento) deben ser estimados en forma separada empleando otros modelos.

Cocomo81 - FasesLos modelos COCOMO estn definidos para tres modos de desarrollo:

Proyectos Orgnicos:El equipo de desarrollo es pequeo y experimentado, en un ambiente familiar y con aplicaciones conocidas.Proyectos Semiconectados (Semilibres): El equipo de desarrollo est formado por personal experimentado y novato con algo de experiencia en la tecnologa y la aplicacin. Suelen tener interacciones con otros sistemas.

Proyectos Integrados (Empotrados): Tiene un gran equipode desarrollo, pero en general es poco experimentado en el tema dado que se trata de proyectos casi nicos. Corresponden a proyectos que representan un fuerte acoplamiento entre el Hardware, Software y los procedimientos operacionales. La modificacin a los requerimientos no esprctica y los costos de validacin son altos.

Cocomo81 Tipos de Proyectos11E=(a(Kl)^b )*m(X) (Esfuerzo)E Salario/mes = Esfuerzoa y b Constante segn el tipo de proyectoKl Cantidad e Lineas de Cod.m(x) Multiplicador que depende de 15 Atributos Constantes.T=cE^d (Tiempo de Duracin de Desarrollo)P=E/T (Cantidad de Personas) KLDC=(PF*L)/1000 (Kilo de Lineas de Cod.)

FormulasQue es?Nuevas MejorasModelosComposicin de AplicacinDiseo tempranoPost-Arquitectura

COCOMO IICOCOMO II es un modelo que permite estimar el coste, esfuerzo y tiempo cuando se planifica una nueva actividad de desarrollo software.

COCOMO II est adaptado a los ciclos de vida de los modelos de desarrollo de software actuales, dado que esposible de aplicar a aquellas nuevas prcticas no tradicionales de software como desarrollo rpido de aplicaciones, aplicaciones no secuenciales, reusabilidad del software, reingeniera, programacin orientada a objetos, entre otras.Qu es? Desarrollar un modelo de estimacin de costo y cronograma de proyectos de software que se adaptara tanto a las prcticas de desarrollo de la dcada del 90 como a las futuras

Construir una base de datos de proyectos de software que permitiera la calibracin continua del modelo, y as incrementar la precisin en la estimacin

Implementar una herramienta de software que soportara el modelo

Proveer un marco analtico cuantitativo y un conjunto de herramientas y tcnicas que evaluaran el impacto de las mejoras tecnolgicas de software sobre los costos y tiempos en las diferentes etapas del ciclo de vida de desarrollo

Nuevas MejorasIndicado para proyectos construidos con herramientas modernas de construccin de interfaces grficos para usuarioComposicin de AplicacinSe utiliza en las primeras etapas del desarrollo en las cuales se evalan las alternativas de hardware y software de un proyecto. En estas etapas se tiene poca informacin, lo que concuerda con el uso de Puntos Funcin, para estimar tamao y el uso de un nmero reducido de factores de costo. Diseo TempranoEste es el modelo COCOMO 2 ms detallado. Puede ser utilizado despus de haber desarrollado la arquitectura global del proyecto. Utiliza nuevos parmetros de costo, nuevas reglas de conteo de lneas y nuevas ecuaciones. Este modelo corresponde al esfuerzo de desarrollo estimado una vez que se ha fijado la arquitectura del sistema. Este modelo base puede ajustarse para:

Estimaciones ms tempranas, correspondiente al modelo de diseo temprano (Pre-arquitectura). Mantenimiento. Estimacin de nmero de defectos esperadosPost-ArquitecturaCalcular el esfuerzo, el tiempo y personal que se debera implementar en el proyecto con los siguientes datos.

PF=261,36Lenguaje VB= 32 LDC * C/PF

EjemploKLDC= (PF * Lneas de cdigo por cada PF)/1000 = (261,36*32)/1000= 8,363m(x)=1,15*1,00*0,85*1,11*1,00*1,00*1,07*0,86*0,82*0,70*1,00*0,95*1,00*0,91*1,08 = 0,53508480E = a KLDC e * FAE = 3,2 * (8.363)^1,05 * 0,53508480 = 15,91 personas /msT = c Esfuerzo d = 2,5 * (15,91)^0,38 = 7,15 mesesP = E/T = 15,91/7,15 = 2,22 personasSolucinFue concebido en los aos cincuenta con fines militares y a partir de la dcada de los sesenta ha sido utilizado en los mbitos acadmicos y empresariales. Ha sido empleado principalmente como tcnica de previsin y consenso en situaciones de incertidumbre, en las que no es posible acudir a otras tcnicas basadas en informacin objetiva.

Wideband Delphi

Es un proceso iterativo. Como mnimo los expertos deben ser consultados dos veces sobre la misma cuestin, de forma que puedan volver a pensar su respuesta ayudados por la informacin que reciben de las opiniones del resto de los expertos.

Mantiene el anonimato de los participantes, o al menos de sus respuestas, ya que stas van directamente al grupo coordinador. Ello permite poder desarrollar Un proceso de grupo con unos expertos que no coinciden ni temporal ni espacialmente, y adems busca evitar las influencias negativas que en las respuestas Individuales pudieran tener factores relativos a la personalidad de los expertos participantes.

Wideband Delphi - CaracteristicasFeedback controlado. El intercambio de informacin entre los expertos no es libre, sino que se realiza a travs del grupo coordinador del estudio, con lo que se elimina toda informacin que no sea relevante.

Respuesta estadstica de grupo. Todas las opiniones forman parte de la respuesta final. Las preguntas estn formuladas de forma que se pueda realizar un tratamiento cuantitativo y estadstico de las respuestas.Wideband Delphi - CaracteristicasEs un mtodo grupal para refinar el Project plan, donde participan el Project Manager o un moderador, un recorder y estimadores. Las especificaciones se le dan a un grupo de expertos, quienes discuten las metas del proyecto, las suposiciones y estiman los recursos. Adems, ellos hacen las estimaciones y se las dan a un moderador, quien compila las estimaciones. Luego, cada estimador sabe los resultados de sus estimaciones, las dems son annimas.

Seguidamente, los expertos discuten los resultados y revisan las tareas. Este ciclo continua hasta que las estimaciones convergen en una que se encuentre en un rango aceptable.Wideband Delphi - MetodologiaPlanificacin: Es el primer paso del proceso Wideband delphi que comienza con la definicin y alcance del problema a estimar.

Reunin inicial: Consiste en la comprensin sobre el problema de estimacin, en donde el equipo revisa los objetivos estimados, discute el problema y algunos asuntos de la estimacin llegando a un acuerdo sobre las unidades de estimacin (semanas, horas laborales, dlares, lneas de cdigo) que se usaran a lo largo del proceso.

Wideband Delphi Ciclo de VidaPreparacin individual: Consiste en que cada participante desarrolla independientemente una lista inicial de tareas que debern ser completadas para alcanzar la meta del proyecto, donde cada participante estima el esfuerzo que cada tarea consumir.

Reunin de estimacin: El objetivo en este paso es establecer una lista con todas las estimaciones individuales para debatirlas en anonimato, evitando las posibles intimidaciones entre los participantes, todo esto, con el fin de debatir las diferentes estimaciones con el propsito de que cada integrante pueda modificar, aadir, eliminar sus estimaciones renovando la lista obtenida anteriormente .

Wideband Delphi Ciclo de VidaEnsamblando las tareas: Es donde el moderador o Project manager ensambla las tareas del proyecto y sus estimaciones individuales dentro de una lista maestra definitiva de tareas, en donde se encuentran recopilados todos los procesos trabajados con anterioridad.

Revisin de resultados: Finalmente, en este paso el equipo de estimacin revisa los resultados resumidos y llega a un acuerdo sobre el resultado final. Wideband Delphi Ciclo de VidaVentajasDesventajasHay menos probabilidad de una estimacin negativa.Requiere de expertos para que hagan la estimacin.Esta basado en valores histricos.No define un proceso a seguir cuando se esta estimando.Wideband Delphi Ventajas/DesventajasEl coste de un proyecto se calcula por comparacin con proyectos similares en el mismo dominio de aplicacin. Es aplicable cuando otros proyectos en el mismo dominio de aplicacin se han completado. Se estima el costo de un nuevo proyecto por analoga con estos proyectos completados. Analoga

La tcnica de puntos de funcin fue introducida por Albrecht y su propsito es pedir el software cualificando la Funcionalidad que proporciona externamente, basndose en el diseo lgico del sistema.

Medir lo que el usuario pide y lo que el usuario recibe.Medir independientemente la tecnologa utilizada en la implantacin del sistema.Proporcionar una mtrica de tamao que d soporte al anlisis de la calidad y la productividad.Proporcionar un medio para la estimacin del software. Anlisis de Puntos de Funcin (FPA)El anlisis de los puntos de funcin se desarrolla considerando cinco parmetros bsicos externos del sistema:

Entrada (EI, del ingls External Input).Salida (EO, del ingls External Output).Consultas (EQ, del ingls External Query).Ficheros Lgicos Internos (ILF, del ingls Internal Logic File).Ficheros Lgicos Externos (EIF, del ingls External Interface File)FPA Mecanismo

Es un proceso elemental o una accin que procesa datos o informacin de control que vienen desde afuera de la frontera de la aplicacin hacia adentro. Los datos pueden venir desde otra aplicacin o desde una pantalla de ingreso de datos. El objetivo fundamental es mantener uno o ms archivos lgicos internos (o ILF de Internal Logical File) y/o alterar el comportamiento del sistema. FPA Entradas (EI)Se aplican las siguientes reglas:R1: Los datos se reciben desde fuera de los lmites de la aplicacin.R2: Los datos mantienen un ILF a travs de un proceso elemental de la aplicacin.R3: El proceso es la unidad ms pequea de actividad que es significativa para el negocio del usuario final.R4: El proceso es auto contenido y deja la aplicacin que est siendo contada en un estado consistente.R5: El proceso identificado debe verificar alguna de estas reglas:Su lgica de proceso es nica respecto de otras entradas externas de la aplicacin.Los elementos de datos identificados son distintos a los de las otras EI de la aplicacin.Los ficheros lgicos referenciados son diferentesFPA Entradas (EI)El objetivo fundamental es presentar informacin al usuario a travs del procesamiento lgico de los datos o de la informacin de control obtenida.

Se aplican las siguientes reglas:R1: El proceso enva datos informacin de control.R2: Los datos o informacin de control se envan a travs de un proceso elemental de la aplicacin.R3: El proceso es la unidad ms pequea de actividad que es significativa para el negocio del usuario final.R4: El proceso es auto contenido y deja a la aplicacin en un estado consistente.FPA Salidas(OI)R5: El proceso identificado debe verificar alguna de estas reglas:Su lgica de proceso es nica respecto de otras salidas externas de la aplicacin.Los elementos de datos identificados son distintos a los de otras EOs de la aplicacin.Los ficheros lgicos referenciados son distintos.R6: Debe cumplirse al menos una de las siguientes condiciones:El proceso elemental contiene al menos una frmula matemtica o clculo.El proceso crea datos derivadosEl proceso que genera la salida mantiene algn ILFEl proceso que genera la salida altera el comportamiento del sistema.R7: La transferencia de datos a otras aplicaciones se cuenta como salidasR8: Los informes escritos y online se cuentan como salidas independientes.R9: Los grficos se cuentan como una salida cada uno.FPA Salidas(OI)El objetivo principal de un EQ es presentar informacin al usuario a travsde la obtencin del dato o de la informacin de control.

Se aplican las siguientes reglas:R1: Una peticin entra dentro del lmite de la aplicacin.R2: Un resultado sale del lmite de la aplicacinR3: Hay recuperacin de datos R4: Los datos recuperados no contienen datos derivados.R5: El proceso lgico no contiene frmulas matemticas o clculosR6: El proceso que genera la consulta no mantiene ningn ILF ni altera el comportamiento del sistemaR7: La peticin de entrada y el resultado de salida juntos, hacen del proceso la unidad de actividad ms pequea que es significativa para el negocio del usuario final.R8: El proceso es auto contenido y deja a la aplicacin que est siendo contada en un estado consistente.FPA Consultas(EQ)El objetivo fundamental de un ILF es manejar los datos mantenidos a travs de uno o ms procesos elementales (o acciones) de la aplicacin que est siendo contada.

Reglas para identificarlos:

R1: El grupo de datos o informacin de control es un grupo de datoslgico identificable por el usuario que cubre de manera completarequisitos especficos de este.R2: El grupo de datos es mantenido dentro de los lmites de laaplicacin.R3: El grupo de datos es mantenido o modificado por medio de unproceso elemental de la aplicacin.R4: El grupo de datos identificado no se ha contado como ELF de laaplicacin.FPA - Ficheros Lgicos Internos (ILF)El objetivo principal de un ELF es manejar los datos referenciados mediante uno o ms procesos elementales (o acciones) dentro de la frontera de la aplicacin contada.

Reglas:R1: El grupo de datos o informacin de control es un grupo de datos lgico identificable por el usuario que cubre de manera completa requisitos especficos de este.R2: El grupo de datos es referenciado y es externo a la aplicacin que est siendo contada.R3: El grupo de datos no es mantenido por la aplicacin que est siendo contada.R4: El grupo de datos se ha contado como ILF en al menos otra aplicacin.R5: El grupo de datos identificado no ha sido contado como un ILF para la aplicacin.FPA - Ficheros Lgicos Externos (ELF)RegresarEs una medida propuesta inicialmente cuando los programas se escriban en tarjetas, con una lnea por tarjeta. Actualmente los lenguajes permiten escribir varias sentencias en una lnea, o una misma sentencia en varias lneas

Las LDC miden en forma directa el tamao del producto de software. Se calculan simplemente contando las instrucciones de cdigo fuente de cada componente del producto de software excluyendo, generalmente, los comentarios y blancos. Lineas de CdigoEntonces, se calcula el valor esperado de LDC. El valor esperado para la variable de estimacin, E, se obtiene como una medida ponderada de las estimaciones LDC ptima (a), ms probable (m) y pesimista (b).

Esta tcnica trata de definir el tiempo y el costo del proyecto en base a la cantidad de lneas de cdigo se tienen que escribir, cual es el costo por lnea y cuantas lneas de cdigo desarrollamos en un mes.

Formula:

Los pasos para desarrollar ese mtodo son los siguientes:

Descomponemos el problema en los mdulos importantes que posea.Estimar los valores para las columnas de lneas a escribir optimista Ms Probable, PesimistaCalcular la columna esperada en base a la frmulaSe coloca en la columna de "$/lnea" el precio de cada lnea en cada mdulo, esto generalmente se realiza basados en los costos de proyectos anteriores.La siguiente casilla pertenece a cuantas lneas se pueden escribir en un mes.La casilla de "Coste", nos permite tener el clculo de cuanto costara cada mdulo, esto se obtiene de multiplicar la columna de "$ por lnea" con la de "Esperada".Los meses se calculan multiplicando las "Lneas al mes" por "Esperada"Al totalizarlas columnas calculadas tendramos en la columna de "Esperada" la cantidad de lneas que se escribiran, el la de "Coste" el costo estimado del proyecto y en la de "Meses" los meses que demorara el proyecto

Regresar