Estimación de Esfuerzo con Casos de Uso

Documentos relacionados
EL MÉTODO DE LOS PUNTOS CASO DE USO (UCP)

PUNTOS DE CASOS DE USO

ESTIMACIÓN DE PROYECTOS DE SOFTWARE CON PUNTOS DE CASOS DE USO

Resumen. Abstract. Introducción

ESTIMACIÓN DE ESFUERZO. Algunos elementos: Yadran Eterovic

CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda

Ingeniería de requerimientos de software: Análisis. Dpto. de Ingeniería de Sistemas y Computación Universidad de los Andes

Selección del Hardware y Software Administración del proceso de desarrollo de Sistemas de Información.

Especificación de Requerimientos <Nombre del Proyecto> Nombre del Grupo de Desarrollo o Asignatura Nombre del Autor

Atributos de Calidad del Software

4/15/2010. Requerimientos de Software UARG.UNPA Requerimientos de Software. Requerimientos de Software

TEMA: CASOS DE USO DEL PROYECTO CATEDRÁTICO: ING. ANA MERCEDES CACERES GRUPO: RAUL ERNESTO CRUZ ORELLANA LEVI OSMIN RODRIGUEZ OROZCO

Actores. Casos de Uso. Requisitos: Descripción Casos de Uso (v 1.0) Weitzenfeld 1. Apéndice Requisitos: Modelo de Casos de Uso

CAPÍTULO 5 DESARROLLO DEL SISTEMA

Estimación de Costos

CENSO DE UN PUEBLO O CIUDAD

Sistema para el alquiler, control de películas y clientes en una videotienda

Anexo # 1 MODELO DE ENCUESTA A PROFESORES QUE NO SON DE INFORMÁTICA SEDE UNIVERSITARIA MUNICIPAL JESÚS MENENDEZ

EJEMPLO PRACTICO. Metodologías, UML y patrones de diseño. Mentor: MsC(c) Esp Alexis Olvany Torres Ch

ARQUITECTURAS. Carlos Reveco D. IN73J Arquitectura, Diseño y Construcción de un Negocio con Apoyo TI.

Bitácora Cuestionario Calidad Técnica de las Aplicaciones (Software a la medida)

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

Uso de Metodología ICONIX

Ingeniería del Software de Gestión Titulación: ITIG / ITIG - LADE 1º Cuatrimestre - octubre de 2012

Sistema de Certificado de Origen Digital - SCOD

Grow Shop Web Estimación de costos del proyecto. Francisco Pérez Pavón Id Asignaturas: Comercio Electrónico y Proyectos Informáticos.

Software contable XXXXXX

5. Cuáles son las actividades primarias de la producción de software

Ingeniería de Software. Tema 2 ESTIMACION DE PROYECTOS SOFTWARE

Tema 1 Introducción al paradigma de programación orientado a objetos

Especificaciones Casos de Uso Ingeniería de Software II 2007

Sistema CONFFYA CAME. Versión 4.19

Unidad II. Metodología para resolver problemas aplicando la POO. Parte 1

MANUAL DE USUARIO PROCESOS ESPECIALES

Especificación de requisitos de software

Métricas de Producto

7. Gestión de Costes Presupuesto

PRUEBAS SELECTIVAS PARA EL INGRESO EN EL CUERPO SUPERIOR DE SISTEMAS Y TECNOLOGÍAS DE LA INFORMACIÓN DE LA ADMINISTRACIÓN DEL ESTADO.

Proyecto Fin de Carrera

Métricas Número de casos de uso Número promedio de líneas de texto por especificación de caso de uso Número de horas/hombre invertidas

Manual Operativo Banco Integrado de Proyectos

MANUAL DE USUARIO JENNY PATRICIA MORALES MALDONADO

Consejo Nacional de Vialidad (CONAVI)

MUNICIPALIDAD DE ANTOFAGASTA MANUAL DE OPERACIONES PORTAL DE PAGOS

