08 Diseño estructurado.ppt

41
Diseño estructurado

Transcript of 08 Diseño estructurado.ppt

Page 1: 08 Diseño estructurado.ppt

Diseño estructurado

Page 2: 08 Diseño estructurado.ppt

Objetivos

Disminuir costos de construcción: a través de diseños simples de comprender, flexibles a cambios, eficientes en su operación y fáciles de construir

Abaratar costos de construcción; a través de reutilización de código

Page 3: 08 Diseño estructurado.ppt

Diseño estructurado

Técnicas top- down: se particiona el sistema como una jerarquía de módulos o subsistemas que pueden concebirse en forma independiente.

Ventajas: Simplifica la construcción (decisiones

internas no dependen de otros módulos) Simplifica las pruebas Simplifica la evolución

Page 4: 08 Diseño estructurado.ppt

…diseño estructurado

Se basa en diagramas Herramientas:

Diagramas E-R (Entidad Relación) DFD (Diagrama de Flujo de Datos,

Dataflow diagram) Diccionario de Datos Diagramas de Transición de Estados

(STD, State Transition Diagram)

Page 5: 08 Diseño estructurado.ppt

Diagrama E/R

Representa el nivel de DATOS del sistema, en base a entidades relacionadas. Ejemplo:

AUTOR ESCRIBE LIBRO

Page 6: 08 Diseño estructurado.ppt

DFD

Page 7: 08 Diseño estructurado.ppt

DFD

Visión general de las funciones y transformaciones de datos en una organización

Modelo lógico y gráfico del sistema Identifica entradas, salidas, procesos y

relaciones con el exterior ...a nivel general ...por refinamiento, a nivel detallado

Page 8: 08 Diseño estructurado.ppt

DFDP

Proceso

Entidad Externa

D ALMACÉN DE DATOS

Flujo de eventos

Flujo de datos

Transformaciones o procesos (funciones, cálculo, selección)

Terminadores (Fuentes o Destinos)(personas, entidades)

Flujos de información(inputs-outputs)

Flujos de control (Ward & Mellor 85)

Archivos o depósitos temporales de información (base de datos, cajonera, archivador, etc.)

Page 9: 08 Diseño estructurado.ppt

Procesos

TRANSFORMACIÓN (cálculo, operación)

FILTRO(verificación fecha, validación transacción)

DISTRIBUCIÓN(menú, selección transacción)

P

TransformaciónUn consejo: simplicidad!

E2

E3

E1

S2

S1

Page 10: 08 Diseño estructurado.ppt

…procesos

Nombres únicos, significativos y concisos Preferiblemente expresados en función de

las entradas y salidas Recomendación:

verbo (no ambiguo) + objeto Evitar verbos ambiguos

procesar, gestionar, manejar... “objeto” está definido en el DD

Los procesos se descomponen en “subprocesos”, hasta llegar a los procesos primitivos

Page 11: 08 Diseño estructurado.ppt

Diagrama de contexto

Es el DFD más general de todos Está formado por un solo

macroproceso (el sistema), las entidades externas (fuentes y destinos) y sus relaciones con el macroproceso

Delimita el sistema y su entorno

Page 12: 08 Diseño estructurado.ppt

Entidades externasSeñalan los límites del sistema y establecen sus relaciones con el entorno

P

Sistema

DESTINO

DESTINO

DESTINO

FUENTE

FUENTE

FUENTE

Los identificadores (nombres) de las entidades externas serán únicos, significativos y concisos

Page 13: 08 Diseño estructurado.ppt

Límites del sistemaActividad crítica y difícilPuede haber problemas,tanto por ser demasiado ambicioso, como poco ambicioso

PSistema

de pedidos

Facturación

Gestión de caja

(pagos)

Gestión del

almacén

Información sobre el crédito

Entorno

Entorno

Page 14: 08 Diseño estructurado.ppt

Flujo de datos

Los nombres de los FD deben ser únicos, significativos y concisos

Son datos, así es que hay que nombrarlos como datos.

Pueden estar indistintamente en singular o en plural, ya que en los DFDs no se representan cantidades

Los nombres no sirven sólo para identificar los datos, sino también la información que se tiene sobre ellos

P.ej. Información (fecha-válida) > Información (fecha)

Page 15: 08 Diseño estructurado.ppt

…flujo de datos Flujos de datos interactivos (dialog flows)

Cuando dos FD establecen un diálogo o comparten una acción de estímulo-respuesta, pueden dibujarse como un único FD de doble flecha, donde ambos extremos deben llevar el nombre del FD que representan.

PDeterminar

estado pedido respuesta estado pedido

petición estado pedido

denegacióncrédito

