Diagrama de Flujo de Datos DFD Ingeniera de

  • Slides: 27
Download presentation
Diagrama de Flujo de Datos (DFD) Ingeniería de Software I M. Sc. Idalia Maldonado

Diagrama de Flujo de Datos (DFD) Ingeniería de Software I M. Sc. Idalia Maldonado Castillo

Diagrama de Flujo de Datos p Técnica de análisis estructurado en la cual se

Diagrama de Flujo de Datos p Técnica de análisis estructurado en la cual se hace una representación gráfica de los procesos de los datos el cual enfatiza la lógica del sistema. Caracterizan gráficamente los procesos de los datos y el flujo del sistema. p Dan una visión amplia de la entrada, procesos y la salida del sistema p

Simbología (Gane & Sarson) Entidad Flujo de Datos Almacén de Información Proceso p Símbolos

Simbología (Gane & Sarson) Entidad Flujo de Datos Almacén de Información Proceso p Símbolos usados para dibujar el movimiento de los DFD.

Ejemplo Entidad EJEMPLO DESCRIPCION Estudiante Persona, departamento o equipo que puede mandar o recibir

Ejemplo Entidad EJEMPLO DESCRIPCION Estudiante Persona, departamento o equipo que puede mandar o recibir datos del sistema. Interactua con el sistema y muestra el recurso inicial y el recipiente final de la informacion. Flujo de Datos Informacion del Nuevo estudiante 2. 1 Proceso Almacén de Información Crear expediente estudiante D 3 Expediente estudiante Muestra el movimiento de datos de un punto a otro con la punta hacia el destino de la informacion (datos). Representa datos sobre una persona, departamento. Refleja el proceso de un cambio o transformacion de los datos. Los datos que entran son diferentes a los que entran. Se le asigna un numero unico para identificar su nivel en el diagrama. Almacena datos que puede ser un lugar, archivo, base de datos, etc. Se le asigna un numero de referencia unico para identificar su nivel.

Desarrollando un DFD de alto a bajo nivel (Top-Down) 1. 2. 3. 4. 5.

Desarrollando un DFD de alto a bajo nivel (Top-Down) 1. 2. 3. 4. 5. 6. Crear un Diagrama de Contexto. Crear un Diagrama de Nivel 0. Crear un diagrama hijo para cada uno de los procesos del Diagrama 0. Verificar posibles errores. Desarrollar un DFD físico a partir del DFD lógico. Dividir el DFD físico, agrupando partes que facilitan la programación.

Diagrama de Contexto Entidad 1 Entrada A 0 Entrada B Nombre del Sistema Salida

Diagrama de Contexto Entidad 1 Entrada A 0 Entrada B Nombre del Sistema Salida C Entidad 3 Entidad 2 p p p Incluye entradas básicas, el sistema general y las salidas. El proceso tiene el numero 0. Es el diagrama de mas alto nivel en un DFD y contiene solo un proceso, representando el sistema entero.

Diagrama 0 1 Entidad 1 Entrada A Proceso General AAA Flujo de Datos B

Diagrama 0 1 Entidad 1 Entrada A Proceso General AAA Flujo de Datos B Flujo de Datos C Registro A D 1 Almacen de Datos 1 D 2 Almacen de Datos 2 Registro E 3 Entrada B Proceso General BBB Registro E Registro A Entidad 2 2 Proceso General CCC Flujo de Datos D 4 Proceso General DDD Salida C Entidad 3

Diagrama 0 p p Las entradas y salidas especificadas en el diagrama de contexto

Diagrama 0 p p Las entradas y salidas especificadas en el diagrama de contexto se mantienen. El diagrama se detalla en acercamientos que envuelven de 3 a 9 procesos, mostrando almacenes de información. El manejo de excepciones o errores se ignoran. Cada proceso esta numerado con un entero, generalmente empezando de izquierda a derecha.

Diagrama 0 p p p p Sugerencias para la creación del diagrama 0 Para

