Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Avda Reina Mercedes s/n. 41012 Sevilla informática MÉTODOS DE ESTIMACIÓN EJERCICIO 1 En un determinado proyecto software se realizó una estimación inicial del tiempo para cada una de las fases del desarrollo del mismo mediante una técnica de opinión de expertos. Sin embargo, a la finalización de dicho proyecto, se observaron variaciones entre la estimación inicial y el tiempo finalmente necesitado. A la vista de los datos de la siguiente tabla, calcule: Fase Tiempo Estimado (en semanas) Tiempo Real (en semanas) Viabilidad Requisitos Diseño Codificación Pruebas Implantación 3 7 5 8 2 1 3 5 4 13 4 1 Error relativo (%) 1.1. El error relativo para cada fase (utilice la columna correspondiente en la tabla). 1.2. El error relativo medio del proyecto en su conjunto. 1.3. La magnitud media del error relativo del proyecto en su conjunto. 1.4. ¿Por qué los valores obtenidos en los dos apartados anteriores son distintos? ¿Cuál de los dos es preferible para indicar el error medio que hemos cometido? Justifique su respuesta. EJERCICIO 2 Usted es uno de los Gerentes de una empresa de desarrollo software y tiene a su cargo todos los proyectos de desarrollo para una cartera de clientes del sector inmobiliario. Debido a la crisis económica del sector, ha disminuido en un alto porcentaje la demanda de servicios en su cartera de clientes, por lo que el Director General de su compañía le ha indicado que debe prescindir de uno de sus dos jefes de proyectos para reducir costes en el siguiente ejercicio fiscal. Teniendo en cuenta la Base Histórica de proyectos, va a decidir mantener en la empresa al que mejores estimaciones realiza, ya que gracias a él, se minimiza la desviación entre la oferta que se presenta y el producto final que se entrega, con lo que los niveles de satisfacción del cliente –y por ende, de su Director General- son Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Avda Reina Mercedes s/n. 41012 Sevilla informática mayores. Además, los Jefes de Proyecto están de acuerdo, ya que es un criterio objetivo de medición de la calidad de su trabajo. Después de tratar la Base Histórica, dispone de los siguientes datos: Proyectos Proyecto 1 Proyecto 2 Proyecto 3 Proyecto 4 Proyecto 5 Proyecto 6 Proyecto 7 Proyecto 8 Proyecto 9 Proyecto 10 Proyecto 11 Proyecto 12 Jefe de Proyecto asignado Tiempo estimado en la oferta (en meses) Tiempo real de ejecución (en meses) Jefe de Proyecto A Jefe de Proyecto A Jefe de Proyecto A Jefe de Proyecto A Jefe de Proyecto A Jefe de Proyecto A Jefe de Proyecto B Jefe de Proyecto B Jefe de Proyecto B Jefe de Proyecto B Jefe de Proyecto B Jefe de Proyecto B 12 24 9 36 8 1 15 21 31 10 10 3 14 21 12 38 8 2 14 23 36 19 12 2 Se le pide que calcule mostrando explícitamente todas las fórmulas y operaciones que necesite utilizar (realice las operaciones con 2 decimales) y justificando los datos obtenidos: 2.1. El error relativo de cada proyecto 2.2. El error relativo medio de cada Jefe de Proyecto 2.3. La magnitud media del error relativo de cada Jefe de Proyecto 2.4. Decida, justificadamente, a qué Jefe de Proyecto debe mantener EJERCICIO 3 Estimar el esfuerzo de desarrollo de un sistema de comunicaciones de 30.000 LOC de alta complejidad. Afortunadamente se dispone de programadores de muy alta cualificación y el personal posee gran experiencia específica en ese tipo de aplicaciones. En dicho proyecto existen además determinados factores que influyen como son la complejidad, el personal y la experiencia donde para cada uno de ellos su valor ponderado es 1.15, 0.7 y 0.91 respectivamente. El coste mensual del personal es de 2200 euros/mes por técnico. (Utilice el modelo COCOMO) Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Intermedio Avda Reina Mercedes s/n. 41012 Sevilla Proyecto de software a Orgánico Semiacoplado Empotrado informática b 3,2 1,05 3,0 1,12 2,8 1,20 Tabla 1: Coeficientes COCOMO para el esfuerzo. EJERCICIO 4 Una empresa de desarrollo de videojuegos desea embarcarse en un nuevo proyecto que creará un videojuego de rol masivo online para competir en el mercado actual. El 80% del equipo de desarrollo para este nuevo proyecto tiene una gran experiencia en el desarrollo de videojuegos, pero ninguno de ellos ha trabajado previamente en un juego de rol masivo online, por lo que existe cierto riesgo en el proyecto. Una vez realizado el análisis de requisitos, se ha estimado que en el proyecto en su conjunto se debe desarrollar una funcionalidad equivalente a 2000 puntos de función, y que se implementará en lenguaje C++, por lo que cada punto de función equivaldrá a 64 líneas de código. Teniendo en cuenta la descripción anterior, responda a los siguientes apartados, mostrando explícitamente todas las fórmulas y operaciones que necesite utilizar, así como todas las unidades. Válgase para ello, cuando sea necesario, de las tablas de coeficientes mostradas detrás. Orgánico Semiacoplado Empotrado Proyecto de software a b 2,4 1,05 3,0 1,12 3,6 1,20 Tabla 2: Coeficientes COCOMO para el esfuerzo. Básico Básico Proyecto de software a Orgánico Semiacoplado Empotrado b 2,5 0,38 2,5 0,35 2,5 0,32 Tabla 3: Coeficientes COCOMO para la duración. 4.1 Describa los tres modos en los que se puede clasificar un proyecto según el modelo COCOMO, y explique razonadamente cuál de los modos sería aplicable al proyecto descrito arriba. 4.2 Estime usando el modelo COCOMO básico y el tipo de proyecto identificado en el Apartado 1 el esfuerzo necesario y la duración del proyecto descrito arriba, utilizando los datos proporcionados. 4.3 Calcule según los resultados del Apartado 2 el número medio de técnicos que serían necesarios en el equipo de desarrollo para cumplir las estimaciones obtenidas, así como el presupuesto necesario para pagar a dichos técnicos durante todo el proyecto. Para esto último, tenga en cuenta que en el modelo COCOMO, un técnicomes equivale a 152 horas de trabajo, y que la hora de trabajo se paga en la empresa a 15 euros. Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Avda Reina Mercedes s/n. 41012 Sevilla informática EJERCICIO 5 Usted ha concluido la carrera de Ingeniería Informática y está en el proceso de selección de una consultora tecnológica, donde le han ofrecido trabajar como Jefe de Proyecto. Después de superar el test psicotécnico, le proponen el siguiente ejercicio de lo que será su actividad si quiere trabajar en ese rol. Una Administración Pública ha lanzado un concurso para renovar completamente su sistema de Gestión de Nóminas y en el pliego de prescripciones técnicas se describe que el proyecto en su conjunto desarrollará funcionalidades equivalentes a 3.500 puntos función, y que se deberá implementar en lenguaje JAVA, por lo que cada punto función equivaldrá a 58 líneas de código. En su empresa se disponen de dos factorías de software independientes: Factoría Software 1: Se encuentra en su propio país, muy especializada en sistemas de gestión económica, sin restricciones y cuyos técnicos tienen un salario medio de 2.100 euros al mes. Factoría Software 2: Establecida en otro continente, sin especialización y con diferentes niveles de experiencia en desarrollos para Administraciones Públicas; sus técnicos tienen un coste medio de 1.300 € mensuales; el uso por proyecto de esta factoría tiene un sobrecoste de 100.000 € fijos en concepto de desplazamientos (independientemente del número de técnicos). Teniendo en cuenta la descripción anterior, responda a los siguientes apartados, mostrando explícitamente todas las fórmulas y operaciones que necesite utilizar indicando las unidades y justificando los datos obtenidos. Válgase para ello, cuando sea necesario, de las tablas de coeficientes mostradas. Orgánico Semiacoplado Empotrado Proyecto de software a b 2,4 1,05 3,0 1,12 3,6 1,20 Tabla 4: Coeficientes COCOMO para el esfuerzo. Básico Básico Proyecto de software a Orgánico Semiacoplado Empotrado b 2,5 0,38 2,5 0,35 2,5 0,32 Tabla 5: Coeficientes COCOMO para la duración. 5.1. Estime usando el modelo COCOMO Básico y el tipo de proyecto justificado, el esfuerzo necesario y la duración del proyecto para cada factoría de software. 5.2. Calcule según los resultados anteriores, el número medio de técnicos que serían necesarios en cada factoría de software para cumplir las estimaciones obtenidas, así como el coste necesario para realizar el proyecto en cada factoría. Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Avda Reina Mercedes s/n. 41012 Sevilla informática 5.3. La valoración económica máxima del proyecto que indica la Administración en el pliego es de 1.600.000 € (es decir, no se puede pasar de esta cifra en su oferta). Por política de su empresa, a las ofertas que se presenten siempre se les aplicarán un 15% de margen de beneficio. Indique, para cada factoría software, si podrá presentarse en el concurso y cuánto beneficio obtendrá si gana el concurso. EJERCICIO 6 Se ha estimado que el desarrollo de un sistema software de gestión de una tienda de electrodomésticos tendrá un tamaño de 45500 líneas de código efectivas. Teniendo en cuenta que el equipo de desarrollo tiene un nivel de experiencia medio en la realización de este tipo de proyectos, estime el esfuerzo necesario usando el modelo COCOMO más apropiado, según los valores adecuados de la siguiente tabla. Indique explícitamente el modelo y el modo usado. Básico b Orgánico Semiacoplado Empotrado 2,4 1,05 3,0 1,12 3,6 1,20 Intermedio Proyecto de software a Orgánico Semiacoplado Empotrado 3,2 1,05 3,0 1,12 2,8 1,20 Tabla 6: Coeficientes COCOMO para el esfuerzo. ¿Cómo varía la estimación anterior si tenemos en cuenta las siguientes guías de coste, donde se ha elegido el valor sombreado en rojo? Factor/Grado Muy Bajo Bajo Normal Alto Muy Alto Extra Alto Fiabilidad 0,75 0,88 1,00 1,15 1,40 1,40 Tamaño BD 0,94 0,94 1,00 1,08 1,16 1,16 Complejidad 0,70 0,85 1,00 1,15 1,30 1,65 Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla e.t.s. ingeniería Avda Reina Mercedes s/n. 41012 Sevilla informática EJERCICIO 7 En el momento de comenzar el desarrollo de un proyecto de software de 75.000 LOC se sabe que es necesario que esté terminado en 12 meses y que su entorno de desarrollo es excelente. Antes de comenzar el desarrollo, hay que analizar las siguientes cuestiones (utilice el modelo de Putnam): 7.1. ¿Qué esfuerzo total necesitaría para su desarrollo? 7.2. Si pudiera aumentar el tiempo de desarrollo en un 50% ¿qué reducción se obtendría en el esfuerzo total requerido? 7.3. En el caso anterior ¿cómo afectaría al esfuerzo obtenido si el entorno de desarrollo pasara de ser excelente a ser bueno? EJERCICIO 8 La Junta de Andalucía nos pide que desarrollemos el sistema de gestión integral de las subvenciones promovidas por todas las Consejerías. El pliego de condiciones establece que el proyecto debe estar finalizado en un año y medio. De cara a presentar una oferta, se ha estimado que el tamaño en líneas de código del proyecto serán 80.000 líneas. 8.1. Estime usando el modelo SLIM el esfuerzo total necesario para acometer el proyecto. Tenga en cuenta para ello que el factor de tecnología es de 15000. 8.2. Suponiendo que pagamos, de media, 1600 euros a cada técnico cada mes, estime el coste del proyecto teniendo solo en cuenta el salario de los técnicos. 8.3. ¿Cómo variaría el esfuerzo total necesario si tuviéramos dos años para realizar el proyecto pero el entorno de desarrollo fuera más pobre, esto es, el factor de tecnología fuera de 8000?