680 likes | 817 Views
Escuela Superior de Ingeniería Informática Enxeñería Técnica en Informática de Xestión. Planificación de Proyectos Informáticos. Segundo Tema. Modelos de Estimación del Software. Introducción.
E N D
Escuela Superior de Ingeniería Informática Enxeñería Técnica en Informática de Xestión Planificación de Proyectos Informáticos Segundo Tema Modelos de Estimación del Software
Introducción • Una de las partes más críticas de un proyecto informático es averiguar lo que costara desarrollarlo (horas-hombre, días-hombre, meses-hombre, Euros, …) • Momento en que se desea conocer el coste (gráfico de Boehm) • Siempre se quiere muy pronto (Yourdon)
Introducción • Precisión de las estimaciones en función de la fase del proyecto
Introducción • La estimación generalmente se realiza a partir de: • Número de programas y su complejidad. • Juicio de expertos. • Puntos de función. • Tamaño del producto.
Técnica de Delphi • Un grupo de personas son informadas por un coordina-dor y tratan de adivinar lo que costara el desarrollo tanto en esfuerzo, como su duración. • Se dan las especificaciones a un grupo de expertos. • Se les reúne para que discutan sobre el producto, nunca sobre la estimación. • Remiten sus estimaciones individuales al coordinador. • El coordinador establece la media de las estimaciones, así como la estimación máxima y mínima, entregándolas a los expertos. • Se reúnen de nuevo para discutir las estimaciones. • Cada uno revisa su propia estimación en comparación con las demás y la envía al coordinador. • Se repite el proceso hasta que la estimación converja de forma razonable.
Técnica de Delphi (gráfico) Juan * Alicia * José * María * Estimaciones Juan * Alicia * José * María * Estimaciones Ver Ejercicio
Método Probabilístico Se basa en el modelo estadístico denomi-nado de distribución tipo β. A partir de la estimación hecha por exper-tos, determina la duración más probable de una actividad, así como el grado de incertidumbre de que realmente se cumpla (varianza V2). Los expertos evalúan una actividad (o un proyecto) y dan tres estimaciones: la más baja se considera la optimista, la más alta la pesimista y la otra, la mediana
Método Probabilístico La duración estimada vendrá dada por la aplicación del siguiente algoritmo: De = (Do + 4Dm + Dp ) / 6 y la varianza: V2 = ((Dp - Do)/ 6 )2 Ejemplo: Do = 12, Dm = 15, Dp = 20 De = (12+4.15+20)/6 = 15,33 u.d.t. V2 = ((20 – 12)/ 6 )2 = 1,78
Método Probabilístico La duración del proyecto vendrá dado la suma de la duración de las actividades que forman parte del camino crítico y el resultado de multiplicar la raíz cuadrada de la suma de las varianzas de las actividades que forman parte del camino crítico por un factor (λ), que representa el porcentaje de cumplimiento que esperamos: Dproyecto = λ . V + M M = Σ De (tareas que forman parte del C.C.) Ver Ejercicio
Puntos de Función • Es una métrica aceptada como estándar en el mercado. • IFPUG (International Function Point Users Group). • CPM 4.0 de 1994 (Counting Practice Manual) • Iniciada por Albrecht en IBM. (1979)
Puntos de Función • Es una métrica que se puede aplicar en las primeras fases de desarrollo. • Se basa en características fundamental-mente “externas” de la aplicación a desarrollar. • Son elementos fácilmente identificables en los diagramas de especificación del sistema. (DFD, Entidad-Relación, DD)
Puntos de Función • Los usuarios los entienden perfectamente. • Observamos la aplicación como una caja negra. • Nos centramos en característica visibles del proyecto en estudio. • Mide dos tipos de características: • Los elementos de función (entradas, salidas, ficheros, etc.) • Los factores de Complejidad.
Puntos de Función • Elementos de Función: • Entradas • Salidas • Consultas • Ficheros Lógicos Internos • Ficheros de Interfaz
Puntos de Función • Entradas: • Son todos aquellos procesos que hacen llegar datos a la aplicación desde el exte-rior, desde un usuario u otra aplicación. • El flujo de datos deberá tener una sola dirección, del exterior al interior. • Como consecuencia de una entrada, siempre deberá actualizarse un fichero lógico interno.
Puntos de Función • Entradas: • Ejemplos: • Pantallas de entrada de datos. • Lector de códigos de barras. • Lector de tarjetas magnéticas y electrónicas. • Cáptura de imágenes, voz, etc.
Puntos de Función • Clasificación de las entradas:
Puntos de Función • Salidas: • Son todos aquellos procesos que hacen llegar datos desde la aplicación hacia el exterior, a un usuario o a otra aplicación. • El flujo de datos deberá tener una sola dirección, del interior al exterior.
Puntos de Función • Salidas: • Ejemplos: • Pantallas de salida de datos. • Listados. • Grabación de bandas magnéticas. • Transferencia de datos a otras aplicaciones, ya sea mediante ficheros o transmisión de datos.
Puntos de Función • Clasificación de las salidas:
Puntos de Función • Consultas: • Son todos aquellos procesos que están formados por una combinación de entradas y salidas, produciendo una consulta a los datos. • El flujo de datos deberá tener dos direcciones. • Como consecuencia de una consulta no se modifican los datos del sistema. • La complejidad de la consulta viene dada por la mayor entre la entrada y la salida.
Puntos de Función • Ficheros Lógicos Internos: • Es un grupo de datos relacionados, tal como los percibe el usuario y que son mantenidos por la aplicación. • Los ficheros se cuentan una sola vez, independientemente del número de procesos que los acceden.
Puntos de Función • Ficheros Lógicos Internos: • Ejemplos: • Clientes. • Socios. • Artículos. • Proveedores.
Puntos de Función • Clasificación de las ficheros lógicos int.:
Puntos de Función • Ficheros de Interfaz Externos: • Es un grupo de datos relacionados, tal como los percibe el usuario, referencia-dos por la aplicación y que son manteni-dos por otra aplicación. • Son ficheros internos de otra aplicación.
Puntos de Función • Clasificación de las ficheros de interfaz:
Puntos de Función • Puntos de Función Sin Ajustar (PFSA):
Puntos de Función • Factores de complejidad (significado):
Puntos de Función • FC1) Comunicación de Datos. • Los datos usados en el sistema se envían o reciben por líneas de comunicaciones.
Puntos de Función • FC1) Comunicación de Datos (Valores): 0: Sistema aislado del exterior 1: Batch, usa periféricos E o S remotos 2: Batch, usa periféricos E y S remotos 3: Captura de datos en línea o teleproceso que pasa los datos o sistema de consulta 4: Varios teleprocesos con mismo protocolo 5: Varios protocolos. Sistema Abierto y con inter-faces de todo tipo al exterior.
Puntos de Función • FC2) Proceso Distribuido. • Existen procesos o datos distribuidos y el control de éstos forma parte del sistema.
Puntos de Función • FC2) Proceso distribuido (Valores): 0: Sistema totalmente centralizado 1: Sistema realiza procesos en un equipo, salidas usadas vía Sw por otros equipos 2: Sistema captura, los trata en otro 3: Proceso distribuido, trans. una sola direc. 4: idem, transferencia en ambas direcciones. 5: procesos cooperantes ejecutándose en distintos equipos.
Puntos de Función • FC3) Objetivos de Rendimiento. • Si el rendimiento es un requisito del sistema, es decir, es crítico algún factor como tiempo de respuesta o cantidad de operaciones por hora. Se tendrá que hacer consideraciones especiales durante el diseño, codificación y mantenimien-to.
Puntos de Función • FC3) Objetivo de Rendimiento (Valores): 0: Rendimiento normal ( no se da énfasis ). 1: Se indican requisitos, no medida especial. 2: Crítico en algunos momentos. Procesos acaba-dos antes de próxima sesión de trabajo. 3: Tiempo de respuesta es crítico. 4: ... en diseño hacer análisis de rendimiento en tiempo respuesta o cantidad operaciones/hora. 5: .. uso herramientas para alcanzar el rendimiento demandado por el usuario.
Puntos de Función • FC4) Integración de la Aplica-ción. • El sistema tendrá que ejecutarse en un equipo en el que coexistirá con otros, compitiendo por los recursos, teniendo que tenerse en cuenta en las fase de diseño.
Puntos de Función • FC4) Integración de la aplicación (Valores): 0: No se indican restricciones 1: Existen las restricciones usuales 2: Características de seguridad o tiempos. 3: Restricciones en algún procesador 4: El Sw deberá funcionar con restricciones de uso en algún procesador. 5: Restricciones especiales para aplicación en los componentes distribuidos del sistema
Puntos de Función • FC5) Tasa de Transac-ciones. • La tasa de transacciones será elevada. Se tendrá que hacer consideraciones especiales durante el diseño, codificación e instalación.
Puntos de Función • FC5) Tasa de transacciones (Valores): 0: No se prevén picos. 1: Se prevén picos poco frecuentes (mensual). 2: Se prevén picos semanales. 3: Se prevén horas punta, diarias. 4: Tasa de trans. tan elevada que en diseño se hace análisis de rendimiento. 5: Análisis de rendimiento en diseño, implemen-tación e instalación.
Puntos de Función • FC6) Entrada de Datos On-line. • La entrada de datos será directa desde el usuario a la aplicación, de forma interactiva.
Puntos de Función • FC6) Entrada de datos on-line (Valores): 0: Todo es Batch. 1: 1%<entradas interactivas <7%. 2: 8%<entradas interactivas <15%. 3: 16%<entradas interactivas <23%. 4: 24%<entradas interactivas <30%. 5: Entradas interactivas >30%.
Puntos de Función • FC7) Eficiencia para el Usuario Final. • Se demanda eficiencia para el trabajo del usuario, es decir, se tiene que diseñar e implementar la aplicación con interfaces fáciles de usar y con ayudas integradas.
Puntos de Función • FC7) Eficiencia para el Usuario Final. • Tipos de elementos asociados a la eficiencia del usuario. • Menús. • Uso de ratón. • Ayudas "en_línea". • Movimiento automático del cursor. • Efectos de Scroll (papiro). • Teclas de función predefinidas. • Lanzamiento de procesos Batch desde las transacciones "en_línea“.
Puntos de Función • FC7) Eficiencia para el Usuario Final. • … continuación: • Selección mediante cursor de datos de la pantalla; • Pantallas con muchos colores y efectos; • Posibilidad de "hard-copy". • Ventanas de "pop-up"; • Aplicación bilingüe (cuenta por cuatro). • Aplicación Multilingüe (mas de dos, cuenta por seis).
Puntos de Función • FC7) Eficiencia para el Usuario Final (Valores): 0: No se da énfasis al tema 1: 1 a 3 de los factores 2: 4 a 5 de los factores 3: 6 o más factores, sin requerir eficiencia 4: ... con requerimientos que implican estudio de los factores humanos en el diseño 5: … se demandan prototipos y herramientas para verificar que se alcanzaran los objetivos
Puntos de Función • FC8) Actualizaciones On-line. • Los ficheros maestros y/o las Bases de Datos son modificados de forma interactiva.
Puntos de Función • FC8) Actualizaciones On-line (Valores): 0: No hay. 1: De 1 a 3 ficheros con información de control; cantidad baja y ficheros recuperables. 2: ... pero con 4 o más ficheros de control 3: Actualización de ficheros importantes 4: ... esencial la protección ante pérdidas 5: Gran cantidad de actualizaciones interactivas; sistemas de recuperación muy automatizados.
Puntos de Función • FC9) Lógica de Proceso Interno Compleja. La complejidad interna en un proceso esta en función de las siguientes características: • Especificados algoritmos matemáticos complejos. • Proceso con lógica compleja. • Especificado muchas excepciones, consecuen-cia de transacciones incompletas, que deberán tratarse. • Manejar múltiples dispositivos de entrada / salida. • Se incorporarán sistemas de seguridad y control.
Puntos de Función • FC9) Lógica de Proceso Interno Compleja (Valores): 0: Ninguna de las características. 1: 1 Característica. 2: 2 Características. ... 5: Las 5 características.
Puntos de Función • FC10) Reusabilidad del Código. Es necesariohacer consideraciones especiales durante el diseño, codificación y mantenimiento para que el código se reutilice en otras aplicaciones.
Puntos de Función • FC10) Reusabilidad del Código (Valores): 0: No se prevé. 1: Reutilizar código en la misma aplicación. 2: Menos de un 10% de la aplicación tiene en cuenta las necesidades de + de 1 usuario. 3: El 10 % o más ... 4: Aplicación preparada para ser reutilizable a nivel de código. 5: Aplicación preparada para ser reutilizable por medio de parámetros.
Antiguo Nuevo Puntos de Función FC11) Contempla la conversión e insta-lación. Se proveerán facilidades de conversión e instalación en el sistema, se tendrá que hacer consideraciones especiales durante el diseño, codificación y pruebas para que la conversión del sistema antiguo sean fáciles de realizar durante la puesta en marcha del sistema nuevo.