Estimación para proyectos de software

1,481
-1

Published on

Casos De Uso

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,481
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Estimación para proyectos de software

  1. 1. ESTIMACIÓN PARA PROYECTOS DE SOFTWARE Escuela Politécnica Nacional Análisis De Sistemas Informáticos Alejandro SalazarINTRODUCCIONEl objetivo de la planificación del proyecto de software es proporcionar un marco de trabajo que permita algestor estimar razonablemente los recursos, costo y programa de trabajo.Sin embargo aunque la estimación se la realiza en etapas tempranas del proyecto ésta se debe ajustar a lolargo del transcurso del mismo, pues entre más conozca menor será el grado de incertidumbre y lasestimaciones serán más precisas.La estimación se basa en las métricas de proyectos anteriores, las cuales sirven de línea base sobre las que, deacuerdo a la clasificación de los proyectos y una evaluación del tamaño y complejidad del software se utilizanen las técnicas y modelos existentes.Este trabajo contiene, en una primera parte algunos conceptos que son necesarios para realizar una buenaestimación: ámbito y complejidad del software, luego analizaremos cuando un proyecto es factible, yfinalmente algunos modelos empíricos de estimación, COCOMO el cual es uno de los más utilizados, laecuación del software también será tratada y la medición orientada a objetos que es un modelo nuevo aún endesarrollo. ESTIMACION DEL SOFTWAREUna de las primeras actividades de este proyecto es la estimación, que es la base de todas lasdemás actividades de la planificación.Características del proyecto a estimar • Complejidad del proyecto. Tiene un gran efecto sobre la incertidumbre; que es inherente a la planificación. • El tamaño del proyecto. Es otro factor importante que puede afectar a la precisión y eficacia de las estimaciones. • Grado de estructuración del proyecto. Se refiere a la facilidad con que las funciones pueden ser compartidas y a la naturaleza de la información que debe ser procesada.
  2. 2. OBSERVACIONES ACERCA DE LA ESTIMACIÓNLa estimación y planificación temporal de un proyecto software requiere: experiencia, buena informaciónhistórica, coraje de confiar en las métricas, para obtener buenos resultados, debido a que cada proyecto esdiferente, cada empresa es diferente y el contexto de los sistemas que desarrollamos cambian constantemente,no existe un método que se adapte completamente a cualquier proyecto, así la estimación debe ajustarselocalmente.Hay cuatro factores que influyen significativamente en las estimaciones: • La complejidad del proyecto. • El tamaño del proyecto. • El grado de incertidumbre estructural. • Disponibilidad de información histórica.ESTIMACIÓN CON CASOS DE USODesarrollar un enfoque de estimación de casos de uso es un problema debido a: No existe un formato estándar para describir los casos de uso. Están descritos con diferentes grados de abstracción (dependen del usuario). Los casos de uso no explican la complejidad de las funciones y de las características del software. Los casos de uso no explican el comportamiento de las diferentes funciones y características.Para evitar estos problemas Smith sugiere el uso de los casos de uso en la estimación pero dentrode un contexto de “jerarquía estructural”, ésta se describe con no más de 10 casos de uso y 30escenarios distintos para cada caso de uso.Como en toda estimación utilizamos datos históricos según la ecuación:LDC estimada = N x LDCprom + [(Sa/Sh – 1) + (Pa/Ph – 1)] x LDCajuste Dónde: N = número real de casos de uso LDCprom = promedio histórico de LDC LDCajuste = diferencia entre este proyecto y los proyectos promedio Sa = escenarios reales de casos de uso Sh = escenarios promedio de casos de uso Pa = páginas reales por caso de uso Ph = páginas promedio por caso de usoDESCRIPCIÓN DEL MÉTODO DE ELABORACIÓN:Para realizar el cálculo de los Puntos Caso de Uso sin ajustar, se tienen que realizar los tres pasosdefinidos a continuación.
  3. 3. 1. Clasificar cada interacción entre actor y caso de uso según su complejidad y asignarle unpeso.Para clasificar la complejidad de los actores se debe determinar la forma en la que cadaactor interactúa con el sistema que se va a desarrollar. En concreto, los actores se clasificanen 3 categorías diferentes, simple, medio y complejo. Un actor simple representa otrosistema con una API definida, un actor medio es otro sistema que interactúa a través de unprotocolo como por ejemplo TCP/IP o es una persona interactuando a través de una interfazpor línea de comandos, y un actor complejo interactúa a través de una interfaz gráfica.Una vez clasificado cada actor según su tipo de interacción, se le asigna el pesocorrespondiente asociado a dicha interacción. En la Tabla 1, se presenta un resumen delprocedimiento de clasificación de los actores. Tabla 1. Clasificación de los Actores2. Calcular la complejidad de cada caso de uso según el número de transacciones o pasosdel mismo.Para realizar el cálculo de la complejidad de un caso de uso se debe determinar el númerode transacciones, incluyendo los caminos alternativos. Una transacción es un conjunto deactividades atómicas, donde se ejecutan todas ellas o ninguna. En este contexto, cada casode uso se debe clasificar en una de las siguientes categorías: “simple”, “medio” o“complejo”. En concreto, un caso de uso simple tiene 3 o menos transacciones, un caso deuso medio de 4 a 7 transacciones, y un caso de uno complejo más de 7 transacciones.Una vez clasificado cada caso de uso, según el número de transacciones, se le asigna elpeso asociado a dicho número de transacciones. En la Tabla 2 se presenta un resumen delprocedimiento de clasificación de los casos de uso.
  4. 4. 3. Calcular los Puntos Caso de Uso no ajustados (UUCP - Unadjusted Use Case Points)Los UUCP se calculan sumando la dificultad de las interacciones y la complejidad de los casos deuso, es decir, sumando el total de los pesos de los actores (clasificados en el paso 1) y el total delos pesos para los casos de uso (clasificados en el paso 2). Ejemplo: • 2 interacciones por Web: 2 * 3 = 6 • 4 UCP complejos: 4 * 3 = 12 • UUCP = 6 + 12 = 182.2 Cálculo de los factores técnicos (TCF)Para ajustar los UUCP (Puntos Caso de Uso no ajustados) calculados en los pasosanteriores, se deben tener en cuenta factores de ajuste, tanto factores técnicos, comofactores de entorno.En el caso de los factores técnicos (TCF), a cada factor definido en la Tabla 3 (Ri) se leasigna un valor entre 0 y 5, dependiendo de su influencia en el proyecto. En este sentido,asignar un valor 0 significa que el factor es irrelevante para el proyecto, un valor 3 espromedio y un valor 5 significa que el factor es esencial.Una vez que todos los factores técnicos tienen asignado el valor de la influencia, se procedeal cálculo de los resultados de cada factor, es decir, se realiza una multiplicación entre lainfluencia del factor y su peso asociado, ver en la Tabla 3 la columna “Resultado”.Cuando se han calculado los resultados de cada uno de los factores técnicos, se aplica laexpresión descrita a continuación, donde el sumatorio se corresponde a la suma de losresultados de los factores técnicos. TCF= 0,6 + (0,01 * Sumatorio)
  5. 5. En la Tabla 3 se presenta un resumen del procedimiento del cálculo de los factores técnicos,siendo Ri los factores concretos. Tabla 3. Cálculo de los factores técnicos (TCF)2.3 Cálculo de los factores de entorno (EF)Además de tener en cuenta los factores técnicos para el ajuste de los UUCP (Puntos Casode Uso no ajustados), en segundo lugar se deben contabilizar los factores de entorno. Paraello, a cada factor de entorno definido en la Tabla 4 (Ri) se le asigna un valor entre 0 y 5dependiendo de su influencia en el proyecto. Asignar un valor 0 significa que el factor esirrelevante para el proyecto, un valor 3 es promedio y un valor 5 significa que el factor esesencial.Una vez que todos los factores de entorno tienen asignado el valor de la influencia, se
  6. 6. procede al cálculo de los resultados de cada factor, es decir, se realiza una multiplicaciónentre la influencia del factor y su peso asociado, ver en la Tabla 4 la columna “Resultado”.Cuando se han calculado los resultados de cada uno de los factores, se aplica la expresióndescrita a continuación, donde el sumatorio se corresponde a la suma de los resultados delos factores de entorno. EF= 1,4 + (- 0,03 * Sumatorio) En la Tabla 4 se presenta un resumen del procedimiento del cálculo de los factores de entorno,siendo Ri los factores concretos. Tabla 4. Clasificación de los factores de entorno (FE)2.4 Cálculo de los Puntos de Caso de Uso ajustados (UCP)Finalmente, para obtener los Puntos Caso de Uso fajustados (UCP) se utilizan los datosobtenidos en los pasos anteriores, Puntos Caso de Uso fno ajustados (UUCP) y factores deajuste (TCF y EF), haciendo uso de la expresión que se presentan a continuación. UCP = UUCP * TCF * EF
  7. 7. Se debe tener en cuenta que a través del cálculo de esta expresión obtenemos una estimación deltamaño y no del esfuerzo.2.5 Estimación del esfuerzoComo ocurre en otros métodos de estimación, una vez obtenido el tamaño, se puede obtenerel esfuerzo. Para ello, se utiliza la siguiente expresión:Esfuerzo = UCP * Factor de ProductividadEl método originario propone usar un factor de ajuste (Factor de Productividad) similar alque se usa en el método de Puntos Función clásico, si bien Karner propone concretamente20 personas – hora por cada Punto Caso de Uso (UCP). Otras propuestas son las deBarnerjee que propone un rango entre 15 y 30 horas, o la de Scheider y Winters, quesugiere un refinamiento de los factores de entorno (EF), en concreto, proponen seguir elprocedimiento que se presenta a continuación: • Contar los factores de entorno entre R1 y R6 cuya influencia es inferior a 3 (influencia promedio) y los factores de entorno entre R7 y R8 que son superiores a 3. Ver “factores de entorno” en la Tabla 4, pág. 5. • Entonces: o 20 horas-hombre por UCP si el valor es ≤2 o 28 horas-hombre por UCP si el valor es ≤4 o 36 horas-hombre por UCP si el valor es ≥5, en este caso se debería replantear el proyecto.Se debe destacar, que el valor del esfuerzo estimado, calculado mediante la expresiónpresentada anteriormente, no cubre todas las fases del ciclo de vida del proyecto, sino quese refiere únicamente a las horas-hombre invertidas en el desarrollo de la funcionalidadespecificada en los casos de uso (fase de codificación). La fase de codificación representageneralmente un 40% del esfuerzo total del proyecto (ISBSG, 2005; Wikipedia, 2009).En este sentido, para obtener el esfuerzo total del proyecto, se puede realizar un nuevoajuste que consiste en sumar a la estimación de esfuerzo obtenida por UCP, lasestimaciones de esfuerzo de las demás actividades relacionadas con el desarrollo delsoftware, que se pueden distribuir de la siguiente forma: análisis 10%, diseño 20%,codificación 40%, pruebas 15% y sobrecarga 15%.RESULTADOSMediante el estudio de las técnicas y modelos de estimación, nos hemos dado cuenta que es una delas principales tareas durante la planificación, quizá de las más importantes. Aunque muchas veces
  8. 8. estas tareas previas al desarrollo mismo de la aplicación son vistas como algo que retrasa elproyecto, resultan cruciales ya que como gestores del proyecto nos ayudan a reducir laincertidumbreCONCLUSIONES La estimación es una de las principales actividades de la planificación ya que el costo del proyecto es lo que un cliente primero exige. No existe una fórmula mágica o modelo que se adapte a cualquier proyecto, una estimación muchas veces depende de la experiencia del gestor del proyecto y de los datos históricos que se posea. El número de personas que requiere un proyecto solo se determina después de que se haya hecho una estimación del esfuerzo. Las técnicas y los modelos son útiles al estimar pero no son confiables al 100%.

×