El sistema será definido como SACP (Sistema de Administración de Clientes y Proveedores).

CAPÍTULO 3 REQUERIMIENTOS Y CASOS DE USO

1. Propósito. Establecer los puntos que debe cubrir como referencia documental mínima un documento de Diseño de sistemas automatizados.

MODELOS COMUNES PARA DESARROLLO DE SOFTWARE MODELO LINEAL SECUENCIAL

SISTEMA DE GESTIÓN ACADÉMICA

PROCEDIMIENTO PARA CONTROL DE CALIDAD DE LOS SISTEMAS DE INFORMACIÓN

Qué Necesita el Usuario

Cliente. Generalización. Cliente Comercial

ALTAMIRA LEARNING.

Tipo de artículo: Artículo original Temática: Ingeniería y gestión de software Recibido: 28/04/2015 Aceptado: 02/11/2015

Diagrama de Casos de Uso: Manejo de Personal / Escuela de Computación. Manejo de Personal. Secretaria del Jefe de Departamento

Aplicaciones Concurrentes

DOCUMENTO ARQUITECTURA DE SOFTWARE

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

Métricas del Producto. Sistemas de Información II 2009 Facultad de Ingeniería - UNJu

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ FACULTAD DE CIENCIAS E INGENIERÍA

Manual de Usuario Módulo de Planificación Unidades térmicas Planillas de Declaración Potencia Semanal - No incluye ingenios -

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Análisis y Diseño del Software. El Lenguaje Unificado de Modelado UML 2.0

Administración de Proyectos de Software Grupo 02

Arquitectura de Software. Trabajo de Grado. Eric Velandia Sebastian Vivas Version 2.1 Pontificia Universidad Javeriana

ASPECTOS PRÁCTICOS DE LOS CASOS DE USO

Array Development. Array Development Plan de Pruebas de Aceptación Versión 1.0

Introducción al Sistema Operativo Unix

Análisis Comparativo de Estimación de Esfuerzo en el Desarrollo de Software

Crear diagramas basados en UML para la representación de la solución a un problema mediante el Paradigma Orientado a Objetos.

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Sistemas de Información.

Modelo de Casos de Uso

Caso de Uso. Por ejemplo. Sistema. Actor Actor

SIGA Módulo Patrimonio DEPARTAMENTO DE TECNOLOGÍA DE LA INFORMACIÓN Manual de Usuario: ROL USUARIO CGR/ OPERADOR CGR/ ESPECIALISTA TI Versión: 1.0.

MANUAL DE OPERACIÓN SISTEMA INTELISIS FECHAS

Módulo de Oportunidades

3. Sistemas de Información Administrativos

CASO DE PRUEBA: Sistema para el alquiler, control de películas y clientes en una videotienda

INGRESAR A LAS OFERTAS DEL TRÁMITE... 2 OFERTAS... 2 REGISTRAR OFERENTE...

GUÍA DE REFERENCIA PARA USUARIOS PORTAL DE TRANSACCIONES ELECTRÓNICAS E.O.C. México

Definición. Tema 1: Introducción

Cambios en Ingeniería de Software

DIRECCIÓN DE ASISTENCIA A LA ADMINISTRACIÓN FINANCIERA MUNICIPAL

Sistema Interinstitucional de Transferencia de Información

Computación I. Unidad III. Sistemas de Información. Ing Angela Galea

Examen de Ingeniería del Software / 3º de Informática de Gestión EXAMEN 2º CUATRIMESTRE 16 de junio de 2005

Documento de Especificaciones Funcionales

Manual de Usuario Sistema SIGESP 1 de 21 Módulo: Configuración Rev. Nº 00. Revisado Por : Firma: Elaborado Por: ADS. Teresa Andrade Firma

Vida y Cultura. Ixmiquilpense

Corpus. Un producto de la familia. Historia digital corporativa. Workflow para la gestión documental