PAnalizarPeticióncrédito

PAceptar pago solicitud crédito

autorización crédito

recibo

pago

Page 16: 08 Diseño estructurado.ppt

…flujos de datos Las flechas dobles con sentidos opuestos

que transportan los mismos datos pueden sustituirse por flechas doblemente encabezadas¡Pero sólo si transportan los mismos datos!

PB

PA

X

X

PA

PB

X

Page 17: 08 Diseño estructurado.ppt

…flujos de datosSe pueden considerar flechas convergentes o divergentes, con un mismo nombre

PB

PA

número de cuenta

PValidar

calle

PValidar

cod postal

PValidarTelef.

calle

dirección clicod postal

telef

Observaciones:

Sólo los procesos pueden separar FD

Page 18: 08 Diseño estructurado.ppt

…flujos de datosNotación System Architect. Ejemplos

FD divergentes (conectores XOR y AND)

PImprimir facturacliente

PImprimir

lista empaquetado

PDeterminarprods.para

enviar XORcuando los datos son

divididos en subconjuntos

datos de facturación

datos de empaquetadodatos de envío

PDeterminar prescripción

PRellenar

prescripción

PActualizar

registropaciente

ANDcuando todos los datos

siguen por ambos caminos

prescripción

Page 19: 08 Diseño estructurado.ppt

…flujos de datosNotación System Architect. Ejemplos

FD convergentes (conectores XOR y AND)

PAceptar pago

en efectivo

PTransferir

pago

PAceptar pago

a crédito

XOR cuando los mismos

datos provienen decualquier dirección

datos de pago

PConfirmar

historial de crédito

PConcedertarjeta de

crédito

PConfirmar

empleo

ANDcuando los subconjuntosson combinados en uno

historial de empleo

historial de crédito

historia combinada

Page 20: 08 Diseño estructurado.ppt

…flujos de datos

No lo sabemos, no importa: Los aspectos procedurales no se manifiestan

en los DFDs Si tales aspectos son relevantes, se deben

incluir en las miniespecificaciones

¿El proceso “pide” el FD “pedido”?

¿El proceso “necesita” ambos FD?

PEvaluar pedido

criterios valoración

pedido

Page 21: 08 Diseño estructurado.ppt

Flujos de control

En los DFDs no se muestra el control ni el orden de ejecución

No se puede mostrar: Procesos que se realizan antes que otros Sincronización Periodicidad

Page 22: 08 Diseño estructurado.ppt

Almacenes de datos Nombre único, significativo y conciso Convenciones de nombres en los FD

hacia/desde un almacén: No lleva etiqueta. El FD se refiere a un paquete

(instancia) completo de la información contenida en el almacén

La etiqueta es la misma que la del almacén. El FD se refiere a uno o más paquetes completos (instancias) de la información contenida en el almacén

La etiqueta es distinta de la del almacén. El FD se refiere a uno o más componentes (atributos) de una o más instancias del almacén

Page 23: 08 Diseño estructurado.ppt

Consistencia dfd-er Para facilitar validaciones cruzadas entre DFDs

y E-R ...

Correspondencia entre los almacenes de datos “principales” (permanentes) del DFD y las entidades del E-RCada almacén de un DFD representa

una o varias entidades del E-RCada entidad del E-R pertenece a un

único almacén principal de un DFD

Page 24: 08 Diseño estructurado.ppt

Descomposición funcional

Cada proceso se puede explotar, refinar o descomponer en un DFD más detallado

El DFD de un sistema es realmente un conjunto de DFDs dispuestos jerárquicamente

Los niveles de la jerarquía están determinados por la descomposición funcional de los procesos

La raíz de la jerarquía es el “diagrama de contexto”, que es el más general de todos

Page 25: 08 Diseño estructurado.ppt

…descomposición funcional

Pf5

Pf4

Pf3

Pf2

Pf1

B

Z

Y

X

W

V

A

Pf45

Pf44

Pf43

Pf42

Pf41

Z

y2

x2

y1

x1

Y

X

PSist

B

AFUENTE

DESTINO

Page 26: 08 Diseño estructurado.ppt

Consistencia en el DFD

Cada proceso en un diagrama “padre” es una consolidación del DFD “hijo”

Balanceo de DFDs Las E/S de un proceso “padre” deben

corresponderse con las E/S del DFD “hijo” que lo explica

Excepciones: errores y salidas triviales

Page 27: 08 Diseño estructurado.ppt

Descomposición paralela

Descomposiciones de funciones Proceso en subprocesos (DFD)

Descomposición de flujos de datos La regla de balanceo se aplica

teniendo en cuenta la descomposición paralela

