Está en la página 1de 10

Diseño de Sistemas Diseño Basado en la Estructura de Datos

DISEÑO DE SISTEMAS BASADO EN LA ESTRUCTURA DE


DATOS

Características sobresalientes
• Derivan el diseño de programas a partir de la estructura de datos que debe
procesarse.
• La estructura de datos afecta el diseño del software tanto en el aspecto estructural
como procedimental.
• Los desarrolladores del diseño orientado a la estructura de datos definen un
conjunto de procedimientos de transformación utilizando la estructura de datos
como guia.

Métodos basados en la estructura de datos


• Construcción Lógica de Programas (CLP) de Warnier.
• Desarrollo de Sistemas Estructurado en Datos (DSED o DSSD) o metodología de
Warnier-Orr.
• Programación Estructurada de Jackson, y Desarrollo de Sistemas de Jackon.

Areas de Aplicación
En general, todas las areas donde se hace uso intensivo de estructuras complejas de datos.
• Aplicaciones de Gestión Comercial intensivas en datos.
• Sistemas Operativos.
• Aplicaciones CAD/CAM/CIM.
• Generadores automáticos de código fuente.
Debido a que los métodos orientados a la estructura de datos proporcionan mecanismos
para la derivación del deseño procedimental detallado, son adecuados para la generación
automática de código fuente.

Comparación de los métodos orientados a la estructura de datos con


las técnicas estructuradas basadas en el flujo de datos
Aspectos comunes
• Ambos enfoques comienzan con pasos de análisis que establecen las bases para el
diseño.
• Ambos están conducidos por la información.
• Ambos intentan transformar la información en una representación del software.
Diferencias
El diseño orientado a la estructura de datos:
• No utiliza DFD

Prof. AUS. Gustavo Torossi Página 1 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

• No da importancia a los flujos transformativos y transaccionales


• No considera explícitamente el concepto de estructura modular
• Los módulos se consideran un subproducto del procedimiento
• No se da mayor importancia a conceptos como acoplamiento y cohesión
• Utiliza diagramas jerárquicos para representar la estructura de datos y del software
que deriva

Consideraciones sobre el proceso de diseño orientado a la estructura


de datos
Cada método proporciona un conjunto de reglas para realizar la transformación de la
estructura de datos en estructura del software. Cada método tiene su propio conjunto de
reglas, pero todos deben:
1) Evaluar las características de la estructura de datos.
2) Representar los datos en términos de formas elementales tales como secuencia,
selección, y repetición.
3) Transformar la representación de la estructura de datos en una jerarquía de control para
el software.
4) Refinar la jerarquía del software utilizando los criterios definidos como parte de un
método.
5) Finalmente, desarrollar la descripción procedimental del software.

En los métodos orientados a la estructura de datos no está clara la división entre los pasos
de diseño arquitectónico y procedimental. Se pasa rápido a la representación procedimental.

Diagramas de Warnier/Orr
Los diagramas de Warnier/Orr son un tipo de diagramas jerárquicos que se utilizan para
describir tanto la organización de datos como de procedimientos.
Hay cuatro construcciones básicas utilizadas en los diagramas de W/O: jerarquía,
secuencia, repetición, y selección. Tambien hay dos conceptos avanzados que
ocacionalmente son necesarios: concurrencia y recursión.

Jerarquía
La jerarquía es la construcción mas importante. Consiste simplemente en un grupo anidado
de conjutnos y subconjuntos representados por un conjunto de llaves anidadas. El siguiente
es un ejemplo de una jerarquía sencilla:

Prof. AUS. Gustavo Torossi Página 2 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Tópico A
Sección 1
Tópico B

Tópico C
Documento Sección 2
Tópico D

Tópico E
Sección 3
Tópico F

Cada llave en el diagrama representa un nivel de la jerarquía.


El diagrama puede ser utilizado para representar una jerarquía de datos, o de
procedimiento.

Ejemplo de diagrama de jerarquía de datos:

Primer Nombre
Nombre Segundo Nombre
Apellido

Registro de
Cliente Calle y nro
Domicilio Ciudad
Codigo Postal
Pais

Ejemplo de diagrama de jerarquía de proceso:

Imprimir Cabecera de listado

Imprimir Imprimir Título


Listado de Página
Clientes Imprimir Cliente

Imprimir pie de pagina

Imprimir Pie de listado

Cada llave puede ser interpretada con la frase “consiste de” o “ está compuesto por”.

