Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DESARROLLO DE SISTEMAS
UNIDAD II
DR. JUAN MUÑOZ LÓPEZ
CONTENIDO
1. Métricas de Proceso
1. Métricas de Estimación de Esfuerzo
1. Puntos de casos de uso
2. COCOMO
El objeto no es
accesible (puede estar
en uso continuo)
El objeto aún no existe
Hacer las mediciones
sería muy caro o
peligroso
PARÁMETROS QUE DETERMINAN LOS MODELOS DE COSTO
DE SOFTWARE
Tamaño del producto final
Número de instrucciones fuente (cantidad de líneas de código)
Número de puntos de función requeridos para implementar alguna funcionalidad
Proceso utilizado para producir el producto final
Habilidad del proceso para evitar actividades que no añaden valor
Capacidades del personal de ingeniería de software
Experiencia en las ciencias de la computación
Experiencia en el dominio de la aplicación
El ambiente para soportar el desarrollo del software y la automatización del
proceso
Herramientas
Técnicas
La calidad requerida del producto
Características
Desempeño
Confiabilidad
Adaptabilidad
RELACIÓN ENTRE LOS PARÁMETROS DE ESTIMACIÓN DE
SOFTWARE
La estimación del esfuerzo para el desarrollo de software es el proceso de predecir de la
manera más realista posible el esfuerzo, en términos de personas por hora o dinero, que se
requiere para desarrollar o mantener un producto de software basado en entradas
incompletas, inciertas o inexactas
En general los parámetros de estimación se relacionan de la siguiente forma:
Esfuerzo = (TamañoProceso)(Personal)(Ambiente)(Calidad)
Incertidumbre
Las estimaciones se basan en un conocimiento incompleto o imperfecto sobre las
propiedades de los objetos y los valores de estas propiedades
Puede darse que:
La propiedad sea identificada y el valor conocido adecuadamente
La propiedad sea identificada pero el valor sea desconocido
La propiedad no sea identificada
Cambio
Las suposiciones acerca del producto, proceso y proyecto pueden cambiar
durante el curso del proyecto
Las características requeridas del producto, las interfaces con otros sistemas,
las regulaciones, los objetivos de la empresa, entre otros factores, también
pueden cambiar
El monto del cambio es proporcional a la duración de proyecto
PREGUNTAS DE INTERÉS CON RESPECTO A LA ESTIMACIÓN
Resultados
Supuestos
Referencias (modelos, herramientas, datos históricos)
Valores de entrada
Valores de salida
Riesgos potenciales y desconocimientos
Proyecto
CANTIDADES DE INTERÉS EN LA ESTIMACIÓN DE SOFTWARE
Esfuerzo (actividades; directo e indirecto)
Equipo (cantidad, habilidades, experiencia, rotación)
Tiempo (fases, hitos, épocas)
Costos (de mano de obra, otros)
Recursos de cómputo para el desarrollo y pruebas
Desempeño (capacidad, exactitud, velocidad, tiempo de respuesta)
Calidad (cumplimiento de requerimientos, dependibilidad)
Precio y costo total de propiedad
Tamaño o monto (creado, modificado, comprado)
Proceso
Efectividad
Eficiencia
Flexibilidad
PUNTOS QUE HACEN DIFÍCIL ESTIMAR EL SOFTWARE
Es difícil precisar los requerimientos
El producto es esencialmente invisible hasta que se termina
El producto es difícil de medir (intangible)
La aceptabilidad del producto depende del gusto del cliente
Los sistemas intensivos en software son complejos (contienen muchos
componentes que interactúan con otros y con el ambiente externo)
Se requieren muchos procesos de abstracción para ir de los requerimientos al
producto que requieren creatividad y pensamiento analítico
La productividad individual del desarrollador varía en un rango mayor al de otras
disciplinas
Los procesos creativos son difíciles de planear
Las personas solamente pueden pensar hasta cierta velocidad (hay un tiempo
límite mínimo para completar el desarrollo)
GRÁFICA DE COSTOS DE LOS ERRORES DE BOEHM
1000
500
200 Métodos
100 normales
(pesados)
50
20 Métodos ágiles
10
5
2
1
Requerimient Diseño Codificación Pruebas de Pruebas de Operación
os desarrollo aceptación
ENFOQUE PRÁCTICO DE ESTIMACIÓN
Las estimaciones al principio pueden ser imperfectas
Durante el proyecto deben irse mejorando
Se debe usar un proceso de retroalimentación para seguir y
controlar las tareas del proyecto, las características del producto y
los procesos de producción
Si las variaciones superan la variación esperada basadas en
normas históricas o muestran tendencias negativas se deben
realizar acciones correctivas
La exactitud necesaria depende de las metas del proyecto, los
riegos financieros o de negocio, el tiempo requerido para hacer
decisiones y otros factores.
Normalmente es adecuada una variación de +/- 20% en costo y
tiempo
Las metas de exactitud deben ser más estrechas al final del
proyecto ya que se tiene menos tiempo para corregir problemas
MEJORAS EN LAS ESTIMACIONES DE SOFTWARE
Antes de comenzar el proyecto
Entender los requerimientos y arquitectura del producto
Escoger un proceso y herramientas adecuados de producción
Usar una mezcla de técnicas de estimación, modelos y datos históricos
Producir el estimado disciplinadamente
Durante el proyecto
Recolectar mediciones reales (costo, desempeño, progreso)
Vigilar las violaciones a supuestos de estimación
Vigilar cambios en los factores claves (tamaño del software, rotación)
Actualizar las estimaciones con la última información
Antes
(concepci Durante
Después
ón y (ejecución
(cierre)
Después del proyecto planeació )
n)
Recolectar mediciones finales
Analizar datos y lecciones aprendidas
Capturar la nueva información (calibrar modelos, actualizar listas de verificación)
MÉTRICA DE SOFTWARE
UUCW (Unadjusted Use Case Weights): Pesos de los casos de uso sin ajustar
Se usan datos históricos sobre la relación horas hombre requeridos para realizar cada caso
de uso.
La cantidad de horas hombre se obtiene mediante la fórmula:
PF=UCP * CF
UCP, son los puntos de caso de uso ajustados
CF, son las horas hombre requeridas para completar un caso de uso
Si no se cuenta con datos históricos, se puede:
Hacer una estimación con base en otros proyectos similares
Utilizar un valor entre 15 y 30, dependiendo de la experiencia y logros obtenidos en el pasado por
el equipo de desarrollo. Si se trata de un nuevo equipo se recomienda considerar un valor de 20
Suponer un sistema para un cajero automático:
EJERCICIO:
Casos de uso: Retirar dinero, depositar dinero y transferir fondos (3)
Actores: Cliente, sistema bancario (2)
Se desea realizar un sistema que permita controlar las ventas de una tienda. El sistema se
conecta con el sistema de almacén para hacer las afectaciones de inventario y con el
sistema de contabilidad para registrar ingresos y egresos. Los usuarios son los vendedores
y el contador de la tienda quienes acceden a través de una GUI.
Los casos de uso son: Registro de ventas, devoluciones, listado de ventas por período,
listado de ventas por vendedor, apertura de caja, cierre de caja y liquidaciones por lote.
Calcular el tiempo estimado para realizar el sistema utilizando el método de Puntos de
Casos de Uso
Considerar que es un sistema totalmente nuevo.
COCOMO Y COCOMO II
Creado por Barry Boehm en 1981, aparece en el libro “Economía de la Ingeniería del Software”
El acrónimo COCOMO significa COnstructive COst MOdel (Modelo Constructivo de Costos)
En 1996 evolucionó a un modelo de estimación más amplio llamado COCOMO II
Es una jerarquía de modelos de estimación que incluye:
Modelo de composición de la aplicación. Se emplea durante las primeras etapas de la ingeniería de software, cuando son
primordiales la elaboración de prototipos de las interfaces de usuario, la interacción del software y el sistema, la valoración
del desempeño y la evaluación de la madurez de la tecnología
Modelo de etapa de diseño temprano. Se utiliza una vez que se han estabilizado los requerimientos y se ha establecido la
arquitectura básica del software
Modelo de etapa posterior a la arquitectura. Se emplea durante la construcción del software
Obtener productividad:
Se estima un equipo con experiencia estándar, se entiende como nominal, valor 13 según la tabla:
Productividad = 13
Se desea realizar un sistema que permita controlar las ventas de una tienda. El sistema se
conecta con el sistema de almacén para hacer las afectaciones de inventario y con el
sistema de contabilidad para registrar ingresos y egresos. Los usuarios son los vendedores
y el contador de la tienda quienes acceden a través de una GUI.
Los casos de uso son: Registro de ventas, devoluciones, listado de ventas por período,
listado de ventas por vendedor, apertura de caja, cierre de caja y liquidaciones por lote.
Calcular el tiempo estimado para realizar el sistema utilizando el método de COCOMO II
para estadio 1
Considerar que es un sistema que reutilizará un 10 % de componentes anteriores
Su equipo tiene baja experiencia en el desarrollo de este tipo de aplicaciones
ESTADIO 2: CONTEO DE PUNTOS DE FUNCIÓN (1/2)
El enfoque de estimación de costos mediante puntos de función se basa en el monto de funcionalidad en un
proyecto de software y en un conjunto de factores individuales del proyecto.
Los puntos de función miden un proyecto de software mediante la cuantificación de la funcionalidad de
procesamiento asociada a los mayores datos externos, controles de entrada, controles de salida o tipos de archivo.
Los tipos de funciones de usuario son:
Entrada externa (Inputs, Entradas, EI): Cuenta cada dato de usuario único o tipo de control de entrada de usuario que (i)
Ingresa la frontera externa del software bajo medición, y (ii) añade o modifica datos en un archivo lógico interno.
Salida externa (Outputs, Salidas, EO): Cuenta cada dato de usuario único o tipo de control de salida que abandona la frontera
externa del software que está siendo medido.
Archivo lógico interno (Files, Archivos, ILF): Cuenta cada grupo principal de datos de usuario o información de control en el
sistema de software como un tipo de archivo lógico interno. Incluye cada archivo lógico (por ejemplo, cada grupo lógico de
datos) que es generado, utilizado o mantenido por el sistema de software.
Archivos de interface externa (Interfaces, Interfaces, EIF): Archivos que se pasan o comparten entre sistemas de software
deberán ser contados como archivos de tipo de interface interna dentro de cada sistema.
Cuestionamiento externo (Queries, Consultas, EQ): Cuenta cada combinación única de entrada-salida, donde la entrada
causa y genera una salida inmediata, como un tipo de consulta externa.
Cada instancia de estos tipos de función se clasifica conforme a su complejidad. Los niveles de complejidad
determinan un conjunto de pesos que son aplicados a sus correspondientes conteos de función para determinar la
cantidad de Puntos de Función sin Ajustar.
ESTADIO 2: CONTEO DE PUNTOS DE FUNCIÓN (2/2)
COCOMO II utiliza como mediciones para estimar tamaño los Puntos de Función partiendo de
los Puntos de Función sin Ajustar.
El procedimiento usual de conteo de Puntos de Función involucra asegurar el Grado de
Influencia (DI) de catorce características del proyecto de software determinado conforme a
una escala de calificación entre 0.0 y 0.05 para cada característica.
Las catorce características son sumadas y se añaden a un nivel base de 0.65 para producir un
factor general de ajuste de características que va entre 0.65 y 1.35.
Cada una de esas catorce características, tales como: funciones distribuidas, desempeño y
reusabilidad, significan un máximo de 5% de contribución al esfuerzo estimado.
COCOMO II utiliza los Puntos de Función sin Ajustar para medir y aplica factores de
reutilización, multiplicadores de esfuerzo de conducción de costo, y factores de escala
exponencial para cuantificar el tamaño.
PROCEDIMIENTO DE CONTEO DE PUNTOS DE FUNCIÓN SIN
AJUSTAR Y CONVERSIÓN A LÍNEAS DE CÓDIGO
Los factores de costo que se usan en el Estadio 2 (diseño temprano) se presentan en la Tabla 4
TABLA 1: NIVELES DE COMPLEJIDAD
Pesos de Complejidad
Tipo de función
Bajo Promedio Alto
Archivo Interno Lógico (ILF) 7 10 15
Archivos de Interface
5 7 10
Externa (EIF)
Entradas Externas (EI) 3 4 6
Salidas Externas (EO) 4 5 7
Consultas Externas (EQ) 3 4 6
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (1/17)
Líneas (sentencias) de
Código Fuente (SLOC)
Lenguaje Nivel
Promedio por Punto de
Función
1a Generación default 1.00 320
2a Generación default 3.00 107
3a Generación default 4.00 80
4a Generación default 16.00 20
5a Generación default 70.00 5
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (2/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
20.00 16 16.00 20 25.00 13
1032/AF ADS/Online ANSWER/DB
3.50 91 6.50 49 10.00 32
AAS Macro AI shell default APL 360/370
20.00 16 6.50 49 10.00 32
ABAP/4 AI SHELLS APL default
17.00 19 3.00 107 10.00 32
ACCEL ALGOL 68 APL*PLUS
APPLESOFT
8.50 38 3.00 107 2.50 128
Access ALGOL W BASIC
Application
15.00 21 10.00 32 16.00 20
ACTOR AMBUSH Builder
Application
11.50 28 6.50 49 9.00 36
Acumen AML Manager
4.50 71 5.00 64 19.00 17
Ada 83 AMPPL II APS
6.50 49 5.00 64 4.50 71
Ada 95 ANSI BASIC APT
8.00 40 3.00 107 16.00 20
ADR/DL ANSI COBOL 74 APTools
16.00 20 3.50 91 6.50 49
ADR/IDEAL/PDL ANSI COBOL 85 ARC
16.00 20 25.00 13 3.00 107
ADS/Batch ANSI SQL Ariel
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (3/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
6.50 49 1.00 320 50.00 6
ARITY Autocoder BOEINGCALC
5.00 64 15.00 21 25.00 13
Arity PROLOG awk BTEQ
6.50 49 2.50 128 2.50 128
ART Aztec C C
7.00 46 3.00 107 3.50 91
ART-IM BALM C Set 2
7.00 46 6.00 53 6.00 53
ART Enterprise BASE SAS C++
8.00 40 3.00 107 2.50 128
Artemis BASIC C86Plus
17.00 19 2.50 128 8.00 40
AS/SET BASIC A CA-dBFast
25.00 13 1.00 320 11.50 28
ASI/INQUIRY Basic assembly CA-EARL
7.00 46 3.50 91 6.50 49
ASK Windows Berkeley PASCAL CAST
1.00 320 3.50 91 3.50 91
Assembly (Basic) BETTER BASIC CBASIC
1.50 213 3.00 107 16.00 20
Assembly (Macro) BLISS CDADL
Associative
5.00 64 9.00 36 7.00 46
default BMSGEN CELLSIM
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (4/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
6.00 53 17.00 19 5.00 64
Centerline C++ CMSGEN Common LISP
Concurrent
3.00 107 3.00 107 4.00 80
CHILI COBOL PASCAL
3.00 107 3.00 107 5.00 64
CHILL COBOL II CONNIVER
7.00 46 3.50 91 3.00 107
CICS Cobol/400 CORAL 66
5.50 58 16.00 20 17.00 19
CLARION COBRA CORVET
4.00 80 9.00 36 22.00 15
CLASCAL CodeCenter CorVision
10.00 32 9.00 36 2.00 160
CLI Cofac CPL
17.00 19 9.00 36 16.00 20
CLIPPER COGEN Crystal Reports
8.00 40 9.00 36 6.50 49
CLIPPER DB COGNOS CSL
15.00 21 4.50 71 6.00 53
CLOS COGO CSP
8.00 40 4.00 80 7.00 46
CLOUT COMAL CSSL
3.00 107 5.00 64 25.00 13
CMS2 COMIT II CULPRIT
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (5/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
6.50 49 17.00 19 27.00 12
CxPERT DNA-4 EDA/SQL
17.00 19 2.50 128 15.00 21
CYGNET DOS Batch Files EIFFEL
8.00 40 2.00 160 7.00 46
Data base default DSP Assembly ENFORM
English-based
8.00 40 7.00 46 6.00 53
Dataflex DTABL default
16.00 20 7.00 46 11.00 29
Datatrieve DTIPT Ensemble
8.00 40 4.50 71 16.00 20
dBase III DYANA EPOS
9.00 36 7.00 46 8.00 40
dBase IV DYNAMO-III Erlang
1.50 213 11.00 29 8.00 40
DCL EASEL ESF
8.00 40 6.50 49 6.50 49
DEC-RALLY EASY ESPADVISOR
Decision support
9.00 36 25.00 13 4.50 71
default EASYTRIEVE + ESPL/I
11.00 29 6.50 49 3.00 107
DELPHI Eclipse EUCLID
8.00 40 6.00 53 51.00 6
DL/1 ED-Scheme 3.4 EXCEL 1-2
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (6/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
55.00 6 11.00 29 8.00 40
EXCEL 3-4 FlexGen FOXPRO 1
57.00 6 8.00 40 9.50 34
EXCEL 5 FOCUS FOXPRO 2.5
9.00 36 6.00 53 50.00 6
EXPRESS FOIL FRAMEWORK
6.50 49 18.00 18 6.50 49
EXSYS Forte G2
Extended
5.75 56 5.00 64 20.00 16
Common LISP FORTH GAMMA
9.00 36 2.50 128 12.00 27
EZNOMAD FORTRAN 66 Genascript
16.00 20 3.00 107 25.00 13
Facets FORTRAN 77 GENER/OL
11.00 29 4.00 80 21.00 15
FactoryLink IV FORTRAN 90 GENEXUS
9.00 36 4.50 71 17.00 19
FAME FORTRAN 95 GENIFER
9.00 36 3.00 107 20.00 16
FileMaker Pro FORTRAN GeODE 2.0
11.00 29 2.50 128 9.50 34
FLAVORS FORTRAN II GFA Basic
7.00 46 11.00 29 7.00 46
FLEX Foundation GML
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (7/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
Golden Common
5.00 64 16.00 20 10.00 32
LISP IBM ADF I IFPS/PLUS
7.00 46 18.00 18 8.00 40
GPSS IBM ADF II IMPRS
IBM Advanced
11.50 28 3.25 98 8.00 40
GUEST BASIC INFORMIX
6.50 49 8.00 40 8.00 40
Guru IBM CICS/VS INGRES
IBM Compiled
3.25 98 3.50 91 25.00 13
GW BASIC BASIC INQUIRE
8.50 38 3.00 107 6.50 49
Haskell IBM VS COBOL INSIGHT2
2.50 128 3.50 91 20.00 16
High C IBM VS COBOL II INSTALL/1
5.50 58 4.50 71 6.00 53
HLEVEL ICES INTELLECT
2.50 128 4.00 80 5.50 58
HP BASIC ICON INTERLISP
Interpreted
20.00 16 8.00 40 3.00 107
HTML 2.0 IDMS BASIC
22.00 15 23.00 14 2.50 128
HTML 3.0 IEF Interpreted C
20.00 16 23.00 14 5.50 58
Huron IEW IQLISP
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (8/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
25.00 13 5.00 64 15.00 21
IQRP KLO LOOPS
4.50 71 6.50 49 50.00 6
JANUS KNOWOL LOTUS 123 DOS
6.00 53 5.50 58 3.00 107
JAVA KRL LOTUS Macros
1.45 221 15.00 21 51.00 6
JCL KSH LUCID 3D
3.00 107 9.00 36 6.00 53
JOSS Ladder Logic LYRIC
3.00 107 5.00 64 20.00 16
JOVIAL LAMBIT/L M
8.00 40 2.50 128 5.00 64
KAPPA Lattice C macFORTH
6.50 49 2.50 128 8.00 40
KBMS Liana MACH1
Machine
5.00 64 4.50 71 0.50 640
KCL LILITH language
6.50 49 23.00 14 1.50 213
KEE LINC II Macro assembly
8.00 40 5.00 64 20.00 16
Keyplus LISP MAESTRO
5.00 64 5.50 58 20.00 16
KL LOGLISP MAGEC
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (9/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
15.00 21 2.50 128 6.00 53
MAGIK Microsoft C NATURAL 1
15.00 21 16.00 20 7.00 46
MAKE MicroStep NATURAL 2
NATURAL
8.00 40 8.00 40 13.00 25
MANTIS Miranda Construct
6.00 53 8.50 38 0.10 3200
MAPPER Model 204 Natural language
8.00 40 4.00 80 17.00 19
MARK IV MODULA 2 NETRON/CAP
9.00 36 50.00 6 6.50 49
MARK V MOSAIC NEXPERT
60.00 5 6.00 53 6.50 49
MATHCAD MS C ++ V. 7 NIAL
MS Compiled
9.00 36 3.50 91 8.00 40
MDL BASIC NOMAD2
Non-procedural
6.00 53 5.00 64 9.00 36
MENTOR MSL default
3.00 107 5.00 64 9.00 36
MESA muLISP Notes VIP
Microfocus
4.00 80 17.00 19 6.00 53
COBOL MUMPS Nroff
Object-Oriented
5.00 64 4.50 71 11.00 29
microFORTH NASTRAN default
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (10/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
OBJECT
5.00 64 8.00 40 6.00 53
Assembler ORACLE PILOT
Oracle
11.00 29 14.00 23 4.00 80
Object LISP Developer/2000 PL/I
11.00 29 3.00 107 4.50 71
Object LOGO Oscar PL/M
11.00 29 22.00 15 3.50 91
Object PASCAL PACBASE PL/S
20.00 16 8.00 40 6.00 53
Object Star PACE PLANIT
12.00 27 9.00 36 5.00 64
Objective-C PARADOX/PAL PLANNER
13.00 25 3.50 91 45.00 7
ObjectVIEW PASCAL PLANPERFECT 1
4.00 80 9.00 36 6.00 53
OGL PC FOCUS PLATO
8.00 40 15.00 21 5.00 64
OMNIS 7 PDL Millenium polyFORTH
11.00 29 6.00 53 5.50 58
OODL PDP-11 ADE POP
7.00 46 15.00 21 5.50 58
OPS PERL POPLOG
Persistance
5.50 58 15.00 21 6.50 49
OPS5 Object Builder Power BASIC
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (11/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
20.00 16 3.00 107 11.50 28
PowerBuilder PROTEUS Quickbuild
23.00 14 5.50 58 22.00 15
POWERHOUSE QBasic QUIZ
8.00 40 25.00 13 8.00 40
PPL (Plus) QBE RALLY
12.00 27 22.00 15 8.00 40
Pro-C QMF RAMIS II
5.50 58 6.50 49 11.50 28
PRO-IV QNIAL RapidGen
Problem-oriented
4.50 71 51.00 6 3.50 91
default QUATTRO RATFOR
Procedural
3.00 107 51.00 6 8.00 40
default QUATTRO PRO RDB
Professional
3.50 91 25.00 13 7.00 46
PASCAL Query default REALIA
Program
20.00 16 5.00 64 8.00 40
Generator default QUICK BASIC 1 Realizer 1.0
9.00 36 5.25 61 9.00 36
PROGRESS V4 QUICK BASIC 2 Realizer 2.0
5.00 64 5.50 58 8.00 40
PROLOG QUICK BASIC 3 RELATE/3000
3.00 107 2.50 128 60.00 5
PROSE Quick C Reuse default
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (12/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
4.00 80 10.00 32 7.00 46
REXX (MVS) SAS Simulation default
7.00 46 25.00 13 15.00 21
REXX (OS/2) SAVVY SMALLTALK 286
3.50 91 3.50 91 15.00 21
RM BASIC SBASIC SMALLTALK 80
3.00 107 4.50 71 15.00 21
RM COBOL SCEPTRE SMALLTALK/V
3.00 107 6.00 53 4.00 80
RM FORTRAN SCHEME SNAP
Screen painter
4.00 80 57.00 6 2.50 128
RPG I default SNOBOL2-4
5.50 58 27.00 12 23.00 14
RPG II SEQUAL SoftScreen
5.75 56 15.00 21 5.50 58
RPG III SHELL SOLO
5.50 58 9.00 36 9.00 36
RT-Expert 1.4 SIMPLAN SPEAKEASY
10.00 32 7.00 46 9.00 36
S-PLUS SIMSCRIPT Spinnaker PPL
Spreadsheet
3.00 107 7.00 46 50.00 6
SAIL SIMULA default
20.00 16 7.00 46 1.00 320
SAPIENS SIMULA 67 SPS
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (13/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
10.00 32 5.00 64 22.00 15
SPSS SYMBOLANG TRANSFORM
TRANSLISP
25.00 13 18.00 18 5.75 56
SQL Synchroworks PLUS
27.00 12 17.00 19 5.00 64
SQL-Windows SYNON/2E TREET
10.00 32 9.00 36 5.00 64
Statistical default System-W TREETRAN
Tandem Access TRS80 BASIC
9.00 36 3.50 91 2.50 128
STRATEGEM Language II,III
4.50 71 5.00 64 5.00 64
STRESS TCL TRUE BASIC
Strongly typed
3.50 91 20.00 16 2.50 128
default TELON Turbo C
7.00 46 8.00 40 6.00 53
STYLE TESSARACT TURBO C++
9.00 36 50.00 6 6.50 49
SUPERBASE 1.3 THE TWIN TURBO EXPERT
50.00 6 25.00 13 6.50 49
SURPASS THEMIS Turbo PASCAL >5
Turbo PASCAL 1-
8.00 40 23.00 14 4.00 80
SYBASE TI-IEF 4
Turbo PASCAL 4-
11.00 29 11.00 29 4.50 71
Symantec C++ Topspeed C ++ 5
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (14/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
4.00 80 17.00 19 16.00 20
Turbo PROLOG VHDL Visual COBOL
4.00 80 6.50 49 20.00 16
TURING Visible C Visual Objects
6.00 53 8.00 40 15.00 21
TUTOR Visible COBOL VisualAge
6.50 49 35.00 9 18.00 18
TWAICE Visicalc 1 VisualGen
3.50 91 11.00 29 10.00 32
UCSD PASCAL Visual 4.0 VS-REXX
9.00 36 7.00 46 5.00 64
UFO/IMS Visual Basic 1 VULCAN
10.00 32 7.50 43 9.00 36
UHELP Visual Basic 2 VZ Programmer
20.00 16 8.00 40 8.00 40
UNIFACE Visual Basic 3 WARP X
UNIX Shell
15.00 21 9.00 36 2.50 128
Scripts Visual Basic 4 WATCOM C
5.50 58 11.00 29 2.50 128
VAX ACMS Visual Basic 5 WATCOM C/386
8.00 40 8.00 40 2.50 128
VAX ADE Visual Basic DOS Waterloo C
3.00 107 9.50 34 3.50 91
VECTRAN Visual C++ Waterloo PASCAL
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (15/17)
Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF Lenguaje Nivel SLOC/UF
P P P
WATFIV 3.75 85
WATFOR 3.50 91
WHIP 3.50 91
Wizard 11.50 28
XLISP 5.00 64
YACC 6.00 53
YACC++ 6.00 53
ZBASIC 3.50 91
ZIM 17.00 19
ZLISP 5.00 64
TABLA 3: EQUIVALENCIAS DE PUNTOS DE FUNCIÓN SIN AJUSTAR A LÍNEAS
DE CÓDIGO EN DIFERENTES LENGUAJES DE PROGRAMACIÓN (16/17)
Sabretalk * 70 66
SAS * 38 37
Siebel * 59 60
SLOGAN * 75 75
SQL * 21 21
VB.NET * 52 60
Visual Basic * 42 44
RELACIÓN DEL NIVEL DEL LENGUAJE CONTRA LA
PRODUCTIVIDAD (TABLA 3, 1 AL 15)
Extra Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
Bajo
PERS 3,4 5,6 7,8 9 10,11 12,13 14,15
2.12 1.62 1.26 1.00 0.83 0.63 0.50
ACAP: Percentil Percentil Percentil Percentil Percentil
Capacidad 15 35 55 75 90
del Analista 1.42 1.19 1.00 0.85 0.71
Extra Bajo Muy Bajo Nominal Alto Muy Alto Extra Alto
Bajo
RCPX 5, 6 7, 8 9 a 11 12 13 a 15 16 a 18 19 a 21
0.49 0.60 0.83 1.00 1.33 1.91 2.72
RELY: Énfasis Muy poco Poco Algo Básico Fuerte Muy Fuerte Extremo
en la 1.23 1.10 1.00 0.99 1.07
confiabilidad
DATA: Pequeño Pequeño Pequeño Moderado Grande Muy Extremo
Tamaño de 0.90 1.00 1.14 Grande
la base de 1.28
datos
CPLX: Muy simple Simple Algo Moderado Complejo Muy Extremada
Complejidad 0.73 0.87 1.00 1.17 Complejo mente
del producto 1.34 complejo
1.74
TABLA 7: REUTILIZACIÓN REQUERIDA (RUSE)
Extra Bajo Muy Bajo Nominal Alto Muy Alto Extra Alto
Bajo
PREX 3, 4 5, 6 7, 8 9 10, 11 12, 13 14, 15
1.59 1.33 1.22 1.00 0.87 0.74 0.62
APEX: <=2 6 meses 1 año 3 años 6 años
Experiencia meses 1.10 1.00 0.88 0.81
en las 1.22
aplicaciones
PLEXP: <=2 6 meses 1 año 3 años 6 años
Experiencia meses 1.09 1.00 0.91 0.85
en la 1.19
plataforma
LTEX: <=2 6 meses 1 año 3 años 6 años
Experiencia meses 1.09 1.00 0.91 0.84
en el 1.20
lenguaje y
TABLA 10: FACILIDADES (FCIL)
Extra Muy Bajo Nominal Alto Muy Alto Extra Alto
Bajo Bajo
PREX 2 3 4,5 6 7,8 9,10 11
1.43 1.30 1.10 1.0 0.87 0.73 0.62
TOOL: Uso Mínimo Algo Herramien Herramien Buena; Fuerte; Fuerte;
de 1.17 tas CASE tas básicas moderada moderada bien
herramienta simples de ciclo de 0.90 0.78 integrada
s 1.09 vida
1.00
SITE: Débil Algún Algún Soporte Fuerte de Fuerte de Fuerte de
Condiciones soporte soporte soporte de básico de soporte de soporte de soporte de
de de de desarrollo desarrollo desarrollo desarrollo desarrollo
desarrollo desarroll desarroll multisitio multisitio multisitio multisitio multisitio
en múltiples o o moderada moderada moderada simple colocado o
sitios multisitio multisitio mente mente mente 0.86 simple
(comunicaci complejo complejo complejo complejo complejo 0.80
ones) 1.22 1.09 1.00 0.93
TABLA 11: PROGRAMA DE TRABAJO (SCED)
F=0.2x(E-B)