5.1.- DIAGRAMA DE FLUJO DE DATOS
Un Diagrama Flujo de Datos es una representación estructurada y gráfica que describe cómo circula la información a través de un sistema y los diferentes procesos de transformación a los que se ve sometida. Permite visualizar un sistema como una red de procesos funcionales, conectados entre mediante flujos de datos. Es una de las herramientas más usadas en sistemas computacionales en los que las funciones del sistema son de gran importancia y son más complejas que los datos que éste maneja.
Es un modelo lógico (no físico) que representa qué hace el sistema y no cómo. Es comprensible por el usuario. Muestra cualquier nivel de detalle y, el flujo de la información asociada. Sirve para identificar y dar nombre a las fuentes de datos, destinos de los datos, flujos de datos, almacenes de datos y, procesos.
El DFD se desarrolla con un enfoque descendente y está sujeto a una notación y a unas reglas predefinidas que buscan producir un documento conciso y autoorganizado. El DFD se compone de Entidades Externas, flujos de datos, funciones o procesos y almacenes de datos.
5.2.- ELEMENTOS DE UN DIAGRAMA DE FLUJO DE DATOS
En un DFD se utilizan símbolos gráficos para representar procesos, entidades externas, flujos de datos y almacenes de datos. Veamos cada uno de estos componentes:
PROCESO
Muestra una parte del sistema que transforma entradas en salidas, es decir, muestra cómo es que una o más entradas se transforman en salidas. Actividad definida y predecible que transforma flujos de datos con el fin de conseguir un cierto objetivo. Se representa gráficamente por un círculo. El proceso se nombre o describe con una sola palabra, frase u oración sencilla, que describirá lo que hace el proceso.
FLUJO
Información que circula de un objeto del diagrama a otro. Puede representar un dato elemental o una estructura de datos. Se representa gráficamente por una flecha que entra o sale de un proceso. Se usa para describir el movimiento de bloques de información de una parte a otra del sistema, por lo que representan datos en movimiento. El nombre del flujo de datos describe el tipo de información que se transporta.
ALMACÉN DE DATOS
Conjunto de datos siempre disponible donde los datos quedan retenidos. Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por dos líneas paralelas. El nombre que se utiliza para denotar al almacén es el plural del que se utiliza para los datos que almacena. La información almacenada está en reposo. Es independiente de la implementación física.
Los flujos que van hacia el almacén se interpretan como una escritura, una actualización o una eliminación de información del almacén. Los flujos que salen del almacén se interpretan como una lectura o un acceso a la información del almacén.
AGENTE EXTERNO
Se representa gráficamente por un rectángulo y representa las entidades externas con las que el sistema se comunica. Existen tres cosas importantes acerca de los agentes externos:
5.3.- EXPLOSIONES DE UN DIAGRAMA DE FLUJO DE DATOS
La técnica del DFD se basa en el principio de descomposición de la funcionalidad de un sistema en sucesivos niveles de refinamiento (enfoque top-down) cuyo objetivo es permitir una lectura de la especificación del sistema desde lo abstracto al detalle, permitiendo ver el sistema de forma global (niveles superiores), o de forma detallada (niveles inferiores). Se organiza así el DFD global en una serie de niveles de modo que cada uno proporcione sucesivamente más detalles sobre una porción del nivel anterior. Así se parte de un diagrama general o Diagrama de Contexto en el que se representa una sola función con el nombre del sistema, las entidades externas que se relacionan con el sistema y, los flujos de entrada y salida al sistema. El siguiente nivel conocido como DFD/0 representa la vista de más alto nivel de las principales funciones del sistema, al igual que sus principales interfaces. Y así sucesivamente. La descomposición de cada subsistema no se detiene en un nivel determinado, sino que dependen del grado de complejidad del sistema. Normalmente se suele recomendar no utilizar más de 4 niveles y que en cada nivel no aparezcan más de 9 funciones.
Veamos algunos aspectos de cada nivel:
Debemos saber algunos cosas sobre la descomposición en niveles:
5.4.- GUÍA PARA CONSTRUIR UN DIAGRAMA DE FLUJO DE DATOS
Veamos algunas recomendaciones para la construcción de un DFD:
5.5.- EL DICCIONARIO DE DATOS
El diccionario de datos es un listado organizado de todos los datos pertinentes al sistema, con definiciones precisas y rigurosas para que tanto el analista como el usuario tengan un entendimiento común de todas las entradas, salidas, componentes de almacenes y cálculos intermedios. Sirve como descripción lógica del sistema y documenta: todos los flujos incluidos en el DFD, todos los almacenes de datos, la actividad de los procesos, las entidades externas. El diccionario de datos define los datos haciendo:
Para comprobar que un DD es correcto se deberá comprobar si todos los flujos del DFD se han definido en el diccionario, si se han definido todos los componentes de los datos, si se ha definido un dato más de una vez y, si se ha utilizado la notación correcta.
NOTACIÓN DEL DICCIONARIO DE DATOS
SÍMBOLO |
DESCRIPCIÓN |
= |
está compuesto por |
+ |
y |
( ) |
optativo (puede estar presente o ausente) |
{ } |
iteración |
[ ] |
seleccionar una de varias alternativas |
* * |
comentario |
@ |
identificador (campo clave) para un almacén |
| |
separa opciones alternativas en la construcción |
DEFINICIONES
La definición de un dato se introduce con el símbolo "=", que se lee: "se define como", "se compone de", "significa". Para definir por completo un dato, nuestra definición debe incluir: la composición del dato, si se compone de partes elementales con significado; los valores que puede tomar el dato, si es un dato elemental que no puede descomponerse más.
ELEMENTOS DE DATOS BÁSICOS
Las partes elementales de los datos son aquellas para las cuales ya no existe una descomposición con significado dentro del contexto del ambiente de usuario. Cuando se han identificado todos los datos elementales, deben introducirse en el DD con una breve narrativa describiendo su significado en el contexto del usuario.
DATOS OPCIONALES
Un dato opcional es que que puede estar o no presente en un dato compuesto. Van encerrados entre paréntesis y deben verificarse con el usuario.
ITERACIÓN
La notación de iteración se utiliza para indicar la ocurrencia repetida de un componente de un dato. Se lee como "cero o más ocurrencias de".
SELECCIÓN
La notación de selección indica que un dato consiste en exactamente un elemento de entre un conjunto de opciones alternativas. Las opciones se encierran entre corchetes y, se separan con una barra vertical. Es importante revisar las opciones de selección con el usuario para cubrir todas las posibilidades.
ALIAS
Un alias es una alternativa de nombre para un dato. Se incluye en el DD y se relaciona con el nombre primario u oficial del dato. Por ejemplo:
comprador = *alias de cliente*
Comprador no muestra su composición ya que estos detalles aparecen en el nombre primario y así se evita la redundancia en el modelo. Debe evitarse el uso de alias en la medida de lo posible.
5.6.- LA ESPECIFICACIÓN DE PROCESOS
Cuando un proceso puede describirse en un espacio razonable, ya no es necesario descomponerlo en otros subprocesos. Se dice entonces que se trata de un proceso primitivo o elemental, al que se debe asociar una especificación de proceso. La Especificación del Proceso es la descripción de qué es lo que sucede en cada burbuja primitiva de nivel más bajo en un DFD. Debe expresarse de una manera que pueda verificar tanto el usuario como el analista y de forma que pueda ser comunicada efectivamente al público amplio que esté involucrado. Una buena herramienta de especificación de proceso no debe imponer o aplicar decisiones de diseño e implementación arbitrarias.
Existen varias formas de describir la lógica de un proceso:
|
Primer orden > 12 días |
Hacer pedido |
|
Total órdenes < X |
|||
Descuento Editor |
Primer orden <= 12 días |
Esperar |
|
|
Total órdenes >= X |
Calcular descuento Hacer pedido |
|
No descuento editor |
Hacer pedido |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
Edad > 21 |
S |
S |
S |
S |
N |
N |
N |
N |
Sexo |
M |
M |
V |
V |
M |
M |
V |
V |
Peso > 100 |
S |
N |
S |
N |
S |
N |
S |
N |
Medicamento 1 |
X |
X |
X |
|||||
Medicamento 2 |
X |
X |
||||||
Medicamento 3 |
X |
X |
X |
|||||
Ningún medicamento |
X |
X |
Si existen N variables con valores binarios entonces existirán 2N reglas distintas.
5.8.- VALIDACIONES A REALIZAR EN UN DIAGRAMA DE FLUJO DE DATOS
Los DFD se pueden verificar utilizando tres tipos de pruebas: de exactitud, de comprensión y de cohesión.
PRUEBAS DE EXACTITUD
Se trata de comprobar que el DFD refleja lo que realmente hace o debe hacer el sistema modelado. Este tipo de pruebas implica varios aspectos:
PRUEBAS DE COMPRENSIÓN
Puede que un DFD sea muy difícil de leer y comprender. Para obtener un DFD legible se recomienda someterlo a varias pruebas:
PRUEBAS DE COHESIÓN
Se trata de obtener una versión mejorada del DFD. Comprobar que no existen redundancias, que no falten procesos y que sean totalmente coherentes.