08 diseño estructurado.ppt
TRANSCRIPT
![Page 1: 08 Diseño estructurado.ppt](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/1.jpg)
Diseño estructurado
![Page 2: 08 Diseño estructurado.ppt](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/4.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/6.jpg)
DFD
![Page 7: 08 Diseño estructurado.ppt](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/10.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/15.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/16.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/17.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/18.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/19.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/20.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/25.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/29.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/30.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/32.jpg)
… 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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/35.jpg)
…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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.co/reader035/viewer/2022070414/55cf948f550346f57ba2ce42/html5/thumbnails/41.jpg)
Ejercicios