Page 28: 08 Diseño estructurado.ppt

Jerarquía de DFD’s

En un DFD completo cada proceso tiene un número único que lo identifica en función de su situación en la jerarquía

Cada DFD tiene también un número único que coincide con el proceso que describe

Las hojas o nodos terminales corresponden a “procesos primitivos” o indescomponibles

Para cada proceso primitivo existirá una miniespecificación.

Page 29: 08 Diseño estructurado.ppt

…jerarquía de DFD’sP 1.2

Proceso A

B

A

P 1.2.3f3

P 1.2.1f1

Y

W

V

A

X

P 1.2.2f2

DFD 1.2

Page 30: 08 Diseño estructurado.ppt

…jerarquía de DFD’s

El primer diagrama general que sigue al de contexto es el número 0 por convenio

En el DFD 0 se hace una descomposición en subsistemas, es decir, se indican los procesos más importantes en el sistema

Page 31: 08 Diseño estructurado.ppt

Descomposición funcional y almacenes de datos

Los almacenes aparecen lo más tarde posible

En un nivel superior únicamente cuando son interfaz entre procesos

Una vez que aparezca en un DFD, el almacén aparecerá otra vez en cada DFD de nivel más bajo relacionado

Page 32: 08 Diseño estructurado.ppt

… Descomposición funcional y almacenes de datos

PB

PA

D FICH

PA.2

PA.1

D FICH

PB.2

PB.1

D FICH

Page 33: 08 Diseño estructurado.ppt

Tamaño de la jerarquía de DFDs

Cada DFD debería tener alrededor de 7 procesos o menos

En general, habrá varios niveles intermedios, dependiendo del tamaño y complejidad del sistema que se está modelando

¿Cuántos niveles son convenientes?Yourdon: depende del problema

Diagrama de contexto / sistemaDiagrama de subsistemasDiagrama de funcionesDiagrama de subfuncionesDiagrama de procesos (opcional)

Métrica

Page 34: 08 Diseño estructurado.ppt

Reglas sintácticas en DFDs El origen y/o el destino de un FD es

siempre un proceso Excepción: almacenes en el diagrama de contexto

P

SIST. DEINVESTIG. DEMERCADOS

CENTROS DEINVESTIGACIÓN

CLIENTE

CLIENTESCORPORATIVOS

D DATOS DELMERCADO

informes anuales

datos de investigación

datos del mercado

datos del mercado

Page 35: 08 Diseño estructurado.ppt

…Reglas sintácticas en DFDs

Regla de Balanceo

Todo almacén y todo proceso tienen uno o más FD de E y uno o más FD de S EXCEPCIÓN: un almacén puede no tener FD de

salida, por simplificación (p.ej. BD Histórica) RECOMENDACIÓN: si aparece un proceso

fuente o sumidero, replantearse los límites del sistema

P

Sumidero

PFuente

Page 36: 08 Diseño estructurado.ppt

conclusiones

Valiosa herramienta de comunicación Usuario, analista, diseñador,

programador Se puede combinar con el uso de

prototipos Fácil de entender y de aprender Facilita las relaciones con el usuario Amplia difusión

Page 37: 08 Diseño estructurado.ppt

conclusiones

Útil para el análisis y para el diseño del nuevo sistema

Más adecuado para el nivel lógico, aunque también puede ser adecuado para el nivel físico (indicando personas concretas, lugares geográficos, formatos de datos, etc.)

Page 38: 08 Diseño estructurado.ppt

Ejemplo

Sistema de distribución sin inventario

“Se trata de un sistema que sirve pedidos de libros a sus clientes, con la particularidad de que no mantiene un stock o inventario interno. El sistema puede agrupar los pedidos que clientes distintos hacen a un mismo editor, de manera que se puedan conseguir descuentos.”

Page 39: 08 Diseño estructurado.ppt

Diagrama de contexto

Análisis de los procesos del sistema

0. Sistema de

Pedidos EDITOR

libros entregados

pedidosCLIENTE

órdenes de compra

libros pedidos

Aplicamos la visión sistémica

Page 40: 08 Diseño estructurado.ppt

0. Sistema de pedidos

1.Verificar validez

de pedido

pedidos

2.Armar

pedidos a editores

pedidos en lote

3.Verificar

envíode editores

libros pedidos

4.Asignar libros a pedidos

5.Armar entrega

a clientes

pedidos por título

libros recibidos

libros por clientes

D CLIENTES

estado del crédito

dirección

D LIBROS

libros entregados

pedidos válidos

D PEDIDOS PENDIENTES

órdenes de compra

D ÓRDENES DE COMPRA

Page 41: 08 Diseño estructurado.ppt

Ejercicios