Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación...

47
Clase 1

Transcript of Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación...

Page 1: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Clase 1

Page 2: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Identificar formas de medición del Software

Page 3: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor

esperanza de que la realidad puede vencer sobre las demandas imposibles.

Copers Jones

Page 4: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

La gestión de un proyecto de software comienza con un conjunto de actividades que globalmente se denominan planificación del proyecto. Antes de que el proyecto comience, el gestor y el equipo de software deben realizar :

Estimación del trabajo a realizar Estimación de los recursos necesarios Estimación del tiempo que transcurrirá desde el comienzo hasta

el final de su realización.

Siempre que estimamos, estamos mirando hacia el futuro y aceptamos resignados cierto grado de incertidumbre.

Page 5: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Aunque la estimación es más un arte que una ciencia, es una actividad importante que no debe llevarse a cabo de forma descuidada.

Existen técnicas útiles para la estimación del esfuerzo y del tiempo.

Las métricas del proyecto y del proceso proporcionan una perspectiva histórica y una potente introducción para generar estimaciones cuantitativas.

La experiencia anterior (de todas las personas involucradas) puede ayudar en gran medida al desarrollo y revisión de las estimaciones.

Page 6: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Proporcionar un marco de trabajo que permita al gestor hacer

estimaciones razonables de recursos, coste y planificación temporal.

Estas estimaciones se hacen dentro de un marco de tiempo limitado al comienzo de un proyecto de software.

Las estimaciones deben actualizarse regularmente a medida que progresa el proyecto.

