introducción al análisis por puntos funcionales

28
Análisis por Puntos Funcionales Introducción Presentación a las áreas

Upload: microgestion

Post on 06-Aug-2015

227 views

Category:

Technology


2 download

TRANSCRIPT

Análisis por Puntos Funcionales

Introducción

Presentación a las áreas

La importancia de medir

● Estimar es dar un valor aproximado a un parámetro a través de la utilización de un conjunto de técnicas.

● Elegir una medición para un atributo nos exige un grado adecuado de comprensión del atributo.

● Métricas de la industria del software:○ Tamaño de productos (líneas de código, puntos

funcionales)○ Calidad de productos○ Calidad de procesos○ Capacidad de los procesos (de ser efectivos)

PUNTOS FUNCIONALES (1/2)

● Mide Requisitos Funcionales● Estimación temprana en proyectos● Estima ajustes por ambiente de desarrollo● Permite medir gestión de requerimientos● Facilita la participación del usuario en el desarrollo de

requerimientos● Es compatible con distintos procesos de desarrollo de

software

Promotores del FPA: “International Function Point Users Group” IFPUG (link).

PUNTOS FUNCIONALES (2/2)

● Esta métrica mide el atributo funcionalidad o utilidad del producto software desde el punto de vista del usuario del mismo

● Esta funcionalidad es también designada como el “size” o “tamaño” del producto

● Permite comparar un producto existente y su reemplazo● Puede ser estimada o medida en distintos momentos del

ciclo de vida del producto software● Comparando estimaciones realizadas en el mismo

momento del ciclo de vida de distintos proyectos, puede estimarse la proyección de las mismas para un nuevo proyecto (historial genera conocimiento)

BENEFICIOS

● Mide la funcionalidad de un software o de componentes identificados

● Es un estándar aceptado para la medición de la funcionalidad del software

● Es una medición adecuada para comparar proyectos o productos de software

● Estimación objetiva

OTRAS NORMAS

● Norma ISO/IEC 15939 vocabulario● Norma ISO/IEC 9126 modelo de calidad interna y externa

para distintas métricas● Norma ISO/IEC 19761 Software Engineering Cosmic

FPP: A Functional size measurement method

COMPONENTES FUNCIONALES

● Los datos disponibles para el usuario○ data function types

● • Los procesos disponibles para el usuario○ transaction function types

Data Function Types

● Los archivos propios del producto○ internal logical files (ILF)

● Los archivos reutilizados de otros productos ○ external interface files (EIF)

Transaction Function Types

● Los procesos de actualización de la base de datos○ external inputs (EI)

● Los procesos de explotación de la base de datos ○ external outputs (EO)

● Los procesos de consulta de la base de datos○ external inquiries (EQ)

Data Function Types

Data Function Types

● Es un grupo de datos o información de control, lógicamente relacionados entre sí

● Identificados por el usuario del producto● Mantenidos por procesos elementales

Ejemplos

● Cliente en Ventas● Empleado en RR.HH.● Producto en Inventarios● Cheques en Bancos● Fórmulas en Manufactura

Data Element Types (Datos) - DETs

● Son atributos indivisibles que describen las Data Function Types identificadas

● Son reconocibles por el usuario● Cruzan los límites del producto

Ejemplos

● Número de Empleado● Importe de un cheque● Fecha de ingreso● Cantidad de un artículo en un depósito

Record Element Types (Datos) - RETs

● Son subgrupos de datos identificables por el usuario que describen las Data Function Types

Ejemplos

● Datos de contacto personal / laboral de Persona● Forma de pago de una Factura

Internal Logical Files - ILF

● Las Funciones de Datos mantenidas por procesos elementales incluidos en el producto bajo estudio se denominan INTERNAL LOGICAL FILES

External Interface File - EIF

● Las Funciones de Datos mantenidas por procesos elementales no incluidos en el producto bajo estudio se denominan EXTERNAL INTERFACE FILES

Reglas para identificar Data Function Types

ILFs● The group of data or control information is logical and user identifiable.● The group of data is maintained through an elementary process within the

application boundary being counted.

EIFs● The group of data or control information is logical and user identifiable.● The group of data is referenced by, and external to, the application being

counted.● The group of data is not maintained by the application being counted.● The group of data is maintained in an ILF of another application.

Reglas para contar Data Function Types