CONTENIDO. 1.- Antecedentes y objetivos de la Empresa Objetivos del Negocio Diagrama General del CUN..3

SISTEMAS DE INFORMACIÓN II TEORÍA

MANUAL DEL COMERCIO POS MULTIMERCHANT

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS INNOVACIÓN PARA LA EXCELENCIA

Transcripción:

Estimación de Esfuerzo con Casos de Uso Ing. Natalia Bibiana Trejo

Estimación de Esfuerzo con Casos de Uso Necesitamos predecir Cuánto tiempo llevará el desarrollo del SW Cuántas personas se requieren para hacerlo Cuánto tiempo llevará al ingeniero de software cumplir una tarea dada depende principalmente de la complejidad del problema y de las habilidades del ingeniero

Estimación de Esfuerzo con Casos de Uso Necesitamos cuantificar La complejidad del sistema Funcionalidad Complejidad técnica El nivel de experiencia de las personas que integran el proyecto El tiempo necesario para producir una unidad de complejidad Se pretende obtener un número único que caracterice completamente al sistema y que se correlacione con la productividad observada del ingeniero

Estimación de Esfuerzo con Casos de Uso Estimador de Punto de Caso de Uso Un método de estimación creado por Gustav Karner de Rational Software Corporation Caracteriza la complejidad del sistema mediante Puntos de Casos de Uso Es usado para obtener una idea del número de horas-hombre para un proyecto Se derivó empíricamente y la cantidad de ensayos hasta la fecha muestran que es aplicable satisfactoriamente en aplicaciones de negocio, como los sistemas de información

Estimador de Punto de Caso de Uso Este método involucra los siguientes pasos Calcular Puntos de Casos de Uso no Ajustados (UUCP) Pesar Actores (UAW) & Pesar CUs (UUCW) UUCP = f (UAW;UUCW) = UAW + UUCW Calcular Puntos de Casos de Uso (UCP) Pesar Factores Técnicos (TCF) Pesar Factores Ambientales (EF) UCP = f (UUCP; TCF; EF) = UUCP * TCF * EF Estimar el número de horas-hombre Horas-hombre = f (UCP)

Un ejemplo Sistema de procesamiento de órdenes Registrar Reclamo Obtener Catálogo Obtener Estado de la Orden Administrador Soporte al Cliente Login Cliente Cancelar Orden <<include>> <<include>> <<include>> Actualizar Cuenta Ingresar Orden <<include>> Sistema Contable <<include>> <<include>> Actualizar Cantidades del Producto Devolver Producto Obtener Información del Producto Sistema de Inventario Cliente Rep Ejecutar Reporte de Ventas <<include>> <<include>> Recibir artículos ordenados pendientes Empleado Diagrama de Casos de Uso Completar y enviar orden Compañía de Envío

Pesar los Actores Calcular UUCP Considerar la complejidad de los actores determinando si cada actor es una persona u otro sistema y la forma en la que interactúa con el sistema a desarrollar Tipo de actor Simple Promedio Complejo Descripción Otro sistema con una API (Application Programming Interface) definida Otro sistema interactuando a través de un protocolo (ej. TCP/IP) o una persona interactuando a través de una interfaz en modo texto Una persona interactuando a través de una interfaz gráfica de usuario

Calcular UUCP Pesar los Actores (cont.) Contar cuántos actores de cada tipo existen en el sistema Multiplicar cada tipo por su factor de peso Tipo de actor Simple Promedio Complejo Factor 2 3 Sumar estos productos para obtener el total UAW

Calcular UUCP Pesar los Actores (cont.) Sistema Procesamiento de órdenes Determinar el tipo para cada actor del sistema Actor Tipo Cliente Sistema de inventario Sistema Contable Administrador de Soporte al Cliente Cliente Rep Vendedor Empresa de distribución Complejo Simple Simple Promedio Complejo Complejo Promedio