Secuencia
La secuencia es la estructura más simple de un diagrama W/O. Dentro de un nivel de una
jerarquía, las características listadas son presentadas en el orden en que ocurren.
Ej:

Prof. AUS. Gustavo Torossi Página 3 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Encontrar un teléfono
Realizar
llamado Levantar el tubo
telefónico
Discar el número

Repetición
La repetición es la representación del clásico loop en términos de programación. Para una
estructura de datos significa que el mismo conjunto de datos se repite muchas veces. Para
una estructura de proceso significa que el mismo conjunto de acciones se repiten muchas
veces.

La repetición es indicada colocando un para ordenado de números entre paréntesis debajo


del conjunto repetitivo.

Archivo de Cliente … etc …


Clientes (1,c)

Típicamente el par de números representa el mínimo y máximo número de veces que ocurre
la repetición, aunque puede representar valores exactos.

Selección
La selección representa una decisión u or exclusivo entre los conjuntos implicados.
Ej.

Auto ..etc…

(+)
Vehículo

Camión ..etc…

(+)

Concurrencia
Es usado siempre que la secuencia no es importante, y ocurren ambas cosas.
Ej.

Prof. AUS. Gustavo Torossi Página 4 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Año ..etc…

+
Calendario

Semana ..etc…

Recursión
La recursión es la menos usada de las construcciones. Se utiliza cuando un conjunto
contiene una versión de si mismo. Se simboliza con una doble llave.

Desarrollo de Sistemas Estructurados en Datos DSED (metodología


Warnier-Orr)
A partir de las especificaciones de requisitos se realiza el diseño lógico y físico.
El diseño lógico se centra en las salidas, en las interfaces, y en el diseño procedimental del
software.
El diseño físico surge del diseño lógico y se centra en el “empaquetamiento” del sw para
conseguir lo mejor posible el rendimiento deseado, la facilidad de mantenimiento, y otras
restricciones impuestas al diseño.

El proceso de diseño lógico puede dividirse en dos actividades:


• Derivación de la estructura lógica de la salida (ELS)
• Derivación de la estructura lógica del proceso (ELP)

Derivación de la ELS
1. Se evalúa la descripción del problema o la información relativa a los requisitos y se
listan todos los elementos de datos diferentes, denominados átomos, que no puedan
subdividirse más.
2. Se especifica la frecuencia de ocurrencia de cada átomo.
3. Se evalúan los elementos de datos compuestos llamados universales. Los
universales son elementos de datos que están compuestos de otros universales y
átomos.
4. Se desarrolla la representación diagramática de la ELS.

Derivación de la ELP
1. Se quitan todos los átomos del diagrama de Warnier.
2. Se añaden los delimitadores BEGIN y END a todos los universales (repeticiones)
3. Se definen todas las instrucciones o procesos de inicialización y terminación (los
begin-end).

Prof. AUS. Gustavo Torossi Página 5 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

4. Se especifican todos los cálculos o procesamientos no numéricos.


5. Se especifican todas las instrucciones y procesos de salida.
6. Se especifican todas las instrucciones y procesos de entrada.

Ejemplo
Se trata de generar un “informe diario de utilización de máquinas herramientas” según el
siguiente layout:

Informe diario de utilización de máquinas herramientas


Fecha __/__/__

Cat.de Herramientas ID Herramientas Estado Nro.Piezas prod.


|CAT.HERRAM|
|IDH| |E| |NUM-PIEZAS|
| | | | | |
| | | | | |
| | | | | |
Total Piezas Categ | |
| |
|___| | | | |
| | | | | |
| | | | | |
| | | | | |
Total Piezas Categ | |

Total Piezas Producidas | |

Derivación de la ELS
Luego de realizar los pasos 1 y 2 (determinación de átomos y frecuencias de los mismos)
obtenemos la siguiente tabla:

Elem.de dato (atómico) Frecuencia Detalles


ENCABEZAMIENTO 1/informe Informe diario de utilizaci ón
FECHA 1/informe Máquinas herramientas
ENCABEZ-COLUMNA 1/informe Categoría de herramientas ID
CAT-HERRAM 1/cat.herram. Herramienta
IDH 1/id-herram
E 1/id-herram
NUM-PIEZAS 1/id-herram
ENCABEZ-SUBTOTAL 1/cat.herram. Total piezas categor ía
TOT-PIEZAS-CAT 1/cat.herram.
ENCABEZ-TOTAL 1/id-herram Total piezaas producidas
TOTAL-FABRIC 1/id-herram

