elaborar un modelo de flujo de datos con processanalyst

19
Elaborar un modelo de flujo de datos con ProcessAnalyst ProcessAnalyst es un software de la suite PowerDesigner y acompaña a otros software como DataArchitect. Sirve para elaborar un “diagrama de flujos de datos” o un conjunto jerárquico de ellos. Aquí vamos a conocer su uso a través de un ejemplo práctico. La paleta de herramientas Cada archivo se presenta inicialmente como una pantalla vacía con una paleta de herramientas: Proceso Alm acén de datos (Entidad en el m odelo E-R ) Flujo de datos Entidad (externa; actores,usuarios) Las herramientas principales son el proceso, el almacén de datos, el flujo de datos y la entidad externa. El proceso es, en nuestro caso, un círculo u oval: Un proceso es un conjunto de operaciones de lectura, transformación y depósito de datos. 1

Upload: ramiro-candia

Post on 12-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

TRANSCRIPT

Page 1: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Elaborar un modelo de flujo de datos con ProcessAnalyst

ProcessAnalyst es un software de la suite PowerDesigner y acompaña a otros software como DataArchitect. Sirve para elaborar un “diagrama de flujos de datos” o un conjunto jerárquico de ellos. Aquí vamos a conocer su uso a través de un ejemplo práctico.

La paleta de herramientas

Cada archivo se presenta inicialmente como una pantalla vacía con una paleta de herramientas:

Proceso

Almacén de datos(Entidad en el modelo E-R)

Flujo de datos

Entidad (externa;actores, usuarios)

Las herramientas principales son el proceso, el almacén de datos, el flujo de datos y la entidad externa. El proceso es, en nuestro caso, un círculo u oval:

Un proceso es un conjunto de operaciones de lectura, transformación y depósito de datos.

Un almacén de datos (data store) es un repositorio de ítems de datos o atributos. Corresponde conceptualmente a las “entidades” de los modelos de datos.

1

Page 2: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

2

Page 3: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Un flujo de datos representa la actividad de lectura o escritura que algún proceso realiza con un o varios ítems de datos de un almacén de datos.

A continuación, seguiremos usando los mismos estilos tipográficos (proceso, almacén, flujo) y además las ítems de datos y las variables se imprimen en fuente Courrier New.

Un modelo de flujo de datos elemental

Un diagramaSupongamos el siguiente caso.

En una bodega, se desea generar registros de pedido para los artículos cuya cantidad disponible sea inferior a una cantidad mínima definida (para cada artículo). Para simplificar, habrá un único proveedor y los pedidos no se acumulan (con 1 registro principal de pedido y n registros de detalle asociados), sino que cada artículo se pide por separado.

Entonces, el proceso de generar pedidos lee desde Artículos (para cada uno de los artículos; no usamos acentos para evitar problemas con el software) las cantidades disponible, pedidos_en_curso y mínima. Luego calcula un valor para la variable “hace_falta”, según la siguiente fórmula:

hace_falta = máximo(mínimo – (disponible + pedidos_en_curso) , 0)

Comentario: la función “máximo” toma dos argumentos y devuelve el más grande de ellos. Por lo tanto, si mínimo < disponible+pedidos_en_curso, entonces el resultado será “cero”, ya que no es necesario pedir.

El resultado se registrará como nuevo registro en Pedidos (que tiene los ítems fecha, ID_artículo, cantidad_pedida).

A continuación, confeccionamos el diagrama de flujo de datos: empezamos usando el

menú “File/New” para obtener un archivo en blanco. Seleccionamos la herramienta “Data Store” (almacén de datos) y con un <click> se genera el almacen Articulos. Cuando aparece, tiene el nombre “Stor_1”. Esto se debe a que ProcessAnalyst usa los

3

Page 4: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

nombres de los objetos como identificador y siempre da un nombre por defecto que es único. Por ejemplo, “Stor_1” significa “Store number 1”. Lo cambiaremos ahora. Seleccione la herramienta “flecha” y haga <doble-click> encima del almacén Stor_1; luego se abre el diálogo siguiente:

En el campo “Name” remplace “Stor_1” por “Articulos”. Luego haga <click> encima

del botón al lado del campo “Code” y verá que automáticamente, “STOR_1” es

remplazado por ARTICULOS. Ahora podemos cerrar el diálogo con .

A continuación, agregue un segundo almacén y déle el nombre Pedidos, para ver el siguiente diagrama:

Ahora seleccione la herramienta “Process” y deposite un proceso justo entre los dos almacenes:

