Resumen DFD’s Autor: Carlos Jiménez Testera
ÍNDICE
DFD REGLAS / GUIAS DE CONSTRUCCION Reglas de construcción de un DFD Herramientas de especificación de procesos DICCIONARIO DE DATOS
DFD
Elaboración de un modelo lógico de procesos que represente el sistema, con independencia de las restricciones físicas del entorno. Modeliza el QUÉ. (De Marco). Hatley y Pitball ampliaron el DFD con procesos y flujos de control METRICA tambien contempla las extensiones de control.
DFD
El diccionario de datos es una descripción de los elementos que componen el DFD (que contiene el almacén de datos, especificación de procesos primitivos, composición de los flujos de datos. .etc).
En METRICA se hace referencia al Dicc. de Datos de pasada, pero la mayoria de las herramientas CASE para DFDs contemplan el llamado "repositorio" (diccionario de datos).
DFD Diagrama de Contexto
Se relacióna el sistema con los usuarios, otras aplicaciones, etc. Las Entidades externas sólo aparecen en este nivel. Una entidad externa puede ser generadora de información, consumidora de información o bien ambas.(doble flecha). Solo hay un proceso: El sistema (DFD-nivel 0)
DFD Explosión del proceso
El proceso se descompone en otros procesos en un DFD de nivel inferior. Hay que validar el balanceo, de forma que los flujos de entrada y salida del proceso padre, coincidan con los flujos de E/S el DFD hijo.
DFD Flujos de Datos NO son activadores de procesos, NO llevan control.
DFD
Procesos Transforman flujos de entrada en flujos de salida Los procesos de primer nivel se numeran de 1 a N. Procesos Primitivos Son procesos que yo no se descomponen en más DFDs. Pueden aparecer en cualquier nivel de descomposición. DFD de menor nivel es aquel que sólo tiene funciones primitivas.
DFD
Almacenes de Datos
Información del Sistema Almacenado de forma temporal. Independientes del dispositivo físico utilizado Se situará en el nivel más alto donde sirva de interconexión con 2 o más procesos
DFD Diccionario de Datos Contiene las descripciones de los flujos, almacenes de datos y funciones primitivas (y de algún proceso importante, si es necesario).
Reglas de construcción DFD
Almacenes:
No redundancia: El flujo de datos no lleva nombre cuando incide sobre su contenido completo. (si tenemos un almacén "NOMINAS", no hace falta poner el nombre "nomina" a un flujo de Entrada o salida). Consistencia con el diagrama Entidad/Relación: Con las entidades del diagrama de E/R: Cada almacén principal representa una o varias entidades, pero una entidad pertenece a un único almacén.
Consejos de identificación de procesos
La tarea no es mecánica. Requiere de la creatividad e ingenio del analista. Funciones organizativas o administrativas propias ("gestión alumnos") Homogenidad de las funciones ("dar de baja") localización geográfica de los procesos ("gestión averías coches"). Procesos que actualizan los mismos almacenes
Identificación de procesos
DOWN-TOP A la hora de contruir un DFD, se puede hacer bien agrupando procesos pequeños en uno mas grande (bottom - up).Por ejemplo, si tenemos dos procesos: "Anular pedido", y "Solicitar pedido" podriamos crea un proceso en un DFD superior, llamado "Gestión Pedidios". TOP-DOWN Tambien se puede hacer un analisis Top-down. Si tenemos un proceso "Gestión Alumno", al que le entran dos flujos de datos "datos_alta" y "solicitud_matricula_curso", pensariamos en dos procesos de nivel inferior llamados "Dar_alta" y "gestion matriculas" (por ejemplo).
Reglas de construcción de un DFD
Los nombres deben ser unívocos en el conjunto de diagramas. Los procesos y ficheros no pueden procesar sólo flujos de entrada o solo flujos de salida. Es decir, no se permiten sumideros de información o fuentes de información. En ese caso, seria una entidad externa. En los flujos de datos no puede viajar información de control (activador/desactivador de procesos) En el balanceo de diagramas (explosión de un proceso), los flujos de entrada y salida deben coincidir. Todos los flujos del DFD hijo deben conectarse con el proceso padre. No puede haber flujos de entrada o salida al DFD hijo que no tengan correspondencia con el proceso padre. En tal caso habría que suprimirlos o bien direccionarlos hacia algun proceso. Ubicación de Almacenes de Datos: Donde aparezca intercambiando información con mas de un proceso (o bien un solo proceso que lee y escribe en ese Almacén).
Recomendaciones
Nombres significativos (no abreviaciones). Descartamos palabras generales como procesar, enviar, datos. Por ejemplo, pondríamos: Procesar pedido, Enviar factura, datos fiscales, DNI, etc... Nombre de procesos: Procurar que hagan referencia a sus entradas y salidas. Por ejemplo: Validación del numero de cuenta. (habrá un flujo de datos "cuenta" y un flujo de salida "cuenta validada". Numero de procesos por nivel: Regla de 7+-2. Numero de niveles: Regla de 7+-2
Un flujo de datos se puede dividir en 2 o más al entrar en un proceso. Por ejemplo: Se comprueba como datos_tecnicos se divide en dos flujos: petición_información_tecnicos y datos_profesionales. También puede ocurrir al revés, que dos flujos se fundan en uno. datos tecnicos 1
TRATAR TECNICOS
datos profesionales
peticion informacion tecnicos
1.2
1.1
INFORMAR
VALIDAR DATOS TECNICOS
DFD
Herramientas de especificación de procesos
Salvo que sea un proceso muy importante, solo se especifican los primitivos. Cada proceso debe describir como transforma los flujos de entrada en los flujos de salida. Sólo se desarrollan para los procesos de más bajo nivel en un conjunto de diagramas por niveles en un DFD. Los procesos de mayor nivel se definen por medio de la red de procesos de nivel inmediatamente inferior.
DFD Hay tres herramientas principales de especificación de procesos:
Lenguaje estructurado Narrativa Tradicional Tablas de decisión
DFD El lenguaje estructurado presenta las siguientes características:
Sintaxis limitada Utilizar verbos precisos sin ambigüedad. Los nombres utilizados deben estar en el Diccionario de Datos.
DFD
Ejemplo lenguaje estructurado: Examinar una serie de registros de pedidos en el almacén PEDIDOS para calcular un total diario: total_diario = 0 HACER MIENTRAS haya mas pedidos en PEDIDOS con fecha_pedido = fecha_actual LEER el siguiente PEDIDO en PEDIDOS MOSTRAR a contabilidad número de pedido,nombre-cliente y cantidad total total-diario = total-diario + cantidad total FIN HACER RETORNAR total-diario
DFD
Ejemplo Decisión: Edad > 21 Sexo Peso > 100
de
Tabla
S S S N N M M H M H S N S S N
Medicamento 1 X X X Medicamento 2 X X Ninguno X
de
Ejemplo narrativa tradicional: "para aplicar el descuento, el cliente debe tener una cifra de compra de más de 3 millones de pesetas / año y un buen historial de pagos o haber sido cliente mas de 5 años".
DFD DICCIONARIO DE DATOS
Completa la información que aparece en los DFDs aportando descripciones de los flujos, ficheros, entidades externas y primitivas funcionales (y algún proceso en el que no se describe suficiente con los DFDs).
Notación BNF: = esta compuesto de +y () optativo {} iteración [] seleccionar una de varias alternativas ** comentario | separar opciones alternativas
Ejemplo de un Diccionario de Datos (almacenes y flujos de datos) ARTICULO-PEDIDOS = {articulo-pedido} articulo-pedido = @numero_factura + @cod_libro + cantidad + precio + descuento
PEDIDOS = {pedido} pedido = @num_factura + identificacion-cliente + fecha-pedido + {articulopedido} + cargos-envio + fecha-envio + (vendedor) + total-pedido
reporte-devoluciones = *informe para el departamento de contabilidad que muestra las devoluciones de cada libro* { {id-cliente + nombre + num_factura } + total_copias + total_ventas_libro}
respuesta_libro_agotado = ["no existe tal libro" | "El libro etá descatalogado"] reporte-devoluciones y respuesta-libro-agotado son especificaciones de flujos de datos. Las palabras en mayusculas significa que es un almacén.
Ejemplo de especificación de Proceso (que se incluye en un diccionario de datos) titulo_libro
1
PROPORCIONAR INFORMACION LIBROS
respuesta_info_libro
D2
LIBROS
COMIENZA ENCONTRAR registro de libro en LIBROS con titulo_libro respuesta-info-libro = registro libro RETORNAR respuesta-info-libro TERMINA