Puede emplearse para desarrollar una indicación del tamaño del software a implementar como consecuencia del modelo de análisis. Desarrollada por Tom De Marco [Ejiogo ‘91], la métrica bang es “ una indicación, independiente de la implementación, del tamaño del sistema” [Ejiogo ‘91]. Para calcular la métrica bang, el desarrollador de software debe evaluar primero un conjunto de primitivas (elementos del modelo de análisis que no se subdividen más en el nivel de análisis) Las primitivas se determinan evaluando el modelo de análisis y desarrollando cuentas para los siguientes elementos:
- Primitivas funcionales (Pfu) Transformaciones (burbujas) que aparecen en el nivel inferior de un diagrama de flujo de datos.
- Elementos de datos (ED) Los atributos de un objeto de datos, los elementos de datos no compuestos y aparecen en el diccionario de datos.
- Objetos (OB) Objetos de datos.
- Relaciones (RE) Las conexiones entre objetos de datos.
- Transiciones (TR) El número de transacciones de estado en el diagrama de transición de estado.
Además de las seis primitivas nombradas arriba, se determinan medidas adicionales para:
- Primitivas modificadas de función manual (PMFu) Funciones que caen fuera del límite del sistema y que deben modificarse para acomodarse al nuevo sistema.
- Elementos de datos de entrada (EDE) Aquellos elementos de datos que se introducen en el sistema.
- Elementos de datos de salida (EDS) Aquellos elementos de datos que se sacan en el sistema.
- Elementos de datos retenidos (EDR) Aquellos elementos de datos que son retenidos (almacenados) por el sistema.
- Muestras (tokens) de datos (TCi) Las muestras de datos (elementos de datos que no se subdividen dentro de una primitiva funcional) que existen en el l’imite de la i-ésima primitiva funcional (evaluada para cada primitiva). - Conexiones de relación (Rei) Las relaciones que conectan el i-ésimo objeto en el modelo de datos con otros objetos.
De Marco [Ejiogo ‘91] sugiere que la mayoría del software se puede asignar a uno de los dos dominios siguientes, dominio de función o dominio de datos, dependiendo de la relación RE/PFu. Las aplicaciones de dominio de función (encontrados comúnmente en aplicaciones de ingeniería y científicas) hacen
hincapié en la transformación de datos y no poseen generalmente estructuras de datos complejas. Las aplicaciones de dominio de datos (encontradas comúnmente en aplicaciones de sistemas de información) tienden a tener modelos de datos complejos [Ejiogo ‘91].
Si RE / Pfu < 0,7 implica una aplicación de dominio de función
Si 0,8 < RE / Pfu < 1,4 implica una aplicación híbrida
Si RE / Pfu > 1,5 implica una aplicación de dominio de datos.
Como diferentes modelos de análisis harán una participación del modelo con mayor o menor grado de refinamiento, De Marco? sugiere que se emplee una cuenta medida de muestras (token) por primitiva para controlar la uniformidad de la participación a través de muchos diferentes modelos dentro del dominio de una aplicación [Ejiogo ‘91].
T Cavg = _ TCi/Pfu (4.7)
Una vez que se ha calculado la métrica bang , se puede empelar el historial anterior para asociarla con el esfuerzo y el tamaño. De Marco sugiere que las organizaciones se construyan sus propias versiones de tablas IPFuC y IOBC para calibrar la información de proyectos completos de software.