Académique Documents
Professionnel Documents
Culture Documents
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
1
MATRICULA
Proceso
+
Flujo
Datos
ALUMNOS
Almacn
Datos
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 : 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
Diagrama elaborado
con Process Analyst
de PowerDesigner 6.0
(Nivel 0)
Identificacin
Estadsticas Matricula
Requerimiento Matricula
ALUMNOS
Horarios
COMISION
MATRICULA
MATRICULA
Documentos Matricula
Alumnos Matriculados
Constancia Matricula
OERA
1
Documentos Verificados
VERIFICAR
DOCUMENTOS
[Documentos Matricula]
DOCUMENTOS
[Identificacin]
ALUMNOS
ALUMNOS
2
VERIFICAR
IDENTIFICACION
Datos Identificacin
Datos Alumno
[Constancia Matricula]
[Requerimiento Matricula]
Datos Matricula
5
EMITIR
CONSTANCIA
MATRICULA
3
REGISTRO
CURSOS
SECCION
+
Datos Matricula
CURSOS
MATRICULADOS
Datos Estadstica
Datos Matricula
OERA
[Alumnos Matriculados]
Datos Cursos
CURSOS
6
ELABORAR
ESTADISTICAS
HORARIOS
[Estadsticas Matricula]
COMISION
MATRICULA
[Horarios]
4
CARGAR
HORARIOS
[Datos Alumno]
3.1
ALUMNOS
[Requerimiento Matricula]
VERIFICAR IDENTIFICACION
REGISTRAR
CURSOS
SECCION
[Datos Cursos]
CURSOS
HORARIOS
VERIFICAR
CRUCES
[Datos Matricula]
CURSOS
MATRICULADOS
[Datos Programacin]
[Datos Matricula]
USED AT:
AUTHOR: Luis Zuloaga Rotta
.
PROJECT: SISTEMA CADEMICO
CURSO A&DS
DATE: 16/06/2001
WORKING
REV: 16/06/2001
DRAFT
READER
DATE CONTEXT:
TOP
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
Identificacin
Documentos
Matricula
ALUMNO
Requerimiento
Matricula
Constancia
Matricula
$0
Alumnos
Matriculados
MATRICULA
OERA
Estadisticas
Matricula
2
COMISION
Horarios
MATRICULA
Diagrama Contexto
elaborado con
BPWin 2.5 de Platinum
NODE:
TITLE:
A-0
NUMBER:
MATRICULA
1
USED AT:
.
Curso A&DS
DATE: 16/06/2001
WORKING
REV: 16/06/2001
DRAFT
READER
DATE CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
1
PUBLICATION
A-0
Documentos Matricula
ALUMNO
1
$0
VERIFICAR
DOCUMENTOS
ALUMNOS
Datos
Identificacin
$0
Identificacin
DOCUMENTOS
Documentos
Verificados
Datos Matricula
CURSOS
MATRICULADOS
VERIFICAR
IDENTIFICACIN
3
Datos Alumno
Constancia
Matricula
$0
Datos Cursos
Datos
Matricula
EMITIR
CONSTANCIA
MATRICULA
$0
3
REGISTRO
CURSOS
SECCIN
Requerimiento
Matricula
COMISION
MATRICULA
OERA
5 CURSOS
$0
Horarios
Datos Curso
Seccin
Datos
Programacin
$0
Datos
Estadstica
Alumnos
Matriculados
ELABORAR
ESTADISTICAS
3
CARGAR
HORARIOS
HORARIOS
Estadisticas
Matricula
NODE:
TITLE:
NUMBER:
MATRICULA
A0
USED AT:
.
Curso A&DS
DATE: 16/06/2001
WORKING
REV:
DRAFT
16/06/2001
READER
DATE CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
A0
ALUMNO
Requerimiento
Matricula
Datos
Cursos
$0
Datos
Alumno
31
REGISTRAR
CURSO
SECCION
Datos
Cursos
Registrados
$0
Datos
Matricula
HORARIOS
Datos
Programacin
VERIFICAR
CRUCES
Datos
Matricula
NODE:
Datos
Curso
Seccin
Datos Cursos
Cruce
Datos
Estadstica
32
CURSOS
TITLE:
A3
CURSOS
MATRICULADOS
NUMBER:
3
USED AT:
.
Curso A&DS
DATE: 16/06/2001
WORKING
REV:
DRAFT
16/06/2001
READER
DATE CONTEXT:
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10
PUBLICATION
$0
Datos
Matricula
A3
323
PROCESAR
MATRICULA
Datos
Matricula
CURSOS
MATRICULADOS
Datos
Estadstica
Datos
Cursos
Cruce
$0
322
Datos
Cursos
Cruce
HORARIOS
Datos
Cursos
Registrados
MOSTRAR
CRUCES
Datos
Cursos
Registrados
$0
321
COMPARAR
HORARIOS
NODE:
TITLE:
Datos
Programacin
VERIFICAR CRUCES
NUMBER:
A32
=
+
{}
n{ }m
[||]
()
""
**
significa y '
significa cero o mas de cualquier cosa que este
dentro de las llaves, i.e. repeticin
significa que uno de los atributos entre las barras
esta presente.
incluye literales (valor a utilizar)
incluye comentarios define el significado de
datos, informalmente.
10
ESPECIFICACIN DE
PROCESOS
11
12
Ingls Estructurado
Ingls Extendido
Tablas de Decisin
rbol de Decisin
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
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
Acciones Condiciones
TABLA DE DECISIN
Lmite crdito excedido
V V
F F F
V V
V V
V F V
X X X
Permitir crdito
Rechazar crdito
Pasar a administrador
rbol de Decisin
Buena
historia
pago
Limite
Crdito
Excedido
Limite
Crdito no
Excedido
Mala
historia
pago
Compra
arriba 200$
Rechazar
crdito
Pasar
administrador
Compra
abajo 200$
Rechazar
crdito
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.
Operadores Aritmticos y
Booleanos
Multiply
Add
Exponential
. Divide
. Subtract
. Not
Greater than
. Less than
Less than or equal to . Greater than or equal to
Equals
. Not equal to
Or
16
BEGIN . END
CASE
REPEAT. UNTIL
WHILE DO
IF . ..........THEN .ELSE
DO
FOR
Orden
Preliminar
= Nro_Orden
+ {Nro_Parte
+ Cantidad }
Precio_Parte
Finalizar
Orden
= Nro_Parte
+ Precio_Unitario
Orden
Finalizada
=
+
+
+
+
+
Nro_Orden
{Nro_Parte
Cantidad
Precio_Unitario
Valor_Parte}
Valor_Orden
17
Resmen de Ventas
Registro
de Ventas
Cliente
Nro_Parte
Cantidad_Vendida
Precio_Unitario
= Cliente
+ Valor_de_Venta
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
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.
18
Descripcin de proceso :
Sumando Descuentos
Emisin de Autorizacin de Descuentos = CLIENTE
+ IMPORTE DEL DESCUENTO
Descuentos
Registro
de Ventas
Registro de Ventas
=
+
+
+
Resmen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta
Cliente
Nro_Parte
Cantidad_Vendida
Precio_Unitario
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
Anlisis y Diseo Sistemas
Informe de Ventas
= Cliente
+ Nro_Parte
+ Cantidad_Vendida
+ Precio_Unitario
+ Tipo
Emisin
de
Facturas
Envo de
Cuentas
Cuentas de Correo
= Cliente
+ Valor_de_Venta
Recepcin
= Cliente
+ Valor_Venta
Registro
de Ventas
Datos de la Factura
= Cliente
+ Nro_Parte
+ Importe_de_Factura
Resumen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
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
Case (name) of
A : BEGIN
Group A sentences
END
Z : BEGIN
Group Z sentences
END
Grupo L
sentencias
Grupo Z
sentencias
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.
Estructuras de Repeticin
a) Usando WHILE
Condicin
Grupo A
sentencias
WHILE condition DO
BEGIN
GROUP A sentences
END
22
b) Usando REPEAT
GRUPO A
sentencias
Condicin
REPEAT
BEGIN
GROUP A sentences
END
UNTIL condition
23
Orden Preliminar
= Nro ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA}
Completar
Ordenes
Orden completa
= Nro ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA
+ PRECIO
+ VALOR PARTE}
+ VALOR ORDEN
24
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
25