2. 1. Hay que completar la siguiente tabla de valores del dominio de
la información:
Parámetro
Cuenta
Factor de ponderación
Simple
Medio
Complejo
Número de entradas de
usuario
3
4
6
Número de salidas de
usuario
4
5
7
Número de peticiones
de usuario
3
4
6
Número de archivos
7
10
15
Número de interfaces
externas
5
7
10
Total
Subtotal
3. 2. donde:
Entradas de usuario. Son entradas que proporcionan diferentes datos
a la aplicación. No confundirlos con las peticiones de usuario.
Salidas de usuario. Son reportes, pantallas o mensajes de error que
proporcionan información. Los elementos de un reporte, no se cuentan
de forma separada.
Peticiones de usuario. Es una entrada interactiva que produce la
generación de alguna respuesta del software en forma de salida
interactiva.
Archivos. Son los archivos que pueden ser parte de una base de datos
o independientes.
Interfaces externas. Son los archivos que se usan para transmitir
información a otro sistema.
4. Indicaciones:
Contar cada medida por separado.
Asociar, de alguna manera, un valor de complejidad a cada medida. La
siguiente tabla muestra una heurística para decidir la complejidad de todo
el sistema.
Para cada medida, multiplicar su cuenta por el factor de complejidad
elegido y escribirlo en la columna de la extrema derecha.
Sumar la columna de la extrema derecha y obtener un total T que indica
el valor del dominio de la información.
Tipos de datos elementales
Tipos de
archivos
referenciados
1-5
6-19
20+
0-1
bajo
bajo
medio
2-3
bajo
medio
alto
4+
medio
alto
alto
5. 3. Responder a cada una de las siguientes catorce preguntas y asignarles un valor entre 0 y
5, donde 0 es no influencia, 1 es incidental, 2 es moderado, 3 es medio, 4 es significativo
y 5 es esencial.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
¿Requiere el sistema copias de seguridad y de recuperación fiables?
¿Requiere comunicación de datos?
¿Existen funciones de procesamiento distribuido?
¿Es crítico el rendimiento?
¿Se ejecutará el sistema en un entorno operativo existente y fuertemente
utilizado?
¿Requiere entrada de datos interactiva?
¿Requiere la entrada de datos interactiva que las transacciones de entrada se
lleven a cabo sobre múltiples pantallas u operaciones?
¿Se actualizan los archivos maestros de forma interactiva?
¿Son complejas las entradas, las salidas, los archivos o las peticiones?
¿Es complejo el procesamiento interno?
¿Se ha diseñado el código para ser reutilizable?
¿Están incluidas en el diseño la conversión y la instalación?
¿Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes
organizaciones?
¿Se ha diseñado la aplicación para facilitar los cambios y para ser fácilmente
utilizada por el usuario?
6. Sumar los puntos asignados a cada respuesta y obtener un total F que
indica un valor de ajuste de complejidad.
4. El punto de función FP se calcula con la siguiente ecuación:
Errores por PF.
Defectos por PF.
Costo por PF.
Página de documentación por PF.
PF por hombre-mes.
7. Se calcula igual que el punto de función y solo agrega la cuenta
de algoritmos. En este contexto se define un algoritmo como un
problema de cálculo limitado que se incluye dentro de un
programa de computadora específico. Invertir una matriz,
decodificar un string o manejar una interrupción son ejemplos de
algoritmos.
8. Los puntos de función 3D se calculan llenando la siguiente tabla
9. donde:
Estructuras internas de datos. Son arreglos, listas ligadas, pilas,
colas, etc.
Datos externos. Equivale a la suma de los archivos y las interfaces
externas tal y como están definidos para el punto de función.
Entradas de usuario. Definidas igual que para el punto de función.
Salidas de usuario. Definidas igual que para el punto de función.
Peticiones de usuario. Definidas igual que para el punto de
función.
Transformaciones. Son las operaciones internas requeridas para
transformar datos de entrada en datos de salida. Multiplicar dos
matrices cuenta como una transformación. Leer datos de un archivo
y guardarlos en memoria no.
Transiciones. Ocurre cuando el software pasa de un estado a otro
como resultado de algún suceso. En un sistema de altas, bajas y
cambios, al tomar la opción de altas, pasa del estado "menú
principal" al estado "procesa altas" y puede ser que en ese momento
pida datos para dar la alta.
10. Indicaciones:
Para cada medida, contar por separado, de acuerdo a algún criterio
de asignación de complejidad, las veces que aparezca con
complejidad baja, media y alta.
Para cada medida, multiplicar cada cuenta por el factor de
complejidad correspondiente, sumar las tres cantidades y escribir el
total en la columna de la extrema derecha.
Sumar la columna de la extrema derecha y obtener el punto de
función 3D.
11. La tabla siguiente proporcional estimaciones informales del número de
líneas de código que se necesitan para construir un punto de función en
varios lenguajes de programación:
Lenguaje
LOC/PF
Ensamblador
320
C
128
Cobol
105
Fortran
105
Pascal
90
Ada
70
OOL
30
4GL
20
Generadores de código
15
Hojas de cálculo
6
Lenguajes de íconos
4
12. Corrección. Es el grado en el que el software lleva a cabo su función
requerida. Se mide en defectos por KLOC.
Facilidad de mantenimiento. Es la facilidad con que se puede
corregir un programa si se encuentra un error, adaptar si su medio
ambiente cambia o mejorar si el cliente desea un cambio de
requisitos. Se mide en Tiempo Medio de Cambios (TMC), que es el
tiempo que se lleva desde analizar la petición hasta distribuir el
cambio a los usuarios.
Integridad. Mide la habilidad de un sistema de resistir ataques. Se
calcula aplicando la fórmula:
13. Para cada tipo de ataque, y donde amenaza se define como la
probabilidad de que ocurra ese ataque y seguridad como la probabilidad
que ese ataque sea rechazado.
Facilidad de uso. Mide que tan amigable es el sistema con el usuario en
función de cuatro características:
Habilidad intelectual y/o física para aprender a usarlo.
Tiempo requerido para ser moderadamente eficiente al usarlo.
Aumento neto de productividad, comparado con el sistema que
reemplaza.
Valoración subjetiva de la disposición de los usuarios hacia el
sistema.
14. Donde:
E es el número de errores (fallas detectadas antes de entregar el
sistema al usuario por primera vez).
D es el número de defectos (fallas detectadas después de entregar el
sistema al usuario por primera vez).