Estimación de Tamaño de Software: Puntos Funcionales. Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes

Documentos relacionados
Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Determinación del nivel de influencia

Universidad Católica Boliviana San Pablo Centro de Sistemas de Información

GUÍA DE SEGURIDAD DE LA INFORMACIÓN GUÍA GOBIERNO CORPORATIVO PARA EMPRESAS SEP

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

En qué Momento se debe Instalar una Empresa? Cuál es el Proceso para Instalar la Primera Empresa?

IAP ENTORNOS INFORMATIZADOS CON SISTEMAS DE BASES DE DATOS

UML, ejemplo sencillo sobre Modelado de un Proyecto

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

MATERIAL 2 EXCEL 2007

Tienda Virtual Synergy (Parte 2)

Construcción de Escenarios

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

Es un software instalado en los equipos asignados a los Centros de Consulta con el objetivo de:

En muchas ocasiones resulta muy útil que la información contenida en un libro de Excel se visualice gráficamente.

INSTRUCTIVO PARA LA CUENTA DE PUNTOS FUNCIÓN

Bienvenido al sistema de Curriculum Digital CVDigital

BALANCED SCORECARD. Creación de Tableros Tablero de Indicadores. Cartilla I

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.

Módulo: APLICACIONES INFORMÁTICAS Y OPERATORIA DE TECLADOS.

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Para utilizar esta nueva funcionalidad usted debe hacer lo siguiente: Figura 1. Ventana buscar usuarios para modificar.

Caso práctico de Cuadro de Mando con Tablas Dinámicas

1 El plan de contingencia. Seguimiento

Informática I Notas del curso

Capítulo 4. Prueba de Adaptabilidad

1. INTRODUCCIÓN 3 2. INSTALACIÓN DE LA APLICACIÓN PACK PYME Proceso de Instalación y Arranque... 5

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Manual Impress Impress Impress Impress Impress Draw Impress Impress

INTRODUCCIÓN AL MONITOREO ATMOSFÉRICO 214

SECRETARÍA DE TIC, CIENCIA, TECNOLOGÍA E INNOVACIÓN

Técnicas de Estimación

Análisis y diseño del sistema CAPÍTULO 3

Instructivo de Microsoft Excel 2003

Análisis y Diseño de Soluciones de Software

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Uso de las tecnologias de la informacion en las PyMES de los municipios de Comalcalco y Cunduacán

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Modelo Integral y Dinámico de Análisis, Planeación, Programación y Control de Capacidades Productivas

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Operación 8 Claves para la ISO

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

(altas de trabajadores afectados por EREs): guía para las empresas

Actualización de versión a Bizagi 10.x

Dando nuestros primeros pasos con 3DS Max. 1. Objetivos

nom web Manual: Cierre de Ejercicio

MANUAL DE USO E-FACTURA FullPyme

[MANUAL DE USUARIO VUCE DGS003]

MANUAL DE USUARIO SECTOR PRIVADO (RESUMEN)

UF0320: Aplicaciones informáticas de tratamiento de textos

A. Compromiso de Ecolab con la Protección de la Privacidad de Datos

MANUAL DE DISEÑO DE PROCESOS

SILU Sistema de Inscripciones en Línea Universitario

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Semana 3: Entorno de programación CX Programmer

ESCUELA DE ADMINISTRACIÓN

LINEAMIENTOS PARA LA ELABORACIÓN DEL PROGRAMA ANUAL DE TRABAJO

PRODUCTIVIDAD DE PROYECTOS DE DESARROLLO DE SOFTWARE: FACTORES DETERMINANTES E INDICADORES

Métricas, Estimación y Planificación en Proyectos de Software

La hoja de cálculo EXCEL. Conceptos básicos

153. a SESIÓN DEL COMITÉ EJECUTIVO

REDES DE COMPUTADORES FACULTAD DE INGENIERIA ELECTRONICA UNIVERSIDAD PONTIFICIA BOLIVARIANA. Profesor: Jhon Jairo Padilla Aguilar, Ph.D.

