Está en la página 1de 25

DIAGRAMAS DE FLUJO DE DATOS (DFD)

Ing. Luis Zuloaga Rotta

Anlisis y Diseo Sistemas

DFDs
Muestran en forma visual slo el flujo de datos entre los distintos procesos, entidades externas y almacenes que conforman un sistema. Cuando los analistas de sistemas indagan sobre los requerimientos de informacin de los usuarios, deben ser capaces de concebir la manera en que los datos fluyen a travs del sistema u organizacin, los procesos que sufren estos datos y sus tipos de salidas.
Anlisis y Diseo Sistemas

Elementos de un Diagrama Flujo Datos (DFD)


ALUMNOS

Entidad Externa

Persona, grupo de personas o unidad de negocio que entrega yo recibe informacin. Conjunto de actividades de negocio que explican que se hace y como se llevan a cabo. Seala el flujo de datos de una entidad externa a un proceso y viceversa, de un proceso a otro, y de un proceso a un almacn de datos y viceversa. Lugar fsico donde se almacenan los datos procesados o desde donde se recuperan para apoyar un proceso.

1 MATRICULA

Proceso

+
Flujo Datos Almacn Datos

ALUMNOS

Anlisis y Diseo Sistemas

Otros smbolos para los elementos de un DFD


Entidad Externa

Proceso

Almacn de Datos Flujo Datos


Anlisis y Diseo Sistemas

Entidad Externa
Representa personas, organizaciones, o sistemas que no pertenecen al sistema. En el caso de que las entidades externas se comunicasen entre s, esto no se contemplara en el diagrama, por estar fuera del mbito de nuestro sistema Puede aparecer en los distintos niveles de DFD para mejorar su comprensin, aunque normalmente slo aparecer en el diagrama de contexto. Pueden aparecer varias veces en un mismo diagrama, para evitar entrecruzamientos de lneas. Suministra informacin acerca de la conexin del sistema con el mundo exterior.
Anlisis y Diseo Sistemas

Procesos
Cuando un flujo de datos entra en un proceso sufre una transformacin. Un proceso no es origen ni final de los datos, slo lugar de transformacin de ellos. Un proceso puede trasformar un dato en varios. Es necesario un proceso entre una Entidad Externa y un Almacn de datos. Un proceso puede representarse sealando una localizacin. La localizacin expresa la unidad o rea dentro de la organizacin donde se realiza el proceso.
Anlisis y Diseo Sistemas

Almacn de Datos
Representa la informacin en reposo No puede crear, destruir ni transformar datos No puede estar comunicado directamente con otro almacn o Entidad externa El flujo de datos (Entrada y Salida) no lleva nombre cuando incide sobre su contenido completo No debe estar referido al entorno fsico, y por tanto, no se diferencian los ficheros convencionales de las bases de datos No se representa la clave de acceso a este almacn sino slo la operacin que se realiza (lectura, escritura, actualizacin)
Anlisis y Diseo Sistemas

Flujo de Datos
El concepto de flujo de datos es similar al concepto de tubera a travs del cual fluye informacin de estructura conocida. Los datos no pueden ser creados ni destruidos por un flujo de datos. Sirve para conectar el resto de los componentes de un DFD. No es un activador de procesos. Cuando un proceso almacena datos, la flecha de flujo de datos se indica en la direccin del almacn de datos y a la inversa si es el proceso el que lee datos en el almacn.
Anlisis y Diseo Sistemas

DFD : Descomposicin por Niveles


El sistema deber contener:
- Un Diagrama de contexto (primer nivel) - Varios DFD en niveles intermedios - Varios DFD en el ltimo nivel de detalle

En cualquier momento nos puede aparecer un proceso que no necesite descomposicin y es lo que denominaremos Proceso Primitivo (PP). En ellos, se detallar la entrada y salida que tenga, adems de la descripcin asociada que explique lo que realiza.
Anlisis y Diseo Sistemas

