Técnicas de estimación - Proceso de recuento de FP

El proceso de conteo de FP incluye los siguientes pasos:

  • Step 1 - Determinar el tipo de conteo.

  • Step 2 - Determinar el límite del conteo.

  • Step 3 - Identificar cada Proceso Elemental (EP) requerido por el usuario.

  • Step 4 - Determinar los EP únicos.

  • Step 5 - Funciones de datos de medida.

  • Step 6 - Medir funciones transaccionales.

  • Step 7 - Calcular el tamaño funcional (recuento de puntos de función no ajustados).

  • Step 8 - Determinar el factor de ajuste de valor (VAF).

  • Step 9 - Calcular el recuento de puntos de función ajustados.

Note- Las características generales del sistema (GSC) son opcionales en la RPC 4.3.1 y se trasladan al apéndice. Por lo tanto, se pueden omitir los pasos 8 y 9.

Paso 1: determinar el tipo de conteo

Hay tres tipos de recuentos de puntos de función:

  • Cuenta de puntos de la función de desarrollo
  • Cuenta de puntos de función de aplicación
  • Cuenta de puntos de función de mejora

Cuenta de puntos de la función de desarrollo

Los puntos de función se pueden contar en todas las fases de un proyecto de desarrollo, desde el requisito hasta la etapa de implementación. Este tipo de recuento está asociado con un nuevo trabajo de desarrollo y puede incluir los prototipos, que pueden haber sido necesarios como solución temporal, que respalda el esfuerzo de conversión. Este tipo de recuento se denomina recuento de puntos de función de referencia.

Cuenta de puntos de función de aplicación

Los recuentos de aplicaciones se calculan como los puntos de función entregados y excluyen cualquier esfuerzo de conversión (prototipos o soluciones temporales) y la funcionalidad existente que pueda haber existido.

Cuenta de puntos de función de mejora

Cuando se realizan cambios en el software después de la producción, se consideran mejoras. Para dimensionar tales proyectos de mejora, la función Número de puntos se agrega, cambia o elimina en la aplicación.

Paso 2: determinar el límite del conteo

El límite indica el límite entre la aplicación que se mide y las aplicaciones externas o el dominio del usuario. (Consulte la Figura 1)

Para determinar el límite, comprenda:

  • El propósito del recuento de puntos de función
  • Alcance de la aplicación que se mide
  • Cómo y qué aplicaciones mantienen qué datos
  • Las áreas de negocio que dan soporte a las aplicaciones

Paso 3: identificar cada proceso elemental requerido por el usuario

Componga y / o descomponga los requisitos funcionales del usuario en la unidad más pequeña de actividad, que satisfaga todos los siguientes criterios:

  • Es significativo para el usuario.
  • Constituye una transacción completa.
  • Es autónomo.
  • Deja que el negocio de la aplicación se cuente en un estado coherente.

Por ejemplo, el Requisito de usuario funcional: "Mantener la información del empleado" se puede descomponer en actividades más pequeñas, como agregar empleado, cambiar de empleado, eliminar empleado y preguntar sobre el empleado.

Cada unidad de actividad así identificada es un Proceso Elemental (EP).

Paso 4: Determine los procesos elementales únicos

Comparando dos EP ya identificados, cuéntelos como un EP (mismo EP) si:

  • Requiere el mismo conjunto de DET.
  • Requiere el mismo conjunto de FTR.
  • Requiere el mismo conjunto de lógica de procesamiento para completar el EP.

No divida un EP con múltiples formas de lógica de procesamiento en múltiples Eps.

Por ejemplo, si ha identificado 'Agregar empleado' como un EP, no debe dividirse en dos EP para tener en cuenta el hecho de que un empleado puede tener o no dependientes. El EP sigue siendo 'Agregar empleado', y hay variaciones en la lógica de procesamiento y los DET para contabilizar a los dependientes.

Paso 5: Funciones de datos de medición

Clasifique cada función de datos como ILF o EIF.

Una función de datos se clasificará como:

  • Archivo lógico interno (ILF), si lo mantiene la aplicación que se mide.

  • Archivo de interfaz externa (EIF) si se hace referencia a él, pero la aplicación que se mide no lo mantiene.

Los ILF y EIF pueden contener datos comerciales, datos de control y datos basados ​​en reglas. Por ejemplo, la conmutación telefónica se compone de los tres tipos: datos comerciales, datos de reglas y datos de control. Los datos comerciales son la llamada real. Los datos de reglas son cómo se debe enrutar la llamada a través de la red, y los datos de control son cómo los conmutadores se comunican entre sí.