Manual para Empresas Prácticas Curriculares

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

SESIÓN 6 INTRODUCCIÓN A WORD.

Servicios Administrados al Cliente

GLOSARIO DE TÉRMINOS

CONSOLIDACIÓN DE SERVIDORES PARA RENOVACIÓN DE PLATAFORMA DE SERVICIOS SERPES

Sistemas de Información Empresarial. Prof. Iván Mayorga Paredes ICI

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Workflow Cambio Rural II. Guía de Uso para el Promotor Asesor Solicitud de Alta de Grupos (Tradicionales y VAO) 8 y 9 de mayo de 2014 Santa Fe

DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS)

ISO Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA WENDY CARRASCAL VILLAMIZAR

SIIGO WINDOWS. Facturación Electrónica Parámetros. Cartilla I

Informática Contable. Introducción a la Informática Contable. Docente: Ivana Rojas

Ingeniería de Software Avanzada

Sistemas de Operación II

2. Aceptación de Términos

Manual del Sistema de Registro de Factura y Póliza 2012 INDICE CAPITULO 1 1

PRÁCTICA TECNOLOGÍAS DE LA INFORMACIÓN. Objetivos

ESTUDIO Y OBTENCIÓN DE NUEVOS CONCEPTOS PARA TRAVIESA PARACHOQUES

DGB14DR-101 DCA/2002

Base de datos en la Enseñanza. Open Office

Jefe del Servicio de Contratación y Patrimonio

NORMA TÉCNICA DE AUDITORÍA SOBRE CONSIDERACIONES RELATIVAS A LA AUDITORÍA DE ENTIDADES QUE EXTERIORIZAN PROCESOS DE ADMINISTRACIÓN

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Sistema Control. Administrativo Contable 2012.

HP Backup and Recovery Manager

VIDEOTRACK - Servicio de videofilmación georeferenciada para el seguimiento de Proyectos y Obras lineales y su posterior explotación

MANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

La auditoría es una disciplina que fundamentalmente busca la verdad de tal forma que

MANUAL DE GESTIÓN: SISTEMA DE GESTIÓN DE LA CALIDAD EN LA UNIDAD de FORMACIÓN DE LA DIPUTACION DE MALAGA

Transcripción:

Estimación de Tamaño de Software: Puntos Funcionales Grupo de Construcción de Software Facultad de Ingeniería Universidad de los Andes

Puntos de Función Métrica para cuantificar la funcionalidad de un sistema de software tal como la percibe el usuario/comprador Propuesta originalmente por A. Albrecht (IBM) en 1979. Permite medir el tamaño del sistema a partir de sus requisitos iniciales Puede usarse muy tempranamente en el proceso de desarrollo ya que resulta relativamente fácil de visualizar

Cálculo de los puntos de función Los puntos de función son un número positivo con escala arbitraria que refleja el tamaño de la funcionalidad del sistema (i.e. a mayor tamaño mayor número de puntos de función)

