PUNTOS FUNCIONALES ISO/IEC 20926:2003
description
Transcript of PUNTOS FUNCIONALES ISO/IEC 20926:2003
PUNTOS FUNCIONALESISO/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
INTERNAL LOGICAL FILES
EXTERNALINTERFASE
FILES
EXTERNALINPUT
EXTERNALOUTUPUT
EXTERNALINQUIRY
E.Q.
E.I.
E.O.
INTRODUCCION A LOS PUNTOS DE FUNCION
Terminación
INTERNAL LOGICAL FILES
Inicio
Definición
• Es un grupo de datos o información de control, lógicamente relacionados, identificados por el usuario, y mantenidos por un proceso que se realiza dentro de los limites del producto
Identificados por el usuario
• Son reconocidos por un usuario experimentado del producto
• No pueden crearse por motivos de modelización, tecnología o performance
• Deben ser independientes de otros ILF para su existencia
Ejemplos de ILF
• Cliente en Ventas
• Empleado en RR.HH.
• Producto en Inventarios
• Cheques en Bancos
• Fórmulas en Manufactura
Algunas soluciones para implementar ILF
• 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 Elementales
• Son atributos indivisibles que describen las entidades incluidas en los limites del producto– 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 por el producto para controlar sus procesos elementales– User Id y password– Parámetros para realizar ejecuciones de
procesos
Mantenidos por
• Los Datos Elementales o Información de Control son creados, modificados y eliminados por procesos incluidos en los límites del producto
Cuenta de ILF 1/2
• Un ILF puede ser mantenido por distintos procesos incluidos dentro del mismo producto, se lo cuenta una sola vez
• Un ILF puede ser mantenido por distintas procesos incluidas en distintos productos, se lo cuenta en cada una de los productos
Cuenta de ILF 2/2
• Un ILF identificado en un producto puede ser referido por otras procesos 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
• User ID y password mantenidas por el producto
• Datos de auditoria mantenidos por el producto (audit trail)
• Helps mantenidos por el producto• Reglas de negocios y mensajes mantenidos
por el producto
Ejemplos correctos 2/2
• Parámetros mantenidos por el producto• Archivos de transacciones erróneas,
mantenidas dentro del producto• Datos históricos mantenidos separadamente
dentro del producto• Archivos para backup realizados por el
producto
Ejemplos erróneos 1/2
• Archivos temporarios
• Varias iteraciones del mismo archivo
• Archivos de trabajo
• 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
Terminación
EXTERNAL INTERFACE FILES
Inicio
Definición
• Es un grupo de datos o información de control, lógicamente relacionados, identificados por el usuario, y mantenidos por un proceso que se realiza por fuera de los limites del producto
Identificados por el usuario
• Son requerimientos específicos reconocidos por un usuario experimentado– En un Sistema de Ventas, se utiliza el archivo
de Productos, del Sistema de Inventarios, para describir un item en una Factura
• Debe considerarse solo el grupo de datos que es significativo para el producto que los referencia
Datos Elementales
• Son los atributos indivisibles que componen la vista de la entidad externa que interesan al producto– Numero de Empleado– Importe de un cheque– Fecha de ingreso– Cantidad de un artículo en un depósito
Elementos de control
• Son datos utilizados por el producto para controlar sus procesos elementales pero que son mantenidos por otro producto – User Id. y password– Parámetros– Tablas de Mensajes
Mantenidos por
• Los Datos Elementales o Información de Control son creados, modificados y eliminados por procesos no incluidos en el producto
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 del producto
Ejemplos Correctos 1/2
• Datos extraidos de otros productos
• User id y password mantenidas por fuera del producto
• Datos de auditoria mantenidos por fuera del producto
• Help mantenidos por fuera del producto
Ejemplos correctos 2/2
• Reglas de Negocios y mensajes mantenidos por fuera del producto
• Parámetros 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 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
Ejemplos Erróneos 2/2
• Datos preparados y enviados por el producto bajo estudio a otros productos, deben ser contados como external outputs.
EXTERNAL INTERFACE FILES
Terminación
COMPLEJIDAD FUNCIONAL PARA ILF y EIF
Inicio
Definición
• 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
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
• En el proceso de crear un récord debe utilizarse al menos uno de los sub grupos obligatorios
Record Element Type (RET) 2/2
• Los optativos pueden o no crearse
• Se debe contar un RET por cada sub grupo obligatorio u opcional
• Si no hay sub grupos se cuenta el ILF o EIF como un solo Record
• Una de ambas reglas se debe cumplir
Data Element Type (DET)
• Los ILF O EIF o sus récords están compuestos por Data Element type (det)
• Son atributos únicos reconocibles por el usuario que describen la entidad.
• Se incluyen las claves foráneas
Dato Elemental Reglas 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 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 EIL 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
EXTERNAL INPUTS
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 Componentes de Software o Technical Solutions Components
Proceso Elemental 2/2
• Incluye Datos Elementales (DET)
• Incluye File Type Referenced (FTR)
• Incluye Lógica de Procesamiento
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 Derivación
• Referencias a ILF o EIF
File Types Referenced
• Son los Internal Logical Files y External Interaface Files que son leídos o actualizados por un Procesos elemental
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
External Input Definición 3/3
• Los datos ingresados deben diferir de los datos de otros External Input
• Su lógica de procesamiento debe ser distinta de las lógicas de los otros External Inputs del producto bajo estudio
• Los File Type Referenced (FTR) deben ser distintos de los otros External Inputs del producto bajo estudio
Ejemplos correctos 1/2
• Ventanas que mantienen ILF o ingresan información de control
• Ingresos batch para mantener ILF
• 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– Mensajes, Helps, Parámetros
• Conversión de datos que son migrados de un producto a otro nuevo; deben contarse para el proceso de desarrollo, pero no para el nuevo producto
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
COMPLEJIDAD FUNCIONAL PARA EI, EO y EQ
Inicio
Definición
• 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 External Input, External Output, External Inquiry
EXTERNAL INPUTS
• A cada EI 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 External Input
• Para esta asignación se usan tablas estandarizadas
EI: Data Element Types 1/3
• Son campos/atributos únicos reconocibles por el usuario, que cruzan el limite de la aplicacion
• Se debe contar un DET por cada campo (información de control/dato) que cruza los limites de la aplicacion y que es utilizado para completar el EI
EI: Data Element Types 2/3
• Se debe contar un DET por cada campo que no es ingresado por el usuario o desde otro producto pero es generado por el producto y es mantenido en un ILF
EI: Data Element Types 3/3
• Se debe contar un solo DET por– Todos los mensajes que informan sobre errores
cometidos o que el proceso ha terminado– La capacidad para controlar la acción que
desarrolla el EI, por ejemplo botones en una ventana
EI: 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 mantenido– cada ILF leído– cada EIF leído– si un ILF es leído y mantenido en el mismo
proceso elemental se lo cuenta una sola vez
Puntos de función por External Inputs: su cuenta
• 1. Se identifican los External Input 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 External Input
COMPLEJIDAD FUNCIONAL PARA EI, EO y EQ
Terminación
EXTERNAL OUTPUTS
Inicio
Definición 1/2
• Es un proceso elemental del producto que genera datos y/o información de control que existen dentro de los limites de la aplicacion o se derivan de los mismos
• Puede leer varios ILF o EIF
• Puede actualizar EIF
• Un reporte, cualquiera sea su complejidad es un solo External Output
Definición 2/2
• Datos elementales son todos los campos contenidos en un reporte
• Deben diferir de los datos elementales de otros External Outputs en el mismo producto
• Su lógica de procesamiento debe ser distinta de las lógicas de los otros External Outputs del mismo producto
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
Ejemplos Correctos 1/2
• Reportes que requieren algoritmos o cálculos:– textos impresos– desplegados en pantalla– gráficos impresos o desplegados
• 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/3
• Distintos reportes con los mismos datos
• Totales por cortes de control en un reporte con detalles
• La salida a un External Inquiry
• Refresco o cancelación de una pantalla
• Mensajes de error originados en un External Input o en la entrada de un External Inquiry
Ejemplos Erróneos 2/ 3
• Múltiples Métodos para invocar la misma lógica de procesamiento
• Idénticos datos enviados a mas de un proceso
• Actualizar o borrar datos en una pantalla
Ejemplos Erróneos 3/3
• Pantallas de log-off
• Mensajes que confirman que los datos han sido procesados
• Reportes no planeados que el usuario controla a través de lenguajes como SQL
EXTERNAL OUTPUTS
Terminación
COMPLEJIDAD FUNCIONAL PARA EO
Inicio
Definición
• A cada EO se le asigna una complejidad funcional basada en el numero de Data Element types (DET) y File Type Referenced (FTR) asociados con el External Output
EO: Data Element Types 1/2
• Son campos/atributos únicos, reconocibles por el usuario, que cruzan el limite del proceso
• Se debe contar un DET por cada– campo/atributo (información de control/dato
elemental) que aparece en el External Output.
• No se deben contar DET: títulos, cabezas de columnas, nombre de campos, etc
EO: Data Element Types 2/ 2
• 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– Un campo lógico almacenado físicamente como
campo múltiple, por ejemplo una fecha (dd/mm/yyyy)
EO: File Types Referenced
• Numero total de Internal Logical Files leídos o actualizados mas numero total de External Interface Files leídos
Puntos de Función EO: su cuenta
• 1. Se identifican todos los External Output 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 External Output
COMPLEJIDAD FUNCIONAL PARA EO
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 3/3
• Sus datos deben diferir de los datos de otros External Inquiry
• Su lógica de procesamiento debe ser distinta de las lógicas de procesamiento de otros External Inquiry en el 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/2
• Múltiples medios para invocar la misma lógica de proceso
• Consultas que son invocadas desde múltiples pantallas (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/2
• Pantallas de log-in que permiten entrar pero que no recuperan datos
• Datos derivados en lugar de recuperados, contar como External Output
• Mensajes de error o confirmación
EXTERNAL INQUIRY
Terminación
COMPLEJIDAD FUNCIONAL PARA EO
Inicio
Definición
• Se calcula separadamente la complejidad para la entrada y para la salida del External Inquiry
• Se cuentan para ambas:– Data Element Type (DET)– File Types Referenced (FTR)
• Se asigna al External Inquiry la mayor de ambas
Complejidad Funcional de Entrada al EQ
• Se cuenta un DET por cada:– Campo que ingresa parámetros para criterios de
selección de datos– Por todos los mensajes de error o confirmación
emitidos por el proceso elemental– Línea de comando, botón, etc. que permiten
elegir la acción a ser realizada
Complejidad Funcional de Salida del EQ 1/2
• Se debe contar un DET por cada– campo/atributo que cruza los limites de la
aplicacion (datos elementales e información de control)
– Un dato lógico que es presentado como múltiples campos físicos
– Cada tipo de label y cada tipo de equivalente numérico en gráficos
Complejidad Funcional Salida del EQ 2/2
• No se debe contar como det:– Literales, títulos, cabezas de columnas,
nombres de campos– Números de paginas, información de posición
(fila x de y), comandos para paginar (previa, siguiente)
– Fechas y tiempo
Complejidad Funcional EQ: File Type Referenced
• Se debe contar un FTR por cada– ILF leído– EIF leído
• los ILF o EIF leídos se cuentan separadamente en la entrada y en la salida
Puntos de Función EQ: su cuenta
• 1. Se identifican todos los External Inquiry 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 External Inquiry
COMPLEJIDAD FUNCIONAL PARA EO
Terminación