DFD : Construccin
Representar el diagrama de contexto. Representar el DFD de primer nivel, indicando los distintos subsistemas funcionales en que se descompone nuestro sistema. Descomponer cada uno de los procesos que aparecen en el DFD de primer nivel, hasta llegar a un nivel suficiente de detalle. Se recomienda el utilizar cuatro niveles de descomposicin de diagramas.
Nivel 0: Diagrama de contexto Nivel 1: Subsistemas Nivel 2: Funciones de cada subsistema Nivel 3: Subfunciones asociadas Nivel 4: Procesos necesarios para el tratamiento de cada subfuncin
Anlisis y Diseo Sistemas

DIAGRAMA DE CONTEXTO PROCESO MATRICULA


(Nivel 0)
Identificacin

Diagrama elaborado con Process Analyst de PowerDesigner 6.0

Estadsticas Matricula Requerimiento Matricula ALUMNOS


1

Horarios MATRICULA Documentos Matricula

COMISION MATRICULA

+
Alumnos Matriculados

Constancia Matricula

OERA

Anlisis y Diseo Sistemas

1 Documentos Verificados VERIFICAR DOCUMENTOS [Documentos Matricula]

DIAGRAMA DE PRIMER NIVEL

DOCUMENTOS 2 VERIFICAR IDENTIFICACION ALUMNOS Datos Identificacin

ALUMNOS

[Identificacin]

Datos Alumno [Constancia Matricula] [Requerimiento Matricula] Datos Matricula 5 EMITIR CONSTANCIA MATRICULA Datos Matricula CURSOS MATRICULADOS Datos Matricula OERA [Alumnos Matriculados] 6 ELABORAR ESTADISTICAS 3 REGISTRO CURSOS SECCION + Datos Cursos

CURSOS

Datos Estadstica

Datos Programacin Datos Cursos Seccin

HORARIOS

[Estadsticas Matricula] Datos Cursos Seccin

COMISION MATRICULA

[Horarios]

4 CARGAR HORARIOS

Anlisis y Diseo Sistemas

[Datos Alumno]
3.1 VERIFICAR IDENTIFICACION

ALUMNOS
[Requerimiento Matricula]

REGISTRAR CURSOS SECCION

[Datos Cursos]

Datos Cursos Registrados

Datos Cursos Cruce [Datos Cursos Seccin] [Datos Estadstica]


3.2

CURSOS

VERIFICAR CRUCES

HORARIOS

[Datos Matricula]

CURSOS MATRICULADOS

[Datos Matricula]

[Datos Programacin]

Diagrama de Segundo Nivel


EMITIR CONSTANCIA MATRICULA

Anlisis y Diseo Sistemas

USED AT: AUTHOR: Luis Zuloaga Rotta . PROJECT: SISTEMA CADEMICO CURSO A&DS NOTES: 1 2 3 4 5 6 7 8 9 10

DATE: 16/06/2001 REV: 16/06/2001

WORKING DRAFT RECOMMENDED PUBLICATION

READER

DATE CONTEXT:

TOP

Identificacin Documentos Matricula

ALUMNO
Requerimiento Matricula Constancia Matricula
$0 0

Alumnos Matriculados

MATRICULA

OERA

Estadisticas Matricula
2

COMISION
MATRICULA

Horarios

Diagrama Contexto elaborado con BPWin 2.5 de Platinum


NODE: TITLE: NUMBER:

A-0 Anlisis y Diseo Sistemas

MATRICULA
1

USED AT: . Curso A&DS

AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO

DATE: 16/06/2001 REV: 16/06/2001

WORKING DRAFT RECOMMENDED

READER

DATE CONTEXT:

NOTES: 1 2 3 4 5 6 7 8 9 10 1

PUBLICATION

A-0

ALUMNO

Documentos Matricula
1 $0 1 Documentos Verificados 2 Datos Identificacin $0 2