Prof. AUS. Gustavo Torossi Página 6 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Una vez establecidos todos los átomos y sus frecuencias, el diseñador comienza un examen
de universales (paso 3). En el ejemplo los universales serían: informe (ocurre una vez),
categoría-herramientas (ocurre h veces por informe) e id-herramienta (ocurre i veces
por categoría-herramienta).
En base a este análisis se deriva el siguiente diagrama de Warnier (paso 4)

ENCABEZAMIENTO
FECHA CAT-HERRAM
ENCABEZ-COLUMNA IDH

Informe de Herramienta E
Categ.herramientas (1, i)
fabricación
(1, h)
NUM-PIEZAS
ENCABEZ-SUBTOTAL
TOTAL-FABRIC
ENCABEZ-TOTAL
TOTAL-FABRIC

Derivación de la ELP
Pasos 1 y 2, quitar átomos de la ELS y añadir BEGIN y END

.BEGIN
.BEGIN

Informe de .BEGIN
Categ.herramientas Herramienta
fabricación
(1, h) (1, i)
.END

.END
.END

Pasos 3 y 4, definir inicializaciones y terminaciones, y definir cálculos

Prof. AUS. Gustavo Torossi Página 7 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

.BEGIN Poner TOTAL-FABRIC a 0


.BEGIN Poner TOTAL-PIEZAS-
CAT a 0

Informe de
Categ.herramientas Herramienta sumar NUM-PIEZAS a
fabricación TOT-PIEZAS-CAT
(1, h) (1, i)

.END sumar TOT-PIEZAS-CAT


.END a TOTAL-FABRIC

Pasos 5 y 6, especificar instrucciones y procesos de salida, y de entrada.

Mostrar ENCABEZAMIENTO, FECHA


.BEGIN ENCABEZ-COLUMNA
Poner TOTAL-FABRIC a 0
obtener REGISTRO-LOGICO

Mostrar CAT-HERRAM
.BEGIN Poner TOTAL-PIEZAS-CAT a 0

Informe de
Categ.herramientas Herramienta Mostrar IDH, E, NUM-PIEZAS
fabricación (1, h) (1, i) sumar NUM-PIEZAS a TOT-PIEZAS-CAT
obtener REGISTRO-LOGICO

Mostrar ENCABEZ-SUBTOTAL
.END sumar TOT-PIEZAS-CAT a TOTAL-FABRIC
mostrar TOT-PIEZAS-CAT

Mostrar ENCABEZ-TOTAL
.END Mostrar TOTAL-FABRIC

Prof. AUS. Gustavo Torossi Página 8 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Lógica de Procesos Complejos


Ejemplo:
Un negocio de pedidos por correo calcula la cantidad total pagada en pedidos sumando el
coste de todos los artículos pedidos al coste de envío, y restando cualquier descuento. El
coste de envío se determina con la siguiente tabla:

Distancia en Km Peso en Kg. Tarifa


<= 100 <= 50 0.01 x distancia x peso
<= 100 + 50 1.10 x peso
+ 100 <= 50 0.02 x distancia x peso
+ 100 + 50 2.35 x peso

El descuento se determina basándose en la cantidad total de la factura, de acuerdo a la


siguiente tabla:

Total factura en pesos Factor de descuento en %


< 10.000 0
< 50.000 1
>= 50.000 2

Modelo del Proceso

Prof. AUS. Gustavo Torossi Página 9 de 10


Diseño de Sistemas Diseño Basado en la Estructura de Datos

Costo unidad
Total [+] Costo artículo [X]
Factura (1,i) Cantidad

[+] Ligero 0.01 x distancia x peso


/?3
Local
/?1 (+)

Pesado 1.10 x peso


/?4
Pago Envío
Total Ligero 0.02 x distancia x peso
/?3
Larga distancia
/?2 (+)

Pesado 2.35 x peso


[-] /?4

Tota Factura
0%
[X] /?5
Descuento
Factor 1%
/?6

2%
/?7

Comentarios:
?1/ Si distancia <= 100 km
?2/ Si distancia > 100 km
?3/ Si peso <= 50 kg
?4/ Si peso > 50 kg
?5/ Si total factura < 10000 pesos
?6/ Si total factura < 50000 pesos
?7/ Si total factura >= 50000 pesos

Prof. AUS. Gustavo Torossi Página 10 de 10

También podría gustarte