Calcular UUCP Pesar los Actores (cont.) Sistema Procesamiento de órdenes Contar cuántos actores hay de cada tipo 2 Simple, 2 Promedio y 3 Complejo Multiplicar las cantidades de cada tipo por su peso 2 Simple * = 2 2 Promedio * 2 = 4 3 Complejo * 3 = 9 Sumar estos productos para obtener el total Total de Pesos de Actores = 5 UAW

Calcular UUCP Pesar los CUs Para cada CU determinar si es simple, promedio o complejo Alternativas: Basado en Transacciones o basado en Clases de Análisis Contar cuántos CU de cada tipo hay en el sistema Multiplicar la cantidad de cada tipo por el factor de peso de ese tipo Sumar estos productos para obtener el total UUCW

Calcular UUCP Pesar los CUs Basado en transacciones Determinar el número de transacciones en un caso de uso, incluyendo los caminos alternativos Una transacción es un conjunto de actividades atómicas, donde se ejecutan todas ellas o no se ejecuta ninguna Tipo de CU Simple Promedio Complejo Descripción 3 transacciones o menos 4 a 7 transacciones Más de 7 transacciones Factor 5 0 5

Sistema de Procesamiento de órdenes Documento de CU Nombre: Ingresar orden Descripción breve Este CU describe el proceso mediante el cual las órdenes son ingresadas en el sistema de procesamiento de órdenes Flujo de Eventos Camino básico. El CU comienza cuando el cliente selecciona Ingresar Orden en la pantalla principal 2. El sistema muestra la pantalla de Ingresar Orden 3. El cliente ingresa su nombre y dirección 4. El cliente ingresa los códigos de productos a ser ordenados 5. Para cada código de producto ingresado a. Incluir Obtener Información del Producto b. El sistema agrega el precio del ítem al total Fin del bucle 6. El cliente ingresa la información de pago de la tarjeta de crédito 7. El cliente selecciona Aceptar 8. El sistema verifica la información 9. El sistema almacena la orden como pendiente Incluir Almacenar Orden 0. Incluir Actualizar Cuenta. El sistema marca la orden como confirmada Incluir Actualizar Orden 2. El sistema devuelve un ID de orden al cliente y el caso de uso finaliza

Sistema de Procesamiento de órdenes Nombre: Ingresar orden Descripción breve Flujo de Eventos Caminos alternativos Cancelar orden ingresada Error en el pago Dirección de envío incompleta Código de producto no coincide con los productos actuales El producto ya no se vende El cliente paga con cheque Camino alternativo: Cancelar orden ingresada Precondición: el usuario no selecciona Enviar. El camino alternativo comienza cuando el Cliente selecciona Cancelar 2. El sistema descarta cualquier información ingresada 3. El sistema regresa a la pantalla anterior 4. El caso de uso finaliza Documento de CU

Calcular UUCP Pesar los CUs Sistema de Procesamiento de órdenes Determinar si los casos de uso son de tipo simple, promedio o complejo Caso de Uso Ingresar orden Devolver producto Cancelar orden Obtener estado de orden Enviar catálogo Ejecutar reporte de ventas Registrar reclamo Completar y enviar orden Recibir ítems ordenados pendientes Tipo Promedio Promedio Simple Simple Simple Simple Simple Promedio Promedio

Calcular UUCP Pesar los CUs Sistema de Procesamiento de órdenes Contar cuántos CUs hay de cada tipo 5 Simple, 4 Promedio y 0 Complejo Multiplicar las cantidades de cada tipo por su peso 5 Simple * 5 = 25 4 Promedio * 0 = 40 0 Complejo * 5 = 0 Sumar estos productos para obtener el total Total de Pesos de CUs = 65 UUCW

Calcular UUCP Calcular los Puntos de Caso de Uso No Ajustados UUCP = UAW + UUCW UUCP Sistema de Procesamiento de órdenes = 5 + 65 = 80 UUCP nos dan una idea de la complejidad de los casos de uso y de sus interfaces, pero Qué hay acerca de los factores técnicos y ambientales o del entorno del sistema???

