Está en la página 1de 15

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.

EUI - FI. Universidad Politcnica de Valencia.

Introduccin al Anlisis y Diseo


Estructurado usando System Architect (SA)
1 Introduccin
Tradicionalmente, el anlisis es visto como la definicin de los requisitos del sistema.
Por otro lado, el diseo establece una arquitectura para el software tal que satisfaga
dichos requisitos y permita una posterior implementacin ajustada a ciertos criterios de
calidad. Dicho de otro modo, el anlisis detalla el qu mientras que el diseo desarrolla
el cmo.
El Diseo Estructurado tuvo sus comienzos con la Programacin Estructurada (que
incorporaba las tres estructuras de control bsicas de un programa: secuencia, seleccin
e iteracin). El aporte del Diseo Estructurado fue considerar el concepto de mdulo y
la propiedad de modularidad de los sistemas resultantes como atributo que
caracterizaba la calidad de los mismos.
El Anlisis Estructurado aparece como complemento al Diseo Estructurado. As, el
propsito del Anlisis Estructurado es proveer una tcnica de anlisis que permite una
adecuada transicin hacia el Diseo Estructurado. El Anlisis Estructurado est basado
en el modelado de flujos de informacin y su transformacin mediante procesos, es
decir, el analista se preocupa fundamentalmente de las funciones que debe llevar a cabo
el sistema.
Las propuestas iniciales de Anlisis y Diseo Estructurado se centraban en el modelado
de procesos dejando en segundo trmino el modelado de datos. El Enfoque Estructurado
Moderno sugiere realizar paralelamente el modelado de procesos y de datos (este ltimo
mediante Diagramas Entidad-Relacin y modelado relacional de datos). En este
documento nos concentraremos en el modelado de procesos en SA.

2 Modelado de Procesos en SA
A continuacin se presenta una breve descripcin del uso en SA de los Diagramas de
Flujo de Datos y Diagramas de Estructura utilizados en Anlisis y Diseo Estructurado,
respectivamente.
2.1

Anlisis usando Diagramas de Flujo de Datos (DFDs)

Primero crearemos un nuevo diagrama:

Opcin File, New Diagram indicando el nombre que se le da al diagrama as como


su tipo. La Figura 2.1.1 muestra el dilogo asociado a la creacin de un DFD con
notacin Yourdon/DeMarco y que se llama Ventas.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Figura 2.1.1: Dilogo de creacin de diagramas


La paleta de dibujo un DFD es la que se incluye en la Figura 2.1.2.

Figura 2.1.2: Paleta de dibujo


De izquierda a derecha y de arriba a abajo, la funcionalidad asociada a cada elemento de
la paleta es la siguiente:
-

Seleccin tpica.
Arco que representa al flujo de datos.
Proceso del DFD.
Almacn de datos o Data Store.
Entidad Externa.
Conexin AND de dos o ms flujos de datos formando uno slo.
Conexin XOR de dos o ms flujos de datos de manera que la salida es alguno de
los de la entrada.
Adicin de texto al diagrama de hasta 1000 caracteres.
Adicin de un rectgulo para documentacin del diagrama.
Conector entre pginas para la documentacin.
Cuadro de documentacin actualizado automticamente a partir de la informacin
del diagrama.

Cada elemento que incluimos (borremos) en el diagrama DFD ser incluido (borrado)
en la lista de definiciones disponibles1.
Las Figuras 2.1.3 y 2.1.4 nos muestran la informacin necesaria en la definicin de un
proceso dentro del DFD en el que se incluye.
1

Siempre que se tenga habilitada la opcin Auto Definition y Auto Delete en Preferences.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Figura 2.1.3: Definicin del smbolo de proceso

Figura 2.1.4: Definicin de un proceso


Existe una tercera ventana que permite aportar ms informacin relativa a la
complejidad del proceso. En la miniespecificacin del proceso VENTAS se ha usado un
pseudolenguaje estructurado y para ser distinguidos los datos del resto, se han
referenciado en maysculas (tal es el caso de PEDIDO y FACTURA).
Los botones Elem, Struct, Check y Choices permiten la definicin y comprobacin de
los datos incluidos en la miniespecificacin. Posteriormente, detallaremos la
funcionalidad asociada.
Consideraremos como entidades externas a CLIENTES y a PROVEEDORES. Los
clientes realizan PEDIDOS al sistema que tras ser validados implican que se emita una
FACTURA para el cliente. Los proveedores reciben del sistema listados de COMPRAS
recibindose posteriormente en el sistema las FACTURAS_COMPRAS asociadas. La
Figura 2.1.5 nos muestra el diagrama de contexto con las entidades externas
participantes as como un detalle del contenido del diccionario de datos (vase a la
izquierda).
3

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Figura 2.1.5: Diagrama de Contexto


La Figura 2.1.6 nos muestra cmo podemos modificar la definicin de los datos que
previamente hemos introducido en el DFD2.

Figura 2.1.6: Definicin de un dato


El cuadro de la Figura 2.1.6 detalla la composicin de un registro de PEDIDO. El
smbolo inicial @ de los dos primeros campos indican que forman la clave primaria del
2