Además, las estimaciones deberían definir los escenarios del ((mejor caso» y «peor caso» de forma que los resultados del proyecto puedan limitarse.

Page 7: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

La primera actividad de la planificación del proyecto de software es

determinar el ámbito del software.

El ámbito del software describe el control y los datos a procesar, la función, el rendimiento, las restricciones, las interfaces y la fiabilidad.

Se evalúan las funciones descritas en la declaración del ámbito, y en algunos casos se refinan para dar más detalles antes del comienzo de la estimación.

Las consideraciones de rendimiento abarcan los requisitos de tiempo de respuesta y de procesamiento.

Las restricciones identifican los límites del software originados por el hardware, por la memoria disponible y por otros sistemas existentes.

Page 8: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Reunión o una entrevista preliminar entre cliente y desarrollador, basada en preguntas y respuestas, esta técnica se debe utilizar solamente para la primera reunión.

Preguntas que debería hacer el analista:

¿Quién está detrás de la solicitud de este trabajo? ¿Quién utilizará la solución? ¿Cuál será el beneficio económico de una buena solución? ¿Hay otro camino para la solución?

Otras preguntas necesarias (Percepciones del cliente de la Sol.):

¿Cómo caracterizaría [el cliente] un resultado «correcto» que se generaría con una solución satisfactoria?

¿Con qué problema(s) se afrontará esta solución?

¿Puede mostrarme (o describirme) el entorno en el que se

utilizará la solución?

¿Hay aspectos o limitaciones especiales de rendimiento que

afecten a la forma en que se aborde la solución?

Page 9: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Preguntas sobre la efectividad de la reunión :

¿Es usted la persona apropiada para responder a estas preguntas?

¿Son «oficiales» sus respuestas?

¿Son relevantes mis preguntas para su problema?

¿Estoy realizando muchas preguntas?

¿Hay alguien más que pueda proporcionar información adicional?

¿Hay algo más que debiera preguntarle?

Page 10: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Las siguientes reuniones deben ser reuniones que combinen elementos

de resolución de problemas, negociación y especificación ,de tal forma

que se establezca una relación de trabajo exitosa.

Para lo anterior es necesario contar con un equipo de trabajo formado

por clientes y desarrolladores que trabajen juntos para:

Identificar el problema

Proponer elementos de solución.

Negociar diferentes enfoques.

Especificar un conjunto preliminar de requisitos.

Page 11: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Una vez que se ha identificado el ámbito (con la ayuda del cliente), es razonable preguntarse:

«¿Podemos construir el software de acuerdo a este ámbito? ¿Es factible el proyecto?».

Con frecuencia, las prisas de los ingenieros de software sobrepasan

estas preguntas (o están obligados a pasarlas por los clientes o gestores impacientes).

La factibilidad del software tiene cuatro dimensiones sólidas:

Tecnológica :¿Es factible un proyecto técnicamente? ¿Está dentro del estado actual de la tecnología?

Financiamiento : ¿,Es factible financieramente? ¿,Puede realizarse a un coste asumible por la empresa de software y por el cliente?

Tiempo : Pueden los proyectos adelantarse a los de la competencia?

Recursos-¿La organización cuenta con los recursos suficientes para tener éxito?

Page 12: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Software que se debe desarrollar para controlar un sistema de clasificación de cinta transportadora (SCCT). El sistema de clasificación de cinta transportadora (SCCT) clasifica las

cajas que se mueven por una cinta transportadora. Cada caja estará identificada por un código de barras que contiene un

número de pieza y se clasifica en uno de seis compartimentos al final de la cinta.

Las cajas pasarán por una estación de clasificación que consta de un lector de código de barras y un PC.

El PC de la estación de clasificación está conectado a un mecanismo de maniobra que clasifica las cajas en los compartimentos.

Las cajas pasan en orden aleatorio y están espaciadas uniformemente. La cinta se mueve a cinco pies por minuto.

Page 13: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

El software del SCCT debe recibir información de entrada de un lector de código de barras a intervalos de tiempo que se ajusten a la velocidad de la cinta transportadora.

Los datos del código de barras se decodifican al formato de identificación de caja.

El software llevará a cabo una inspección en la base de datos de números de piezas que contiene un máximo de 1000 entradas para determinar la posición del compartimento adecuada para la caja que se encuentre actualmente en el lector (estación de clasificación).

La posición correcta del compartimento se pasará a un mecanismo de maniobra de ordenación que sitúa las cajas en el lugar adecuado.

Se mantendrá una lista con los compartimentos destino de cada caja para su posterior recuperación e informe.

El software del SCCT recibirá también entrada de un tacómetro de pulsos que se utilizará para sincronizar la señal de control del mecanismo de maniobra.

Basándonos en el número de pulsos que se generen entre la estación de clasificación y el mecanismo de maniobra, el software producirá una señal de control para que la maniobra sitúe adecuadamente la caja.

Page 14: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

El planificador del proyecto examina la especificación del ámbito y extrae todas las funciones importantes del software. Este proceso, denominado descomposición y produce como resultado las funciones siguientes:

Lectura de la entrada del código de barras. Lectura del tacómetro de pulsos. Descodificación de los datos del código de pieza. Búsqueda en la base datos. Determinar la posición del compartimento. Producción de la señal de control para el mecanismo de maniobra. Mantener una lista de los destinos de las cajas

Page 15: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

En este caso, el rendimiento está determinado por la velocidad de la cinta transportadora. Se tiene que terminar el procesamiento de cada caja antes de que llegue la siguiente caja al lector de código de barras.

El software del SCCT está limitado por :

El hardware al que tiene que acceder

o Lector de código de barras o El mecanismo de maniobra o Computador o La memoria disponible

Configuración global de la cinta transportadora (cajas uniformemente espaciadas).

Page 16: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

La función, el rendimiento y las restricciones se evalúan a la vez.

Una misma función puede producir una diferencia de un orden de magnitud en el esfuerzo de desarrollo cuando se considera en un contexto con diferentes límites de rendimiento.

El esfuerzo y los costes requeridos para desarrollar el software SCCT serían drásticamente diferentes si la función fuera la misma, ejemplo:

La cinta transportadora siguiese colocando cajas en contenedores, pero el rendimiento variara, por ejemplo, si la velocidad media de la cinta transportadora aumentara en un factor de 10 (rendimiento) y las cajas no estuvieran uniformemente espaciadas (una restricción), el software podría ser considerablemente más complejo -requiriendo, por tanto, un mayor esfuerzo de desarrollo-.

La función, el rendimiento y las restricciones están íntimamente relacionadas.

Page 17: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

El software interactúa con otros elementos del sistema informático.

El planificador considera la naturaleza y la complejidad de cada interfaz para determinar cualquier efecto sobre los recursos, los costes y la planificación temporal del desarrollo.

El concepto de interfaz abarca lo siguiente:

Hardware (por ejemplo: procesador, periféricos) que ejecuta el software y los dispositivos (por ejemplo: máquinas, pantallas) que están controlados indirectamente por el software.

Software ya existente (por ejemplo, rutinas de acceso a una base de datos, componentes de software reutilizables, sistemas operativos) que debe ser integrado con el nuevo software.

Personas que hacen uso del software por medio del teclado

(terminales) u otros dispositivos de entrada/salida.

Procedimientos que preceden o suceden al software en una secuencia de operaciones.

En cada caso, debe comprenderse claramente la información que se transfiere a través de la interfaz.

Page 18: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Cada recurso queda especificado mediante cuatro características:

Descripción del recurso.

Informe de disponibilidad.

Fecha cronológica en la que se requiere el recurso.

Tiempo durante el que será aplicado el recurso.

Las dos últimas características pueden verse como una ventana temporal. La disponibilidad del recurso para una ventana específica tiene que establecerse lo más pronto posible.

Page 19: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos Humanos

El encargado de la planificación comienza elevando el ámbito y seleccionando las habilidades que se requieren para llevar a cabo el desarrollo.

Hay que especificar la posición dentro de la organización, por ejemplo:

Gestor Ingeniero de software experimentado etc.

Además se debe especificar la especialidad, por ejemplo:

Telecomunicaciones Bases de datos Cliente/servidor

Para proyectos relativamente pequeños (una persona-año o menos) una sola persona puede llevar a cabo todos los pasos de ingeniería del software, consultando con especialistas siempre que sea necesario.

El número de personas requerido para un proyecto de software sólo puede ser determinado después de hacer una estimación del esfuerzo de desarrollo (por ejemplo, personas-mes).

Page 20: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos de Software Reutilizables

La ingeniería del software basada en componentes destaca la reutilización – esto es, la creación y la reutilización de bloques de construcción de software.

Dichos bloques de construcción, llamados componentes, deben :

Establecerse en catálogos para una consulta más fácil.

Estandarizarse para una fácil aplicación.

Validarse para una fácil integración.

Page 21: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos de Software Reutilizables

Componentes con experiencia parcial. Especificaciones, diseños, código o datos de prueba existentes desarrollados para proyectos anteriores que se relacionan con el software que se va a construir para el proyecto actual, pero que requerirán una modificación sustancial. Los miembros del equipo de software actual han limitado su experiencia sólo al área de aplicación representada por estos componentes. Las modificaciones, por tanto, requeridas para componentes de experiencia parcial tendrán bastante grado de riesgo.

Componentes nuevos. Los componentes de software que el equipo de software debe construir específicamente para las necesidades del proyecto actual.

Page 22: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos de Software Reutilizables

Cuando los componentes reutilizables se especifiquen como recursos es conveniente considerar las siguientes directrices : 1. Si los componentes ya desarrollados cumplen los requisitos del

proyecto, adquiéralos. El coste de la adquisición y de la integración

de los componentes ya desarrollados serán casi siempre menores

que el coste para desarrollar el software equivalente6. Además, el

riesgo es relativamente bajo.

2. Si se dispone de componentes ya experimentados, los riesgos asociados a la modificación y a la integración generalmente se aceptan. El plan del proyecto debería reflejar la utilización de estos componentes.

Page 23: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos de Software Reutilizables

3. Si se dispone de componentes de experiencia parcial para el proyecto actual, su uso se debe analizar con detalle. Si antes de que se integren adecuadamente los componentes con otros elementos del software se requiere una gran modificación, proceda cuidadosamente - el riesgo es alto. El coste de modificar los componentes de experiencia parcial algunas veces puede ser mayor que el coste de desarrollar componentes nuevos.

Page 24: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Recursos de Entorno

El entorno es donde se apoya el proyecto de software, llamado a menudo entorno de ingeniería del software (ElS), incorpora hardware y software.

El hardware proporciona una plataforma con las herramientas (software) requeridas para producir los productos que son el resultado de una buena práctica de la ingeniería del software.

Page 25: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Al principio, el coste del software constituía un pequeño porcentaje del

coste total de los sistemas basados en computador. Un error considerable

en las estimaciones del coste del software tenía relativamente poco

impacto.

Hoy en día, el software es el elemento más caro de la mayoría de los

sistemas informáticos. Para sistemas complejos, personalizados, un gran

error en la estimación del coste puede ser lo que marque la diferencia

entre beneficios y pérdidas. Sobre pasarse en el coste puede ser

desastroso para el desarrollador.

Page 26: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

La estimación del coste y del esfuerzo del software nunca será una

ciencia exacta. Son demasiadas las variables :

Humanas Técnicas De entorno Políticas

Que pueden afectar al coste final del software y al esfuerzo aplicado

para desarrollarlo.

Page 27: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Para realizar estimaciones seguras de costes y esfuerzos tenemos varias

opciones posibles:

1. Dejar la estimación para más adelante (obviamente, podemos

realizar una estimación al cien por cien fiable tras haber terminado

el proyecto!).

2. Basar las estimaciones en proyectos similares ya terminados.

3. Utilizar «técnicas de descomposición» relativamente sencillas para

generar las estimaciones de coste y de esfuerzo del proyecto.

4. Utilizar uno o más modelos empíricos para la estimación del coste y

esfuerzo del software. .

Page 28: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Tamaño del software

La precisión de una estimación del proyecto de software se predice basándose en una serie de factores:

1. El grado en el que el planificador ha estimado adecuadamente el tamaño del producto a construir.

2. La habilidad para traducir la estimación del tamaño en esfuerzo humano, tiempo y dinero (una función de la disponibilidad de métricas fiables de software de proyectos anteriores).

3. El grado en el que el plan del proyecto refleja las habilidades del equipo de software.

4. La estabilidad de los requisitos del software y el entorno que soporta el esfuerzo de la ingeniería del software.

Page 29: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Tamaño en «lógica difusa».

Estimar:

Tipo de aplicación

Establecer su magnitud en una escala cuantitativa y refinar la magnitud dentro del rango original.

Utilizar:

Experiencia personal

Acceso a una base de datos histórica de proyectos.

Tamaño en punto de función.

El planificador desarrolla estimaciones de características del dominio de información.

Page 30: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Tamaño de componentes estándar. Los componentes estándar para un sistema de información son: Subsistemas Módulos Pantallas Informes Programas interactivos Programas por lotes Archivos LDC Instrucciones para objetos

Se estima el número de incidencias de cada uno de los componentes estándar, y se utilizan datos de proyectos históricos para determinar el tamaño de entrega por componente estándar.

Page 31: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Tamaño de componentes estándar

Ejemplo Aplicación de sistemas de información cualquiera. Se estima que se generarán 18 informes. Los datos históricos indican que por informe se requieren 967 líneas de Cobol. Esto permite que el planificador estime que se requieren 17.000 LDC para el componente de informes. Para otros componentes estándar se hacen estimaciones y cálculos similares, y se producen resultados combinados de valores de tamaños (ajustados estadísticamente).

Page 32: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Tamaño del cambio.

Se utiliza cuando un proyecto comprende la utilización de software existente que se debe modificar de alguna manera como parte de un proyecto. Se estima el número y tipo de modificaciones que se deben llevar a cabo. Ejemplo : Reutilización Añadir código Cambiar código Suprimir código

Mediante una «proporción de esfuerzo» para cada tipo de cambio, se puede estimar el tamaño del cambio.

Page 33: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Estimación Basada en el Problema Enfoque de Descomposición:

Las estimaciones de LDC y PF son técnicas de estimación distintas.

El planificador del proyecto comienza con un enfoque limitado para el ámbito del software y desde este estado intenta descomponer el software en funciones que se pueden estimar individualmente.

Para cada función se estiman las LDC y el PF.

De forma alternativa, el planificador puede seleccionar otro componente para dimensionar clases u objetos, cambios o procesos de gestión en los que puede tener impacto.

Page 34: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Estimación Basada en el Problema Enfoque de descomposición adaptado por Phillips:

1. Definir el ámbito del producto 2. Identificar funciones descomponiendo el ámbito. 3. Hacer mientras hayan funciones

Seleccionar una función Asignar todas las funciones a la lista de subfunciones Hacer mientras haya subfunciones:

𝑆𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑎𝑟 𝑢𝑛𝑎 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑘 Si 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑘 = 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑑 descrita en una BD

histórica Entonces

anotar datos históricos del coste , esfuerzo, tamaño (LDC, PF) para la 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑑 ;

Ajustar datos históricos del coste, esfuerzo, tamaño, basados en cualquier diferencia

Page 35: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Estimación Basada en el Problema Enfoque de descomposición adaptado por Phillips:

Use datos del coste, esfuerzo, tamaño ajustados para

obtener una estimación parcial E Estimación de proyecto = suma de 𝐸𝑝

Si no Si se puede estimar coste , esfuerzo, tamaño (LDC, PF) para

la 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑘; Entonces obtener estimación parcial Estimación de proyecto = suma de 𝐸𝑝

Sino subdividir 𝑠𝑢𝑏𝑓𝑢𝑛𝑐𝑖ó𝑛𝑘 en subfunciones más pequeñas

Añadir a la lista de subfunciones Fin

Page 36: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Estimación Basada en el Problema

Independiente de la variable de estimación que se utilice, el planificador del proyecto comienza por estimar un rango de valores para cada función o valor del dominio de información. Mediante los datos históricos o la intuición, el planificador estima un valor de tamaño optimista, más probable y pesimista para cada función. Se calcula un valor de tres puntos o esperado. El valor esperado de la variable de estimación (tamaño), VE, se puede calcular como una media ponderada de las estimaciones optimistas (Sopt), las más probables (Sm) y las pesimistas (Spes).

𝑉𝐸 = 𝑆𝑜𝑝𝑡 + 4 𝑆𝑚 + 𝑆𝑝𝑒𝑠𝑠

6

Page 37: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Ejemplo Estimación Basada en LDC

Se considera un paquete de software a desarrollarse para una aplicación de diseño asistido por computador (computer-aided design, CAD) de componentes mecánicos, este software va a ejecutarse en una estación de trabajo de ingeniería y que debe interconectarse con varios periféricos de gráficos de computador entre los que se incluyen un mouse, un digitalizador, una pantalla a color de alta resolución y una impresora láser. Descripción preliminar del ámbito del software: El software de CAD aceptará datos geométricos de dos y tres dimensiones por parte del ingeniero. El ingeniero se interconectará y controlará el sistema de CAD por medio de una interfaz de usuario que va a exhibir las características de un buen diseño de interfaz hombre-máquina.

Page 38: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Ejemplo Estimación Basada en LDC

Descripción preliminar del ámbito del software: Una base de datos de CAD contiene todos los datos geométricos y la información de soporte. Se desarrollarán módulos de análisis de diseño para producir la salida requerida que se va a visualizar en varios dispositivos gráficos. El software se diseñará para controlar e interconectar dispositivos periféricos entre los que se incluyen un mouse, un digitalizador, una impresora láser y un trazador gráfico (plotter). Se asume que se identifican las funciones de software siguientes: Interfaz de usuario y facilidades de control (IUFC) Análisis geométrico de dos dimensiones (AG2D) Análisis geométrico de tres dimensiones (AG3D) Gestión de base de datos (GBD).

Page 39: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Ejemplo Estimación Basada en LDC

Descripción preliminar del ámbito del software: Facilidades de presentación gráfica de computador (FPGC) Control de periféricos (CP) Módulos de análisis del diseño (MAD).

Ahora se debe desarrollar un rango de estimación de LDC para cada función. Ejemplo: Rango de estimación para LDC de la función de análisis geométrico de tres dimensiones es:

Optimista : 4.600 Más probable : 6900 Pesimista : 8600

Page 40: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Ejemplo Estimación Basada en LDC

Aplicando la ecuación

𝑉𝐸 = 𝑆𝑜𝑝𝑡 + 4 𝑆𝑚 + 𝑆𝑝𝑒𝑠𝑠

6

VE = 6800 LDC Este resultado y el de las demás funciones se introduce en la tabla que se detalla a continuación:

Función LDC Estimada

Interfaz de usuario y facilidades de control (IUFC) 2.300

Análisis geométrico de dos dimensiones (AG2D) 5300

Análisis geométrico de tres dimensiones (AG3D) 6800

Gestión de base de datos (GBD) 3350

Facilidades de presentación gráfica de computadora (FPGC) 4950

Control de periféricos (CP) 2100

Módulos de análisis del diseño (MAD) 8400

Líneas de Código Estimadas 33.200

Page 41: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO Modelo de Composición de Aplicación Utilizado durante las primeras etapas de la ingeniería del software, donde el prototipado de las interfaces de usuario, la interacción del sistema y del software, la evaluación del rendimiento, y la evaluación de la madurez de la tecnología son de suma importancia.

Page 42: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO El modelo de composición de aplicación COCOMO utiliza los puntos objeto. También están disponibles otros modelos de estimación más sofisticados (utilizando PF y KLDC) que forman parte del COCOMO. Del mismo modo que los puntos de función, el punto objeto es una medida indirecta de software que se calcula utilizando el total de:

1. Pantallas (de la interface de usuario) 2. Informes 3. Componentes que probablemente se necesiten para construir

la aplicación. .

Page 43: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO Cada instancia de objeto (pantalla, informe o componentes), se clasifica en uno de los 3 niveles de complejidad: 1. Básico 2. Intermedio 3. Avanzado

En esencia, la complejidad es una función del número y origen de las tablas de datos del cliente y servidor necesario para generar la pantalla o el informe y el número de vistas o secciones presentadas como parte de la pantalla o del informe.

Page 44: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO La siguiente tabla indica los factores de peso de la complejidad para tipos de objetos :

Tipo de Objeto

Peso de la Complejidad

Básico Intermedio Avanzado

Pantalla 1 2 3

Informe 2 5 8

Componentes 10

Page 45: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO Luego se debe valorar el número de pantallas, informes, y componentes de acuerdo con la tabla anterior. La cuenta de punto objeto se determina multiplicando el número original de instancias del objeto por el factor de peso y se suman para obtener la cuenta total de punto objeto.

Page 46: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO La siguiente tabla indica las proporciones de productividad para puntos objetos:

Experiencia/Capacidad del desarrollador

Muy Baja Baja Normal Alta Muy Alta

Madurez/Capacidad del Entorno

Muy Baja Baja Normal Alta Muy Alta

PROD 4 7 13 25 50

Page 47: Clase 1 · Clase 1 . Identificar formas de medición del Software . Buenos enfoques de estimación y datos históricos sólidos ofrecen la mejor esperanza de que la realidad puede

Modelos Empíricos de Estimación

COCOMO Para obtener una estimación del esfuerzo basado en el valor PON se debe calcular la proporción de productividad, representado en la tabla anterior:

𝐸𝑠𝑓𝑢𝑒𝑟𝑧𝑜 𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 = 𝑃𝑂𝑁 𝑃𝑅𝑂𝐷