Post on 20-Jan-2016
description
Medición de Tamaño Funcional CASO ESTUDIO:
Servicio de Mantenimiento
Nelly Condori-FernándezNelly Condori-Fernández nelly@dsic.upv.es
Departamento de Sistemas InformáticosUniversidad Politécnica de Valencia
Aplicación
de RmFFP:
Do
cu
me
nta
ció
n d
el
So
ftw
are
a m
ed
ir
Co
ns
tru
cc
ión
de
lM
od
elo
de
So
ftw
are
a m
ed
ir
Ap
lic
ac
ión
de
la
s R
eg
las
de
Me
dic
ión
MISIÓN DEL SISTEMA
F1 F2 F3
F4 F5
ARF
MODELO DE REQUISITOS
MODELO DE CASOS DE
USO
Proceso de Análisis de RequisitosProceso de Análisis de Requisitos
Diagrama de Secuencias
Modelo de Requisitos OO-Method
Reglas de Mapeo y Diseño del Metamodelo (4.2 y 4.3)
Sub-proceso Cantidad numéricaF(x)
Sub-proceso Cantidad numéricaF(x)
Reglas de Medición (4.5 y 4.3)
SOFTWARE
I/O H
ardw
are
Sto
rage
Har
dwar
e
FRO
NTE
RA
Lectura
Salida
LecturaEntrada
EscrituraSalida
Capa de Software
Basado en
Basado en
Basado en
m
jj
n
ii
funcprocesoTamañoCapa
dedatomovimientoTamañofuncoceso
1
1
)_(
)(_Pr Funciones deAgregación
Documentación del software a medir
Misión del Sistema: “Gestionar de manera automática
las averías que se producen en un hospital así como la gestión del maquinas, personal del servicio, pedidos de piezas y control de gastos”.
F1 F2 F3
F4 F5
ARF
MODELO DE CASOS DE
USO
MODELO DE DIAGRAMAS
DE SECUENCIA
Proceso de Análisis de Requisitos
F1 F2 F3
F4 F5
ARF
MODELO DE CASOS DE
USO
MODELO DE DIAGRAMAS
DE SECUENCIA
Proceso de Análisis de Requisitos
Método de Desarrollo
Árbol de Refinamiento de Funciones
Documentación del software a medir Diagrama de Casos de Uso
Diagramas de Secuencia
Construcción del Modelo de Software
Identificar el propósito de la medición Estimar el tamaño funcional del
Sistema del Servicio de Mantenimiento: Gestión de Averías, el cual será utilizado como una entrada para la estimación del costo de su implementación.
Identificar el alcance de la medición
Punto de vista de la medición es del analista
Identificación de Capas
Las funciones elementales del árbol de refinamiento de funciones pertenecen a un único nivel de abstracción funcional, por lo tanto una sola capa de software es identificada.
Identificación de la Frontera del Software
Aplicando la REGLA 1
Identificación de usuarios
Aplicando la REGLA 2La frontera de todo el sistema de software a medir es la línea imaginaria que hay entre los casos de uso y los usuarios identificados
Identificación de Procesos FuncionalesAplicando la REGLA 3
Los procesos funcionales vienen a ser cada uno de las funciones elementales del árbol de refinamiento de funciones.
Grupo Funcional Sub-Grupo Funcional Función Elemental
Informar Averia Clasificar Averia Asignar Averia Registrar Reparación Rechazar Resolución Eliminar Avería
Gestion de Averias
Gestion de Material Comprobar Material Adquirir Material Registrar material utilizado Cancelar adquisición
Caso de Uso Secundario
Aplicando la REGLA 4
Identificación de los Grupos de Datos
Aplicando la REGLA 5
Identificamos a los actores del principal diagrama de casos de uso: Jefe de servicio de mantenimiento, maestro, operario y usuario afectado.
Aplicando la REGLA 6
Identificamos las diferentes clases existentes en los diagramas de secuencia: Avería, área, orden de trabajo, material, pedido y línea de pedido.
Identificación de Movimientos de Datos
Proceso Funcional: Informar avería
Aplicando la REGLA 8
Los mensajes “Inicia Registro de Avería” e “Introduce
descripción de averia” con el estereotipo <<signal>> y
valor input son identificados como movimientos de dato
tipo ENTRADA.
Aplicando la REGLA 14
El mensaje etiquetado con el estereotipo <<service>>
es identificado como movimiento de dato de tipo
ESCRITURA.
Aplicando la REGLA 16
El mensaje “muestra datos registrados” con el
estereotipo <<signal>> y valor output es identificado
como movimiento de dato tipo SALIDA.
Aplicación de las reglas de medición
Función de Medición
Duplicidad de Movimientos
Los mensajes con el mismo estereotipo signal son considerados como un único movimiento de dato
A cada movimiento de dato identificado se le asigna el valor de 1 Cfsu
Función de AgregaciónAplicando la REGLA 21 para el proceso
funcional Informar Averia sería:
)_()_( movementdataSizeAveriaInformarSize
Size(Informar_Averia) = 3 Cfsu
Identificación de Movimientos de Datos
Proceso Funcional: Registrar Reparación
Entrada
Entrada Escritura
Escritura
Llamada a otro Proceso funcional
Identificación de Movimientos de Datos
Proceso Funcional: Registrar Reparación
Entrada Escritura
Escritura
Llamada a otro Proceso funcional
Identificación de Movimientos de Datos
Proceso Funcional: Eliminar Avería
Entrada
Entrada Lectura
Escritura
Escritura
Identificación de Movimientos de Datos
Proceso Funcional: Eliminar Avería
Entrada
Lectura
Escritura
Escritura
Aplicación de las reglas de mediciónFunción de Medición
A cada movimiento de dato identificado se le asigna el valor de 1 Cfsu
Función de Agregación
Aplicando la REGLA 21 en el proceso funcional Registrar reparación:
)_()_(Re movementdataSizereparacióngistrarSizep
Sizep(Registrar_reparación) = 3 Cfsu
)_()_lim( movementdataSizeaveriainarESize
Size(Eliminar_averia) = 4 Cfsu
)_(Re)_lim()Re_(Re reparacióngistrarSizeaveriainarESizeparacióngistrarSize p
Size(Registrar_Reparación) = 4 + 3Size(Registrar_Reparación) = 7 Cfsu
Aplicando la REGLA 21en el proceso funcional Eliminar avería:
Aplicando la REGLA 23 por la relación de tipo INCLUDE
Aplicación de las reglas de medición
MOVIMIENTOS DE DATOS
PROCESOS FUNCIONALES
Informa Averia 1 0 1 1 3 3Clasificar Averia 2 1 3 1 7 7Asignar Averia 3 4 3 2 12 12Registrar reparación 1 0 2 0 3 4 7Eliminar Averia 1 1 2 0 4Rechazar resolución 1 1 1 0 3 4 7Comprobar material 3 2 1 3 9 5 14Adquirir material 1 1 3 0 5 5Registrar material utilizado 1 1 1 0 3 3Cancelar adquisición 1 1 2 0 4 4
62
Fun
ctio
nal S
ize
CAPA 1
EN
TR
AD
A
LE
CT
UR
A
ES
CR
ITU
RA
SA
LID
A
Siz
e : R
21
Siz
e: R
22,R
23
Función de Agregación
Aplicando la REGLA 25:
10
11 )_()(
iifuncionalprocesoSizeLayerSize
Cfsu
FINFIN