DOCUMENTOS ALUMNOS
Datos Matricula
6

VERIFICAR DOCUMENTOS

Identificacin

CURSOS MATRICULADOS
3

VERIFICAR IDENTIFICACIN

Datos Alumno
Constancia Matricula $0 EMITIR CONSTANCIA MATRICULA Requerimiento Matricula 4 Datos Matricula

Datos Cursos

5 CURSOS

OERA

$0 3 REGISTRO CURSOS SECCIN

Datos Curso Seccin

Datos Programacin

$0

Alumnos Matriculados

COMISION MATRICULA

Horarios

$0

Datos Estadstica 3

ELABORAR ESTADISTICAS

CARGAR HORARIOS Estadisticas Matricula

HORARIOS

NODE:

TITLE:

NUMBER:

A0 Anlisis y Diseo Sistemas

MATRICULA
2

USED AT: . Curso A&DS

AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO

DATE: 16/06/2001 REV: 16/06/2001

WORKING DRAFT RECOMMENDED PUBLICATION

READER

DATE CONTEXT:

NOTES: 1 2 3 4 5 6 7 8 9 10

A0

ALUMNO
Requerimiento Matricula
$0 31

Datos Cursos 5 CURSOS REGISTRAR CURSO SECCION Datos Cursos Cruce Datos Estadstica 3

Datos Alumno

Datos Curso Seccin

Datos Cursos Registrados

HORARIOS

$0

32

Datos Matricula

Datos Programacin

VERIFICAR CRUCES
Datos Matricula 6 CURSOS MATRICULADOS

NODE:

TITLE:

REGISTRO CURSOS SECCIN

NUMBER: 3

A3
Anlisis y Diseo Sistemas

USED AT: . Curso A&DS

AUTHOR: Luis Zuloaga Rotta PROJECT: SISTEMA CADEMICO

DATE: 16/06/2001 REV: 16/06/2001

WORKING DRAFT RECOMMENDED PUBLICATION

READER

DATE CONTEXT:

NOTES: 1 2 3 4 5 6 7 8 9 10

A3

Datos Matricula

$0

323

PROCESAR MATRICULA

CURSOS MATRICULADOS

Datos Matricula

Datos Estadstica

HORARIOS

Datos Cursos Cruce

$0 MOSTRAR CRUCES

322

Datos Cursos Cruce

Datos Cursos Registrados

Datos Cursos Registrados

$0

321

COMPARAR HORARIOS

Datos Programacin

NODE:

TITLE:

VERIFICAR CRUCES

NUMBER: 4

A32
Anlisis y Diseo Sistemas

Diccionario de Datos (DD)


Notacin para representar la estructura de items de datos, necesaria para expresar :
composicin (secuencia ?) cmo un item esta compuesto de unidades planas (sus atributos). Repeticin items que son repetidos en (e.g.) listas, arreglos (arrays), etc. seleccin valores para items a seleccionar desde alternativas. opcionalidad - items que no siempre estan presentes.

Anlisis y Diseo Sistemas

Smbolos usados en la notaci notaci n del DD


Asigne un nombre significativo a cada item de datos bsico o compuesto.

= + {} n{ }m [||] () "" **

significa es definido como', o esta hecho de' significa y ' significa cero o mas de cualquier cosa que este dentro de las llaves, i.e. repeticin significa entre n y m (inclusive) significa que uno de los atributos entre las barras esta presente. significa que el item entre parentesis es opcional incluye literales (valor a utilizar) incluye comentarios define el significado de datos, informalmente.

Anlisis y Diseo Sistemas

Ejemplo : Lista Seminarios