Considere la siguiente documentación para contar ILF y EIF:

  • Objetivos y limitaciones del sistema propuesto.
  • Documentación sobre el sistema actual, si existe.
  • Documentación de los objetivos, problemas y necesidades percibidos por los usuarios.
  • Modelos de datos.

Paso 5.1: Cuente los DET para cada función de datos

Aplique las siguientes reglas para contar DET para ILF / EIF -

  • Cuente un DET para cada campo no repetido, identificable de usuario único, mantenido o recuperado del ILF o EIF a través de la ejecución de un EP.

  • Cuente solo los DET que utiliza la aplicación que se miden cuando dos o más aplicaciones mantienen y / o hacen referencia a la misma función de datos.

  • Cuente un DET por cada atributo requerido por el usuario para establecer una relación con otro ILF o EIF.

  • Revise los atributos relacionados para determinar si están agrupados y contados como un DET único o si se cuentan como varios DET. La agrupación dependerá de cómo los EP utilicen los atributos dentro de la aplicación.

Paso 5.2: Cuente los RET para cada función de datos

Aplique las siguientes reglas para contar RET para ILF / EIF -

  • Cuente un RET para cada función de datos.
  • Cuente un RET adicional para cada uno de los siguientes subgrupos lógicos adicionales de DET.
    • Entidad asociativa con atributos no clave.
    • Subtipo (distinto del primer subtipo).
    • Entidad atributiva, en una relación distinta a la obligatoria 1: 1.

Paso 5.3: Determine la complejidad funcional de cada función de datos

RETS Tipos de elementos de datos (DET)
1-19 20-50 >50
1 L L UNA
2 hasta 5 L UNA H
> 5 UNA H H

Complejidad funcional: L = Bajo; A = Promedio; H = Alto

Paso 5.4: medir el tamaño funcional de cada función de datos

Complejidad funcional Recuento de FP para ILF Recuento de FP para EIF
Bajo 7 5
Promedio 10 7
Alto 15 10

Paso 6: medir las funciones transaccionales

Para medir las funciones transaccionales, los siguientes son los pasos necesarios:

Paso 6.1: Clasifique cada función transaccional

Las funciones transaccionales deben clasificarse como una entrada externa, una salida externa o una consulta externa.

Entrada externa

La entrada externa (EI) es un proceso elemental que procesa datos o información de control que proviene de fuera del límite. La intención principal de un EI es mantener uno o más ILF y / o alterar el comportamiento del sistema.

Deben aplicarse todas las siguientes reglas:

  • Los datos o la información de control se reciben desde fuera del límite de la aplicación.

  • Se mantiene al menos un ILF si los datos que ingresan al límite no son información de control que altera el comportamiento del sistema.

  • Para el PE identificado, debe aplicarse una de las tres declaraciones:

    • La lógica de procesamiento es única de la lógica de procesamiento realizada por otros EI para la aplicación.

    • El conjunto de elementos de datos identificados es diferente de los conjuntos identificados para otras IE en la aplicación.

    • Los ILF o EIF a los que se hace referencia son diferentes de los archivos a los que hacen referencia los otros EI en la aplicación.

Salida externa

La salida externa (EO) es un proceso elemental que envía datos o información de control fuera de los límites de la aplicación. EO incluye procesamiento adicional más allá del de una consulta externa.

La intención principal de una EO es presentar información a un usuario a través de una lógica de procesamiento que no sea o además de la recuperación de datos o información de control.

La lógica de procesamiento debe:

  • Contener al menos una fórmula matemática o cálculo.
  • Crea datos derivados.
  • Mantenga uno o más ILF.
  • Altere el comportamiento del sistema.

Deben aplicarse todas las siguientes reglas:

  • Envía datos o información de control externa al límite de la aplicación.
  • Para el PE identificado, debe aplicarse una de las tres declaraciones:
    • La lógica de procesamiento es única de la lógica de procesamiento realizada por otros EO para la aplicación.
    • El conjunto de elementos de datos identificados es diferente de otros EO en la aplicación.
    • Los ILF o EIF a los que se hace referencia son diferentes de los archivos a los que hacen referencia otros EO en la aplicación.

Además, se debe aplicar una de las siguientes reglas:

  • La lógica de procesamiento contiene al menos una fórmula matemática o cálculo.
  • La lógica de procesamiento mantiene al menos un ILF.
  • La lógica de procesamiento altera el comportamiento del sistema.

Consulta externa

La consulta externa (EQ) es un proceso elemental que envía datos o información de control fuera de los límites. La intención principal de un EQ es presentar información al usuario mediante la recuperación de datos o información de control.