4

Page 5: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

.Cambie el nombre del proceso a “Generar_Pedidos” del mismo modo como hicimos para los almacenes:

Nos queda definir los flujos de datos. Seleccine la herramienta “flow” y insierta los flujos “lectura” y “generacion” para obtener el siguiente diagrama:

5

Page 6: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Bravo, ahora puede guardar el trabajo, con el nombre “ModeloEjemplo”.

Detalles que no aparecen en el diagrama

Hemos definido dos almacenes de datos, pero sin ítems (o atributos), dos flujos de datos (sin especificar los ítems afectados) y un proceso (sin especificar como procede). Ahora aportaremos estas especificaciones de detalle.

Los ítems de un almacén de datos

Abre el dialogo de definición del almacén Articulos:

Hoja de los ítems

Campo de definición del nombre del ítem que aparecerá en las pantallas

6

Page 7: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Tiene que activar la hoja “Data items” y empezar por digitar el nombre del primer ítem (corresponde a un atributo de una entidad en el modelo de datos). Este nombre aparecerá en los diagramas.

A continuación, haga <click> en el botón “=” al lado del campo “Code”:

Botón para generar automáticamente el código interno, que identifica al ítem.

Esto le ahorra tener que digitar el código. El código es el identificador interno del ítem, y debe ser único dentro del modelo.

Ahora deberá especificar el tipo de datos del ítem. Si no sabe lo que es o cuales hay, puede usar el botón con los tres puntos (“…”) para acceder al diálogo de especificación del tipo de datos:

Botón para acceder al dialogo de definición del tipo de dato

7

Page 8: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Genere de esta manera la situación descrita en la siguiente ilustración:

Para cada ítem, es posible e importante describir de qué se trata y dar toda la información sobre formatos y posibles valores. Para esto, se usa el botón “Describe”, como en el siguiente ejemplo, que se refiere al ítem “Codigo”:

8

Page 9: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

El listado de descripciones es:

Ítem DescripciónCódigo Un identificador que se determina secuencialmente: el primer

artículo tiene el número 1, el siguiente el 2 y así sucesivamente.

Se debe asignar automáticamente cuando se define el artículo, como el número del último artículo generado + 1.

Restricción: cuando se retira un artículo, su número no se vuelve a asignar.

Nombre Nombre del artículo, libremente definido o abreviado.Disponible Cantidad disponoble del Artículo en la bodega.

De disminuya cuando artículos salen de la bodega y se aumenta cuando la bodega recibe entregas.

Restricción: no debe ser negativo.En pedido Cantidad del Artículo que se ha pedido al proveedor, pero aún no se

recibió.

Se aumenta cuando se hace un Pedido y se disminuye cuando este se recibe.

Restricción: no debe ser negativo.Minimo Cantidad mínima del Artículo a tener en bodega.

En algún momento futuro, se deberá analizar la manera como se define esta cantidad.

Restricción: no debe ser negativo.Actualizacion Fecha de la última actualización de la información de existencia.

Esta fecha se actualiza a cada vez que se actualiza el registro del Artículo, para saber si el estado indicado en el registo corresponde al presente (en cada momento).

A continuación, haga lo necesario para poblar el almacén Pedidos con los siguientes ítems:

Nombre Tipo de dato

Descripción

Fecha_Pedido D Fecha del día cuando se genera el pedido.Articulo_Pedido I Identificador del Artículo que se esta pidiendo.

Restricción: debe existir en "Articulos".Cantidad I Cantidad del Artículo que se esta pidiendo esta vez.

Se determina como MIN(Articulo.Minimo-

9

Page 10: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

(Articulo.Disponible + Articulo:En_Pedido),0), para mayor información mirar en descripción del Proceso "Generar_Pedidos".

Estado I Se usa para especificar y saber si el Pedido ya ha sido entregado/recepcionado o no. Cuando se genera el Pedido (Proceso "Generar_Pedido"), el Estado se define como "1" para significar "pendiente". Cuando se recepciona este Pedido, el Estado se modifica en "0" para expresar "recepcionado".

Los ítems de un flujo de datos

Abra (vía <doble-click> encima de la flecha) el flujo de datos lectura:

Hoja de los ítems

Botón para agregar ítems del almacén de datos asociado

Vaya a la hoja “Data items”. Vamos a usar el botón “Add…” para especificar los ítems que fluirán desde Articulos hacia Generar_Pedidos:

10

Page 11: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