ListaSeminarios = Titulo + NumeroVersion + Fecha + {DetalleSeminario} DetalleSeminario = DiaSemana + Horario + Aula + {ListaEstudiantes} ListaEstudiantes = {Nombre + Apellido Paterno} o.. ListaSeminarios = Titulo + NumeroVersion + Fecha + { DiaSemana + Horario + Aula + {Nombre + ApellidoPaterno} } NumeroVersion = Digito + " ." + Digito Digito = ["1" |"2" |"3" |"4" |..] Horario = HoraInicio + " -" + HoraTermino HoraInicio = ["9" |"10" |"11" |"12"..]
Anlisis y Diseo Sistemas

10

Un nuevo Ejemplo : PlanCurso


PlanCurso = FechaDePlan + NroVersion + Titulo + {DetalleSemanal} DetalleSemanal = NroSemana + FechaInicio + [SemanaInstruccion|SemanaNoInstruccion] SemanaNoInstruccion = [administrativa"| "introduccion"| aprendizaje centrado estudiante"| ...] SemanaInstruccion = 2{DetalleExposicion}2 + (ListaSeminarios) + (TrabajoPractico) DetalleExposicion = *Descripcion del contenido Exposicion* FechaInicio = Fecha FechaDePlan = Fecha Fecha = *fecha en formato "dd-mmm-yy"* etc, etc.
Anlisis y Diseo Sistemas

ESPECIFICACIN DE PROCESOS

Anlisis y Diseo Sistemas

11

Mtodos utilizados para Especificar Procesos


Todos los procesos en un DFD deben ser descritos. Los mtodos usados para describir procesos de alto nivel, difieren de aquellos utilizados para describir procesos detallados. Los primeros son descritos usualmente utilizando lenguaje natural, y los otros utilizando un lenguaje estructurado.
Anlisis y Diseo Sistemas

Que es lo que el proceso hace ?


Los procesos a bajo nivel deben ser descritos en forma precisa y sin ambiguedades. Se necesitan mtodos que remuevan ambiguedades desde la descripcin del sistema, y que pueda ser facilmente comprendido por usuarios y programadores.

Anlisis y Diseo Sistemas

12

Tcnicas del Anlisis Estructurado


Ingls Estructurado Ingls Extendido Tablas de Decisin rbol de Decisin

Anlisis y Diseo Sistemas

Ingls Estructurado y Extendido Tabla y rbol de Decisi n


Las dos tcnicas del ingls permiten construir descripciones verbales dentro de una estructura lgica, removiendo ambiguedades lgicas. Las tcnicas de decisin se utilizan donde una de un nmero de acciones va a ser seleccionada, dependiendo de un nmero de condiciones.
Anlisis y Diseo Sistemas

13

Ingls Estructurado
IF limite crdito excedido THEN IF cliente tiene mala historia de pago THEN rechase crdito ELSE IF compra es mayor de 200 $ THEN rechase crdito ELSE pasar a administrador ELSE permitir crdito

Anlisis y Diseo Sistemas

Ingls Extendido
IF nivel de crdito excedido THEN (limite crdito excedido) IF cliente tiene mala historia de pago THEN rechazar crdito ELSE (cliente tiene buena historia de pago) IF compra es mayor a 200 $ THEN rechazar crdito ELSE (compra es menor a 200 $) pasar a administrador ELSE (nivel de crdito no excedido) permitir crdito
Anlisis y Diseo Sistemas

14

TABLA DE DECISIN
Acciones Condiciones
Lmite crdito excedido Cliente con buena historia de pago V V V V V F V V F F F F F V V F F F F X

Compra arriba de 200 $ V F Permitir crdito Rechazar crdito Pasar a administrador X X

V F V X X X

Anlisis y Diseo Sistemas

rbol de Decisin
Buena historia pago Limite Crdito Excedido

Compra arriba 200$

Rechazar crdito Pasar administrador

Compra abajo 200$ Rechazar crdito

Mala historia pago

Limite Crdito no Excedido


Anlisis y Diseo Sistemas

Permitir crdito

15