La lógica de procesamiento no contiene fórmulas ni cálculos matemáticos y no crea datos derivados. No se mantiene ILF durante el procesamiento, ni se altera el comportamiento del sistema.

Deben aplicarse todas las siguientes reglas:

  • Envía datos o información de control externa al límite de la aplicación.
  • Para el PE identificado, debe aplicarse una de las tres declaraciones:
    • La lógica de procesamiento es única de la lógica de procesamiento realizada por otros EQ para la aplicación.
    • El conjunto de elementos de datos identificados es diferente de otros EQ en la aplicación.
    • Los ILF o EIF a los que se hace referencia son diferentes de los archivos a los que hacen referencia otros EQ en la aplicación.

Además, se deben aplicar todas las siguientes reglas:

  • La lógica de procesamiento recupera datos o información de control de un ILF o EIF.
  • La lógica de procesamiento no contiene fórmulas matemáticas ni cálculos.
  • La lógica de procesamiento no altera el comportamiento del sistema.
  • La lógica de procesamiento no mantiene un ILF.

Paso 6.2: Cuente los DET para cada función transaccional

Aplique las siguientes reglas para contar DET para EI:

  • Revise todo lo que cruza (entra y / o sale) del límite.

  • Cuente un DET por cada atributo no repetido, identificable de usuario único que cruza (entra y / o sale) del límite durante el procesamiento de la función transaccional.

  • Cuente solo un DET por función transaccional para poder enviar un mensaje de respuesta de la aplicación, incluso si hay varios mensajes.

  • Cuente solo un DET por función transaccional para la capacidad de iniciar acción (es) incluso si hay varios medios para hacerlo.

  • No cuente los siguientes elementos como DET:

    • Atributos generados dentro del límite por una función transaccional y guardados en un ILF sin salir del límite.

    • Literales como títulos de informes, identificadores de pantallas o paneles, encabezados de columnas y títulos de atributos.

    • Sellos generados por la aplicación, como atributos de fecha y hora.

    • Variables de paginación, números de página e información de posicionamiento, por ejemplo, 'Filas 37 a 54 de 211'.

    • Ayudas a la navegación, como la capacidad de navegar dentro de una lista usando "anterior", "siguiente", "primero", "último" y sus equivalentes gráficos.

Aplique las siguientes reglas para contar DET para EO / EQ:

  • Revise todo lo que cruza (entra y / o sale) del límite.

  • Cuente un DET por cada atributo no repetido, identificable de usuario único que cruza (entra y / o sale) del límite durante el procesamiento de la función transaccional.

  • Cuente solo un DET por función transaccional para poder enviar un mensaje de respuesta de la aplicación, incluso si hay varios mensajes.

  • Cuente solo un DET por función transaccional para la capacidad de iniciar acción (es) incluso si hay varios medios para hacerlo.

  • No cuente los siguientes elementos como DET:

    • Atributos generados dentro del límite sin cruzar el límite.

    • Literales como títulos de informes, identificadores de pantallas o paneles, encabezados de columnas y títulos de atributos.

    • Sellos generados por la aplicación, como atributos de fecha y hora.

    • Variables de paginación, números de página e información de posicionamiento, por ejemplo, 'Filas 37 a 54 de 211'.

    • Ayudas a la navegación, como la capacidad de navegar dentro de una lista usando "anterior", "siguiente", "primero", "último" y sus equivalentes gráficos.

Paso 6.3: Cuente los FTR para cada función transaccional

Aplique las siguientes reglas para contar FTR para EI:

  • Cuente un FTR por cada ILF mantenido.
  • Cuente un FTR por cada ILF o EIF leído durante el procesamiento del EI.
  • Cuente solo un FTR por cada ILF que se mantenga y se lea.

Aplique la siguiente regla para contar FTR para EO / EQ:

  • Cuente un FTR por cada ILF o EIF leído durante el procesamiento de EP.

Además, aplique las siguientes reglas para contar FTR para EO:

  • Cuente un FTR por cada ILF mantenido durante el procesamiento de EP.
  • Cuente solo un FTR por cada ILF que EP mantiene y lee.

Paso 6.4: Determine la complejidad funcional de cada función transaccional

FTR Tipos de elementos de datos (DET)
1-4 5-15 >=16
0-1 L L UNA
2 L UNA H
> = 3 UNA H H

Complejidad funcional: L = Bajo; A = Promedio; H = Alto

Determine la complejidad funcional de cada EO / EQ, con la excepción de que el EQ debe tener un mínimo de 1 FTR -

