Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
Proceso
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
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
COMISION MATRICULA
+
Alumnos Matriculados
Constancia Matricula
OERA
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
HORARIOS
COMISION MATRICULA
[Horarios]
4 CARGAR HORARIOS
[Datos Alumno]
3.1 VERIFICAR IDENTIFICACION
ALUMNOS
[Requerimiento Matricula]
[Datos Cursos]
CURSOS
VERIFICAR CRUCES
HORARIOS
[Datos Matricula]
CURSOS MATRICULADOS
[Datos Matricula]
[Datos Programacin]
USED AT: AUTHOR: Luis Zuloaga Rotta . PROJECT: SISTEMA CADEMICO CURSO A&DS NOTES: 1 2 3 4 5 6 7 8 9 10
READER
DATE CONTEXT:
TOP
ALUMNO
Requerimiento Matricula Constancia Matricula
$0 0
Alumnos Matriculados
MATRICULA
OERA
Estadisticas Matricula
2
COMISION
MATRICULA
Horarios
MATRICULA
1
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
Datos Programacin
$0
Alumnos Matriculados
COMISION MATRICULA
Horarios
$0
Datos Estadstica 3
ELABORAR ESTADISTICAS
HORARIOS
NODE:
TITLE:
NUMBER:
MATRICULA
2
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
HORARIOS
$0
32
Datos Matricula
Datos Programacin
VERIFICAR CRUCES
Datos Matricula 6 CURSOS MATRICULADOS
NODE:
TITLE:
NUMBER: 3
A3
Anlisis y Diseo Sistemas
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
$0 MOSTRAR CRUCES
322
$0
321
COMPARAR HORARIOS
Datos Programacin
NODE:
TITLE:
VERIFICAR CRUCES
NUMBER: 4
A32
Anlisis y Diseo Sistemas
= + {} 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.
10
ESPECIFICACIN DE PROCESOS
11
12
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
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
V F V X X X
rbol de Decisin
Buena historia pago Limite Crdito Excedido
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.
. 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
Finalizar Orden
= + + + + +
17
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
Registro de Ventas
Recepcin = Cliente + Valor_Venta Informe de Ventas = Cliente + Nro_Parte + Cantidad_Vendida + Precio_Unitario + Tipo Emisin de Facturas Registro de Ventas
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
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.
Estructuras de Repeticin
a) Usando WHILE
Condicin
Grupo A sentencias
22
b) Usando REPEAT
GRUPO A sentencias
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
23
Completar Ordenes
Orden completa = Nro ORDEN + {Nro PARTE + CANTIDAD REQUERIDA + PRECIO + VALOR PARTE} + VALOR ORDEN
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
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
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