Evidentemente, pudimos definir al tiempo que se inclua el dato en s.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

registro. Cuando la clave es compuesta se numeran secuencialmente los campos que


forman la clave. Todos los datos aparecen una vez excepto el ltimo que es
estructurado. Para los simples elegimos la definicin correspondiente con ELEM y
STRUCT caso de tener varias ocurrencias. Podemos reusar definiciones existentes desde
CHOICES. La Figura 2.1.7 muestra la definicin del campo COD_CLIENTE. Existen 5
pantallas ms asociadas a la definicin de COD_CLIENTE, cada una dependiendo de la
plataforma final escogida3.

Figura 2.1.7: Definicin de un dato


La Figura 2.1.8 muestra alguna de las otras pantallas asociadas a COD_CLIENTE en
relacin con C++.

Figura 2.1.8: Definicin de COD_CLIENTE. Pantalla de C++


3

Esta primera es relativa a SGBR Ingres, escogido al crear la enciclopedia.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Para la definicin del dato estructurado LINEAS_PEDIDO aparece una ventana similar
a la anterior4 y que detallamos en la Figura 2.1.9.

Figura 2.1.9: Definicin de LNEAS_PEDIDO


La inclusin de dominios permite que una definicin que es usada por varios datos
pueda ser reusada. Veamos dos formas de definir el campo FECHA de PEDIDOS, (1)
de forma directa a partir del tipo de datos DATE suministrado por la base de datos
escogida5 y (2) a travs de la definicin de un dominio. La Figura 2.1.10 muestra el
primer caso en el que FECHA se define como tipo elemental.

Figura 2.1.10: Definicin del campo FECHA como elemental


4

Recordemos que la definicin de un dato estructurado, tal como expone Jackson, se hace a partir de los
tres operadores bsicos: secuencia, seleccin e iteracin de elementos, que, de forma recurrente forma el
dato compuesto definido a partir de datos simples.
5 En nuestro caso Ingres.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Para incluir un dominio que se llame, por ejemplo, FECHA_STANDARD, haremos click
en la opcin Dictionary, Open, Definition. En el browser entonces seleccionamos
Data Domain. La Figura 2.1.11 nos muestra el dilogo asociado.

Figura 2.1.11: Definicin del dominio FECHA_STANDARD


La Figura 2.1.12 nos muestra cmo definir el campo FECHA de PEDIDO usando el
dominio FECHA_STANDARD. Para ello se ha seleccionado el dominio a travs de la
opcin Choices que aparece en el dilogo.

Figura 2.1.12: Definicin usando el dominio FECHA_STANDARD

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Las Figuras 2.1.13 y 2.1.14 nos muestran el mismo uso del dominio pero esta vez
siendo un dominio estructurado6 en vez de simple. Consideramos en el ejemplo que
FECHA_STANDARD est formada por DA, MES y AO (a los que les asignamos, por
ejemplo, el tipo NUMERIC de SQL).

Figura 2.1.13: Definicin del dominio FECHA_STANDARD como estructurado.

Figura 2.1.14: Definicin del campo FECHA a partir del dominio.

En la ventana de definicin se debe escoger DATA STRUCT DOMAIN en vez de DATA DOMAIN.

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Explosin de Procesos
A partir de un diagrama, mediante la explosin de procesos podemos ir incrementando
el detalle de la funcionalidad del sistema. Por ejemplo, seleccionado el nico proceso
del diagrama de contexto y haciendo click con el botn derecho escogemos la opcin
Child Create mostrndose el dilogo de la Figura 2.1.15 en el que se escoge el tipo de
diagrama. Vemos que al proceso seleccionado podemos asociarle distintos diagramas.
En nuestro caso nos interesa asociar a un proceso un nuevo DFD de ms detalle.

Figura 2.1.15: Creacin de un subproceso.


La Figura 2.1.16 es un dilogo previo a la creacin del subproceso en el que se pregunta
qu elementos del padre pasan al hijo. Es importante destacar que no existe ms
conexin entre los dos diagramas que el que sencillamente los relaciona. Esto es,
modificaciones en el hijo (por ejemplo, suprimir un flujo de entrada) no conlleva que se
hagan en el padre (ni viceversa), etc. por lo que las operaciones que se realicen
implicar que el sistema est balanceado o no, propiedad que posteriormente se debe
comprobar.

Figura 2.1.16: Dilogo previo a la creacin


del subproceso.
La Figura 2.1.17 nos muestra una posible descomposicin del proceso destacndose la
inclusin del almacn de datos STOCK_ARTCULOS que se ve modificado ante la
emisin de pedidos y/o la llegada de facturas del proveedor. Se destaca en la parte

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

izquierda de la ventana la relacin existente de diagramas, a saber, dos DFDs de


Yourdon-DeMarco en el que uno de ellos est attached7 a un proceso del otro.

Figura 2.1.17: Nuevo diagrama como subproceso del proceso inicial.

Es decir, enganchado. Utilizamos el trmino anglosajn por ser el que se utiliz en la herramienta en la
explosin del proceso.

