PUNTOS FUNCIONALES
ISO/IEC 20926:2003
Inicio
INTRODUCCION A LOS
PUNTOS DE FUNCION
Inicio
Puntos de Función 1/3
• 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
• Esta medida es independiente del ambiente
tecnológico y del proceso de software
utilizado para construirlo
Puntos de Función 2/3
• Permite comparar el mismo producto en
distintos ambientes.
• Permite comparar un producto existente y
su reemplazo
• Puede ser calculada en distintos momentos
del ciclo de vida del producto software
Puntos de Función 3/3
• La precisión del calculo mejora a medida
que se avanza en las actividades de
requerimientos y análisis
• Comparando estimaciones realizadas en el
mismo momento del ciclo de vida de
distintos proyectos, puede estimarse el
proceso de corrección de las mismas para
un nuevo proyecto
Beneficios 1/2
• Mide la funcionalidad de un software
terminado, mediante la cuenta de todas las
funciones incluidas en el mismo
• Ayuda a los usuarios de un software para
medir el beneficio de su uso, mediante la
cuenta de las funciones que específicamente
satisfacen sus requerimientos
Beneficios 2/2
• Permite estimar los recursos y costos
requeridos para el desarrollo y el
mantenimiento del software
• 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
Puntos de Función y Proyectos
• Los puntos de función son métricas de
productos y no de procesos
• Combinados con métricas de procesos son
muy útiles para estimar el uso de recursos,
la duración y el costo de proyectos de
software y por tanto el precio del producto
Puntos de Función y Gestión de
IT 1/2
• Permiten estimar el importe del inventario
de software de una empresa
• Permiten estimar el esfuerzo global de
mantenimiento de software
• Permiten estimar el presupuestar del
software dentro de un plan de tecnologías
de la información
Puntos de Función y Gestión de
IT 2/2
• Permiten estimar dotaciones de personal en
un plan de tecnologías de la información
• Permiten negociar contratos con
proveedores
– Desarrollo
– Mantenimiento
Los componentes de puntos de
Función
• 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
• Los archivos reutilizados de otros productos
– external interface files
Transaction Function Types
• Los procesos de actualizar la base de datos
– external inputs
• Los procesos de explotacion de la base de
datos
– external outputs
• Los procesos de consulta de la base de datos
– external inquiries
EXTERNAL
INPUT
EXTERNAL
OUTUPUT
E.I.
INTERNAL LOGICAL FILES
E.O.
E.Q.
EXTERNAL
INQUIRY
EXTERNAL
INTERFASE
FILES
INTRODUCCION A LOS
PUNTOS DE FUNCION
Terminación
DATA FUNCTION TYPES
Inicio
Definición
• Es un grupo de datos o información de
control, lógicamente relacionados,
identificados por el usuario, y mantenidos
por procesos elementales
Ejemplos de Data Function Types
•
•
•
•
•
Cliente en Ventas
Empleado en RR.HH.
Producto en Inventarios
Cheques en Bancos
Fórmulas en Manufactura
Technical Solutions para Data
Function Types
• Modelo relacional:
– Kernel
– Associations con atributos que no son claves
foráneas
• Modelo Entidad Relación
– Entidades de Datos
• Modelo UML
– Objetos de Entidad
Datos
• Son atributos indivisibles que describen las
Data Function Types identificadas
–
–
–
–
Numero de Empleado
Importe de un cheque
Fecha de ingreso
Cantidad de un artículo en un depósito
Información de Control
• Son datos utilizados para realizar procesos
elementales
– User Id y password
– Parámetros para realizar procesos elementales
Identificados por el usuario
• Son reconocidos por un usuario
experimentado del producto
• No pueden crearse por motivos de
modelización, tecnología o performance
Internal Logical Files
• Las Funciones de Datos mantenidas por
procesos elementales incluidos en el
producto bajo estudio se denominan
INTERNAL LOGICAL FILES
External Interface File
• Las Funciones de Datos mantenidas por
procesos elementales no incluidos en el
producto bajo estudio se denominan
EXTERNAL INTERFACE FILES
DATA FUNCTION TYPES
Terminación
INTERNAL LOGICAL FILES
Identificación y Cuenta de ILF
1/2
• Un ILF puede ser mantenido por distintos
procesos elementales incluidos dentro del
mismo producto, se lo cuenta una sola vez
• Un ILF puede ser mantenido por distintas
procesos elementales incluidos en distintos
productos, se lo cuenta en cada una de los
productos
Identificación y Cuenta de ILF
2/2
• Un ILF mantenido en un producto puede ser
referido por otras procesos elementales en
el mismo producto
• No puede ser contado como un EIF y un
ILF simultáneamente
• Tampoco puede ser contado como EIF en
una ampliación del producto
Ejemplos correctos 1/2
• Reglas de negocios y mensajes mantenidos
por el producto
• Datos históricos mantenidos separadamente
dentro del producto
• Datos de auditoria mantenidos por el
producto (audit trail)
Ejemplos correctos 2/2
• Helps mantenidos por el producto
• User ID y password mantenidas por el
producto
• Archivos para backup realizados por el
producto
Ejemplos erróneos 1/2
• Archivos temporarios
• Extract o View files que repiten datos de
otros ILF o EIF
• Archivos creados por la tecnología de
implementación
Ejemplos erróneos 2/2
• Archivos referidos y no mantenidos por el
producto
• Archivos para backup realizados por fuera
del producto
INTERNAL LOGICAL FILES
EXTERNAL INTERFACE
FILES
Inicio
Identificación y Cuenta de EIF
• Un EIF ha sido contado como ILF en al
menos un producto distintos al que se está
analizando
• No ha sido ya contado como ILF dentro del
mismo producto
• Se lo cuenta una sola vez, aun cuando sea
referenciado en múltiples procesos
elementales del producto
Ejemplos Correctos 1/2
• En un Sistema de Ventas, se utiliza el
archivo de Productos, del Sistema de
Inventarios, para describir un item en una
Factura
• Datos extraidos de otros productos, se
cuenta solo el grupo de datos que es
significativo para el producto que los
referencia
Ejemplos correctos 2/2
• Reglas de Negocios y mensajes mantenidos
por fuera del producto
• Datos de auditoria mantenidos por fuera del
producto
• User id y password mantenidas por fuera
del producto
• Help mantenidos por fuera del producto
Ejemplos Erróneos 1/2
• Datos recibidos de otro producto y que son
utilizados para mantener uno o mas ILF
dentro del producto, deben ser considerados
como External Input
• Datos preparados y enviados por el
producto bajo estudio a otros productos,
deben ser contados como External Outputs.
Ejemplos Erróneos 2/2
• Datos mantenidos dentro del producto
donde son contados como ILF y que son
accedidos por otros productos, deben ser
contados como EIF en los otros productos
EXTERNAL INTERFACE
FILES
Terminación
COMPLEJIDAD FUNCIONAL
PARA ILF y EIF
Inicio
Definición 1/2
• Complejidad funcional por datos es la
medida, adecuada para el usuario, de la
riqueza en datos de la aplicacion
• Se mide en puntos de función
• A cada ILF o EIF se le asigna un valor de
puntos funcionales, de acuerdo con tablas
estandarizadas
Definición 2/2
• A cada ILF y EIF se le asigna una
complejidad funcional: Low, Average o
High; basada en el numero de Data Element
types (DET) y Records (RET) incluidos en
los mismos
Record Element Type (RET) 1/2
• Los ILF están compuestos por Records
(RET)
• Récords son sub grupos de datos
reconocibles por el usuario, los sub grupos
pueden ser optativos u obligatorios
• Se debe contar un RET por cada sub grupo
obligatorio u opcional
Record Element Type (RET) 2/2
• Si no hay sub grupos se cuenta un solo
Record en el ILF o EIF
• En el proceso de crear un ILF debe
utilizarse al menos un Record obligatorio
• Los optativos pueden o no crearse
Data Element Type (DET) 1/2
• Los RET están compuestos por Data
Element type (DET)
Dato Element Type Reglas para
contar 1/2
• 1. Se cuenta un DET por cada campo,
atributo o columna reconocible por el
usuario en un ILF o EIF
• 2. Se cuenta un DET por cada dato en un
ILF, que existe porque el usuario exige que
una vinculación con otro ILF sea mantenida
Dato Elemental Reglas para
contar 2/2
• 3. Se cuenta como un solo DET un atributo
que aparece dos o mas veces en un ILF o
EIF por razones de tecnología o de
implementaron
• 4. Se cuentan como un solo DET campos
repetitivos, idénticos en formato y que
existen para permitir múltiples ocurrencias
del valor de un dato
Complejidad Funcional para ILF
y EIF 1/2
• Existe una “Matriz de Complejidad” que les
asigna valores de complejidad a los ILF e
EIF
• La matriz asigna valores de complejidad:
Low, Average y High de acuerdo con el
numero de RET y DET del ILF o EIF
Complejidad Funcional para ILF
y EIF 2/2
• Existe una “Matriz de Contribución” que les
asigna puntos de función a los ILF e EIF de
acuerdo con la complejidad determinada
usando la matriz anterior
Puntos de Función por datos: su
cuenta
• 1. Se identifican los ILF e EIF del producto
• 2. Se miden los puntos de función
correspondientes a cada uno
• 3. Se suman los puntos de función de todos
los ILF e EIF
COMPLEJIDAD FUNCIONAL
PARA ILF y EIF
Terminación
TRANSACTION FUNCTION
TYPES
Inicio
Proceso Elemental 1/2
• Es la unidad indivisible de actividad según
la visión del usuario
• Debe ser auto contenido y dejar el producto
al terminar su ejecución en un estado
consistente
• Puede implementarse como uno o más
Software Components o Technical Solutions
Components
Proceso Elemental 2/2
• Incluye Datos Elementales (DET)
• Incluye File Type Referenced (FTR)
• Incluye Lógica de Procesamiento
Data Element Types
• Son datos o información de control únicos,
reconocibles por el usuario, que cruzan el
limite del producto
File Types Referenced
• Son los Internal Logical Files y External
Interaface 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
• Reglas de Negocios
– Reglas de Integridad
– Reglas de Validación
– Reglas de Derivación
• Referencias a ILF o EIF
TRANSACTION FUNCTION
TYPES
Terminación
EXTERNAL INPUTS
Inicio
External Input Definición 1/3
• Es un proceso elemental del producto que
procesa datos o información de control que
son ingresados desde fuera de los limites
del producto
• Es utilizada para actualizar uno o mas
Internal Logical Files
• Todos los datos obligatorios deben ser
ingresados
External Input Definición 2/3
• 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 ILF o ser
consumidos por el proceso del External
Input
Condiciones para ser contados
separadamente como 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
Ejemplos correctos 1/2
• Ventanas que mantienen ILF o ingresan
información de control
• Archivos de transacciones enviados desde
otras aplicaciones para actualizar ILF, si hay
múltiples tipos de transacciones, cada tipo
puede exigir un External Input exclusivo
Ejemplos correctos 2/2
• Mantenimiento de cualquier tipo de ILF
– Entidades del dominio de la aplicación
– Reglas de Negocios, Mensajes, Helps,
Parámetros
Ejemplos Erróneos 1/3
• Datos de otro producto que no mantienen
ningún ILF, se contaran como un EIF
• La entrada a un External Inquiry
• Menúes usados para selección o
navegación, pero que no mantienen al
menos un ILF
• Pantallas de log-in que permiten entrar pero
no mantienen ningún ILF
Ejemplos Erróneos 2/3
• Múltiples métodos para invocar la misma
lógica de procesamiento
– Dos botones en una ventana que invocan la
misma acción para el Usuario
• Uso del Mouse para seleccionar
campos/datos a ingresar en un producto
• Actualizar o borrar datos en una pantalla
Ejemplos Erróneos 3/3
• Respuesta a mensajes que exigen al usuario
confirmar o rechazar transacciones
EXTERNAL INPUTS
Terminación
EXTERNAL OUTPUTS
Inicio
Definición 1/2
• Es un proceso elemental del producto que
envía datos y/o información de control que
existen dentro de los limites de la aplicacion
o se derivan de los mismos
• Puede actualizar uno o más ILF
• Un reporte, cualquiera sea su complejidad,
es un solo External Output
Definición 2/2
• Pueden ser emitidos a Usuarios del
producto
• Pueden ser enviados a otro producto
• Pueden ser enviados hacia un dispositivo de
hardware
Lógica de Procesamiento
• Requerimientos específicos pedidos por el
usuario para ser incluidos en un proceso
elemental
–
–
–
–
Datos elementales a incluir
Datos a generar
Reglas de Negocios
Referencias a ILF o EIF
Condiciones para ser contados
separadamente como 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
Ejemplos Correctos 1/2
• Reportes que requieren algoritmos o
cálculos:
– Documentos
– Gráficos
• Etiquetas con código de barras
• Cheques emitidos por el producto
Ejemplos Correctos 2/2
• Una respuesta enviada a un actuator
• Una respuesta computerizada sobre una
línea telefónica
• Archivos de transacciones enviados a otros
productos
– Si hay múltiples tipos de transacciones, cada
tipo puede exigir un external Output exclusivo
Ejemplos Erróneos 1/2
• La salida a un External Inquiry
• Refresco, actualización o cancelación de
una pantalla
• Múltiples Métodos para invocar la misma
lógica de procesamiento
Ejemplos Erróneos 2/2
• Mensajes que identifican errores o
confirman que se han completado funciones
de transacciones
• Pantallas de log-off
• Reportes no planeados, que el usuario
controla a través de lenguajes como SQL
EXTERNAL OUTPUTS
Terminación
EXTERNAL INQUIRY
Inicio
Definición 1/3
• Es un proceso elemental de la aplicacion
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
Definición 2/3
• 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
Definición 2/3
• Pueden ser emitidos a Usuarios del
producto
• Pueden ser enviados a otro producto
• Pueden ser enviados hacia un dispositivo de
hardware
Lógica de Procesamiento
• Requerimientos específicos pedidos por el
usuario para ser incluidos en un proceso
elemental
–
–
–
–
Datos o información de control a ingresar
Datos o información de control a recibir
Reglas de Negocios
Referencias a ILF o EIF
Condiciones para ser contados
separadamente como 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
Ejemplos Correctos
• Datos recuperados de uno o mas ILF/EIF
• Funciones de usuario como:
– view, lookup, browse, display
• Recuperación de datos por:
– Electronic Data Interface
– Teléfono, using tones
Ejemplos Erróneos 1/3
• Consultas que son invocadas en múltiples
transacciones (se cuenta una sola vez)
• Menúes para navegación o selección pero
que no leen ILF o EIF
• Documentación on line del sistema
Ejemplos Erróneos 2/3
• Pantallas de log-in que permiten entrar pero
que no recuperan datos
• Datos derivados en lugar de recuperados,
contar como External Output
• Mensajes que identifican errores o
confirman que se han completado funciones
de transacciones
Ejemplos Erróneos 3/3
• Refresco, actualización o cancelación de
una pantalla
• Múltiples Métodos para invocar la misma
lógica de procesamiento
• Pantallas de log-off
• Reportes no planeados, que el usuario
controla a través de lenguajes como SQL
EXTERNAL INQUIRY
Terminación
COMPLEJIDAD FUNCIONAL
PARA EI, EO y EQ
Inicio
Definición 1/2
• Complejidad funcional por transacciones es
la medida adecuada para el usuario, de la
riqueza en funciones de la aplicacion
• Se mide en puntos de función
• Se asigna un valor en puntos de función de
acuerdo con tablas estandarizadas a cada
proceso elemental: External Input, External
Output, External Inquiry
Definición 2/2
• A cada proceso elemental se le asigna una
complejidad funcional: Low, Average o
High; basada en el numero de Data Element
types (DET) y File Type Referenced (FTR)
asociados con el proceso elemental
• Para esta asignación se usan tablas
estandarizadas
Data Element Types 1/2
• Se debe contar un DET por cada dato o
información de control que cruza los limites
de la aplicacion y que es utilizado para
completar el proceso elemental
Data Element Types 2/2
• Se debe contar un solo DET por
– Todos los mensajes que informan sobre errores
cometidos o que el proceso elemental ha
terminado
– La capacidad para controlar la acción que
desarrolla el proceso elemental, por ejemplo
botones en una ventana
File Types Referenced
• Numero total de ILF actualizados o leídos
mas numero total de EIF leídos
• Se debe contar un FTR por:
– cada ILF actualizado o leído
– cada EIF leído
Complejidad Funcional para EI,
EO y EQ 1/2
• Existe una “Matriz de Complejidad” que les
asigna valores de complejidad a los EI, EO
y EQ
• Existe una “Matriz de Contribución” que les
asigna puntos de función a los ILF e EIF de
acuerdo con la complejidad determinada
usando la matriz anterior
Puntos de Función por
Transacciones: su cuenta
• 1. Se identifican los EI, EO y EQ del
producto
• 2. Se miden los puntos de función
correspondientes a cada uno
• 3. Se suman los puntos de función de todos
los EI, EO y EQ
EI: Data Element Types
• Se debe contar un DET por cada dato o
información de control que no es ingresado
por el usuario o desde otro producto pero es
generado por el producto y es mantenido en
un ILF
EO: Data Element Types
• Se debe contar un DET por cada dato o
información de control que aparece en el
External Output.
EO y EQ: Data Element Types
• No se deben contar como DET: títulos,
cabezas de columnas, nombre de campos,
etc
• Se debe contar un solo DET por:
– Información textual
– Cada tipo de etiqueta y cada tipo de equivalente
numérico en un Gráfico
• En un Gráfico de Tortas, dos DET
EQ: Contar separadamente Input
Side y Output Side
• Se cuentan para ambas:
– Data Element Type (DET)
– File Types Referenced (FTR)
• Se asigna al External Inquiry la mayor de
ambas
• Salvo muy pocas excepciones, conviene
contar solo el Output Side
COMPLEJIDAD FUNCIONAL
PARA EI, EO y EQ
Terminación
Descargar

Function Points 20070315