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:
Diagrama de Contexto (Nivel inicial). El objetivo de este diagrama es la delimitación del dominio del sistema que se está estudiando. Formado por una única función, que representa al sistema completo y, el contexto del mismo.
Diagrama nivel 0 (DFD/0). En este diagrama se especifican las funciones más importantes del sistema, cada una de las cuales será llevada por una parte del sistema. Podemos encontrarnos dos posibilidades: que sea igual al DC o, que esté formado por las funciones o áreas más importantes del sistema.
Diagrama nivel 1 (DFD/1). Es un modelo de trabajo con toda la funcionalidad del sistema. No muestra errores ni excepciones. Está formado por tantos procesos como eventos o acontecimientos se hallan detectado en la lista de eventos.
Diagramas de niveles intermedios. Corresponden a los DFD en los que se explotan o descomponen cada uno de los subsistemas.
Diagramas de último nivel. Son aquellos en los que las funciones que aparecen no se van a descomponer en subfunciones. Tales funciones no se pueden descomponer en otro DFD pero si en un documento denominado "Especificación de Función Elemental" en el que se describe textualmente lo que debe hacer la función, pero no cómo debe hacerlo (que corresponde a la fase de diseño).
Preguntas frecuentes sobre la descomposición en niveles que debemos responder:
¿Cómo saber cuántos niveles debe haber en un DFD? Cada DFD no debería tener más de 6 burbujas y almacenes relacionados. Si no es posible escribir una especificación de una función en una página, entonces es probable que sea demasiado complejo y debe descomponerse en un DFD de nivel inferior.
¿Existen reglas acerca del número de niveles que debe obtenerse? No, dependerá de la complejidad del sistema.
¿Deben partirse todas las partes del sistema con el mismo nivel de detalle? No, algunas partes del sistema pueden ser más complejas que otras y pueden requerir uno o más niveles de descomposición.
¿Cómo asegurar que los niveles del DFD son consistentes entre sí? Para asegurarse que un DFD es consistente con su DFD de nivel superior, los flujos de datos que entran y salen de una burbuja en un nivel dado, deben corresponder con los que entran y salen del nivel inmediato inferior que lo describe.
¿Cómo se muestran los almacenes en los distintos niveles? Se debe mostrar un almacén en el nivel más alto donde primeramente sirva de interfaz entre dos o más procesos; luego, mostrarlo de nuevo en cada diagrama de nivel inferior que describa más a fondo dichos procesos.
Referencia si la quieren visitar y para ampliar información: http://www.canalvisualbasic.net/db/tema5.asp