Ingls Estructurado
Sentencias imperativas: usualmente consiste de un verbo imperativo seguido por el contenido de uno o mas almacenamiento s de datos sobre los cuales el verbo opera. Por ejemplo : ADD Salario_Persona to Total_Salario Pueden utilizarse operadores Booleanos y aritmticos, en las sentencias imperativas.

Anlisis y Diseo Sistemas

Operadores Aritmticos y Booleanos


Multiply Add Exponential Or

. Divide . Subtract

. Not Greater than . Less than Less than or equal to . Greater than or equal to Equals . Not equal to
Anlisis y Diseo Sistemas

16

Lgica del Ingls Estructurado


BEGIN . END CASE REPEAT. UNTIL WHILE DO IF . ..........THEN .ELSE DO FOR

Anlisis y Diseo Sistemas

Orden Preliminar = Nro_Orden + {Nro_Parte + Cantidad } Orden Finalizada

Precio_Parte = Nro_Parte + Precio_Unitario

Finalizar Orden

Descripcin del Proceso : Finalizar Orden


Anlisis y Diseo Sistemas

= + + + + +

Nro_Orden {Nro_Parte Cantidad Precio_Unitario Valor_Parte} Valor_Orden

17

Descripcin del proceso : Registro de Ventas


Reporte de Venta = + + + Cliente Nro_Parte Cantidad_Vendida Precio_Unitario VENTAS = Nro_Parte + Cantidad_Total + Valor_Total

Registro de Ventas

Resmen de Ventas = Cliente + Valor_de_Venta

Anlisis y Diseo Sistemas

BEGIN Receive REPORTE VENTA Get VENTAS record for Nro PARTE in REPORTE VENTA CANT_TOTAL = CANT_TOTAL+ CANT_VENDIDA VALOR_VTA = CANT_VENDIDA * PRECIO_UNIT VALOR_TOT = VALOR_TOT + VALOR_VTA Write VENTAS record. Send Resumen Ventas END.

Anlisis y Diseo Sistemas

18

Descripcin de proceso : Sumando Descuentos


Emisin de Autorizacin de Descuentos = CLIENTE + IMPORTE DEL DESCUENTO Descuentos

Registro de Ventas = + + + Cliente Nro_Parte Cantidad_Vendida Precio_Unitario

Registro de Ventas

Resmen de Ventas = Cliente + Tipo + Valor_de_Venta

VENTAS = Nro_Parte + Cantidad_Total + Valor_Total


Anlisis y Diseo Sistemas

Descripcin del proceso: Registro Ventas


Emisin de descuentos Notificacin de Descuento = Cliente + Importe_Descuento Envo de Cuentas

Recepcin = Cliente + Valor_Venta Informe de Ventas = Cliente + Nro_Parte + Cantidad_Vendida + Precio_Unitario + Tipo Emisin de Facturas Registro de Ventas

Cuentas de Correo = Cliente + Valor_de_Venta

Resumen de Ventas = Cliente + Tipo + Valor_de_Venta

Datos de la Factura = Cliente + Nro_Parte + Importe_de_Factura

VENTAS = Nro_Parte + Cantidad_Total + Valor_Total

Anlisis y Diseo Sistemas

19

BEGIN Receive REPORTE VENTA Get VENTAS record for NRO_PARTE in REPORTE VENTA CANT_TOTAL = CANT_TOTAL + CANT_VENDIDA VALOR_VENTA = CANT_VENDIDA * PRECIO_UNIT VALOR_TOTAL = VALOR_TOTAL + VALOR_VENTA Write VENTAS record. Send RESUMEN VENTAS IF VALOR_VENTA > 500.00 THEN BEGIN CANT_DESCUENTO = SALE-VALUE * 0.02 Send DESCUENTO AUTORIZADO END END.
Anlisis y Diseo Sistemas

Estructura de Decisin
a) Seleccin de dos maneras

Condicin Grupo A sentencias Grupo B sentencias

IF condition THEN BEGIN Group A sentences END ELSE BEGIN Group B sentences END
Anlisis y Diseo Sistemas

