ESTIMACIONES. EJEMPLO TIPO 1. Muestre el proceso completo con los valores obtenidos no solo para los datos que se piden sino también para los valores intermedios que se necesiten. El escribir una respuesta sin mostrar esos valores intermedios reduce considerablemente la puntuación a otorgar por el ejercicio. ---------------------------------------------------------------------------------------------------Calcular las métricas y realizar las estimaciones siguientes: (A). El número de Puntos de Función del Sistema en estudio (considerado de complejidad Media), descrito en la tabla presentada en las guías de clase. (B). El esfuerzo en personas-mes, el costo, la duración en meses y el número medio de personas necesarias estimadas según el método COCOMO Básico, teniendo en cuenta que es un sistema Semiacoplado. Tasa de conversión: 55 LDC / PF (C). El esfuerzo en personas-mes, el costo, la duración en meses y el número medio de personas necesarias estimadas según el método COCOMO Intermedio para el mismo Sistema anterior. Salario por persona= 900 dólares. Parámetros dados del Sistema en estudio para el cálculo de la Métrica de Puntos de Función: conteo complejidad (conteo* complejidad) 5 5 25 Cantidad de Salidas de Usuario Cantidad de Entradas de Usuario 10 4 40 Cantidad de Peticiones al usuario (Consultas) 7 5 35 Cantidad de Archivos 4 10 40 Cantidad de Interfaces externos 6 7 42 SUMA PFSA: 182 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 2 3 1 5 3 0 0 3 5 2 1 0 5 2 MODP TOOL SUMA FACTORES DE AJUSTE: 32 RESPUESTAS: (A) PFA = 182*(0.65+(0.01*32)) = 175*(0.65+(0.32)) = 182*(0.97) =176.54 (B) COCOMO BASICO: Conversión : 176 PF * 55 LDC / PF = 9680 LDC E = a * (KLDC)b D = c * (E)d E = 3.0 * (9.68)1.12 =38.13306 pm D = 2.5 * (38.13306)0.35 = 8.9412 meses. PERSONAS = E / D = 38.13306 / 8.9412= 4.2649 PERSONAS. COSTO = 900 $ / P M * 4.2649 P * 8.9412 MESES = 34319.75 dólares (C) COCOMO INTERMEDIO: Parámetros del Sistema en estudio para el cálculo de la Estimación COCOMO: RELY DATA CPLX TIME STOR VIRT TURN ACAP AEXP PCAP VEXP LEXP SCED N H VH N N L H L N N H L H N L 1 1.08 1.30 1 1 0.87 1.07 1.19 1 1 0.90 1.07 0.91 1 1.08 FAE = 1.472 E = 3.0 * (9.68)1.12 * 1.472 = 56.13195 PM D = 2.5 * (56.13195)0.38 = 11.5515 MESES PERSONAS = E / D = 56.13195/ 11. 5515 = 4.8592 PERSONAS. COSTO = 900 $ / P M * 4.8592 P * 11.5515 MESES = 50517.95 dólares 1 ESTIMACIONES. EJEMPLO TIPO 2. La empresa “VARIEDADES GLOBO” se dedica a la organización de fiestas informales a domicilio, y le ha solicitado la realización de un sistema informático que les ayude en su administración y control registrando en plantilla una serie de animadores, cada uno con diferentes especialidades, que son: esculturas con globos, títeres, canciones, bailes, imitaciones y magia. Los clientes de la empresa realizan peticiones de fiestas, que se recogen en un formulario. Este recoge la fecha y la hora, duración, nombre y dirección, tipo de fiesta (cumpleaños, comunión, otros), promedio de edad y cantidad de los asistentes, número de animadores que se desean, junto con la especialidad de cada uno, así como consideraciones especiales. Una vez realizada la solicitud, los clientes reciben un presupuesto, si es posible realizar una fiesta con las características indicadas. En caso de que la fiesta no se pueda realizar (por problemas de fechas o disponibilidad de animadores), los clientes reciben una propuesta alternativa. El cliente entonces puede confirmar el presupuesto o la propuesta recibida. El encargado de la empresa puede consultar por un lado las características de los animadores en plantilla, y por otro las fiestas pendientes. Además tiene que asignar animadores a cada una de las fiestas. Los animadores por su parte, pueden realizar una consulta con las fiestas que les han sido asignadas. Además, después de cada fiesta, rellenarán un formulario con un parte de actividad, indicando la especialidad y la cantidad de horas trabajadas. Se pide: a) Calcule razonadamente los puntos de función sin ajustar, suponiendo todos los elementos de complejidad media. b) Estime las líneas de código Java que tendrá la aplicación. Tenga en cuenta que SEGÚN DATOS DE LA EMPRESA, son necesarios alrededor de 100 líneas de código por cada Punto de Función. c) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la aplicación. Nota: Para determinar cuál modo (tipo de proyecto) elegir, se sabe que todo el personal de su empresa tiene gran experiencia en este tipo de aplicaciones. Utilice la información que se presenta a continuación, incluidas las tablas: El modelo COCOMO (COnstructive COst MOdel) Calcula esfuerzo y coste en función del tamaño del programa (LDC). COCOMO está definido para tres tipos de proyectos de Software: 1. Modo orgánico: Proyectos pequeños y sencillos, con equipos de experiencia en la aplicación y requisitos poco rígidos. 2. Modo semiacoplado: Proyectos intermedios (más complejos), con equipos que poseen variados niveles de experiencia y requisitos más rígidos. 3. Modo empotrado: Proyectos que deben ser desarrollados en un conjunto de Hardware, Software y restricciones muy grandes. PARA PUNTOS DE FUNCIÓN: DOMINIO COMPLEJIDAD Alta Salidas Media Baja Alta Entradas Media Baja Alta Consultas Media Baja Alta Archivo Interno Media Baja Alta Archivo Externo Media / Interfaces Baja PESO 7 5 4 6 4 3 7 5 4 15 10 7 10 7 5 COCOMO BASICO Modo a b (Tipo de Proyecto) Orgánico 2.4 1.05 Semiacoplado 3.0 1.12 Emportrado 3.6 1.20 b E = a * (KLDC) b d 2.5 2.5 2.5 0.38 0.35 0.32 d D = c * (E) COCOMO INTERMEDIO Modo (Tipo de Proyecto) a Orgánico 3.2 Semiacoplado 3.0 Empotrado 2.8 E = a * (KLDC) * FAE c b 1.05 1.12 1.20 0.38 D = 2.5 * (E) 2 SOLUCIÓN: a) Calcule razonadamente los puntos de función sin ajustar, suponiendo todos los elementos de complejidad MEDIA. Salidas: Presupuesto + Propuesta = 2 x 5 = 10 Entradas: Peticiones + Confirmación + Asignación de animadores + parte actividad = 4 x 4 = 16 Consultas: Características de animadores + fiestas pendientes + fiestas asignadas = 3 x 5 = 15 Ficheros lógicos internos: Personal + Fiestas = 2 x 10 = 20 Archivos externos: NO HAY. Total : 61 PF (sin ajustar) b) Estime las líneas de código Java que tendrá la aplicación. Tenga en cuenta que SEGÚN DATOS DE LA EMPRESA, son necesarios alrededor de 100 líneas de código por cada Punto de Función. 61 PF * 100 (LDC Java/ PF) = 6100 LDC Java c) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la aplicación. Nota: Para determinar cuál modo (tipo de proyecto) elegir, se sabe que todo el personal de su empresa tiene gran experiencia en este tipo de aplicaciones. Como la empresa tiene gran experiencia y los requerimientos no tiene mayor dificultad, se puede utilizar el modelo Orgánico. No tenemos datos sobre complejidades adicionales, o sobre las características de nuestro equipo de desarrollo, así que usamos el COCOMO BÁSICO: b E = a * (KLDC) 1.05 E = 2.4 * (6.1) D = c * (E) d = 2.4 * 6.67723 = 16.02535 p-m D = c * (E)d = 2.5 * (16.02535)0.38 = 2.5 * 2.86964 = 7.1741 meses 3 ESTIMACIONES. EJEMPLO TIPO 3 (Más difícil). Eres un jefe de proyecto de una empresa informática que se dedica al desarrollo de aplicaciones de ingeniería. Tienes que desarrollar un simulador para la modelización de materiales, así como la experimentación de sus propiedades ante la descarga de electrones en diversas geometrías. Pese a que tus clientes (una empresa del sector aeroespacial) te piden que la aplicación funcione en Windows 7, y no están familiarizados con aplicaciones interactivas para simulación. Así, compruebas que no tienen claros los requisitos en cuanto a interfaz de usuario y salidas gráficas. Por tu parte, no sabes cuál es el mejor procedimiento para la simulación (dudas entre eventos discretos o un esquema de integración clásico), ya que tus clientes te piden que cada material pueda simularse en 30 minutos como máximo, así que deberás usar herramientas para evaluar el rendimiento de ambas alternativas. En ambos casos se reutilizará una librería de funciones matemáticas que se ha desarrollado en tu empresa en proyectos anteriores. La aplicación recibe como entradas de manera interactiva los parámetros del material, una especificación de las condiciones iniciales de la nube de electrones, una especificación del número y tipo de experimentos a realizar, así como las condiciones de final de la simulación. El simulador produce una salida textual con los resultados de cada experimento, así como cuatro salidas gráficas. El programa debe manejar una base de datos de materiales. Esta base de datos se podrá consultar por el nombre del material. Los procedimientos matemáticos son en general complejos. Además, el usuario te pide el uso en la aplicación de una interacción típica de Windows (ventanas, menús, scroll, uso de ratón, teclas de función, ayuda on-line, etc.) aunque sin requisitos de eficiencia, así como una herramienta para su fácil instalación, ya que el simulador debe instalarse en varios laboratorios en donde todos los PCs tienen Windows 7. Se pide: (a) Calcula los puntos de función ajustados (considera medio el valor de la complejidad de los elementos) y el tamaño del programa en líneas de código en C++ si los datos históricos de tu empresa indican que son necesarias 200 líneas de código C++ por punto de función. (b) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la aplicación. Nota: Se considera tipo de proyecto Orgánico. Utilice la información que se presenta a continuación, incluidas las tablas: El modelo COCOMO (COnstructive COst MOdel) Calcula esfuerzo y coste en función del tamaño del programa (LDC). COCOMO está definido para tres tipos de proyectos de Software: 1. Modo orgánico: Proyectos pequeños y sencillos, con equipos de experiencia en la aplicación y requisitos poco rígidos. 2. Modo semiacoplado: Proyectos intermedios (más complejos), con equipos que poseen variados niveles de experiencia y requisitos más rígidos. 3. Modo empotrado: Proyectos que deben ser desarrollados en un conjunto de Hardware, Software y restricciones muy grandes. PARA PUNTOS DE FUNCIÓN: DOMINIO COMPLEJIDAD Alta Salidas Media Baja Alta Entradas Media Baja Alta Consultas Media Baja Alta Archivo Interno Media Baja Alta Archivo Externo Media / Interfaces Baja PESO 7 5 4 6 4 3 7 5 4 15 10 7 10 7 5 COCOMO BASICO Modo a b (Tipo de Proyecto) Orgánico 2.4 1.05 Semiacoplado 3.0 1.12 Emportrado 3.6 1.20 b E = a * (KLDC) b d 2.5 2.5 2.5 0.38 0.35 0.32 d D = c * (E) COCOMO INTERMEDIO Modo (Tipo de Proyecto) a Orgánico 3.2 Semiacoplado 3.0 Empotrado 2.8 E = a * (KLDC) * FAE c b 1.05 1.12 1.20 0.38 D = 2.5 * (E) 4 Solución: (a) Calcula los puntos de función ajustados (considera medio el valor de la complejidad de los elementos) y el tamaño del programa en líneas de código en C++ si los datos históricos de tu empresa indican que son necesarias 200 líneas de código C++ por punto de función. PF sin ajustar: Salidas = 1 texto + 4 gráficas = 5 * 5 = 25 Entradas = parámetros del material + condiciones iniciales de la nube de electrones + especificación del número y tipo de experimentos a realizar + condiciones de final = 4 * 4 = 16 Consultas = 1 consulta por el nombre del material = 1 * 5 = 5 Archivos Internos = BD de materiales = 1 * 10 = 10 Archivos externos: NO HAY TOTAL PFSA : 56 LDC “C++” = 56 x 200 = 11200 LDC Factores de ajuste: 3. Rendimiento: 5 (uso de herramientas para evaluar rendimiento) 4. Configuraciones fuertemente utilizadas: 2 (restricciones de tiempo). 6. Entrada on-line de datos: 5 (todas entradas on-line) 7. Diseño para la eficiencia del usuario final: 3 9. Procesos complejos: 1 (procesos matemáticos complejos) 10. Reusabilidad: 1 (se reutilizan librerías) 11. Facilidad de instalación: 4 (necesitan herramientas para la instalación) 13. Instalación de múltiples sitios: 1 (uso en varios laboratorios con Windows 7) Suma de factores: 22 Puntos de Función Ajustados (PFA): PFA = PFSA * (0.65 + (0.01*(Suma Factores de Ajuste))) PFA = 56 * (0.65 + (0.01*(22))) = 56 * (0.65 + 0.22) = 56 * 0.87 = 48.72 Total Puntos de Función: 48 LDC “C++” = 48 x 200 = 9600 LDC (b) Usando el modelo COCOMO estime el tiempo y esfuerzo necesarios para realizar la aplicación. Nota: Se considera tipo de proyecto Orgánico. No tenemos datos sobre complejidades adicionales, o sobre las características de nuestro equipo de desarrollo, así que usamos el COCOMO BÁSICO: E = a * (KLDC)b D = c * (E)d E = 2.4 * (9.6)1.05 = 2.4 * 10.749414 = 25.798593 p-m D = c * (E)d = 2.5 * (25.7986)0.38 = 2.5 * 3.4388 = 8.5969 meses 5