Calcular UCP Factores Técnicos Factor Descripción T Sistema distribuido T2 Objetivos de performance o tiempo de respuesta T3 Eficiencia del usuario final T4 Procesamiento interno complejo T5 El código debe ser reutilizable T6 Facilidad de instalación T7 Facilidad de uso T8 Portabilidad T9 Facilidad de cambio T0 Concurrencia T Incluye objetivos especiales de seguridad T2 Provee acceso directo a terceras partes T3 Se requieren facilidades especiales de entrenamiento a usuarios Peso 2 0.5 0.5 2

Calcular UCP Factores Técnicos Recorrer la tabla y estimar cada factor entre 0 y 5 Un valor de 0 significa que el factor es irrelevante Un valor de 5 significa que el factor es esencial Un valor de 3 significa que el valor es promedio Multiplicar la estimación de cada Factor (TLevel) por su peso Sumar estos productos para obtener el total (TFactor)

Calcular UCP Pesar Factores Técnicos Sistema de Procesamiento de órdenes Factor Técnico Peso TLevel TLevel * Peso Justificación T 2 2 T2 3 3 T3 5 5 T4 T5 0 0 T6 0.5 5 2.5 T7 0.5 5 2.5 T8 2 0 0 T9 3 3 T0 5 5 T 3 3 T2 5 5 T3 0 0 TFactor = (TLevel * Peso) = 32 Sistema cliente-servidor Velocidad limitada por la entrada de datos del operador Necesita ser eficiente Fácil procesamiento Deseable pero más adelante Necesita ser fácil para las personas no técnicas Necesita ser fácil para las personas no técnicas No en este momento Necesario No exactamente, pero es multiusuario Seguridad simple Clientes Muy fácil por lo que no requiere entrenamiento

Calcular UCP Pesar Factores Técnicos Sistema de Procesamiento de órdenes TFactor = (TLevel * Peso) = 32 TCF = 0.6 + (0.0 * TFactor) TCF = 0.6 + (0.0 * 32) = 0.92

Factores Ambientales Calcular UCP E E2 E3 E4 E5 E6 E7 E8 Factor Ambiental Descripción del factor Familiaridad con el modelo de proyecto Experiencia en la aplicación Experiencia en orientación a objetos Capacidad del analista líder Motivación Estabilidad de los requerimientos Personal part-time Dificultad del lenguaje de programación Peso.5 0.5 0.5 2 - -

Calcular UCP Pesar Factores Ambientales Recorrer la tabla y estimar cada factor entre 0 y 5 Factores entre E y E4 Una estimación de 0 significa sin experiencia; 3 significa experiencia promedio; 5 significa amplia experiencia Factor E5 (Motivación) 0 significa sin motivación; 3 motivación media; 5 significa motivación alta Factor E6 (Requerimientos estables) 0 significa requerimientos altamente inestables; 3 estabilidad media; 5 requerimientos estables Factor E7 (Personal Part-Time) 0 significa ningún personal part-time; 5 significa que todo el personal es part-time Factor E8 (Lenguaje de Programación) 0 significa lenguaje de programación fácil de usar; 5 significa lenguaje de programación difícil de utilizar

Calcular UCP Pesar Factores Ambientales Luego multiplicamos la estimación para cada factor (ELevel) por su peso Sumamos estos productos para obtener el total (EFactor)

Calcular UCP Pesar Factores Ambientales Sistema de Procesamiento de órdenes Factor Ambiental E E2 E3 E4 E5 E6 E7 E8 Peso.5 0.5 0.5 2 - - ELevel EFactor = (ELevel * Peso) = 20.5 3 3 5 5 5 0 3 ELevel * Peso.5.5 3 2.5 5 0 0-3 La mayoría del equipo no está familiarizado La mayoría del equipo son programadores Programadores OO El líder es idóneo Justificación El equipo está entusiasmado No se esperan cambios Sin empleados a tiempo parcial Se programará con Java

