Tema 4: Estrategias para derivar el Diagrama de Estructura

Texto completo

(1)

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.

(2)

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.).

(3)

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.

(4)

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

(5)

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.

(6)

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>

(7)

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

(8)

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 de

transacciones.

ƒ

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.

(9)

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

(10)

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.

(11)

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

(12)

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.

(13)

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

(14)

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.

(15)

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

(16)

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

(17)

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 Líneanea

Campo 1 Campo 1

Campo 2

Campo 2 Campo 7Campo 7

Campo

Campo ValidoValido11 Campo Campo ValidoValido22 Campo Campo ValidoValido77

Registro

Registro RegistroRegistroVá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 í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álidolido

1 Separar en

Campos Validar

Campo 1

Validar Campo 2

Validar Campo 7 Formar

Registro Validar Registro

Leer Línea

(18)

FI-UPV 35

Tratamiento de bifurcaciones en ramas de entrada y salida

Campo Campo ValidoValido77 Registro

Registro Registro RegistroVálidolido

Validar Campo 1

Validar Campo 7 Formar

Registro Validar Registro

Separar en Campos

Leer Línea 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 RegistroVálidolido

Validar Campo 1

Validar Campo 7 Formar

Registro Obtener Registro

Válido

Separar en Campos

Leer Línea 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

(19)

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

Conclusiones

ƒ

El análisis de transacciones separa el sistema en transacciones independientes.

ƒ

Cada transacción es transformada en un diagrama de estructura mediante análisis de transformaciones.

ƒ

El último paso es aplicar análisis de transacciones de nuevo para juntar en un único diagrama de estructura los diagramas individualmente obtenidos.

ƒ

El análisis de transformaciones no es un procedimiento algorítmico.

Figure

Actualización...

Referencias

Actualización...

Related subjects :