Diagrama 0 p p p p Sugerencias para la creación del diagrama 0 Para crear este diagrama se sugiere preguntar: Que pasa con la información que entra al sistema? , es almacenado? Es entrada para varios procesos? . Para una salida preguntar: de donde viene? Se calculo o viene de un archivo? Para el flujo de datos y almacenes de información: que procesos usan estos datos? , que procesos pusieron esa información en el almacén de datos? Buscar que entrada necesita el proceso y la salida que genera. Luego conecta la entrada con la salida a los almacenes de información y entidades. Tomar nota sobre áreas que son imprecisas, esto ayuda para futuras entrevistas.

Diagrama Padre D 1 Almacen de Datos 1 Registro A Entidad 2 3 Entrada

Diagrama Padre D 1 Almacen de Datos 1 Registro A Entidad 2 3 Entrada B Proceso General CCC Diagrama Hijo 4 Flujo de Datos D Proceso General DDD D 1 Almacen de Datos 1 Registro A 3. 1 Entrada B Proceso Detallado XXX 3. 2 Registro de Transaccion 1 D 5 Archivo de Transaccion 1 Registro de Transaccion 1 Proceso Detallado YYY Flujo de Datos Detallado Z 3. 3 Proceso Detallado ZZZ Flujo de Datos D

Diagrama Hijo p p p La regla principal es que el hijo debe tener

Diagrama Hijo p p p La regla principal es que el hijo debe tener las mismas entradas y salidas que el padre, a esto se le llama Balance Vertical. El diagrama hijo tendrá el mismo numero que el padre y los procesos del diagrama hijo tienen un numero decimal, por ejemplo el padre es 3 y los hijos serán 3. 1, 3. 2 y así sucesivamente. Las entidades generalmente no se muestran en los diagramas hijo debajo de un Diagrama 0 (es decir las entidades que van o que salen del hijo). Almacenes de información se pueden incluir en el diagrama hijo. Errores se pueden incluir en el diagrama hijo pero no en el diagrama padre.

Verificar Errores 2 1 3 Todos los flujos de datos deben originarse o terminar

Verificar Errores 2 1 3 Todos los flujos de datos deben originarse o terminar en un proceso. Flujos de datos no deben Dividirse en dos o mas flujos de datos diferentes. 3 Los procesos necesitan tener al menos una entrada y una salida.

Verificar Errores p Error: conectar almacenes de datos y entidades externas directamente una a

Verificar Errores p Error: conectar almacenes de datos y entidades externas directamente una a otra. p Error: data stores y entidades se pueden conectar solo con un proceso intermedio. p 2 entidades no se comunican entre ellas a menos que el sistema sea intermediario en la comunicacion p Para nombrar los procesos y flujo de datos. p Procesos: verbo + sustantivo + adjetivo Flujo de datos: sustantivo p

Diagrama de Contexto 0 Cliente articulos Sistema para una tienda miscelanea Total Cliente

Diagrama de Contexto 0 Cliente articulos Sistema para una tienda miscelanea Total Cliente

Diagrama 0 D 1 Precios Pago Cliente Artículos a comprar 1 2 3 4

Diagrama 0 D 1 Precios Pago Cliente Artículos a comprar 1 2 3 4 Identificar artículo Buscar precios Calcular total Completar transacción y emitir recibo Identificador de artículo Artículos y precios Total a pagar Cliente Recibo

DFD Lógico D 1 Cliente Artículos a comprar 1 Identificar artículo Precios Cliente Precios

DFD Lógico D 1 Cliente Artículos a comprar 1 Identificar artículo Precios Cliente Precios 2 Identificador de artículo Buscar precios Recibo Pago 4 3 Artículos y precios Calcular total Total a pagar Completar transacción y emitir recibo

DFD Lógico y Físico. Lógico: se enfoca en el negocio y como opera el

DFD Lógico y Físico. Lógico: se enfoca en el negocio y como opera el negocio, en este punto del diagrama no interesa como se va a construir. Se describen los eventos que ocurren y los datos necesarios y producidos por el evento. p Físico: muestra como se va a implementar el sistema incluyendo hardware, archivos y personas involucradas en el sistema. p

DFD Lógico Precios D 1 Cliente Artículos a comprar Precios 1 Identificar artículo Cliente