20

b) Seleccin Mltiple
Valor Test

Grupo A sentencias

...

Grupo k sentencias

Grupo L sentencias

Grupo Z sentencias

Case (name) of A : BEGIN Group A sentences END Z : BEGIN Group Z sentences END
Anlisis y Diseo Sistemas

Aqui name es una variable y A...Z son valores que pueden ser tomados por name.

BEGIN Receive Reporte Ventas Get Ventas record for Nro_Parte in Reporte Ventas Cant_Total = Cant_Total + Cant_Vendida Cant_Vendida = Cant_Vendida * Precio_Unit Valor_TOTAL = Valor_TOTAL + Valor_Venta. Write Ventas record. Send Resumen Ventas CASE TYPE OF Cuenta : BEGIN Send Cuenta Correo IF Valor_Venta = 500.00 THEN BEGIN Cant_Descuento = Valor_Vta* 0.02 send Descuento Autorizado END. END
Anlisis y Diseo Sistemas

21

Contado.Cheque: BEGIN Send Recibir. END Credito: BEGIN Send Recibir. END Credito: BEGIN Cant_Factura = Valor_Vta + Valor_Vta* 0.01 send Datos Factura END END END.

Anlisis y Diseo Sistemas

Estructuras de Repeticin
a) Usando WHILE
Condicin

Grupo A sentencias

WHILE condition DO BEGIN GROUP A sentences END

Anlisis y Diseo Sistemas

22

b) Usando REPEAT

GRUPO A sentencias

Condicin REPEAT BEGIN GROUP A sentences END UNTIL condition

Anlisis y Diseo Sistemas

Get Orden Preliminar Valor_Orden = 0. WHILE there are more Lineas Orden DO BEGIN Get next Linea Orden Get Precios record for Nro_Parte in Linea Orden Valor_Parte = Cant_Neces * Precio Valor_Orden= Valor_Orden + Valor_Parte Create Linea Orden in Orden Finalizada END Send Orden Finalizada

Anlisis y Diseo Sistemas

23

Descripcin del proceso : Completando Ordenes


+ PRECIO = Nro PARTE PRECIOS

Orden Preliminar = Nro ORDEN + {Nro PARTE + CANTIDAD REQUERIDA}

Completar Ordenes

Orden completa = Nro ORDEN + {Nro PARTE + CANTIDAD REQUERIDA + PRECIO + VALOR PARTE} + VALOR ORDEN

Anlisis y Diseo Sistemas

Get Orden Preliminar Valor_Orden = 0. FOR each Linea Orden in an Orden DO BEGIN Get next Linea Orden Get Precios record for Nro_Parte in Linea Orden Valor_Parte = Cant_Neces * Precio Valor_Orden = Valor_orden + Valor_Parte Create Linea Orden in Orden Finalizda END Send Orden Finalizada

Anlisis y Diseo Sistemas

24

Get Orden Preliminar Valor_Orden = 0. REPEAT BEGIN Get next Linea Orden Get Precio record for Nro_Parte in Linea Orden Valor_Parte = Cant_Neces * Precio Valor_Orden = Valor_Orden + Valor_Parte IF Valor_Orden < Limite_Orden THEN create Linea Orden in Orden Finalizada END UNTIL (Valor_Orden > Limite_Orden) or (there are no more Lineas Orden) Send Orden Finalizada
Anlisis y Diseo Sistemas

Descripcin de proceso: Completar Ordenes Limitadas


= Nro PARTE + PRECIO

Orden Preliminar = Nro ORDEN + LIMITE ORDEN + {Nro PARTE + CANTIDAD REQUERIDA}

Orden completa Completar Ordenes = Nro ORDEN + { Nro PARTE + CANTIDAD REQUERIDA + PRECIO + VALOR PARTE} + VALOR ORDEN

Anlisis y Diseo Sistemas

25

También podría gustarte