Tema 4:
Estrategias para derivar el Diagrama de Estructura
Metodología y Tecnología de la Programación DSIC – UPV
Facultad de Informática
FI-UPV 2
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Objetivos
Aprender a identificar las distintas transacciones existentes en un DFD.
Estudiar las distintas técnicas de obtención de un Diagrama de Estructura a partir de una transacción en un DFD.
Aprender a derivar un diagrama de estructura de manera eficiente y que cumpla con las guías de diseño.FI-UPV 3
Contenido
Introducción.
Análisis de Transacciones.
Análisis de Transformaciones.
Reconstrucción del sistema.
Realización de ejercicios.
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Bibliografía
Bibliografía básica:y
Metodología y Tecnología de la Programación. Capítulo 8. SPUPV- 97.498, 1997.y
Boletín de cuestiones y problemas.y
Ejercicios Solucionados de Metodología y Tecnología de la Programación. SPUPV-97.960, 1997.
Bibliografía complementaria:y
The Practical Guide to Structured System Design. M. Page-Jones.Prentice Hall, 1988.
y
Ingeniería del Software. R. Pressman. McGraw Hill, 1993 (3ª ed.) y 1997 (4ª ed.).FI-UPV 5
Introducción
El Diseño Estructurado suministra un procedimiento de transformación que permite pasar de un DFD con un sólo tipo de transacción a un DE.
El DE obtenido puede refinarse posteriormente usando cohesión, acoplamiento y las guías adicionales de diseño (Tema 8).FI-UPV 6
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Introducción
¿Cuál es la entrada?y
DFDs.y
Diccionario de Datos.y
Especificaciones de Procesos.
¿Cuál es la salida?y
Diagramas de Estructura.FI-UPV 7
Introducción
El procedimiento consta de dos estrategias: análisis de transacciones y análisis de transformaciones que se aplican en el siguiente orden:y
Análisis de Transacciones: Para determinar el número de transacciones que posee el DFD.y
Análisis de Transformaciones: A partir de una transacción (DFD) produce el DE correspondiente.y
Análisis de Transacciones: Componer el DE final a partir de los DEs derivados en cada transacción.MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Introducción
Diagramas
Diagramasde Flujode Flujode de DatosDatos Diccionario
Diccionariode de DatosDatos Especificaci
Especificacióónnde Procesosde Procesos AN
ANÁÁLISIS DE LISIS DE TRANSACCIONES TRANSACCIONES
ANANÁÁLISIS DE LISIS DE TRANSFORMACIONES TRANSFORMACIONES
AN
ANÁÁLISIS DE LISIS DE TRANSACCIONES TRANSACCIONES ENTRADA
ENTRADA
SALIDA SALIDA
S S
T1
T? T1 Tn
FI-UPV 9
Análisis de Transacciones
Transacción:Estímulo a un sistema que dispara o activa dentro de él un conjunto de actividades.
Una Transacción tiene los siguientes componentes:y
EVENTOen el entorno del sistema.y
ESTIMULOal sistema que activa la transacción.y
ACTIVIDADdel sistema como operaciones por la ocurrencia de la transacción.y
RESPUESTAdel sistema al entorno por la ocurrencia de la transacción.y
EFECTOsobre el entorno del sistema.FI-UPV 10
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Análisis de Transacciones
Ejemplo Sistema de Pedidos:y
EVENTO: Una persona decide comprar cierta cantidad de un producto determinado.y
ESTÍMULO: Se recibe un pedido de esa persona.y
ACTIVIDAD: Se prepara el pedido (comprobación de existencias, creación de la factura, del albarán,...).y
RESPUESTA: Se envía el pedido y la factura al cliente.y
EFECTO: El cliente pasa a tener una deuda por el valor de la factura.FI-UPV 11
Análisis de Transacciones
Las distintas transacciones se pueden identificar considerando los estímulos que llegan al sistema.DEPARTAMENTO SERVICIO A
CLIENTES
REALIZAR VENTA
REALIZAR DEVOLUCION
ADMITIR PAGO DATOS VENTA
DATOS DEVOLUCIÓN
DATOS PAGO
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Análisis de Transacciones
Se supone asociada una pantalla de selección de transacción:Pulse Código de Transacción
Código Transacción
1 Realizar Venta
2 Realizar Devolución
3 Admitir Pago
4 Salir
Introduzca Código>FI-UPV 13
Análisis de Transacciones
Para determinar los tipos de transacciones en un sistema es habitual considerar el Diagrama de Contexto.Departamento Ventas
Departamento Recepcion
Departamento Embarque
Departamento Finanzas
Departamento Compras
Departamento Embarque
Departamento Correo Sistema
de Pedidos Orden Compra Cliente
Deficit Piezas
Albaran Cliente Llegada
Piezas
Notificacion Envio Cliente
Pago Cliente
Factura Cliente
Informacion Cliente
FI-UPV 14
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Análisis de Transacciones
Se distinguen 5 transacciones.DEPARTAMENTO
DE VENTAS DEPARTAMENTO
DE COMPRAS
DEPARTAMENTO DE RECEPCION
DEPARTAMENTO DE ENVIOS
DEPARTAMENTO DE ENVIOS
DEPARTAMENTO DE CORREOS
DEPARTAMENTO
DE FINANZAS SISTEMA
OPERATIVO 1 Llenar
Orden Compra Cliente
2 Almacenar
Llegada Piezas
O.C. CLIENTE ITEM O. C. CLIENTE LINEA EN ESPERA
TIPO PIEZA
TIPO PIEZA ENVIO CLIENTE ITEM ENVIO CLIENTE
FACTURA CLIENTE
CLIENTE
PAGO CLIENTE 3
Almacenar Envio Cliente
4 Aceptar
Pago Cliente
5 Enviar Informe Cliente
Orden Compra Cliente Deficit Piezas
Albaran
Llegada Piezas
Albaran
Notificacion Envio
Impreso Factura Cliente
Datos Pago Cliente
Tiempo para Enviar Informe
Informe Cliente
FI-UPV 15
Análisis de Transformaciones
Estrategia que propone el Diseño Estructurado para convertir en un DE cada DFD en forma de transacción proveniente del análisis detransacciones.
Pasos:y
Identificar las funciones centrales del DFD (también llamadatransformación central).y
Obtener el primer corte del DE.y
Refinar el DE mediante los criterios de diseño y las guías adicionales.y
Comprobar que el DE verifica los requerimientos del DFD inicial.
La Transformación Centrales la parte del DFD con las funciones esenciales e independiente de implementaciones particulares de la entrada/salida.MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Identificar la Transformación Central
Cada rama de entrada de datos (rama aferente) se rastrea desde el exterior hacia el interior del DFD y se marca el flujo de datos a la entrada en su forma esencial (dato lógico y validado).y
Procesos de lectura, edición y validación de datos de entrada.
Cada rama de salida de información (rama eferente) se rastrea desde el exterior hacia el interior del DFD y se marca el flujo de datos a la salida en su forma esencial (dato lógico y no formateado).y
Procesos de preparación y formateo de la información de salida y de emisión de dicha información (impresión, visualización, actualización de archivos, ...).
Los procesos que quedan incluidos dentro de los flujos anteriores representan la Transformación Central.y
Procesos de cálculo, transformación de datos y generación de nueva información.FI-UPV 17
Identificar la Transformación Central
1 1 Obtener
Campo Valido
2 Formar Registro
3 Validar Transaccion
4 4 Valida Registro Maestro
5 Empareja Transaccion
y Registro
6 Formatear
Registro Maestro
7 Actualiza Registro Maestro
8 Formatea
Linea Informe CAMPO
CAMPO CAMPO CAMPO VALIDO VALIDO
REGISTRO REGISTRO TRANSACCION TRANSACCION
TRANSACCION TRANSACCION
VALIDA VALIDA REGISTRO MAESTRO
REGISTRO MAESTRO VALIDO VALIDO REGISTRO
REGISTRO MAESTRO MAESTRO
REGISTRO NO REGISTRO NO EMPAREJADO EMPAREJADO
REGISTRO REGISTRO MAESTRO MAESTRO FORMATEADO
FORMATEADO REGISTRO MAESTROREGISTRO MAESTRO ACTUALIZADO ACTUALIZADO
REGISTRO REGISTRO TRANSACCION TRANSACCION REGISTRO REGISTRO TRANSACCION + TRANSACCION + REGISTRO MAESTRO REGISTRO MAESTRO
LINEA INFORME LINEA INFORME RECHAZO
RECHAZO RECHAZORECHAZO
RECHAZO RECHAZO
FI-UPV 18
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Identificar la Transformación Central
1 1 Obtener
Campo Valido
2 Formar Registro
3 Validar Transaccion
4 4 Valida Registro Maestro
5 Empareja Transaccion
y Registro
6 Formatear
Registro Maestro
7 Actualiza Registro Maestro
8 Formatea
Linea Informe CAMPO
CAMPO CAMPO CAMPO VALIDO VALIDO
REGISTRO REGISTRO TRANSACCION TRANSACCION
TRANSACCION TRANSACCION
VALIDA VALIDA REGISTRO MAESTRO
REGISTRO MAESTRO VALIDO VALIDO REGISTRO
REGISTRO MAESTRO MAESTRO
REGISTRO NO REGISTRO NO EMPAREJADO EMPAREJADO
REGISTRO REGISTRO MAESTRO MAESTRO FORMATEADO
FORMATEADO REGISTRO MAESTROREGISTRO MAESTRO ACTUALIZADO ACTUALIZADO
REGISTRO REGISTRO TRANSACCION TRANSACCION REGISTRO REGISTRO TRANSACCION + TRANSACCION + REGISTRO MAESTRO REGISTRO MAESTRO
LINEA INFORME LINEA INFORME RECHAZO
RECHAZO RECHAZORECHAZO
RECHAZO RECHAZO
FI-UPV 19
Primer Corte del DE
Se pretende una versión inicial del DE.
Se obtiene directamente del DFD.
Necesita de modificaciones posteriores.
Dos aproximaciones para obtener el primer corte:y
Promover un Jefe.y
Alquilar un Jefe.MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Promover un Jefe
Se busca un proceso en la Transformación Central que cumpla las siguientes condiciones:y
Debe hacer poco trabajo.y
Debe coordinar el trabajo del resto de procesos de la transformación central.y
Debe encontrarse en un lugar geométrico apropiado.
Tras seleccionarlo, se “tira” del proceso hacia arriba manteniendo la estructura del DFD.FI-UPV 21
Promover un Jefe: escoger un proceso jefe
B C F H
E I
J
aa bb cc ff
g
g hh
i i
j j dd
Candidato Candidatoa jefea jefe
ee
FI-UPV 22
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Promover un Jefe: tirar del jefe hacia arriba
B
C
F
H
E
I
J aa
b b
cc ff
g
g hh
i i
jj d
d
ee
FI-UPV 23
Promover un Jefe: sustituir procesos por módulos
SISTEMA COMPLETO
CONSEGUIR C
CONSEGUIR B
LEER A
CONSEGUIR E
LEER D
PONER I
ESCRIBIR J bb
a a
cc
ee
dd
jj PONER
F
PONER G o H
i i f f
g g
h
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Alquilar un Jefe
Cuando no se encuentra un buen proceso candidato a jefe entonces se alquila un jefe.
Alquilar un jefe implica añadir un nuevo proceso que se convierte en el raíz del DE.
Del jefe alquilado se cuelgan las ramas de entrada de y salida.
Se añade además una rama que representa a la Transformación Central (TC). Todos los procesos de la TC se colocan al mismo nivel.FI-UPV 25
Alquilar un Jefe
B
C
a E
a
bb
cc
d d
ee
Jefe Jefe Alquilado Alquilado
J
ii
j j
Transf Transf.. Central Central
F I H
c c ee
ii
cc
ee g g
f f
i i
g g
h h
ff hh
FI-UPV 26
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Alquilar un Jefe
SISTEMA COMPLETO
CONSEGUIR C
CONSEGUIR B
LEER A
CONSEGUIR E
LEER D
TRANSFORM.
CENTRAL
CALCULAR F Y G
CALCULAR I
CALCULAR H
PONER I
ESCRIBIR J b
a
c
e
d
c
e i
i
j
f
g e
c i
g
h
f h
FI-UPV 27
Revisión del Primer Corte
Añadir módulos de lectura y escritura para acceder a almacenes de datosy entidades externas.
Factorizar y reorganizar las ramas aferentes y eferentes del sistema.
Añadir el tratamiento de errores.
Añadir detalles de inicialización y/o terminación.
Comprobar que los módulos tienen nombres que se corresponden con su posición en la jerarquía.
Añadir los flags necesarios (fin de fichero, etc.).
Verificar cohesión, acoplamiento y guías de diseño.MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Sobre el Análisis de Transformaciones
El proceso de transformación conlleva dos pasos subjetivos:y
Determinación de los límites de la transformación central.y
Elección de la aproximación para obtener un jefe (promoción o alquiler).
Un error en los límites no influye en el resultado obtenido normalmente.
La elección equivocada de jefe determina notablemente la calidad del diseño final (p.e. aparece inversión de autoridad).
Es útil intuir el código asociado a cada módulo y verificar si el DE funciona.
Se debe hacer una revisión con los analistas para verificar el diseño obtenido.FI-UPV 29
Cuestiones sobre el Análisis de Transformaciones
¿Qué debe hacerse si nos equivocamos al promover una burbuja a jefe?Hay que observar las disgregaciones en la decisión y explorar las distintas posibilidades antes de elegir una de ellas.
FI-UPV 30
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Cuestiones sobre el Análisis de Transformaciones
¿Cómo factorizar la transformación central u otra parte del sistema?
1 Calcular Retenciones
Rango de Retenciones
ID Empleado + Cantidades de Pago ID Empleado + Pago Bruto
ID Empleado + Pago Neto
Calcular Retenciones ID Empleado + Pago Bruto
Rango de Retenciones
ID Empleado + Pago Neto ID Empleado + Cantidades de Pago
Cantidadades Pago = Pago Bruto + Pago Neto + Impuesto Federarl + Impuesto Estatal + Impuesto Local
FI-UPV 31
Descomposición por niveles
1.1 1.1 Calcular Impuesto Federal
1.2 Calcular Impuesto Estatal
1.3 Calcular Impuesto Local
1.4 Calcular
Pago Neto
1.5 Generar Cantidades
de Pago Tabla
TablaRetencionesRetenciones
Tabla
TablaRetencionesRetenciones Impuesto
ImpuestoFederalFederal
ID
ID EmpleadoEmpleado+ + Pago Pago BrutoBruto
ID
ID EmpleadoEmpleado++ Pago Pago NetoNeto
Impuesto ImpuestoEstatalEstatal Impuesto
ImpuestoFederalFederal
Impuesto ImpuestoEstatalEstatal
Impuesto ImpuestoLocalLocal
ID EmpleadoID Empleado++ Pago Pago NetoNeto ID
ID EmpleadoEmpleado+ + Pago
Pago BrutoBruto RangoRangoFederalFederal
ID ID EmpleadoEmpleado+ + Pago
Pago BrutoBruto ID ID EmpleadoEmpleado+ + Pago Pago BrutoBruto Rango
RangoEstatalEstatal
Rango RangoLocalLocal
Pago
Pago BrutoBruto ID ID EmpleadoEmpleado++ Cantidades CantidadesPagoPago
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Descomposición por niveles
Calcular Retenciones ID
ID EmpleadoEmpleado CantidadesCantidadesde Pagode Pago Pago
Pago BrutoBruto
Obtener Rango de Retenciones
Calcular Impuesto Federal
Calcular Impuesto Estatal
Calcular Impuesto Local
Calcular Pago Neto ID
ID EmpleadoEmpleado Rango
RangoRetencionesRetenciones
Rango RangoFederalFederal
Pago Pago BrutoBruto
Impuesto ImpuestoFederalFederal
Impuesto ImpuestoEstatalEstatal Pago
Pago BrutoBruto Rango
RangoEstatalEstatal ImpuestoImpuestoLocalLocal Pago
Pago BrutoBruto Rango RangoLocalLocal Pago
Pago NetoNeto
Impuesto ImpuestoFedreralFedreral
Impuesto ImpuestoEstatalEstatal
Impuesto ImpuestoLocalLocal
Pago Pago BrutoBruto
FI-UPV 33
Tratamiento de bifurcaciones en ramas de entrada y salida
1 Separar en
Campos
2 Validar Campo 1
3 Validar Campo 2
4 Validar Campo 7
5 Formar
Registro 6
Validar
Registro 7
Transf.
Central LLííneanea
Campo 1 Campo 1
Campo 2
Campo 2 Campo 7Campo 7
Campo
Campo ValidoValido11 Campo Campo ValidoValido22 Campo Campo ValidoValido77
Registro
Registro RegistroRegistroVVáálidolido Rechazo
Rechazo
Rechazo Rechazo
Rechazo Rechazo
Rechazo Rechazo
FI-UPV 34
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Tratamiento de bifurcaciones en ramas de entrada y salida
L Lííneanea Campo 1
Campo 1 Campo 2Campo 2
Campo 7 Campo 7 Campo
Campo ValidoValido11
Campo Campo ValidoValido77 Campo
Campo ValidoValido22 Registro
Registro Registro RegistroVáVálidolido
1 Separar en
Campos Validar
Campo 1
Validar Campo 2
Validar Campo 7 Formar
Registro Validar Registro
Leer Línea
FI-UPV 35
Tratamiento de bifurcaciones en ramas de entrada y salida
Campo Campo ValidoValido77 Registro
Registro Registro RegistroVáVálidolido
Validar Campo 1
Validar Campo 7 Formar
Registro Validar Registro
Separar en Campos
Leer Línea L Lííneanea
Campo + Num Campo Campo + Num Campo
Campo 1
Campo 1 Campo Campo ValidoValido11 ...
...
Campo 7 Campo 7
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura
Tratamiento de bifurcaciones en ramas de entrada y salida
Campo Campo ValidoValido77 Registro
Registro Registro RegistroVVáálidolido
Validar Campo 1
Validar Campo 7 Formar
Registro Obtener Registro
Válido
Separar en Campos
Leer Línea L Lííneanea
Campo + Num Campo Campo + Num Campo
Campo 1
Campo 1 Campo Campo ValidoValido11 ...
...
Campo 7 Campo 7
Validar Registro Registro
Registro
E
E Num Error Num Error
Num Error Num Error
Es Es ValidaValida
E
Escribir Error Num Error Num Error Fin ProcesoFin Proceso
Fin Fin ProcesoProceso
Fin Fin ProcesoProceso Fin Fin ProcesoProceso
FI-UPV 37
Reconstrucción del Sistema
Realizar Venta
Admitir Pago Gestion
Ventas
Obtener Codigo Transacción Codigo
CodigoTransaccionTransaccion
Realizar Devolucion
FI-UPV 38
MTP Tema 4: Estrategias para derivar el Diagrama de Estructura