Documentos de Académico
Documentos de Profesional
Documentos de Cultura
6) Lectura-6
6) Lectura-6
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.
1
Elementos de un Diagrama
Flujo Datos (DFD)
Entidad
Persona, grupo de personas o unidad
ALUMNOS
Externa de negocio que entrega yo recibe
informacin.
Conjunto de actividades de negocio
1
que explican que se hace y como se
MATRICULA Proceso llevan a cabo.
+ Seala el flujo de datos de una entidad
externa a un proceso y viceversa, de
Flujo un proceso a otro, y de un proceso a
Datos
un almacn de datos y viceversa.
Almacn Lugar fsico donde se almacenan los
ALUMNOS
Datos datos procesados o desde donde se
recuperan para apoyar un proceso.
Anlisis y Diseo Sistemas
Entidad Externa
Proceso
Almacn de Datos
Flujo Datos
Anlisis y Diseo Sistemas
2
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.
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
3
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)
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.
4
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.
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
5
DIAGRAMA DE CONTEXTO
Diagrama elaborado
PROCESO MATRICULA con Process Analyst
(Nivel 0) de PowerDesigner 6.0
Identificacin
Estadsticas Matricula
Requerimiento Matricula
ALUMNOS 1
Horarios COMISION
MATRICULA MATRICULA
Documentos Matricula
+
Alumnos Matriculados
Constancia Matricula
OERA
2 ALUMNOS
[Identificacin] VERIFICAR
ALUMNOS
IDENTIFICACION Datos Identificacin
Datos Alumno
[Requerimiento Matricula]
[Constancia Matricula]
Datos Matricula 3 Datos Cursos
REGISTRO
5 Datos Matricula CURSOS
EMITIR SECCION
CONSTANCIA + CURSOS
MATRICULA CURSOS
MATRICULADOS
Datos Estadstica
Datos Programacin Datos Cursos Seccin
Datos Matricula
[Estadsticas Matricula]
6
[Datos Alumno]
3.1 VERIFICAR IDENTIFICACION
ALUMNOS REGISTRAR
[Requerimiento Matricula] CURSOS
SECCION
[Datos Cursos]
[Datos Estadstica]
3.2
VERIFICAR HORARIOS
CRUCES
[Datos Matricula]
[Datos Programacin]
CURSOS [Datos Matricula]
MATRICULADOS
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
CURSO A&DS
RECOMMENDED
TOP
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION
Identificacin
Documentos
Matricula
1
ALUMNO
Requerimiento $0 0
Matricula
Alumnos
3
Matriculados
Constancia
Matricula MATRICULA OERA
Estadisticas
Matricula
2
COMISION Horarios
MATRICULA
Diagrama Contexto
elaborado con
BPWin 2.5 de Platinum
NODE: TITLE: NUMBER:
A-0 MATRICULA
1
7
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
. PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A-0
1
Documentos Matricula
ALUMNO
1 DOCUMENTOS
Documentos
$0 1 Verificados
VERIFICAR 2 ALUMNOS
DOCUMENTOS Datos
Identificacin
Datos Matricula
6 CURSOS
$0 2 MATRICULADOS
Identificacin VERIFICAR
IDENTIFICACIN
3
Datos Alumno Datos Cursos
5 CURSOS OERA
Constancia $0 4 Datos
Matricula EMITIR Matricula
CONSTANCIA
MATRICULA Datos Curso
$0 3
Requerimiento Seccin
REGISTRO
Matricula
CURSOS
SECCIN
Datos Alumnos
$0 5
Programacin Matriculados
ELABORAR
2 Datos ESTADISTICAS
COMISION $0 6 Estadstica
Horarios
MATRICULA CARGAR 3 HORARIOS
HORARIOS
Estadisticas
Matricula
A0 MATRICULA
2
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A0
1
ALUMNO
Requerimiento Datos
Matricula Cursos
$0 31 5 CURSOS
Datos
REGISTRAR
Alumno CURSO
SECCION Datos
Datos Cursos Curso
Cruce Seccin
Datos Datos
Cursos Estadstica
Registrados 3 HORARIOS
$0 32 Datos
Datos Programacin
Matricula VERIFICAR
CRUCES
Datos
Matricula CURSOS
6
MATRICULADOS
8
USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 16/06/2001 WORKING READER DATE CONTEXT:
.
PROJECT: SISTEMA CADEMICO REV: 16/06/2001 DRAFT
Curso A&DS
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A3
Datos $0 323
Matricula
PROCESAR
MATRICULA
Datos Datos
Matricula Estadstica
CURSOS
6
MATRICULADOS
3 HORARIOS
Datos Datos Datos
Cursos $0 322 Cursos Cursos
Cruce Cruce Registrados
MOSTRAR
CRUCES
Datos
$0 321
Cursos
Registrados
COMPARAR
HORARIOS Datos
Programacin
9
Smbolos usados en la notaci
notaci
n del DD
Asigne un nombre significativo a cada item de datos
bsico o compuesto.
= 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
n{ }m 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
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.
ESPECIFICACIN DE
PROCESOS
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.
12
Tcnicas del Anlisis
Estructurado
Ingls Estructurado
Ingls Extendido
Tablas de Decisin
rbol de Decisin
13
Ingls Estructurado
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
14
TABLA DE DECISIN
Acciones Condiciones
Permitir crdito X X X X
Rechazar crdito X X X
Pasar a administrador X
Rechazar
rbol de Decisin crdito
Compra
arriba 200$ Pasar
Buena
administrador
historia
pago
Compra
Limite
abajo 200$
Crdito
Excedido Mala Rechazar
historia crdito
pago
Limite
Crdito no Permitir
Excedido 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 . Divide
Add . Subtract
Exponential
Or . 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
Orden
Preliminar
= Nro_Orden
+ {Nro_Parte
+ Cantidad }
Orden
Finalizada
Finalizar
Precio_Parte Orden
= Nro_Orden
= Nro_Parte
+ {Nro_Parte
+ Precio_Unitario
+ Cantidad
+ Precio_Unitario
+ Valor_Parte}
Descripcin del Proceso : + Valor_Orden
Finalizar Orden
Anlisis y Diseo Sistemas
17
Descripcin del proceso :
Registro de Ventas
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
Descuentos + IMPORTE DEL DESCUENTO
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
Anlisis y Diseo Sistemas
Envo de
Recepcin Cuentas de Correo Cuentas
= Cliente = Cliente
+ Valor_Venta + Valor_de_Venta
Emisin VENTAS
Datos de la Factura
de = Nro_Parte
= Cliente
Facturas + Cantidad_Total
+ Nro_Parte
+ Importe_de_Factura + 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 Grupo B
sentencias 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
Case (name) of
A : BEGIN
Group A sentences
END Aqui name es una variable
y A...Z son valores que
Z : BEGIN
pueden ser tomados por name.
Group Z sentences
END
Anlisis y Diseo Sistemas
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
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
Descripcin del proceso :
Completando Ordenes
+ PRECIO
= Nro PARTE
PRECIOS
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
Descripcin de proceso:
Completar Ordenes Limitadas
= Nro PARTE
+ PRECIO
25