● Un ILF puede ser mantenido por distintos procesos elementales incluidos dentro del mismo producto, se lo cuenta una sola vez.

● Un ILF mantenido en un producto puede ser referido por otras procesos elementales en el mismo producto y no es contado nuevamente.

● Un EIF puede ser referido por distintos procesos elementales dentro del mismo producto, se lo cuenta una sola vez.

Transaction Function Types

Transaction Function Types

● Proceso elemental○ Es la unidad indivisible de actividad según la visión

del usuario○ Debe ser autocontenido y dejar el producto al

terminar su ejecución en un estado consistente ○ Puede implementarse como uno o más componentes

de software○ Incluye Datos Elementales (DET)○ Incluye File Type Referenced (FTR)○ Incluye Lógica de Procesamiento

File Types Referenced - FTR

● Son los Internal Logical Files y External Interface Files que son leídos o actualizados por un proceso elemental

Lógica de Procesamiento

● Requerimientos específicos pedidos por el usuario para ser incluidos en un proceso elemental○ Validaciones○ Cálculos○ Conversiones○ Análisis de condiciones○ Obtención de datos derivados○ Presentación de datos fuera del límite del producto○ Reordenamiento de datos

External Input - EI

● Es un proceso elemental del producto que procesa datos o información de control que son ingresados desde fuera de los límites del producto

● Es utilizada para actualizar uno o más ILFs● Todos los datos obligatorios deben ser ingresados● Pueden ser ingresados por usuarios● Pueden ser enviados desde otra aplicación● Pueden ser enviados desde un dispositivo de hardware● Pueden ser almacenados en los ILFs o ser consumidos

por el proceso del External Input

External Output - EO

● Es un proceso elemental del producto que envía datos y/o información de control que existen dentro de los límites de la aplicación o se derivan de los mismos

● Puede actualizar uno o más ILFs● Un reporte, cualquiera sea su complejidad, es un solo

External Output● Pueden ser emitidos a Usuarios del producto● Pueden ser enviados a otro producto● Pueden ser enviados hacia un dispositivo de hardware

External Inquiry - EQ

● Es un proceso elemental de la aplicación que utiliza un Input y un Output para recuperar información

● El Input ingresa datos para el proceso de recuperación● El Output no contiene datos derivados● Recupero y edición de datos no constituyen derivación● No se actualizan ILF● El proceso elemental incluye: el Input, la Recuperación y

el Output● El Input es validado● Pueden ser emitidos a Usuarios del producto● Pueden ser enviados a otro producto● Pueden ser enviados hacia un dispositivo de hardware

Reglas para contar Transaction Function Types

Condiciones para contar cada proceso elemental por separado:

EI● Los datos ingresados deben diferir de los datos de otros External Input● Los File Type Referenced (FTR) deben ser distintos de los referidos en otros

External Inputs del producto bajo estudio● Su lógica de procesamiento debe ser distinta de las lógicas de los otros

External Inputs del producto bajo estudio

EO● Los datos enviados deben diferir de los datos de otros External Output● Los File Type Referenced (FTR) deben ser distintos de los referidos en otros

External Outputs del producto bajo estudio● Su lógica de procesamiento debe ser distinta de las lógicas de los otros

External Outputs del producto bajo estudio

Reglas para contar Transaction Function Types

Condiciones para contar cada proceso elemental por separado:

EQ● Los datos enviados deben diferir de los datos de otros External Inquiry● Los File Type Referenced (FTR) deben ser distintos de los referidos en otros

External Inquiry del producto bajo estudio● Su lógica de procesamiento debe ser distinta de las lógicas de los otros

External Inquiry del producto bajo estudio

Para diferenciar EO de EQ:

● el EO contiene operaciones de procesamiento y creación de datos derivados, puede actualizar un ILF o alterar el comportamiento del sistema

● el EQ no realiza cálculos sobre los datos, no genera datos derivados, no actualiza ningún ILF ni altera el comportamiento del sistema

Proc. para contar Transaction Function Types

● Se identifican los procesos elementales.● Se clasifican los procesos elementales en EI, EO o EQ.● Se calcula su complejidad funcional (medida de la

riqueza de datos de la aplicación). Está relacionado a la cantidad de DETs y FTRs. La complejidad se obtienen de tablas normalizadas.

● Se miden los puntos de función.● Se suman los puntos de función de todos los EI, EO y

EQ.

Reglas para contar Transaction Function Types

EI

EO y EQ