En la lista de ítems, se pueden hacer múltiples selecciones, simplemente manteniendo una tecla de función mientras se hace el <click>. Para selección múltiple continua, hay que usar <MAY>, para selección múltiple discontinua <CNTRL>.

Después de confirmar, vemos lo siguiente:

En efecto, no todos los ítems del almacén nos interesan para el trabajo que debe realizar el proceso. Para registrar esta información junto con el flujo, se usa este diálogo, tanto en nuestro caso específico como en general.

11

Page 12: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Haga lo necesario para especificar que el flujo generación incluye los siguientes ítems de Pedidos:

- Fecha_Pedido- Articulo_Pedido- Cantidad- Estado

No importa que sean todos los ítems: de toda manera, siempre especificamos cuales son de manera explícita.

Los detalles de un proceso

Un proceso cumple una de dos posibles funciones:- representa una transformación, paso a paso, de datos entrantes en datos salientes;- representa un sub-modelo.

Si hacemos <click> con el botón derecho del mouse encima de un proceso, se nos muestra el menú contextual de las acciones que este tipo de objeto puede realizar en este momento:

“Decompose” es la acción de crear un nuevo modelo de flujo de datos y asociarlo a este proceso.

Cuando abrimos el dialogo de especificación de un proceso, se muestra en una forma que indica que la descomposición es más frecuente que la especificación paso a paso:

12

Page 13: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Indicador de si este procesoesta en el último nivel de descomposición. Por defecto es desactivado.

La especificación del procedimiento paso a paso solamente esta deshabilitada porque si no estamos en el último nivel de descomposición, entonces vemos a descomponer, no especificar.

Si queremos especificar el procedimiento paso a paso (lo que es nuestro caso en este ejemplo), entonces tenemos primero que activar la opción “Lowest level”, lo que nos adapta el dialogo:

Este proceso esta en el nivel más detallado de descripción que se va a modelar.

A este nivel de descripción, se deberá indicar paso a paso como el procesotransforma las entradas en salidas.

Ahora usaremos la hoja “Sepecification” para redactar esta especificación en “Español estructurado” o “seudo-código”:

13

Page 14: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Confirme con “OK” y guarde el modelo: acaba de terminar con esta parte del tutorial. En la próxima parte, veremos como descomponer un proceso.

La descomposición de un proceso y sus reglas de coherencia

La descomposiciónSupongamos el mismo caso, visto de una manera más global. Ahora partiremos del proceso global de manejo de la bodega:

flujos

Articulos

1

Manejar_Bodega

+

Al nivel del proceso, ahora no activamos “Lowest level”, sino que usamos la opción “decompose”:

14

Page 15: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Esto significa que vamos a especificar en un sub-modelo, un conjunto de procesos que conforman “Manejar_Bodega”.

Se abre una segunda ventana de diagramación (podemos cambiar entre ellas por medio del menú “Window”), en la cual Ud. diagramará lo siguiente:

verificar_cantidades

confirmar_recepcion

actualizar_post_e

vreificar_pedidoinsercion_pedido

actualizar_post_r

Articulos

1.1

Pedir

1.2

Recibir

1.3

Entregar

Pedidos

15

Page 16: Elaborar Un Modelo de Flujo de Datos Con ProcessAnalyst

Los almacenes Articulos y Pedidos tienen los mismos ítems de datos que antes. Los diversos flujos conciernan los siguientes ítems de datos:

Flujo Itemsverificar_cantidades Codigo

DisponibleEn_pedidoMinimo

insercion_pedido Articulo_PedidoFecha_PedidoCantidadEstado

verificar_pedido Articulo_PedidoFecha_PedidoCantidadEstado

confirmar_recepcion Estadoactualizar_post_r Codigo

DisponibleEn_pedidoActualización

actualziar_post_e CodigoDisponibleEn_pedidoActualización

A continuación, se puede activar la opción “lowest level” de los procesos y especificar el procedimiento de cada uno.

Reglas de coherenciaSe observan las siguientes reglas:

1. lo que entra a y sale de un proceso en un determinado nivel, debe entrar y salir del conjunto de procesos en el siguiente nivel inferior (los conjuntos de los flujos deben ser identicos)

2. los almacenes se representan en el nivel más bajo posible. Es decir, si un almacén es usado solamente por los sub-procesos de un determinado proceso, no se representa al nivel global, sino en el sub-modelo. En cambio, si hay otros procesos que también usan el mismo almacén, entonces debe ser representado al nivel global.

16