EQ debe tener un mínimo de 1 FTR

FTR

Tipos de elementos de datos (DET)
1-4 5-15 > = 16
0-1 L L UNA
2 L UNA H
> = 3 UNA H H

Complejidad funcional: L = Bajo; A = Promedio; H = Alto

Paso 6.5: medir el tamaño funcional de cada función transaccional

Mida el tamaño funcional de cada IE a partir de su complejidad funcional.

Complejidad Cuenta FP
Bajo 3
Promedio 4
Alto 6

Mida el tamaño funcional de cada EO / EQ a partir de su complejidad funcional.

Complejidad Recuento de FP para EO FP Count para EQ
Bajo 4 3
Promedio 5 4
Alto 6 6

Paso 7: Calcule el tamaño funcional (recuento de puntos de función sin ajustar)

Para calcular el tamaño funcional, se deben seguir los pasos que se detallan a continuación:

Paso 7.1

Recuerde lo que encontró en el Paso 1. Determine el tipo de conteo.

Paso 7.2

Calcule el tamaño funcional o el recuento de puntos de función según el tipo.

  • Para el recuento de puntos de la función de desarrollo, vaya al paso 7.3.
  • Para el recuento de puntos de función de la aplicación, vaya al paso 7.4.
  • Para el recuento de puntos de la función de mejora, vaya al paso 7.5.

Paso 7.3

El recuento de puntos de la función de desarrollo consta de dos componentes de funcionalidad:

  • Funcionalidad de la aplicación incluida en los requisitos del usuario para el proyecto.

  • Funcionalidad de conversión incluida en los requisitos del usuario para el proyecto. La funcionalidad de conversión consta de funciones proporcionadas solo en la instalación para convertir datos y / o proporcionar otros requisitos de conversión especificados por el usuario, como informes de conversión especiales. Por ejemplo, una aplicación existente puede ser reemplazada por un nuevo sistema.

DFP = ADD + CFP

Dónde,

DFP = Cuenta de puntos de la función de desarrollo

ADD = Tamaño de las funciones entregadas al usuario por el proyecto de desarrollo

CFP = Tamaño de la función de conversión

ADD = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

CFP = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

Paso 7.4

Calcular el recuento de puntos de la función de aplicación

AFP = ADD

Dónde,

AFP = Cuenta de puntos de la función de aplicación

ADD = Tamaño de las funciones entregadas al usuario por el proyecto de desarrollo (excluyendo el tamaño de cualquier funcionalidad de conversión), o la funcionalidad que existe cada vez que se cuenta la aplicación.

ADD = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

Paso 7.5

El recuento de puntos de la función de mejora considera los siguientes cuatro componentes de funcionalidad:

  • Funcionalidad que se agrega a la aplicación.
  • Funcionalidad que se modifica en la Aplicación.
  • Funcionalidad de conversión.
  • Funcionalidad que se elimina de la aplicación.

EFP = ADD + CHGA + CFP + DEL

Dónde,

EFP = Cuenta de puntos de función de mejora

ADD = Tamaño de las funciones agregadas por el proyecto de mejora

CHGA = Tamaño de las funciones que cambia el proyecto de mejora

CFP = Tamaño de la función de conversión

DEL = Tamaño de las funciones eliminadas por el proyecto de mejora

ADD = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

CHGA = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

CFP = Conteo FP (ILF) + Conteo FP (EIF) + Conteo FP (EI) + Conteo FP (EO) + Conteo FP (EQ)

DEL = FP Count (ILF) + FP Count (EIF) + FP COUNT (EI) + FP Count (EO) + FP Count (EQ)

Paso 8: Determine el factor de ajuste del valor

Las GSC se hacen opcionales en la RPC 4.3.1 y se trasladan al Apéndice. Por lo tanto, se pueden omitir los pasos 8 y 9.

El factor de ajuste de valor (VAF) se basa en 14 GSC que califican la funcionalidad general de la aplicación que se cuenta. Las GSC son restricciones comerciales de los usuarios independientes de la tecnología. Cada característica tiene descripciones asociadas para determinar el grado de influencia.

