"A little less conversation, a little more action" Lic. Guillermo González
If you can not measure it, you can not improve it. Lord Kelvin
Agenda Tamaño funcional del software: – ¿Qué es? ¿Para qué? COSMIC en GeneXus – Transacciones – GXPatterns Estimación temprana Automatización del método
Tamaño funcional (¿Qué es?) Software Tamaño físico Líneas de código Tamaño funcional IFPUGCOSMIC
Tamaño funcional (¿Para qué?) Estimación de proyectos Medidas de la performance – Equipos de trabajo – Tecnología Control de alcance Valoración de activos de software Control de contratos
Tamaño funcional (PROS) Independientes de la tecnología – Permite la comparación – Independiente de lenguaje – Code generation-insensitive Medición temprana vs. post mortem Métodos estandarizados
IFPUG vs COSMIC IFPUG Más tiempo en la industria (70s) COSMIC Más simple de aplicar Variedad de dominios Sin problemas de escala COSMIC: Common Software Measurement International Consortium
COSMIC Overview UsuariosSoftwareBD Entradas (E)Escrituras (W) Salidas (X)Lecturas (R) Frontera
COSMIC Overview Caso de uso Proceso Funcional 1 EntradaSalida PF2 Entrada…
COSMIC Overview Consiste en contar movimientos de datos – Entry – Read – Write – eXit. Tamaño: E + X + R + W = X CFP Tamaño mínimo de un PF: 2CFP (E + W o X) No hay tamaño máximo.
COSMIC Overview Velocidad de medición: – Entre 50 y 100 CFP/hora por un medidor junior Ejemplo: aplicación de registro a cursos – 14 casos de uso – 10 entidades – 106 CFP
--- X X W W W W R, X
COSMIC (Transacciones) 4CFP + 2CFP (R, X) * #FK + 2CFP (R, X) * fórmulas + 1CFP (W) * nivel Insert INSERT + 2CFP Update UPDATE + 1CFP (R) * IR delete Delete
COSMIC (GXPatterns) 3 CFP 1CFP (R) * (#Atts secundarios de tablas en la extendida) Selection (WW)
COSMIC (GXPatterns) 3 CFP 1CFP (R) * (#Atts secundarios de tablas en la extendida) View (General & Tabs)
COSMIC (GXPatterns) 3 CFP 1CFP (R) * (#Atts secundarios de tablas en la extendida) Prompt
COSMIC (GXPatterns) 3CFP + 1CFP (R) * (#Atts extendida) 1CFP (X) * dato calculado Export (reportes)
Estimación de tamaño Early sizing vs rapid sizing – Tamaño promedio de caso de uso – Clasificación en grupos de tamaño similar Consideraciones: – Elegir la técnica más adecuada Precisión Propósito – Calibrar localmente
Automatización La navegación provee lo necesario: – Independencia de plataforma – Accesos a datos en la extendida – Accesos para inferencia de FK – Modos de invocación de transacciones – Subniveles de transacciones
R R Aplicar fórmulas Automatización
Automatización R R R, X
Conclusiones Tamaño funcional antes que KLOC. Considerar COSMIC cuando no exista una base. Automatizar la medición post mortem, para retroalimentar estimaciones.
Referencias Método COSMIC: – Conferencias relacionadas El rol de mediciones formales en proyectos de tecnología – Sala Victoria, miércoles, hora: 11:45