Documente Academic
Documente Profesional
Documente Cultură
Universidad de Valladolid
Campus de Segovia
______________________
TEMA 9:
CRITERIOS DE CALIDAD
DE DISEO MODULAR
CRITERIOS DE CALIDAD DE
DISEO MODULAR
Conceptos generales
Cohesin y acoplamiento
Balanceado y factorizacin
CRITERIOS DE CALIDAD
POR DATOS
POR ESTAMPADO
POR CONTROL
COMN
No hay parmetros
en la llamada.
B
ACOPLAMIENTO NORMAL.
POR DATOS
Dos mdulos estn acoplados por datos si estn acoplados
normalmente y adems todos los parmetros que se intercambian son
datos elementales sin estructura interna (tipos bsicos).
Producir
Factura
TIPO COCHE
IMPORTE
KILOMETROS ALQUILER
DIAS
Calcular
alquiler
coche
Los datos que se pasan en este ejemplo son bsicos
ACOPLAMIENTO NORMAL.
POR ESTAMPADO
Dos mdulos acoplados normalmente lo estn por
estampado si uno le pasa al otro un dato compuesto (con
estructura interna).
Producir
Factura
REGISTRO
IMPORTE
ALQUILER
ALQUILER
COCHE
Calcular
alquiler
coche
Los datos que se pasan en este ejemplo son compuestos
ACOPLAMIENTO NORMAL.
POR CONTROL
Dos mdulos acoplados normalmente lo estn por control
si uno le pasa al otro un dato con la intencin de controlar
su lgica interna.
Obtener Valores del Flag
transaccin y de Seleccin:
registro 1. Obtiene registro maestro
REGISTRO
2. Obtiene registro transaccin
MAESTRO 3. Obtiene ambos
FLAG DE 4. Imprime cabecera.
SELECCIN REGISTRO
TRANSACCIN
Etc...
Control de
sistema
E/S
El mdulo jefe controla, a travs del dato Flag de seleccin, la
lgica del mdulo subordinado. Si fuera al revs se dice que hay
una inversin de autoridad.
ACOPLAMIENTO NORMAL.
POR CONTROL
Con frecuencia el acoplamiento por control indica la presencia
de algn error de diseo ms grave (Que los mdulos posean
poca cohesin ).
Dentro del acoplamiento por control hay dos tipos de flag:
Flags de control:que intentan controlar la lgica del mdulo que
los recibe.
Flags descriptivos: que revelan cualidades relativas al dato.
A
Flag descriptivo
que no pretende
NOMBRE controlar la lgica
NUMERO del mdulo
CLIENTE NUMERO
CLIENTE INVLIDO
Obtener
nombre
Cliente
TIPO DE INFORMACIN QUE
INTERCAMBIAN MDULOS NORMALMENTE
ACOPLADOS
TIPO DE CONTENIDO
EJEMPLO
INFORMACIN DEL NOMBRE
DATO SIMPLE
Registro cliente
O SUSTANTIVO
Cdigo Postal
ESTRUCTURADO
Calcular suma
Validar campo numrico
Calcular seno del ngulo
COHESIN SECUENCIAL
Un mdulo presenta cohesin secuencial si sus
elementos estn envueltos en tareas, tal que la salida de
una tarea sirve de entrada para la siguiente.
nmero Raiz
Calcular cuadrada
Formatear
raiz
numero
cuadrada
Producir Informe
informe salarios
Tabla salario salario
empleados
Calcular
promedio
salario
Salario
promedio
COHESIN PROCEDURAL
En un mdulo con cohesin procedural los elementos
desarrollan actividades diferentes, posiblemente sin
relacin alguna, tal que el flujo de control fluye de una
actividad a la siguiente.
En estos mdulos las diferentes actividades no comparten
datos, lo nico que las relaciona es el flujo de control.
SON LAS SI
ACTIVIDADES
LGICA
DE LA MISMA
CATEGORA? NO CASUAL
OTROS CRITERIOS
DE DISEO
FACTORIZACIN
SISTEMAS BALANCEADOS
FACTORIZACIN
La factorizacin consiste en la separacin de la funcin
contenida como cdigo dentro de un mdulo, para formar un
nuevo mdulo.
Fa
RAZONES DE USO DE LA
FACTORIZACIN
Reducir el tamao de los mdulos
Clarificacin del sistema obteniendo las ventajas del
diseo descendente
Evitar que una misma funcin este codificada en varios
mdulos
Separar el clculo y el procesamiento de las decisiones
sobre los mdulos.
Crear mdulos reusables.
Simplificar la implementacin.
EJEMPLO DE FACTORIZACIN
E1
E2
S1
CALCULAR
IMPORTE
ARTCULO
E1, E3.- Cdigo artculo
E2, E4.- Cantidad artculo
E1 E5, E8, S2.- Precio de artculo
E6, S3.- Valor artculo
E2
E7, S4.- IVA aplicable
S1 S5.- Precio con IVA
S1.- Importe artculo
CALCULAR
IMPORTE
ARTCULO
E3 E7
E8
S2 E4 S4
E6 S5
E5 S3
OBTENER CALCULAR CALCULAR
CALCULAR
PRECIO VALOR PRECIO CON
VALOR IVA
ARTCULO ARTCULO IVA
CRITERIOS PARA DETENER LA
FACTORIZACIN
FORMATEAR ESCRIBIR
CONSEGUIR VALIDAR
NUEVO NUEVO
TRANSACC. TRANSACC.
REGISTRO REGISTRO
CONSEGUIR
CAMPO
VLIDO
CONSEGUIR EDITAR
CAMPO CAMPO
LEER
LINEA
TERMINAL