Академический Документы
Профессиональный Документы
Культура Документы
Mario Peralta
Centro de Ingeniería del Software e Ingeniería del Conocimiento (CAPIS)
Escuela de Postgrado. Instituto Tecnológico de Buenos Aires
Av. Madero 399 (C1106ACD), Buenos Aires – Argentina.
http://www.itba.edu.ar/capis/webcapis/planma.html
marioitba@yahoo.com.ar
Resumen: El presente artículo plantea algunas alternativas posibles para la estimación del es-
fuerzo en proyectos basados en Casos de Uso, utilizándose el Análisis de Puntos de Función y
COCOMO II, o una variante más reciente denominada Análisis de Puntos de Casos de Uso, la
cual es en cierta medida similar al Análisis de Puntos de Función.
Palabras Clave: Estimación del Esfuerzo. Casos de Uso. Puntos de Función. COCOMO II.
Análisis de Puntos de Casos de Uso.
Escenario Principal
1. El usuario indica un tipo de documento y un rango
de fechas desde y hasta
2. El sistema busca los documentos dados de alta en En la misma se muestra una Entrada Externa simple
el rango de fechas indicado y que sean del tipo in- que modifica dos Archivos Lógicos Internos.
dicado por el usuario, y los presenta en una lista.
3. El usuario selecciona un documento de la lista Salidas Externas (EO, del inglés External Outputs):
4. El sistema muestra los datos internos del se definen como un proceso elemental con componen-
documento tes de entrada y de salida mediante el cual datos sim-
ples y datos derivados (esto es, datos que se calculan a
Escenario Alternativo partir de otros datos) cruzan la frontera del sistema
desde adentro hacia afuera. Adicionalmente, las Salidas
2. No existe ningún documento que cumpla con los Externas pueden actualizar un Archivo Lógico Interno.
valores indicados por el usuario Los datos crean reportes o archivos que se envían hacia
2.1 El sistema le informa al usuario que no encontró el Actor del Caso de Uso (que puede ser un humano u
ningún documento y le da la posibilidad de reingresar otro sistema). Estos reportes y archivos se crean desde
los parámetros de búsqueda. uno o más Archivos Lógicos Internos o Archivos de
Interfaz Externos.
Una Transacción está representada por uno o más pa-
sos del flujo de eventos principal del Caso de Uso, Ejemplo: los casos de uso que documentan reportes o
pudiendo existir más de una transacción dentro del estadísticas que genera el sistema para uso de los acto-
mismo Caso de Uso. Los flujos de eventos alternativos res. La información que sale del sistema consiste fun-
dentro del Caso de Uso, ayudan a clarificar las transac- damentalmente de datos calculados a partir de Archi-
ciones. En el ejemplo del párrafo anterior se puede vos Lógicos Internos. Un ejemplo más concreto podría
apreciar que existen dos transacciones diferenciadas, ser un caso de uso llamado “Generar reporte de altas”,
una vinculada a la búsqueda de documentos, y la otra donde se documenta la generación de un reporte de la
vinculada a la visualización de un documento en cantidad de documentos que se dieron de alta en un pe-
particular. ríodo de tiempo. El actor indica el rango de fechas y el
sistema genera el reporte. Este caso de uso se corres-
En relación a los Puntos de Función, las transacciones pondería con una Salida Externa desde el punto de
se clasifican de la siguiente manera: vista de los Puntos de Función.
Entradas Externas (EI, del inglés External Inputs): Un ejemplo gráfico de Salida Externa se puede ver en
se definen como un proceso elemental mediante el cual la siguiente figura:
ciertos datos cruzan la frontera del sistema desde afue-
ra hacia adentro. El Actor del Caso de Uso provee
datos al sistema, los cuales pueden tratarse de informa-
ción para agregar, modificar o eliminar de un Archivo
2
clasifican de la siguiente manera:
3
En todos los casos de uso está implícita la presencia de
un Archivo Lógico Interno, donde se almacena la in-
formación de las órdenes de compra.
4
mejor panorama para la determinación de la compleji- las características deseadas del sistema (comunicación
dad de los Archivos Lógicos Internos o de Interfaz de datos, rendimiento, facilidades de instalación, de
Externos. operación, frecuencia de transacciones, etc.). Los deta-
lles para el cálculo del Factor de ajuste se muestran en
Para esclarecer éstos conceptos, se continúa con el el Apéndice B.
ejemplo anterior, tomando el caso de uso 'Encontrar
orden'. Continuando con el ejemplo del punto 2.2, calculamos
el Factor de Ajuste y los Puntos de Función Ajustados.
La especificación detallada del mismo podría ser la
siguiente: Cálculo del Factor de Ajuste:
5
Función sin ajustar. Éste método es el preferido en la Finalmente, el esfuerzo nominal resulta:
actualidad para la estimación del esfuerzo cuando no se
tiene información histórica a la cual recurrir.
PMnominal = A x (Size)B = 2.94 x (1.378)1.05 = 4.11
COCOMO II consiste básicamente en la aplicación de Meses-hombre
ecuaciones matemáticas sobre los Puntos de Función
sin ajustar o la cantidad de líneas de código (SLOC, Para completar la estimación, hay que ajustar el esfuer-
Source Lines Of Code) estimados para un proyecto. zo nominal de acuerdo a las características del proyecto
Estas ecuaciones se encuentran ponderadas por ciertos según se indica en el punto c) del Apéndice C. El ajuste
factores de costo (cost drivers) que influyen en el es- se efectua aplicando la ecuación
fuerzo requerido para el desarrollo del software. El
Apéndice C presenta una breve introducción al método PMajustado = PMnominal x Π(MEi)
y sus conceptos principales.
A manera de ejemplo, se aplica el método COCOMO donde los MEi (multiplicadores de esfuerzo) varían en
II a la estimación inicial obtenida en el apartado 2.2.
Como resultado de la estimación se tenía: función del modelo de estimación seleccionado (Dise-
ño Preliminar o Post arquitectura).
UFP (Puntos de Función sin ajustar) = 26 En nuestro caso vamos a aplicar el modelo de Diseño
preliminar. Entonces, cuantificamos los multiplicado-
Para aplicar la ecuación de cálculo del esfuerzo nomi- res de esfuerzo para éste modelo:
nal (ecuación 1 del Apéndice C), necesitamos por un
lado convertir los puntos de función sin ajustar a Multiplicador Descripción Ponderación Valor
PERS Se tienen analistas y progra- Alto 0.83
KSLOC (Source Lines Of Code, en miles), y por otro madores con alta eficiencia y
calcular el Factor escalar B de acuerdo a las caracterís- capacidad de trabajo en equi-
ticas del proyecto. Luego: po. Dedicación full-time.
RCPX Las exigencias de confiabili- Nominal 1
dad, documentación y volu-
PMnominal = A x (Size)B men de datos son moderadas,
y la complejidad del producto
es baja.
A: tomamos el valor por defecto del modelo, ajustado RUSE No se pretende reutilizar nada Bajo 0.95
en 2.94 PDIF No existen restricciones en Bajo 0.87
cuando al tiempo de CPU o al
consumo de memoria, la
Size: se calcula como el producto de los puntos de plataforma es muy estable.
función sin ajustar por un factor de conversión que PREX Tanto los analistas como los Muy Bajo 1.33
depende del lenguaje a utilizar en el desarrollo del programadores tienen aproxi-
madamente 6 meses de expe-
sistema. Supongamos que utilizamos C++ (factor de riencia en la aplicación, la
conversión = 53 SLOC/UFP). Entonces tendremos: plataforma, el lenguaje y las
herramientas utilizadas.
Size = 53 x 26 = 1378 SLOC SCED Se requiere terminar el proyec- Nominal 1
to en el tiempo estimado.
FCIL Se tienen herramientas CASE Bajo 1.10
B: se calcula ponderando las variables escalares de simples e infraestructura de
acuerdo al punto b) del Apéndice C, mediante la ecua- comunicaciones básica.
ción Total 1.004
B = 0.91 + 0.01 x Σ(W ) Con estos valores, el ajuste del esfuerzo resulta:
i
6
todo de estimación del tiempo de desarrollo de un Tipo de Caso de Descripción Factor de
proyecto mediante la asignación de "pesos" a un cierto Uso Peso
Simple El Caso de Uso contiene de 1 a 3
número de factores que lo afectan, para finalmente, transacciones 5
contabilizar el tiempo total estimado para el proyecto a Medio El Caso de Uso contiene de 4 a 7
partir de esos factores. transacciones 10
Complejo El Caso de Uso contiene más de 8
transacciones 15
A continuación, se detallan los pasos a seguir para la
aplicación de éste método.
Ejemplo
donde,
UUCP: Puntos de Casos de Uso sin ajustar
UAW: Factor de Peso de los Actores sin ajustar
UUCW: Factor de Peso de los Casos de Uso sin
ajustar
7
ajustar, se debe ajustar éste valor mediante la siguiente Factor Descripción Peso
ecuación: E4 Capacidad del analista líder 0.5
E5 Motivación 1
UCP = UUCP x TCF x EF E6 Estabilidad de los requerimientos 2
E7 Personal part-time -1
donde, E8 Dificultad del lenguaje de progra-
UCP: Puntos de Casos de Uso ajustados mación -1
UUCP: Puntos de Casos de Uso sin ajustar
TCF: Factor de complejidad técnica - Para los factores E1 al E4, un valor asignado de 0
EF: Factor de ambiente significa sin experiencia, 3 experiencia media y 5 am-
plia experiencia (experto).
- Para el factor E5, 0 significa sin motivación para el
3.2.1 Factor de complejidad técnica (TCF) proyecto, 3 motivación media y 5 alta motivación.
- Para el factor E6, 0 significa requerimientos extrema-
Este coeficiente se calcula mediante la cuantificación damente inestables, 3 estabilidad media y 5 requeri-
de un conjunto de factores que determinan la compleji- mientos estables sin posibilidad de cambios.
dad técnica del sistema. Cada uno de los factores se - Para el factor E7, 0 significa que no hay personal
cuantifica con un valor de 0 a 5, donde 0 significa un part-time (es decir todos son full-time), 3 significa
aporte irrelevante y 5 un aporte muy importante. En la mitad y mitad, y 5 significa que todo el personal es
siguiente tabla se muestra el significado y el peso de part-time (nadie es full-time).
cada uno de éstos factores: - Para el factor E8, 0 significa que el lenguaje de pro-
gramación es fácil de usar, 3 medio y 5 que el lenguaje
Factor Descripción Peso es extremadamente difícil.
T1 Sistema distribuído 2
T2 Objetivos de performance o tiempo de respuesta 1
T3 Eficiencia del usuario final 1 El Factor de ambiente se calcula mediante la siguiente
T4 Procesamiento interno complejo 1 ecuación:
T5 El código debe ser reutilizable 1
T6 Facilidad de instalación 0.5
T7 Facilidad de uso 0.5
EF =1.4 - 0.03 x Σ (Pesoi x Valor asignadoi)
T8 Portabilidad 2 Ejemplo
T9 Facilidad de cambio 1
T10 Concurrencia 1
T11 Incluye objetivos especiales de seguridad 1 Continuando con el ejemplo del apartado 3.1, se calcu-
T12 Provee acceso directo a terceras partes 1 lan los Puntos de Casos de Uso ajustados.
T13 Se requieren facilidades especiales de entrenamiento
a usuarios 1 Factor de complejidad técnica (TCF)
8
El Factor de complejidad técnica resulta:
donde,
TCF = 0.6 + 0.01 x 17 = 0.77 E: esfuerzo estimado en horas-hombre
UCP: Puntos de Casos de Uso ajustados
Factor de ambiente (EF) CF: factor de conversión
Factor Descripción Peso Valor Comentario Se debe tener en cuenta que éste método proporciona
asignado una estimación del esfuerzo en horas-hombre contem-
E1 Familiaridad con el modelo El grupo está
de proyecto utilizado bastante familiari- plando sólo el desarrollo de la funcionalidad especifi-
1.5 4 zado con el modelo cada en los casos de uso.
E2 Experiencia en la aplica- La mayoría del
ción grupo ha trabajado Finalmente, para una estimación más completa de la
mucho tiempo en
0.5 4 ésta aplicación duración total del proyecto, hay que agregar a la esti-
E3 Experiencia en orientación La mayoría del mación del esfuerzo obtenida por los Puntos de Casos
a objetos grupo programa en de Uso, las estimaciones de esfuerzo de las demás
1 4 objetos actividades relacionadas con el desarrollo de software.
E4 Capacidad del analista líder Se contrató a un
0.5 5 especialista
Para ello se puede tener en cuenta el siguiente criterio,
E5 Motivación El grupo está que estadísticamente se considera aceptable. El criterio
1 5 altamente motivado plantea la distribución del esfuerzo entre las diferentes
E6 Estabilidad de los requeri- Se esperan cambios actividades de un proyecto, según la siguiente aproxi-
mientos 2 2
E7 Personal part-time Todo el grupo es
mación:
-1 0 full-time
E8 Dificultad del lenguaje de Se usará lenguaje Actividad Porcentaje
programación -1 3 C++ Análisis 10.00%
Diseño 20.00%
Programación 40.00%
El Factor de ambiente resulta: Pruebas 15.00%
Sobrecarga (otras actividades) 15.00%
EF = 1.4 - 0.03 x 19.5 = 0.82
Obviamente, éstos valores no son absolutos sino que
Finalmente, los Puntos de Casos de Uso ajustados pueden variar de acuerdo a las características de la
resultan: organización y del proyecto.
UCP = 23 * 0.77 * 0.82 = 14.52 Con éste criterio, y tomando como entrada la estima-
ción de tiempo calculada a partir de los Puntos de Ca-
sos de Uso, se pueden calcular las demás estimaciones
3.3. De los Puntos de Casos de Uso a la estimación para obtener la duración total del proyecto.
del esfuerzo
Ejemplo
Karner originalmente sugirió que cada Punto de Casos
de Uso requiere 20 horas-hombre. Posteriormente, Aplicando éstos criterios al ejemplo que se venía des-
surgieron otros refinamientos que proponen una granu- arrollando en éste apartado, se obtiene el esfuerzo
laridad algo más fina, según el siguiente criterio: necesario para el desarrollo de los casos de uso como:
9
4. Conclusiones Transacciones
a) Clasificación de las Entradas Externas
Se ha aplicado los métodos presentados a lo largo del Para las Entradas Externas, la clasificación está dada
artículo para estimar el esfuerzo en algunos proyectos por la siguiente tabla:
de su ámbito laboral, obteniendo resultados satisfacto-
rios en su mayoría, en cuanto a la precisión de las esti- Archivos Elementos de datos
referenciados 1-4 5-15 >15
maciones con respecto a la cantidad de información 0-1 Baja Baja Media
disponible. 2 Baja Media Alta
3 o más Media Alta Alta
En la experiencia del mismo, se pueden destacar las
siguientes apreciaciones:
En la misma, "Archivos referenciados" representa el
- La estimación a partir de Puntos de Función ajustados número de Archivos Lógicos Internos mantenidos por
y Coeficientes de Conversión es difícil de realizar si no la Entrada Externa, y "Elementos de datos" representa
se cuenta con una base histórica de proyectos que pro- la cantidad de elementos que componen la Entrada
vea los coeficientes de conversión. Los valores estadís- Externa.
ticos son difíciles de encontrar.
b) Clasificación de las Salidas Externas y Consultas
- La estimación por COCOMO II (con Puntos de Fun- Externas
ción sin ajustar como entrada), resulta muy útil para Para las Salidas Externas y las Consultas Externas, la
estimar un proyecto en forma global, cuando se tiene clasificación está dada por la siguiente tabla:
un conjunto de Casos de Uso bastante amplio (del
orden de 50) y con escaso nivel de detalle. Utilizando Archivos Elementos de datos
la herramienta del SEI (Software Engineering Institu- referenciados 1-5 6-19 >19
0-1 Baja Baja Media
te), se puede refinar la estimación a medida que se va
2-3 Baja Media Alta
adquiriendo más información sobre el proyecto. Cabe >3 Media Alta Alta
aclarar la herramienta mencionada no está calibrada
para proyectos menores a 2000 líneas de código, con lo
cual no es aplicable a proyectos muy pequeños. En la misma, "Archivos referenciados" representa el
número de Archivos Lógicos Internos o Archivos de
- La estimación por Puntos de Caso de Uso resulta muy Interfaz Externos vinculados con la Salida Externa o la
efectiva para estimar el esfuerzo requerido en el desa- Consulta Externa, y "Elementos de datos" representa la
rrollo de los primeros Casos de Uso de un sistema, si se cantidad combinada de elementos de datos de entrada y
sigue una aproximación iterativa como el Proceso de salida que componen la Salida Externa o Consulta
Unificado de Rational. En éste tipo de aproximación, Externa.
los primeros Casos de Uso a desarrollar son los que
ejercitan la mayor parte de la arquitectura del software c) Asignación de valores numéricos
y los que a su vez ayudan a mitigar los riesgos más Los valores numéricos que se asignan a cada compleji-
significativos (iteraciones de Elaboración en el Proceso dad (Baja, Media o Alta), se muestran en la siguiente
Unificado). Fuera de éste contexto, el método tiende a tabla, para cada uno de los tipos de transacción (Entra-
sobredimensionar el esfuerzo requerido por lo cual el da Externa, Salida Externa, Consulta Externa):
autor no lo recomienda para estimar el esfuerzo global
de un proyecto. Clasificación Valores
Salidas Exter- Consultas Entradas
Si bien ninguno de éstos métodos es la panacea, todos nas Externas Externas
ellos aportan a la formación del Ingeniero de Software, Baja 4 3 3
Media 5 4 4
y la aplicación sistemática de los mismos permite obte- Alta 7 6 6
ner mediciones y puntos de comparación que ayudan a
ampliar la experiencia profesional en la estimación de Archivos
proyectos de software. a) Clasificación de los Archivos Lógicos Internos y
Archivos de Interfaz Externos
Para los Archivos Lógicos Externos y los Archivos de
Apéndice A: Clasificación de Transaccio- Interfaz Externos, la clasificación está dada por la
nes y Archivos en Análisis de Puntos de siguiente tabla:
Función. Tipos de registro Elementos de datos
1-19 20-50 >50
La complejidad de las Transacciones y los Archivos en 1 Baja Baja Media
el Análisis de Puntos de Función, se puede clasificar y 2-5 Baja Media Alta
>5 Media Alta Alta
cuantificar de acuerdo con los criterios que se muestran
a continuación:
donde "Tipos de registro" representa un subgrupo de
elementos de datos reconocibles por el usuario, y
10
"Elementos de datos" representa la cantidad de elemen-
tos de datos básicos (campos únicos) que componen el La siguiente tabla muestra las características a tener en
Archivo. cuenta:
FP = UFP x AF
Apéndice B: Cálculo del Factor de Ajuste
en Análisis de Puntos de Función. Síntesis del Apéndice:
El Análisis de Puntos de Función plantea el ajuste de El Análisis de Puntos de Función plantea que luego de
los Puntos de Función calculados a partir de las Tran- la contabilización de los Puntos de Función sin ajustar,
sacciones y Archivos, mediante la evaluación de 14 se puede realizar un ajuste sobre el valor obtenido.
características generales del sistema. A cada una de Este ajuste tiene en cuenta un conjunto de característi-
estas características se le asigna un factor de peso (un cas del sistema no contempladas en el conteo de las
valor entre 0 y 5) que indica la importancia de la carac- Transacciones y los Archivos.
terística para el sistema bajo análisis. El significado del Las características (que forman un total de 14) se pon-
valor asignado a cada característica es el siguiente: deran con un valor entre 0 y 5, y permiten obtener un
0 No presente o sin influencia factor de ajuste que se aplica a los Puntos de Función
1 Influencia incidental sin ajustar para obtener los Puntos de Función ajusta-
2 Influencia moderada dos.
3 Influencia media
4 Influencia significativa
5 Fuerte influencia
11
proyecto presenta en lo que a su complejidad y entorno
Apéndice C: Introducción al modelo de de desarrollo se refiere. Las Variables escalares de
COCOMO II son las siguientes:
estimación COCOMO II.
- PREC, variable de precedencia u orden secuencial del
a) Descripción general desarrollo
El método de estimación COCOMO II está basado dos - FLEX, variable de flexibilidad del desarrollo
modelos: uno aplicable al comienzo de los proyectos - RSEL, indica la fortaleza de la arquitectura y métodos
(Diseño preliminar, en inglés Early Design) y otro de estimación y reducción de riesgos
aplicable luego del establecimiento de la arquitectura - TEAM, esta variable refleja la cohesión y madurez
del sistema (Post arquitectura, en inglés Post Architec- del equipo de trabajo
ture). - PMAT, relaciona el proceso de madurez del software
El modelo de Diseño preliminar (Early Design) con- Cada una de estas variables se cuantifica con un valor
templa la exploración de las arquitecturas alternativas desde Muy Bajo hasta Extra Alto.
del sistema y los conceptos de operación. En esta etapa
no se sabe lo suficiente del proyecto como para hacer La siguiente tabla muestra los criterios y niveles de
una estimación fina. Ante ésta situación, el modelo cuantificación para cada una de éstas variables:
propone la utilización de Puntos de Función como
medida de tamaño y un conjunto de 7 factores (cost Factor Muy Bajo Nominal Alto Muy Extra
drivers) que afectan al esfuerzo del proyecto. Estos 7 Escalar Bajo Alto Alto
factores son agrupaciones de los factores que se utili- (W )
i
zan en la otra variante del modelo (Post Arquitectura). PREC Completa Completa Algo Familiar Muy Absolu-
Familiar tamente
El modelo Post arquitectura (Post Architecture) Familiar
contempla el desarrollo y el mantenimiento de un pro- FLEX Riguroso Ocasio- Algo de Gene- Algo de Objetivos
nal relaja- ralmente confor- generales
ducto software. Esta estrategia es más precisa si se ha ción conforme midad
desarrollado una arquitectura del sistema, la cual haya RESL Poco Algo A menu- Gene- Mayor- Total-
sido validada y establecida como base para la evolu- (20%) (40%) do (60%) ralmente mente mente
ción del producto. Ante ésta situación, el modelo pro- (75%) (90%) (100%)
pone la utilización de Líneas de código fuente y/o TEAM Interac- Algo de Básicame Coopera- Altamen- Interac-
ción muy dificultad nte hay tiva te coope- ción total
Puntos de Función como medidores del tamaño, modi- difícil de inter- interac- rativa
ficadores para indicar el grado de reutilización y des- acción ción
carte del software, un conjunto de 17 estimadores de coopera-
costo, y un conjunto de 5 factores que afectan de mane- tiva
ra exponencial en el esfuerzo del proyecto. PMAT Promedio Promedio Promedio Promedio Promedio Promedio
de res- de res- de res- de res- de res- de res-
En ambos modelos, la estimación del esfuerzo se reali- puestas puestas puestas puestas puestas puestas
za tomando como base la siguiente ecuación: afirmati- afirmati- afirmati- afirmati- afirmati- afirmati-
vas en el vas en el vas en el vas en el vas en el vas en el
cuestio- cuestio- cuestio- cuestio- cuestio- cuestio-
PMnominal = A x (Size)B (1) nario de nario de nario de nario de nario de nario de
CMM CMM CMM CMM CMM CMM
12
c) Ajuste del esfuerzo nominal personal y proyecto. A continuación se muestran los
El esfuerzo calculado en la ecuación (1) es un valor multiplicadores, con una breve descripción de su signi-
nominal y debe ser ajustado en base a las característi- ficado.
cas del proyecto. COCOMO II obtiene los datos nece-
sarios para el ajuste del esfuerzo nominal considerando Multiplicadores que afectan al producto:
un conjunto de Multiplicadores de Esfuerzo (ME),
los cuales representan las características del proyecto y RELY: Confiabilidad requerida del software. Mide el
expresan su impacto en el desarrollo total del producto impacto que tiene una falla en el software.
de software.
Muy Bajo Bajo Nominal Alto
Muy
Los Multiplicadores de esfuerzo se cuantifican con una Alto
RELY Inconvenientes Bajo, y con Moderado, Altas Riesgo
escala que va desde Extra Bajo a Extra Alto, y cada imperceptibles perdidas con perdidas pérdidas para la
multiplicador tiene un valor asociado a cada nivel de la fácilmente de fácil financieras vida
escala. recuperables recuperación humana
Cada uno de los modelos de estimación (Diseño preli-
minar y Post arquitectura) tiene un conjunto de Multi- DATA: Tamaño de la base de datos. Se mide como el
plicadores de esfuerzo, los cuales son acordes con la tamaño de la base en bytes sobre el tamaño del pro-
información que se maneja en cada uno de estos mode- grama en LOC. Se utiliza para dimensionar el esfuerzo
los. requerido para el control y la generación de datos de
prueba.
En ambos modelos, el esfuerzo ajustado se calcula
mediante la siguiente ecuación: Muy Bajo Nominal Alto Muy Alto
Bajo
DATA D/P < 10 <= D/P < 100 <= D/P < D/P >=
PMajustado = PMnominal x Π(MEi) (3) 10 100 1000 1000
Operaciones de Control Operaciones de Cálculo Dependencia de Dispo- Manejo de Datos Interfaces de Usuarios
sitivos
Muy Bajo Programación lineal, con muy Evaluaciones de expresiones Escrituras y grabaciones Manejo de vectores simples en Formularios de ingreso sencillos.
pocas estructuras no anidadas: simples. con formatos simples. memoria. Manejo de consultas Generación de reportes simples.
DO, IF, CASE. Composición y accesos a la base de datos en
de módulos simples a través de forma sencilla.
procedimientos y funciones
Bajo Estructuras bien anidadas Evaluaciones moderadas de Sin particularidades o Manejo de datos sin archivos Uso de GUI (grafic user interface,
cálculos. Ej. Raíz cuadrada, dependencias del intermedios, sin edición. interfaces graficas de usuario)
exponentes procesador de E/S. Se COTS-DB, consultas y actua- simples
manejan a través de lizaciones moderadas
GET y PUT de conjun-
tos de datos
Nominal La mayoría de las estructuras Uso de rutinas básicas y Operaciones de E/S que Ingreso con formatos múltiples Uso simple de un conjunto de
son anidadas. Con controles de estándar. Manejo básico de permiten seleccionar el de datos, pero conservando un parámetros de definición de interfaz
intercambio simple de datos vectores y matrices dispositivo, haciendo un único formato de salida. del usuario.
entre módulos a través de control del estado de los Cambios estructurales simples
parámetros, tablas de decisio- mismos y procesando con ediciones. Uso de consul-
nes, soporte para procesamien- errores tas y COTS-DB complejos
to distribuido de baja comple-
jidad
Alto Total uso de estructuras Análisis numérico sencillo: Operaciones de E/S a Activación de disparadores a Uso de parámetros de definición de
anidadas. Manejo de pilas y interpolación, ecuaciones niveles físicos usando través de datos de la DB. interfaces. Uso simple de caracterís-
colas. Desarrollos para un diferenciales. Uso de redondeo
direccionamiento para la Reestructuraciones complejas ticas multimediales (entrada a través
único procesador y trunc. lectura y búsqueda. de datos. de la voz)
Overlap optimizado para
éstas operaciones
Muy Alto Código recursivo. Manejo de Cálculos numéricos difíciles Rutinas para el diagnós- Uso complejo de disparadores. Uso moderado de 2 y 3 dimensiones.
interrupciones, y sincroniza- pero estructurados: ecuaciones tico de interrupciones. Optimización de consultas. Habilidades gráficas complejas y
ción de tareas complejas. matriciales, diferenciales Manejo de la línea de Coordinación de bases de multimediales.
Procesamiento distribuido comunicación entre datos distribuidas
heterogéneo. Un único proce- dispositivos. Uso
sador controlado en tiempo intensivo del manejo de
real performance
Extra alto Operaciones de control múlti- Análisis numérico complejo y Codificación de disposi- Uso de lenguajes de manejo de Uso complejo de multimedia y
ples con cambios dinámicos de no estructurado. Cálculos tivos asincrónica, con datos, y técnicas de objetos así realidad virtual
prioridades. Control a nivel complejos en paralelo control crítico de como relacionales
microcódigo. Control en performance y procesos.
tiempo real del hardware
distribuido.
13
RUSE: Reusabilidad del código. Mide el costo adicio- Muy Bajo Nominal Alto Muy Alto
nal requerido para diseñar componentes más genéricos, Bajo
PVOL Cambios Mayores : 6 Mayores : 2 Mayores : 2
mejor documentados y más confiables, de manera de mayores cada meses, meses, semanas,
reutilizarlos en otros proyectos. 12 meses, y Menores : 2 Menores : 1 Menores : 2
cambios meno- semanas semana días
Muy Bajo Nominal Alto Muy Alto Extra Alto res cada mes
Bajo
RUSE Nada Por Por Por línea de Por múltiples Los valores que asume cada uno de éstos multiplicado-
Proyecto Progra- Producto líneas de produc-
ma tos res en cada nivel se pueden ver en la siguiente figura:
Muy Bajo Nominal Alto Muy Extra PEXP: Experiencia en la plataforma. Refleja la expe-
Bajo Alto Alto
riencia del grupo de desarrollo (principalmente pro-
TIME <= 50% de uso de los 70% 85% 95%
recursos disponibles gramadores) en el uso de herramientas de software y
hardware utilizado como plataforma.
STOR: Restricciones de almacenamiento principal.
Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
Similar al multiplicador anterior, pero relacionadas con
PEXP 2 meses 6 meses 1 año 3 años 6 años
el espacio principal de almacenamiento.
LTEX: Experiencia en el lenguaje y herramientas de
Muy Bajo Nominal Alto Muy Extra
desarrollo. Refleja la experiencia del grupo de desarro-
Bajo Alto Alto llo en el lenguaje de programación y las herramientas
STOR <= 50% de uso del espacio 70% 85% 95% de desarrollo utilizadas.
disponible
Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
PVOL: Volatilidad de la plataforma. Expresa la veloci- LTEX 2 meses 6 meses 1 año 3 años 6 años
dad de cambio del hardware y el software usados como
plataforma.
14
de video
conferencias
PCON: Continuidad del personal. Expresa el porcenta- ocasionales.
Muy Bajo Nominal Alto Muy Extra SCED: Requerimientos de calendario de desarrollo.
Bajo Alto Alto Refleja las restricciones impuestas al grupo de desarro-
PCON 48% al 24% al 12% al 6% al 3% al llo sobre la agenda nominal estimada del proyecto.
año año año año año
Muy Bajo Bajo Nominal Alto Muy Alto PERS: Capacidad del personal. Está dado por la suma
TOOL Edición y CASE simple y Herramientas Potentes Herramientas
codificación de poca básicas para herramientas a potentes y o la combinación porcentual de los multiplicadores
con debug integración todo el ciclo de ser usadas en proactivas, muy ACAP, PCAP y PCON.
vida con todo el ciclo de bien integradas
moderada vida con con el proceso,
integración integración los métodos y la
moderada reusabilidad
Extra Muy Bajo Nominal Alto Muy Extra
Bajo Bajo Alto Alto
Suma de 3,4 5,6 7,8 9 10,11 12,13 14,15
SITE: Desarrollo en múltiples ubicaciones. Involucra ACAP, PCAP,
la ubicación física y el soporte de comunicaciones. PCON
Combinación 20% 39% 45% 55% 65% 75% 85%
Muy Bajo Nominal Alto Muy Alto Extra de ACAP y
Bajo Alto PCAP
SITE Algo de Fax y Red de Comunica- Comunica- Multimedia Rotación anual 45% 30% 20% 12% 9% 5% 4%
teléfono y teléfonos correo ciones ciones del personal
mail individuales electrónico electrónicas electrónicas
interno que cubren que cubren
todas las todas las
ubicaciones ubicaciones
RCPX: Complejidad del producto. Está dado por la
con la combinación de los multiplicadores RELY, DATA,
posibilidad
CPLX y DOCU.
Extra Bajo Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
Suma de RELY, 5,6 7,8 9-11 12 13-15 16-18 19-21
DATA, CPLX y
DOCU
Énfasis en la Muy poca Poca Algo Básica Fuerte Muy fuerte Extrema
documentación
Complejidad del Muy simple Simple Algo Moderada Compleja Muy comple- Extremadamente compleja
Producto ja
Tamaño de la base Pequeña Pequeña Pequeña Moderada Grande Muy grande Muy grande
de datos
15
RUSE: Reusabilidad. Está dado por el mismo multiplicador RUSE del modelo Post arquite
ctura.
PDIF: Dificultad de la plataforma. Está dado por la combinación de los multiplicadores TIME, STOR y PVOL.
PREX: Experiencia del personal. Está dado por la combinación de los multiplicadores AEXP, PEXP y LTEX
Extra Bajo Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
Suma AEXP, PEXP y 3,4 5,6 7,8 9 10,11 12,13 14
LTEX
Experiencia en la <= 3 meses 5 meses 9 meses 1 año 2 años 4 años 6 años
aplicación, plataforma,
lenguaje y herramientas
utilizadas
SCED: Calendario. Está dado por el mismo multiplicador SCED del modelo Post arquitectura.
FCIL: Facilidades. Está dado por la combinación de los multiplicadores TOOL y SITE.
Extra Bajo Muy Bajo Bajo Nominal Alto Muy Alto Extra Alto
Suma de TOOL y 2 3 4,5 6 7,8 9,10 11
SITE
Soporte de herra- Mínimo Algo CASE Simples Herramientas Buenas, mode- Muy buenas, Muy buenas totalmente
mientas de software básicas según el rada-mente moderadamente integradas
ciclo de vida integradas integradas
Múltiples lugares de Soporte débil Algo de soporte Algo de soporte Soporte básico Fuerte soporte Fuerte soporte Muy fuerte soporte para el
desarrollo para el para desarrollos para desarrollos para desarrollos para el desarro- de desarrollos desarrollo de procesos
desarrollo complejos moderados complejos llo de procesos de procesos complejos
complejo moderados simples
Los valores que asume cada uno de éstos multiplicado- Longstreet Consulting, http://www.softwaremetrics.com/Articles/
usecases.htm
res en cada nivel se pueden ver en la siguiente figura: - Estimación de esfuerzo, Unidad 3 del Máster en Ingeniería del
Software, ITBA.
- COCOMO II Model Manual, disponible en el CSE Center for
Software Engineering, http://sunset.usc.edu/research/COCOMOII/
cocomo_main.html#downloads
- USC COCOMO II User's Manual, disponible en el CSE Center for
Software Engineering, http://sunset.usc.edu/research/COCOMOII/
cocomo_main.html#downloads
- Artículo “Modelo COCOMO II”, Magistrando Carlos G. Rivero
Bianchi, publicado en julio del 2001 en la revista del Instituto Tecno-
lógico de Buenos Aires (ITBA).
- Function Point Traninig Manual, disponible en el site de Longstreet
Consulting, http://www.softwaremetrics.com/freemanual.htm
- Rational Unified Process, documentación online disponible con los
productos de Rational.
- Time estimation in software development projects, Thomas
Fihlman, disponible en http://www.callista.se/ITPartner/timeart.htm
- Test Effort Estimation Using Use Case Points, Suresh Nageswaran,
Quality Week 2001, San Francisco, California, USA, June 2001,
disponible en http://www.cts-corp.com/cogcommunity/
presentations/Test%20Effort%20Estimation%20Using%20Use%20C
ase%20Points.pdf
Referencias bibliográficas - Understanding RET's, artículo disponible en el site de Lognstreet
Consulting, http://www.softwaremetrics.com/ Articles/ret.htm
- Métrica Versión 3, Ministerio de Administraciones Púbilcas Espa-
ñol, http://www.map.es/csi/metrica3/index.html
- Use Cases and Function Points, artículo disponible en el site de
16