Documente Academic
Documente Profesional
Documente Cultură
GERENCIA
Presupuesto y cronogramas
Restricciones
Orden de compra
Requerimientos
Sistema en produccin
USUARIO
Configuracin
Descripciones operacionales
5.0 Implementacin
Especificaciones de Diseo
Plan de pruebas
Descripcin operacional
Configuracin de equipos
Estudio de factibilidad
Especificacin funcional
Mini Especificaciones
Especificacin funcional
Flujo de datos
3.1 Codificar especificaciones Descripcin de datos Polticas Elementales del usuario 3.3 Diseo de mdulos Requerimientos de almacenamiento de datos Descripcin de mdulos
Plan de pruebas
Configuracin
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, u otro sistema, o mecanismo que entrega yo recibe informacin.
1 MATRICULA
Proceso
Conjunto de actividades de negocio que explican que se hace y como se llevan a cabo.
+
Flujo Datos 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.
Almacn ALUMNOS Datos Lugar fsico donde se almacenan los datos procesados o desde donde se recuperan para apoyar un proceso. Anlisis y Diseo Sistemas
Proceso
Entidad Externa
Entidad externa
Representa personas, organizaciones, u otros sistemas que no pertenecen al sistema en estudio. 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
Proceso
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
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
D
F Diagrama Padre E
B B C
B
C
Diagrama Hijo
Niveles de descomposicin
Anlisis y Diseo Sistemas
Entidad Externa 1
Almacn de datos
Proceso
Errores en un DFD
REFINAMIENTO
A
P2.1
P4 P1
J I P2 M P5 E F K K P3 L C P2.4 M P2.5 L H N P I P2.2 P2.3
C
D
A B C D P3
P1 J I
H P2 K N M
P4 P
P5 E
L
Anlisis y Diseo Sistemas
P2
ALUMNOS
Horarios
MATRICULA
Documentos Matricula
COMISION MATRICULA
+
Alumnos Matriculados
Constancia Matricula
OERA
ALUMNOS
[Identificacin]
2 VERIFICAR IDENTIFICACION
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
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
WORKING
READER
DATE CONTEXT:
DRAFT RECOMMENDED
PUBLICATION A-0
NOTES: 1 2 3 4 5 6 7 8 9 10 1
ALUMNO
Documentos Matricula
1 $0 1 VERIFICAR DOCUMENTOS $0 Documentos Verificados 2 Datos Identificacin 2
DOCUMENTOS
ALUMNOS
Datos Matricula
6
Identificacin
CURSOS MATRICULADOS
3
VERIFICAR IDENTIFICACIN
Datos Alumno
Constancia Matricula $0 4 EMITIR CONSTANCIA MATRICULA Datos Matricula
Datos Cursos
5
CURSOS
OERA
Requerimiento Matricula
Datos Programacin
$0
Alumnos Matriculados
COMISION MATRICULA
Horarios
$0
Datos Estadstica 3
ELABORAR ESTADISTICAS
CARGAR HORARIOS
HORARIOS
Estadisticas Matricula
NODE:
TITLE:
NUMBER:
MATRICULA
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 6 MATRICULADOS
Datos Matricula
Datos Estadstica
HORARIOS
$0
321
COMPARAR HORARIOS
Datos Programacin
NODE:
TITLE:
VERIFICAR CRUCES
NUMBER: 4
A32
Anlisis y Diseo Sistemas
= + {} n{ }m [||] () "" **
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
DFD
PROCEDIMIENTO PROCEDIMIENTO .. IFIF .. . . . . ELSE ELSE . . . .
DICCIONARIODATOS DATOS DICCIONARIO DICCIONARIO DATOS Flujodatos: datos: Flujo Flujo datos: . . . . . . Almacenamiento: Almacenamiento: Almacenamiento: . . . . . .
Alumno
Boleta de Inscripcin + pago por derechos Boleta de inscripcin con cursos seleccionados Identificacin de alumno
Boleta de inscripcin
Proceso de Matricula
Boleta de matricula
Diagrama de Contexto
Anlisis y Diseo Sistemas
datos de cursos autorizados a matricularse datos de cursos inscritos 2. Asesora de matricula Boleta de inscripcin asesorada
Boleta de Inscripcin con cursos seleccionados Identificacin de alumno 1. Generar Ficha de Matricula
3. Inscripcin en cursosseccin
Alumno
Boleta de inscripcin 4. Pago de matricula
Boleta de matricula
Curso - seccin
datos de curso-seccin
Matricula
Alumno
datos de inscripcin
ESPECIFICACIN DE PROCESOS
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
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 F V F F F X
V V V F
X X X X X
Pasar a administrador
rbol de Decisin
Buena historia pago Limite Crdito Excedido
Rechazar crdito
Pasar administrador
Rechazar crdito
Permitir crdito
Ingls Estructurado
Sentencias imperativas: usualmente consiste de un verbo imperativo seguido por el contenido de uno o mas almacenamientos 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
Orden Preliminar
= Nro_Orden + {Nro_Parte + Cantidad } Orden Finalizada
Precio_Parte
Finalizar Orden
= Nro_Parte + Precio_Unitario
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.
Registro de Ventas
Resmen de Ventas
Envo de Cuentas
Registro de Ventas
Emisin de Facturas
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_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
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
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
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_Req * Precio Valor_Orden= Valor_Orden + Valor_Parte Create Linea Orden in Orden Finalizada END Send Orden Finalizada
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_Req * Precio Valor_Orden = Valor_orden + Valor_Parte Create Linea Orden in Orden Finalizda END Send Orden Finalizada
Get Orden Preliminar Valor_Orden = 0. REPEAT BEGIN Get next Linea Orden Get Precio record for Nro_Parte in Linea Orden Valor_Parte = Cant_Req * 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
pedido_pago_previo id_cliente
PEDIDOS
crdito_ok
LEER pedidos con id_cliente SI cliente es nuevo EMITIR pedido_pago_previo SINO SI cliente es frecuente (*promedio de dos pedidos mensuales*) OBTENER balance desde historia_pagos SI balance esta vencido hace ms de dos meses EMITIR pedido_rechazado SINO EMITIR credito_ok SINO EMITIR pedido_pago_previo FIN_SI FINCASO
Seleccin
Condicin Sentencias
Condicin
V
Sentencia 2 ... Sentencia n
F
Sentencias
Sentencias
Sentencias Condicin
EJEMPLO DFD
USED AT:
READER
DATE CONTEXT:
TOP
NOTES: 1 2 3 4 5 6 7 8 9 10
MODIFICACION DATOS MEDICOS PROGRAMACION MEDICA PROGRAMACION CONSULTORIOS ACTUALIZACION DATOS PERSONALES 2
AREA PROGRAMACION
MEDICO
ESPECIALIDADES MEDICAS S/. 0 CONSULTA MEDICOS DATOS PERSONALES CONSULTA DISPONIBILIDAD MEDICOS 0
DISPONIBILIDAD HORARIA
PROGRAMACION MEDICA 3
"Un sistema para realizar la programacion de los servicios medicos segun su especialidad en un consultorio disponible y en un horario que depende de la disponibilidad horaria del personal medico registrado que permita optimiozar el proceso de citas mdicas".
NODE: TITLE:
AREA DE CITAS
NUMBER:
A-0
USED AT:
READER
DATE CONTEXT:
NOTES: 1 2 3 4 5 6 7 8 9 10
A-0
ESPECIALIDADES MEDICAS
S/. 0
PROGRAMACION MEDICA
CONSULTORIOS
S/. 0
NODE:
TITLE:
NUMBER:
A0
USED AT:
READER
DATE CONTEXT:
A0
ESPECIALIDADES MEDICAS
S/. 0
S/. 0
CONSULTORIOS DATOS DE ACTUALIZACION DE DISPONIBILIDAD CONSULTORIOS DATOS MEDICOS REGISTRADOS DATOS DE DISPONIBILIDAD DE MEDICOS
NODE:
TITLE:
A1
USED AT:
READER
DATE CONTEXT:
A1
S/. 0
1 DATOS PERSONALES
REGISTRAR MEDICO
REGISTRAR DISPONIBILIDAD
DISPONIBILIDAD HORARIA
NODE:
TITLE:
PERSONAL MEDICO
NUMBER:
A11
Anlisis y Diseo Sistemas
USED AT:
READER
DATE CONTEXT:
A11
CONFIRMACION DE LA BAJA
NODE:
TITLE:
REGISTRAR MEDICO
NUMBER:
A111
USED AT:
READER
DATE CONTEXT:
NOTES: 1 2 3 4 5 6 7 8 9 10 PROGRAMACION
A0 PROGRAMACION MEDICA
S/. 0 DATOS MEDICOS REGISTRADOS DATOS DE DISPONIBILIDAD DE MEDICOS DATOS DISPONIBILIDAD CONSULTORIOS CONSULTA DISPONIBILIDAD CONSULTORIOS CONSULTA MEDICOS REGISTRAR PROGRAMA
S/. 0
MODIFICAR PROGRAMA
NODE:
TITLE:
NUMBER:
A2
USED AT:
READER
DATE CONTEXT:
NOTES: 1 2 3 4 5 6 7 8 9 10
A2
1 MEDICO DATOS MEDICOS REGISTRADOS S/. 0 CONSULTA MEDICOS CONSULTAR DISPONIBILIDAD MEDICOS CONSULTA DISPONIBILIDAD MEDICOS DISPONIBILIDAD 6 CONSULTORIOS 2 DATOS DE DISPONIBILIDAD DE MEDICOS
DISPONIBILIDAD MEDICO
PROGRAMACION
DATO DE ACTUALIZACION DE DISPONIBILIDAD MEDICO DATOS NUEVO PROGRAMA S/. 0 CREAR PROGRAMA S/. 0 4 1
5 CONSULTORIO
DATOS DISPONIBILIDAD CONSULTORIOS DATO DE ACTUALIZACION DE DISPONIBILIDAD CONSULTORIO S/. 0 GRABAR PROGRAMA 5
PROGRAMA SERVICIOS
7 PROGRAMA SERVICIOS
REGISTRAR PROGRAMA
NUMBER:
A26
USED AT:
READER
DATE CONTEXT:
NOTES: 1 2 3 4 5 6 7 8 9 10
A2
7 PROGRAMA SERVICIOS
NODE:
TITLE:
MODIFICAR PROGRAMA
NUMBER:
A27
Preguntas ?