Característica general del sistema Breve descripción
Transmisión de datos ¿Cuántas facilidades de comunicación existen para ayudar en la transferencia o intercambio de información con la aplicación o sistema?
Procesamiento de datos distribuidos ¿Cómo se manejan los datos distribuidos y las funciones de procesamiento?
Actuación ¿El usuario requirió tiempo de respuesta o rendimiento?
Configuración muy utilizada ¿Qué tan utilizada es la plataforma de hardware actual donde se ejecutará la aplicación?
Tasa de transacción ¿Con qué frecuencia se ejecutan las transacciones diaria, semanal, mensual, etc.?
Entrada de datos en línea ¿Qué porcentaje de la información se ingresa en línea?
Eficiencia del usuario final ¿La aplicación fue diseñada para la eficiencia del usuario final?
Actualización en línea ¿Cuántos ILF se actualizan mediante transacciones en línea?
Procesamiento complejo ¿La aplicación tiene un procesamiento lógico o matemático extenso?
Reutilización ¿Se desarrolló la aplicación para satisfacer las necesidades de uno o varios usuarios?
Facilidad de instalación ¿Qué tan difícil es la conversión y la instalación?
Facilidad operativa ¿Qué tan efectivos y / o automatizados son los procedimientos de puesta en marcha, respaldo y recuperación?
Varios sitios ¿La aplicación fue diseñada, desarrollada y soportada específicamente para ser instalada en múltiples sitios para múltiples organizaciones?
Facilitar el cambio ¿La aplicación fue diseñada, desarrollada y respaldada específicamente para facilitar el cambio?

El rango del grado de influencia está en una escala de cero a cinco, desde ninguna influencia hasta una influencia fuerte.

Clasificación Grado de influencia
0 No presente o sin influencia
1 Influencia incidental
2 Influencia moderada
3 Influencia media
4 Influencia significativa
5 Fuerte influencia en todo

Determine el grado de influencia de cada una de las 14 CMS.

La suma de los valores de las 14 GSC así obtenidas se denomina Grado total de influencia (TDI).

TDI = ∑14 Degrees of Influence

A continuación, calcule el factor de ajuste de valor (VAF) como

VAF = (TDI × 0.01) + 0.65

Cada GSC puede variar de 0 a 5, el TDI puede variar de (0 × 14) a (5 × 14), es decir, 0 (cuando todas las GSC son bajas) a 70 (cuando todas las GSC son altas) es decir, 0 ≤ TDI ≤ 70. Por lo tanto, VAF puede variar en el rango de 0,65 (cuando todas las GSC son bajas) a 1,35 (cuando todas las GSC son altas), es decir, 0,65 ≤ VAF ≤ 1,35.

Paso 9: Calcular el recuento de puntos de la función ajustada

Según el enfoque de FPA que utiliza VAF (versiones de CPM antes de V4.3.1), esto está determinado por,

Adjusted FP Count = Unadjusted FP Count × VAF

Donde, el recuento de FP no ajustado es el tamaño funcional que ha calculado en el Paso 7.

Como la VAF puede variar de 0,65 a 1,35, la VAF ejerce una influencia de ± 35% en el recuento final ajustado de FP.

Beneficios de los puntos de función

Los puntos de función son útiles:

  • Al medir el tamaño de la solución en lugar del tamaño del problema.

  • Como los requisitos son lo único que se necesita para que los puntos de función cuenten.

  • Ya que es independiente de la tecnología.

  • Ya que es independiente de los lenguajes de programación.

  • En la estimación de proyectos de prueba.

  • Al estimar los costos, el cronograma y el esfuerzo generales del proyecto.

  • En las negociaciones de contratos, ya que proporciona un método de comunicación más fácil con los grupos empresariales.

  • Como cuantifica y asigna un valor a los usos, interfaces y propósitos reales de las funciones en el software.

  • Al crear ratios con otras métricas como horas, costo, plantilla, duración y otras métricas de la aplicación.

Repositorios FP

International Software Benchmarking Standards Group (ISBSG) crece y mantiene dos repositorios de datos de TI.

  • Proyectos de desarrollo y mejora
  • Aplicaciones de mantenimiento y soporte

Hay más de 6.000 proyectos en el repositorio de Proyectos de Desarrollo y Mejora.

Los datos se entregan en formato Microsoft Excel, lo que facilita el análisis posterior que desee realizar con ellos, o incluso puede utilizar los datos para algún otro propósito.

La licencia del repositorio de ISBSG se puede comprar en: http://www.isbsg.com/

ISBSG ofrece un 10% de descuento para los miembros de IFPUG para compras en línea cuando se utiliza el código de descuento "IFPUGMembers".

Las actualizaciones de la versión de datos del proyecto de software de ISBSG se pueden encontrar en: http://www.ifpug.org/isbsg/

COSMIC e IFPUG colaboraron para producir un Glosario de términos para software no funcional y requisitos del proyecto. Se puede descargar de - cosmic-sizing.org