DFD Lógico Precios D 1 Cliente Artículos a comprar Precios 1 Identificar artículo Cliente Pago 2 4 3 Buscar precios Identificador de artículo Artículos y precios Recibo Calcular total Total a pagar Completar transacción y emitir recibo DFD Físico D 1 Archivo de Precios Cliente Artículos a comprar 1 Pasar artículos por el escaner (manual) Código de barras Descripción de artículos y precios D 2 Articulos y precios 2 Código de Barras del artículo Buscar código y precio en archivo Archivo de Transaccion Temporal Articulos, precios y subtotales Cliente Efectivo, tarjeta débito 3 Artículos y precios Calcular costo total Total a pagar Recibo de caja registradora 4 Recibir dinero y dar el recibo (manual)

Ventajas de DFD Lógico p p p Mejor comunicación con usuarios. Sistemas estables (esta

Ventajas de DFD Lógico p p p Mejor comunicación con usuarios. Sistemas estables (esta basado en eventos del negocio y no en una tecnología particular o método de implementación). Mejor entendimiento del negocio por los desarrolladores. Flexibilidad y mantenimiento (el negocio no cambia pero si los aspectos físicos del sistema). Eliminar redundancia y fácil creación del modelo físico.

Ventajas de DFD Físico p p p Clarifica cuales procesos son manuales y cuales

Ventajas de DFD Físico p p p Clarifica cuales procesos son manuales y cuales son automáticos. Describe procesos en mas detalle que los DFD lógicos. Hace secuencia de procesos que tienen que ser hechos en un orden particular. Identifica almacenes de datos temporales. Especifica nombres de archivos reales.

Dividir el DFD físico (partitioning) p p p Partitioning es el proceso de analizar

Dividir el DFD físico (partitioning) p p p Partitioning es el proceso de analizar el DFD y dividir/distinguir los procesos manuales y los automáticos. Una línea punteada se dibuja alrededor de los procesos que deben incluirse en un mismo proceso manual o automático. Los procesos automáticos se agrupan en un mismo programa, estos pueden ser Batch o en linea.

Procesos Manuales, Batch y en Linea p p p Procesos manuales: son ejecutados por

Procesos Manuales, Batch y en Linea p p p Procesos manuales: son ejecutados por personas. Batch: es cuando el proceso recibe y produce información que es generada y accesada por una computadora sin requerir intervención humana. La interfaz en linea es usada cuando el flujo de datos liga un proceso manual o una entidad externa a un proceso automático y requiere de una interfaz de usuario(reporte, ventana, menus, etc. )

Razones para dividir un DFD Diferentes grupos de usuarios p Tiempo (si dos procesos

Razones para dividir un DFD Diferentes grupos de usuarios p Tiempo (si dos procesos se ejecutan en diferentes p tiempos no pueden ser agrupados) p Tareas similares p Eficiencia p Consistencia de la información (se agrupan si tienen tareas similares y ambos son procesos Batch) (se pueden agrupar varios procesos Batch en uno solo, cuando tienen que usar el mismo achivo de entrada) (procesos que usan y/o actualizan la misma información) p Seguridad (por ejemplo cuando un sistema procesa el alta de un nuevo cliente y el proceso de cambiar la información confidencial)

Ventajas de un DFD Sencillez en la notación. p No requiere implementación física o

Ventajas de un DFD Sencillez en la notación. p No requiere implementación física o técnica (antes de tiempo). p Mejor comprensión entre el sistema y sus subsistemas. p Mayor facilidad para transmitir el conocimiento del sistema a los usuarios. p Facilidad para determinar si todos los datos y procesos necesarios para el sistema han sido definidos. p

Limitantes de los DFD p No son buenos para mostrar el manejo de errores

Limitantes de los DFD p No son buenos para mostrar el manejo de errores o casos especiales. p No especifica como se usan las entradas y como se producen las salidas. A B C E D F E F

Limitantes de los DFD A B C E D F E F C p

Limitantes de los DFD A B C E D F E F C p p El proceso D necesita todas o solo un dato A, B o C para ejecutarse? El proceso D genera un solo dato o E y F al mismo tiempo?

Simbología de Yourdon & Coad Entidad Flujo de Datos Almacén de Información Proceso

Simbología de Yourdon & Coad Entidad Flujo de Datos Almacén de Información Proceso