10

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Descomposicin de Datos
La descomposicin por niveles puede realizarse no slo para los procesos sino tambin
para los datos (flujos de datos y almacenes de datos). La estructura de la
descomposicin viene dada a travs del diccionario de datos. La Figura 2.1.18 muestra
un DFD con un almacn llamado BASEDATOS y un flujo de datos de E/S al nico
proceso representado.

Figura 2.1.18: DFD ejemplo para descomponer datos


Las Figuras 2.1.19 y 2.1.20 nos muestran la descomposicin realizada con respecto del
almacn de datos BASEDATOS y del flujo de datos DATOS_BASEDATOS,
respectivamente.

Figura 2.1.19: Descomposicin del almacn de datos

11

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Figura 2.1.20: Descomposicin del flujo de datos


Evidentemente, en el proceso que explosione al anterior, debe incluir la informacin de
las Figuras 2.1.19 y 2.1.20 si queremos que los diagramas estn balanceados entre s. A
modo de ejemplo8, se incluye en la Figura 2.1.21 cmo podra ser tal descomposicin.
Debe tenerse siempre en cuenta que la descomposicin debe estar balanceada.

Figura 2.1.21: Descomposicin del proceso


que usa la descomposicin de datos

No se han incluido todos los datos relevantes al ejemplo y se ha destacado en negrita lo que es de
inters.

12

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

2.2

Diseo usando Diagramas de Estructura

Primero crearemos un nuevo diagrama:

Opcin File, New Diagram indicando el nombre que se le da al diagrama as como


su tipo. La Figura 2.2.1 muestra el dilogo asociado a la creacin de un DE que se
llama Ventas.

Figura 2.2.1: Dilogo de creacin de diagramas


La Figura 2.2.2 muestra la paleta de herramientas disponibles al dibujar un DE.

Figura 2.2.2: Paleta disponible en la creacin de un DE


Debemos destacar que se distinguen tres tipos de llamadas a mdulos, normal9,
asncrono10 e iterativo11. Se permiten definir datos globales (global data) que se
conectan a los mdulos que los usan con la conexin Data Access. Los mdulos Stub
son aquellos que se consideran en el diseo aunque no se especificar nada de ellos, por
el momento. Podemos detallar en el DE qu mdulos van a ser incluidos en la misma
unidad de compilacin (por ejemplo, caso de ser el lenguaje C, se referir a funciones
9

El mdulo que llama espera que el mdulo invocado finalice su ejecucin.


El mdulo que llama no espera a la finalizacin del llamado.
11 Se entender entonces que la llamada se realiza dentro de un bucle tipo for, while, o do...while.
10

13

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

que estarn dentro del mismo mdulo). Para ello utilizamos el Physical Package. La
paleta permite distinguir entre flags descriptivos y flags de control. El resto de
elementos, bien ya son conocidos, bien ya existen en la paleta de los Diagramas de
Flujo de Datos.
La Figura 2.2.3 muestra el DE asociado a VALIDAR_PEDIDO indicando los datos de
entrada y salida as como mdulos con sombrero12 (VALIDAR_STOCK) que aunque se
incluye en el DE finalmente no ser implementado aparte sino que dentro de quien lo
llama. Para asociar un dato a una llamada concreta (es decir, la herramienta no lo
deduce por cercana sino que se debe indicar de forma explcita) se debe seleccionar el
dato, pulsar shift y seleccionar la llamada, y por ltimo realizar Connect Flags de la
opcin Draw del men. Por otro lado, si queremos girar la flecha del dato para
acomodarlo a la inclinacin de la llamada lo hacemos seleccionando el dato haciendo
click en el botn izquierdo y sucesivamente pulsar el botn derecho.

Figura 2.2.3: DE para el proceso Validar Pedido


En SA la descripcin de un mdulo puede hacerse mediante pseudo cdigo o asociando
un Diagrama de Flujo. La Figura 2.2.4 muestra la definicin del mdulo VALIDAR
STOCK y su especificacin utilizando pseudolenguaje.

12

Included Module o Hat Module.

14

Metodologa y Tecnologa de la Programacin. Departamento de Sistemas Informticos y Computacin.


EUI - FI. Universidad Politcnica de Valencia.

Figura 2.2.4: Definicin del mdulo Validar Stock

Organizacin del DE
De forma similar a como se organizan los DFD, los DEs tambin pueden ser
particionados en varios diagramas. En el caso de los DEs la idea es continuar una
porcin del DE en otro diagrama. Para esto se utiliza el smbolo Page Connector, el
cual se dibuja en ambos diagramas. Este smbolo representa una llamada que debe
leerse entre dos DEs, por lo cual es importante poner en ambos diagramas los
correspondientes flujos. Por ejemplo, en la Figura 2.2.3 el conector llamado interfaz
indica que se trata de una porcin de DE que est siendo invocada desde otro DE en el
cual aparecer una llamada hacia dicho smbolo. Adems SA permite asociar dichos
diagramas haciendo un child create (o attach) sobre el conector del diagrama superior,
tal como se explic para la explosin de procesos.

15

También podría gustarte