FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II Rational software RUP RUP DATA MODELER DATA MODELER SEMANA 2 Primera Sesión Segunda Sesión ESTIMACIÓN DE ESFUERZO PROYECTO DE SOFTWARE Profesores del Curso
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
SEMANA 2Primera Sesión Segunda Sesión
ESTIMACIÓN DE ESFUERZOPROYECTO DE SOFTWARE
Profesores del Curso
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Temario• Métricas para establecer el tamaño del software• Puntos de Función (unidad de medida funcional)• Puntos de Casos de Uso (Unidad de medida CU).
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Objetivos• Conocer la importancia de la estimación del esfuerzo
(E) o duración, o las capacidades requeridas por el equipo de desarrollo y de la empresa
• Aplicar el uso del la Métrica Puntos de Función, para medir el tamaño del software
• Aplicar la métrica Puntos de Caso de Uso (PCU) en la metodología RUP
• Como esbozar una primera ( E) por PCU en la captura de requerimientos
• Mejorar la (E) con el detalle de las Especificaciones de casos de Uso (ECU).
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
I. Métricas del tamaño del Software
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.TAMAÑO DEL SOFTWARE• Proyectos fracasan por el Tiempo o falta de
Presupuesto por mala estimación de Esfuerzo• La estimación del tamaño es una actividad difícil y
propensa al error• Difícil la estimación exacta por el gran número de
factores conocidos complejos y otros factores desconocidos
• La mejor métrica esta basada en los requerimientos del usuario (funcionalidad) y no en la tecnología
• Dan como resultado las Horas de Esfuerzo, con la cual podemos calcular el costo
• Los Puntos de Función son métricas de tamaño basado en las Funcionalidades del sistema.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.1. Uso de una Métrica Funcional EstándarEl tamaño SW puedo usar para los siguientes propósitos:
• Administrar Productividad: Horas x PF• Administración de la Calidad: Defectos x PF• Comparabilidad entre los proyectos con la misma
métrica• Administración Proyectos: PF planeados VS PF
diseñados• Administrar el Cambios del Alcance, estimando el
tamaño de los cambios para Estimar su Esfuerzo• Estimar la adecuación de un Paquete con los PF, que
tanto del 100 % del paquete requiero adecuar
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
• Valuar el SW de una Organización, con el tamaño puedo valuar el costo de un software adquirido
• Estimar recursos con el tamaño, la cantidad de ingenieros para el proyecto
• Presupuestar el Mantenimiento, saber el tamaño de la funcionalidad y el costo del esfuerzo
• Administrar Contratos, basados en los requerimientos funcionales, tamaño de la funcionalidad, productividad esperada y costo por unidad de tamaño de funcionalidad.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.2. La Métrica de Puntos de Función
• “Es una Métrica para establecer el tamaño y complejidad de las Aplicaciones Informáticas basada en la cantidad de funcionalidad requerida y entregada a los Usuarios” ó
• “Los Puntos de Función miden el tamaño lógico o funcional de los proyectos o aplicaciones de software basados en los requerimientos funcionales del Usuario”
• Así como existe el metro lineal para medir longitudes, Punto de Función es “el metro” para medir el tamaño de una aplicación de software
• Llamado también Método de Albrecht.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Procedimiento Análisis Punto de Función1. Determinar el tipo de conteo: desarrollo,
mantenimiento o aplicación existente.2. Identificar los alcances de la medición y los límites de
la Aplicación: funcionalidad de un proceso(s) a ser incluido(s) en la medición.
3. Contar las funciones Transaccionales: Entrada Externa (EE), Salida Externa (SE) y Consulta Externa (CE)
4. Contar con las funciones de Datos: Archivo Lógico Interno (ALI) y archivo de Interfaz Externo (AIE)
5. Determinar los Puntos de Función no Ajustados6. Determinar el Valor de Factor de Ajuste7. Determinar los Puntos de Función Ajustados.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
II. PUNTOS DE FUNCION
Nota.- Apoyo de clase – Control de Lectura No. 2
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1. METODO DE ALBRECHT
1.1. Entradas Externas
Son todos aquellos grupos de datos o mandatos de control de usuario que entran en la aplicación y adicionan, modifican o eliminan información de un Archivo Lógico Interno, o información de control o del negocio.
Formularios, diálogos, pantallas, …
ALI
ACTOR
AFUERA ADENTRO
Datos
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
ARCHIVOS REFERENCIADOS
ELEMENTOS DE DATOS
1 – 4 5 – 15 > 15
0 – 1 BAJA BAJA MEDIA
2 BAJA MEDIA ALTA
3 ó más MEDIA ALTA ALTA
CLASIFICACION DE ENTRADAS EXTERNAS
BAJA- MEDIA – ALTA : Significa el valor de la Complejidad(Ver pantallas, formularios, etc.)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.2. Salidas Externas
ALI
Informes, reportes, …
ACTOR
ALEAFUERAADENTRO
DatosDatos SimplesDatos Derivados (calculados)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
• Son todos aquellos grupos lógicos de datos o mandatos de control de usuario que salen de la frontera de la aplicación, con información obtenida a partir de algún tipo de procesamiento
• Adicionalmente pueden actualizar un Archivo Lógico Interno
• Los Datos crean reportes o archivos que se envian a Actores (humanos, sistemas).
• Los reportes y archivos se crean desde archvos Lógicos Internos o Externos.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
ARCHIVOS REFERENCIADOS
ELEMENTOS DE DATOS
1 – 5 6 – 19 > 19
0 – 1 BAJA BAJA MEDIA
2 - 3 BAJA MEDIA ALTA
3 ó más MEDIA ALTA ALTA
CLASIFICACION DE SALIDAS EXTERNAS
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.3. Consultas Externas
• Son entradas de usuario u otra aplicación que generan una salida inmediata
• Consecuencia de una búsqueda y no una actualización de un grupo lógico de datos lógicos (Externos o Internos)
• Los datos de salida no contienen datos derivados (calculados) • Se usa la matriz de Entrada Externas para calificar la parte de la
entrada• Se usa la matriz de Salidas Externas para calificar la parte de la
salida.
Datos de búsqueda
ALIACTOR
ALEListados de búsqueda
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.4. Archivo Lógico Interno
• Son aquellos grupos lógicos de datos o información de control interna que se generan, son usados y la mantienen la aplicación bajo desarrollo
• No deben incluirse aquellos grupos lógicos que no sean accesible por el usuario a través de Entradas o salidas Externas, ficheros de interfaz o consultas.
Base de Datos
Del Aplicativo
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.5. Archivos Lógicos Externos: Interfases
• Sirven para lograr interfases de comunicación de datos con otros sistemas (referencias)
• Son aquellos grupos lógicos de datos compartidos con otra aplicación, recibidos o enviados a ella.
• Los grupos lógicos internos que son a su vez interfaz, deben contarse en ambos grupos
• El sistema bajo desarrollo no es responsable de su mantenimiento (ALE es un ALI de la otra aplicación).
Mi Software
Otros Software
Otra Base de Datos
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
TIPOS DE REGISTROS
ELEMENTOS DE DATOS
1 – 19 20 – 50 > 50
0 – 1 BAJA BAJA MEDIA
2 - 5 BAJA MEDIA ALTA
5 ó más MEDIA ALTA ALTA
CLASIFICACION DE ARCHIVOS LOGICOS INTERNOSY ARCHIVOS LOGICOS EXTERNOS
BAJA- MEDIA – ALTA : Significa el valor de la Complejidad(Ver estructura de archivos)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1.6. Cálculos del Método de Albrecht • Tabla para calcular los Puntos de Función Sin Ajustar
(PFSA).
_ X 10_ X 7_ X 5No. Archivos Lógicos Externos
_ X 15_ X 10_ X 7No. Archivos Lógicos Internos
_ X 6_ X 4_ X 3No. Consultas Externas
_ X 7_ X 5_ X 4No. Salidas Externas
_ X 6_ X 4_ X 3No. Entradas Externas
Total PFALTAMEDIABAJA DESCRIPCION
TOTAL PUNTOS DE FUNCION SIN AJUSTAR
PFSA = ∑PF * Valor de Complejidad
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
•Calculo de los Puntos de Función Ajustados (PFA)Características deseadas x Sistema. Son 14 características (a c/u se le asigna un valor):
1.Comunicación de datos.2.Procesamiento Distribuido de Datos.3.Rendimiento.4.Configuraciones.5.Volumen de transacciones.6.Entradas de Datos on line.7.Eficiencia del usuario final.8.Actualizaciones on line.9.Procesamiento complejo.10.Reusabilidad.11.Factibilidad de Instalaciones.12.Factibilidad de Operación.13.Instalación en distintos lugares.14.Factibilidad de Cambio.
Tabla del Factorde Ajuste (FA)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Factor de Peso (Por cada característica)0 No presente o sin influencia.1 Influencia incidental.2 Influencia moderada.3 Influencia media.4 Influencia significativa.5 Fuerte influencia.
La formula para el FA se calcula de la siguiente manera:
GTI = ∑ (Influencias)
FA = GTI x 0.01 + 0.65
Grado total de Influencia (GTI)
Factor de Ajuste (FA)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Puntos de Función Ajustados (PFA)Con el Factor de Ajuste (FA), calculamos los Puntos de Función Ajustados (PFA)
PFA = PFSA x FA
PF ( < 300) Aplicativo PequeñoPF (300 – 600) Aplicativo MedianoPF (> 600) Aplicativo Grande
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
III. PUNTOS DE CASOS DE USO
Nota.- Apoyo de clase – Control de Lectura No. 2
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
1. ESTIMACION ESFUERZO CON CASOS DE USO• Método planteado por Gustav Karner • Se plantea algunas alternativas posibles para la
estimación del esfuerzo x proyectos basados en CU
• Utilizándose el Análisis de Puntos de Función, o una variante más reciente denominada Análisis de Puntos de Casos de Uso, la cual es en cierta medida similar al Análisis de Puntos de Función
• Utiliza el MCU del Sistema (funcionalidades)• En fase inicial del proyecto obtenemos una
estimación grosera del tamaño, pero posteriormente se puede precisar mejor con las ECU.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Agregar Orden
Encontrar Orden
Modificar Orden
Usuario
Eliminar Orden
MODELO DE CASOS DE USO
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
2. Casos de Uso y Puntos de Función2.1. Funciones Transaccionales
• Tener en cuenta que en una estimación inicial pueden haber Transacciones o Archivos implícitos
• En las ECU: Flujos Básicos, Flujos alternativos, Subflujos, CU incluidos, CU de extensión pueden tener más transacciones y/o archivos que pueden mejorar la estimación
• Por lo tanto es importante tener las ECU en el Análisis entre el 80 y 100 % terminados.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Entradas Externas (EE)• El Actor provee datos al sistema: Agregar, Modificar o
Eliminar información a un Archivo Lógico Interno (ALI) ó bien información de Control o del negocio
• En el MCU hay 3 EE - Agregar Orden, Modificar Orden y Eliminar Orden. También pudo ser un Caso de Uso “Actualizar Ordenes”, con un Flujo Básico – Agregar Orden y dos (02) Sub Flujos: Modificar Orden y Eliminar Orden
• Trabajan con uno ó más Archivos Lógicos Internos (ALI).
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Salidas Externas (SE)• El Actor provee datos al sistema y obtiene datos
simples y/o derivados (calculados a partir de otros), por ejemplo reportes o información hacia otros Actores (Sistemas, HW).
• Trabajan con uno ó más Archivos Lógicos Internos, además con Archivos lógicos Externos (ALE).
• En el MCU no hay SEConsultas Externas (CE)• El Actor provee datos al sistema y obtiene datos
simples de uno o más ALI o ALE. No se actualizan o mantienen archivos
• En el MCU hay 1 CE (Encontrar Orden).
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
2.2. Archivos Lógicos Internos y ExternosAlmacenan información dentro del Caso de Uso: Archivos, Base de datos, otros tipos de almacenamiento.
Archivos Lógicos Internos (ALI)• Los datos residen dentro de los límites del sistema y
se mantiene a través de las EE.• El MCU tiene 1 ALI. Archivos Lógicos Externos (ALE)• Los datos residen externamente fuera de los límites
del sistema y se mantiene a través de las EE de otras aplicaciones (Archivo de otro sistema).
• El MCU no tiene ALE.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
2.3. Clasificar Complejidad: Transacciones/Archivos(Bajo – Medio - Alto)Ver previamente los valores a asignar (método de Albrecht) , para identificar la complejidad de EE, SE y CE según su número de Elementos de Datos.
2.4. Calculo - Puntos de Función Sin Ajustar (PFSA)2.5. Calculo - Puntos de Función Ajustados (PFA).
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
3.1. Calculo de Puntos de Caso de Uso Sin Ajustar
PCUSA = FASA + FCUSA
FASA = Factor de Peso Actores sin ajustarFCUSA = Factor de peso casos de uso sin ajustar
3. ANALISIS DE PUNTOS DE CASOS DE USO
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Factores de Actores y Casos de Uso
Factor de Peso de Actores Sin Ajustar (FASA)
Tipo Actor DescripciónFactor Peso
SimpleOtro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación (API).
1
MedioOtra sistema que interactúa con el sistema a desarrollar mediante un protocolo.
2
ComplejoUna persona que interactúa con el sistema mediante una interfaz gráfica (GUI).
3
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Factor de Peso de Casos de Uso Sin Ajustar (FCUSA)
Tipo de Caso de Uso DescripciónFactor Peso
Simple CU de 1 a 3 Transacciones. 5
Medio CU de 4 a 7 Transacciones. 10
Complejo CU más de 8 Transacciones. 15
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
3.2. Calculo de Puntos de Casos de Uso Ajustados
PCUA = PCUSA x FCT x FAmb
Factor de Complejidad Técnica (FCT) Cuantificación de factores (13) con sus pesos Valores de 0 a 5
0 Aporte irrelevante.5 Aporte muy importante.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
FACTOR DESCRIPCIÓN PESO
CT1 Sistema Distribuido 2
CT2 Objeto de Performance o tiempo de respuesta 1
CT3 Eficiencia del Usuario Final 1
CT4 Procesamiento Interno Complejo 1
CT5 Código Reutilizable 1
CT6 Facilidad de Instalación 0.5
CT7 Facilidad de Uso 0.5
CT8 Portabilidad 2
CT9 Facilidad de Cambio 1
CT10 Concurrencia 1
CT11 Objeto de Seguridad 1
CT12 Acceso Directo a Terceros 1
CT13 Entrenamiento a Usuarios 1
FCT = 0.6 + 0.01 x ∑ (Peso x Valor)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
Factor de Ambiente (FAmb.)Cuantificación de Factores (8) con sus pesos.Valores de 0 a 5
FACTOR DESCRIPCIÓN PESO
A1 Familiarización con el modelo de proyecto utilizado 1.5
A2 Experiencia en la Aplicación 0.5
A3 Experiencia en objetos 1
A4 Capacidad de líder de proyecto 0.5
A5 Motivación 1
A6 Estabilidad de requerimientos 2
A7 Personal Part-Time -1
A8 Dificultad de lenguaje de Programación -1
FAmb = 1.4 - 0.03 x ∑ (Peso x Valor)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
3.3. Estimación del Esfuerzo ( E )
E = PCUA x FC (Horas-Hombre)
Criterios por Factor de Conversión (FConv) Según el valor asignado) Contabilizar cuantos factores de ambiente están por
debajo del valor promedio (3) de A1 a A6(b)
Contabilizar cuantos factores de ambiente están por encima del valor promedio (3) de A7 a A8
(a)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
FC = 20 H-H / PCU (Punto Caso de Uso)
FC = 28 H-H / PCU (Punto Caso de Uso)
• Si el total es 2 ó menos (a + b)
• Si el total es mayor a 4Efectuar cambios en el proyecto ò usar 36 horas por Caso de Uso Riesgo de fracaso es demasiado alto.
• Si el total es 3 ó 4 (a + b)
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
3.4. Estimación del CVSPara una estimación mas completa del agregar las actividades relacionadas al desarrollo de software, y a cada uno obtener el porcentaje correspondiente.
ActividadPorcentaje ESFUERZO
Horas - Hombre
ANALISIS 10 %
DISEÑO 20 %
PROGRAMACIÓN 40 %
PRUEBAS 15 %
SOBRECARGA (Otras Actividades)
15 %
TOTAL 100 % E
Depende de las características y la organización del proyecto.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
En la industria de software se recomienda partir del valor siguiente:
1 mes de Esfuerzo (21 días aproximadamente) equivale a 13 Puntos de Función.
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER
3.5. Distribución de Tiempos y Esfuerzos
Concepción Elaboración Construcción TransiciónEsfuerzo 5% 20% 65% 10%Tiempo 10% 30% 50% 10%(Fuente: Philippe Kruchten A Rational Development Process )
Planeamiento y Adm 15%Analisis/Requerim. 10%Diseño/Integracion 15%Implement/Pruebas Func 30%Mediciones/aseg./acept. 15%Tool/env/gestion cambio 10%mantenimiento (ajustes) 5%(Fuente: Philippe Kruchten A Rational Development Process )
Distribución del Tiempo por Actividades del Proyecto
FACULTAD DE INGENIERIA Y ARQUITECTURA – INGENIERIA DE SOFTWARE II
Rational
software
RUPRUP
DATA MODELERDATA MODELER