Calcular UCP Pesar Factores Ambientales Sistema de Procesamiento de órdenes EFactor = (ELevel * Peso) = 20.5 EF =.4 + (-0.03 * EFactor) EF =.4 + (-0.03 * 20.5) = 0.785

Calcular UCP Calcular los Puntos de Caso de Uso UCP = UUCP * TCF * EF UCPsistema de procesamiento de órdenes = 80*0.92*0.785 = 57.77 UCP nos da una idea de la complejidad del sistema ajustado a los factores técnicos y del entorno

Estimación del proyecto Estimar Horas-hombre En general, Karner sugiere usar 20 horas-hombre por UCP Horas-hombre sistema de procesamiento de órdenes = 57.77 * 20 = 55.52 ~ 29 semanas a 40 horas por semana, para una persona Tomando un equipo pequeño de 6 personas trabajando full-time ~ 5 semanas de esfuerzo Agregar algunas semanas para trabajar en cualquier problema del equipo Lo veremos más adelante

Estimación del proyecto Estimar Horas-hombre Schneider & Winter sugieren un refinamiento basado en los Factores Ambientales Factores EF miden el nivel de experiencia del equipo de desarrollo y la estabilidad del proyecto Cualquier problema en este área significa que tendremos que invertir tiempo en el entrenamiento de las personas o solucionando problemas debido a la inestabilidad

Estimación del proyecto Estimar Horas-hombre Schneider & Winter sugieren un refinamiento basado en los Factores Ambientales Se calcula este valor de la siguiente manera: Contar cuántos factores ambientales desde E a E6 son inferiores a 3 (valor de nivel promedio) y cuántos de los factores ambientales E7 y E8 son superiores a 3 Entonces se usan 20 horas-hombre por UCP si el valor es 2 28 horas-hombre por UCP si el valor es 4 36 horas-hombre por UCP si el valor es 5» En este caso considerar modificar el proyecto ya que es muy riesgoso

Calcular UCP Pesar Factores Ambientales Sistema de Procesamiento de órdenes E E2 Es inferior a 3 Factor Ambiental Pes o.5 0.5 ELevel 3 ELevel * Peso.5.5 Justificación La mayoría del equipo no familiarizado La mayoría del equipo son programadores E3 3 3 E4 0.5 5 2.5 E5 5 5 E6 2 5 0 E7-0 0 E8-3 -3 Tenemos un EF inferior al promedio Programadores OO El líder es idóneo El equipo está entusiasmado No se esperan cambios Sin empleados a tiempo parcial Se programará con Java => 20 horas-hombre por UCP

Estimación del proyecto Estimar Horas-hombre El valor de esfuerzo estimado se refiere solamente a las horashombre invertidas en el desarrollo de la funcionalidad especificada en los CUs Un nuevo ajuste consiste en sumar a la estimación de esfuerzo obtenida por UCP, las estimaciones de esfuerzo de las demás actividades relacionadas con el desarrollo del software, distribuidas según la siguiente aproximación: Actividad Análisis Diseño Programación Pruebas Sobrecarga (otras actividades) Porcentaje 0% 20% 40% 5% 5%

Estimación del proyecto Estimar Horas-hombre Sistema Procesamiento de órdenes Horas-hombre sistema de procesamiento de órdenes = 57.77 * 20 = 55.52 Actividad Análisis Diseño Programación Pruebas Sobrecarga (otras actividades) TOTAL Esfuerzo Porcentaje 0% 20% 40% 5% 5% 00% Horas-hombre 288.88 577.76 55.52 433.32 433.32 2888.8 ~ 72 semanas a 40 horas por semana, para una persona Tomando un equipo de 6 personas trabajando full-time ~ 2 semanas de esfuerzo