Cálculo de los puntos de función (cont.) Se calculan de acuerdo con las siguientes fórmula: Puntos de Función = Puntos de función Sin Ajuste x Factor de Complejidad de Procesamiento donde, Factor de Complejidad de Procesamiento = 0.65 + (0.01 x Puntos de Complejidad de Procesamiento

Puntos de función Sin Ajuste (PSA) Es una medida de la funcionalidad del sistema que no pretende reflejar su complejidad interna Se mide contando en el sistema: Entradas (inputs) Salidas (outputs) Consultas (inquiries) Almacenamientos lógicos (logical files) Interfaces con otros sistemas

Complejidad y pesos Tipo Simple Promedio Complejo Entradas 3 4 6 Salidas 4 5 7 Almacenamientos lógicos 7 10 15 Interfaces 5 7 10 Consultas 3 4 6

Puntos de Complejidad de Procesamiento (PCP) Son una medida del grado de influencia en la complejidad del sistema, de una serie de factores preestablecidos Se consideran 14 factores diferentes Cada factor se evalúa en una escala de 0 (no tiene influencia) a 5 (influencia muy fuerte)

Factor de Complejidad de Procesamiento (FCP) Permite ajustar el total de puntos de función en 35% (hacia arriba o hacia abajo) de acuerdo con la complejidad de procesamiento Se calcula con la fórmula: Factor de Complejidad de Procesamiento = 0.65 + (0.01 x Puntos de Complejidad de Procesamiento) Su rango de valores está entre 0.65 (0 puntos de complejidad ) hasta 1.35 (70 puntos de complejidad)

Factor de Complejidad de Procesamiento (FCP) Comunicación de datos Facilidad de instalación Actualización en línea Rata de transacciones Servicios distribuidos Facilidad de operación Procesamiento complejo Entrada de datos en línea Desempeño Múltiples lugares de operación Reusabilidad Eficiencia del usuario final Ambiente de uso sobrecargado Facilidad de modificación

Ejemplo de cálculo: Puntos de Complejidad de Procesamiento (PCP) Comunicación de datos 5 Actualización en línea 5 Servicios distribuidos 5 Procesamiento complejo 3 Desempeño 4 Reusabilidad 0 Ambiente de uso sobrecargado 1 Facilidad de instalación 1 Rata de transacciones 5 Facilidad de operación 3

Ejemplo de cálculo: Puntos de Complejidad de Procesamiento (PCP) Múltiples lugares de operación 4 Eficiencia del usuario final 5 Facilidad de modificación 3 Total de puntos de complejidad de procesamiento (PCP) = 44

Ejemplo de cálculo: Resultado final Factor de Complejidad de Procesamiento (FCP): FCP = 0.65 + (0.01 x PCP) = 0.65 + (0.01 x 44) = 1.09 Total de Puntos de Función (FP): FP = PSA x FCP = 63 x 1.09 = 68.67

Cómo contar los puntos de función? El objetivo es encontrar cuáles son las entradas, salidas, consultas, cuántos almacenamientos lógicos hay... Desarrollar un diagrama de contexto del sistema Identificar todas las interacciones del sistema con entidades externas del mundo real A partir de los requerimientos del sistema identificar los puntos funcionales

Puntos de función de tipo entrada Cada una de las entradas del usuario que adiciona o cambia información en el almacenamiento interno o cambia el estado del sistema se cuenta como una entrada Una entrada se considera única si tiene un formato distinto o si requiere una lógica de procesamiento diferente (es manejada por código diferente) Una entrada puede recibirse directamente del usuario (i.e. en línea) o en batch mediante un archivo de comandos

Puntos de función de tipo entrada (cont) No debe contarse los archivos de entrada que contienen datos generados por otras aplicaciones, ya que éstos serán contados como puntos de función del tipo interface. Lo mismo aplica para las entradas recibidas directamente de otras aplicaciones No cuente la parte de entrada de una consulta

Clasificación de los puntos de función de tipo entrada Simple Contiene pocos datos/tipos/campos, pocos archivos internos se ven afectados en su procesamiento, y/o su interfaz de usuario es simple/fácil de desarrollar Promedio No es claramente ni simple ni complejo Complejo Contiene muchos datos/tipos/campos, muchos archivos internos se ven afectados en su procesamiento, y/o su interfaz de usuario es compleja/difícil de desarrollar

Puntos de función de tipo salida Cada salida enviada al usuario como resultado de algún procesamiento realizado dentro del sistema Una salida se considera única si tiene un formato distinto o si requiere una lógica de procesamiento diferente (es manejada por código diferente) Una salida puede ser enviada al usuario directamente (i.e. en línea) o en batch como un archivo de mensajes

Puntos de función de tipo salida (cont.) No deben contarse los archivos de salida generados para uso de otras aplicaciones, ya que éstos serán contados como puntos de función del tipo interface Lo mismo aplica para las salidas enviadas directamente a otras aplicaciones

Clasificación de los puntos de función de tipo salida Simple Contiene pocos datos/tipos/campos, pocos archivos internos son consultados en su procesamiento, y/o su formato es simple/fácil de producir Promedio No es claramente ni simple ni complejo Complejo Contiene muchos datos/tipos/campos, muchos archivos internos son consultados en su procesamiento, y/o su formato es complejo/difícil de producir

PF de tipo almacenamiento lógico Cada uno de los grupos lógicos de datos que deben ser mantenidos internamente por el sistema para soportar su funcionalidad Se considera único si guarda un tipo de información diferente, o si requiere una lógica de procesamiento distinta (código diferente) para ser manipulado Puede corresponder a una o más estructuras de datos, archivos o tablas de relacionales o a una parte de una de ellas

Puntos de función de tipo almacenamiento lógico (cont) Desde el punto de vista del usuario, los almacenamientos lógicos pueden mirarse como depósitos de información internos, que contienen variables de estado del sistema y/o constantes o parámetros de operación No deben contarse los almacenamientos lógicos que no intervengan en el procesamiento de al menos una de las entradas, salidas, interfaces o consultas identificadas para el sistema

Clasificación de los puntos de función de tipo almacenamiento lógico Simple Contiene pocos datos/campos, con relaciones estructurales simples entre ellos. No hay requisitos significativos de desempeño o recuperación relacionados con él Promedio No es claramente ni simple ni complejo

Clasificación de los puntos de función de tipo almacenamiento lógico Complejo Contiene muchos datos/campos, con relaciones estructurales complejas entre ellos. Hay requisitos significativos de desempeño o recuperación relacionados con él

Puntos de función de tipo interface Cada grupo lógico de datos o información de control, recibido o enviado desde/hacia otra aplicación, directamente o en batch En el caso de comunicación en batch, cada tipo de archivo aceptado o generado por la aplicación cuenta como una interfaz diferente

Puntos de función de tipo interface Para interfaces directas (en línea), cada mensaje o evento diferente recibido de o enviado a otra aplicación, cuenta como una interfaz diferente Las entradas recibidas de otras aplicaciones, relacionadas con el propósito principal de la aplicación deben ser contadas como puntos de función de tipo entrada. Lo mismo aplica para las salidas

Clasificación de los puntos de función de tipo interface Simple Contiene pocos datos/campos, y posee una estructura o formato simple Promedio No es claramente ni simple ni compleja Compleja Contiene muchos datos/campos, y posee una estructura o formato complejo

Puntos de función de tipo consulta Cada combinación lógica de entrada/salida, dónde la entrada causa una salida inmediata, y ningún almacenamiento interno es actualizado (i.e. no cambia el estado del sistema) Una consulta se considera única si sus porciones de entrada y/o salida tienen formatos diferentes de las de otras consultas, o si requiere un procesamiento lógico (código) diferente

Clasificación de los puntos de función de tipo consulta Se clasifica la parte de entrada de la consulta como simple, promedio o compleja, como en el caso de los puntos de función de tipo entrada Se clasifica la parte de salida de la consulta como simple, promedio o compleja, como en el caso de los puntos de función de tipo salida La complejidad de la consulta es la mayor de las dos clasificaciones anteriores

Obtención de los puntos de complejidad de procesamiento Se estima el grado de influencia que cada uno de los 14 factores de complejidad de procesamiento tiene en la implantación del sistema, y se suman estos valores

Obtención de los puntos de complejidad de procesamiento Valores posibles para estimar el grado de influencia: 0 = No está presente, no tiene ninguna influencia si lo está 1 = Influencia poco significativa 2 = Influencia moderada 3 = Influencia medianamente significativa 4 = Influencia significativa 5 = Influencia muy fuerte, en toda la extensión del sistema

Factores de complejidad del procesamiento Comunicación de datos Los datos y la información de control utilizados por la aplicación son enviados o recibidos por medio de servicios de comunicación electrónica.

Factores de complejidad del procesamiento Servicios distribuidos La aplicación mantiene datos distribuidos (en múltiples computadores) o procesa información en forma distribuida.

Factores de complejidad del procesamiento Desempeño Los requisitos de desempeño de la aplicación, ya sea en tiempo de respuesta o capacidad de procesamiento de datos, tienen influencia en su diseño, desarrollo, instalación o soporte.

Factores de complejidad del procesamiento Ambiente de uso sobrecargado Se desea correr la aplicación en equipo existente o comprometido que tendrá una alta carga de operación.

Factores de complejidad del procesamiento Rata de transacciones La rata de transacciones es alta y tendrá influencia en el diseño, desarrollo, instalación o soporte de la aplicación.

Factores de complejidad del procesamiento Entrada de datos en línea La aplicación ofrece servicios de entrada de datos y control en línea.

Factores de complejidad del procesamiento Eficiencia del usuario final Las operaciones en línea ofrecidas, deben diseñarse o implantarse con un énfasis en la eficiencia de los usuarios

Factores de complejidad del procesamiento Actualización en línea La aplicación ofrece actualización en línea de los almacenamientos de datos lógicos

Factores de complejidad del procesamiento Procesamiento complejo Muchas interacciones de control y puntos de decisión, uso extensivo de operaciones lógicas y matemáticas, amplia necesidad de código de manejo de casos excepcionales resultante de operaciones incompletas o fallidas.

Factores de complejidad del procesamiento Reusabilidad El código de la aplicación será diseñado específicamente para ser reutilizado en otras aplicaciones. Facilidad de instalación La facilidad de conversión o instalación, aparece como parte de los requisitos.

Factores de complejidad del procesamiento Facilidad de operación Se ofrecerán procedimientos efectivos de arrancada, copias de respaldo (back-up) y recuperación y éstos serán probados en la fase de pruebas. La aplicación debe reducir al mínimo la necesidad de intervención del operador.

Factores de complejidad del procesamiento Múltiples lugares de operación La aplicación será diseñada específicamente para ser instalada en varios lugares de operación y/o en varias organizaciones Facilidad de modificación La aplicación será diseñada específicamente para ser flexible a los cambios (i.e. altamente parametrizada, fácilmente modificable, etc)

Estimación del tamaño El tamaño de la aplicación puede estimarse correlacionando los puntos de función con el número de líneas de código Puede utilizarse una regla de proporcionalidad (regla de tres) basada en tablas como las mostradas anteriormente. También puede usarse la técnica de regresión lineal con base en proyectos anteriores. Este método puede resultar mucho más confiable.

Estimación del tamaño (cont.) Los puntos de función pueden contarse antes y después del desarrollo, con lo cual es posible hacer correlaciones que permitan ajustar las estimaciones para lograr una mayor precisión. La correlación entre los puntos de función y el tamaño de las aplicaciones es normalmente alta.

Consideraciones finales Los puntos de función son un método relativamente sencillo para estimar el tamaño de una aplicación. Los puntos de función son un proxy de estimación muy conveniente, ya que son fácilmente observables a los largo del desarrollo.

Consideraciones finales Su uso está limitado en buena parte a las aplicaciones de corte comercial. Otro tipo de aplicaciones puede requerir de métodos diferentes. Es posible refinar el método modificando los pesos de los distintos elementos, los factores de complejidad de procesamiento, o los pesos de estos últimos. Este proceso, sin embargo, puede ser bastante complejo.

Referencias A. J. Albretch, J. E. Gaffney, Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation, IEEE Transactions on Software Engineering, Vol 9, No. 6, noviembre de 1983. C. R. Symons, Function Point Analysis: Difficulties and Inprovements, IEEE Transactions on Software Engineering, Vol 14, No. 1, enero de 1988. C. F. Kemerer, B. S. Porter, Improving the Reliability of Function Point Measurement: An Empirical Study, IEEE Transactions on Software Engineering, Vol 18, No. 11, noviembre de 1992. International Function Point Users Group (IFPUG) Home Page, http://www.ifpug.org/home/docs/ifpughome.html IFPUG, Guidelines to Software Measurement, IFPUG, 1994.