Está en la página 1de 73

Anlisis y Diseo

Estructurado Moderno

Ing. Luis Zuloaga Rotta

Anlisis y Diseo Sistemas


GERENCIA
Presupuesto y
cronogramas Orden de
Restricciones compra
1.0
Estudio de
Factibilidad 4.0
Estudio de
Plataforma Sistema en
Requerimientos Estudio de Tecnolgica produccin
Factibilidad Requerimientos
De configuracin
USUARIO 2.0
Fase de Configuracin
Anlisis 5.0
Implemen-
Descripciones Especificacin tacin
operacionales funcional
Especificaciones
3.0 de Diseo
Diseo
Ciclo de Vida Clsico Estructurado
Plan de pruebas
segn E. Yourdon

Anlisis y Diseo Sistemas


Vista interna del proceso 2.0
2.1
Anlisis Estructurado
2.5
Describir el DFD fsico
Anlisis
Sistema (opciones)
Costo
actual
Beneficio
2.4
Modelo fsico Opciones
Restringir
actual cuantificadas
El modelo

2.2 DFD fsico


Derivar (opciones)
2.6
Esquema Nuevo
Seleccin
Lgico DFD lgico
de mejor
Descripcin
opcin
operacional
Modelo lgico
actual DFD fsico
Configuracin
Diccionario seleccionado
de equipos
de datos
2.3 2.7
Definir nuevo Preparar
Estudio de sistema informe
factibilidad Especificacin funcional
Mini Especificaciones

Anlisis y Diseo Sistemas


Vista interna del proceso 3.0
Especificacin Flujo de
funcional datos 3.2
Diseo Estructurado
Derivar
tabla de
estructura Tabla de
3.1 estructura
Codificar
especificaciones
Descripcin
de datos
Polticas
Elementales Plan de
del usuario pruebas
3.3
Diseo de
mdulos
Descripcin
de mdulos 3.4
Requerimientos de
almacenamiento de Empaquetado
datos del diseo

Especificaciones
Configuracin
de diseo

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)
Entidad Persona, grupo de personas o unidad de negocio,
ALUMNO
Externa u otro sistema, o mecanismo que entrega yo
recibe informacin.

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
Anlisis y Diseo Sistemas apoyar un proceso.
Smbolos para los
elementos de un DFD
con BPWin
Entidad Externa

Proceso

Almacn de Datos

Flujo Datos
Anlisis y Diseo Sistemas
Entidad
Entidad Externa 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
DFD : Descomposicin por Niveles
El sistema deber contener:
- Un Diagrama de contexto
- Diagrama de nivel cero (1.0, 2.0, )
- Varios DFD en niveles intermedios (1.1,1.2,1.3,2.1,2.2,)
- 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


A
D
F
Diagrama Padre
B
C E

B B
E
C Diagrama Hijo
B
C C

Niveles de
descomposicin
Anlisis y Diseo Sistemas
Consideraciones para la
construccin de un correcto DFD
No pueden existir flechas de flujo o de relacin entre dos
entidades externas.
No pueden existir flujos o relaciones entre las entidades
externas y almacenes de datos.
No pueden existir flujos entre dos almacenes de datos.
No pueden incluirse procesos que slo procesen los datos
de entrada y no generen ningn flujo de salida.
Los almacenes de datos deben mostrarse preferentemente
en el ltimo nivel y de ser el caso en un nivel inmediato
anterior cuando en el mismo al menos dos procesos
expliquen la lectura y creacin o actualizacin de los
almacenes de datos.

Anlisis y Diseo Sistemas


Entidad Entidad
Externa 1 Externa 2

Entidad Almacn
Externa 1 de datos

Almacn Almacn
de datos de datos

Almacn
de datos

Proceso

Errores en un DFD

Anlisis y Diseo Sistemas


REFINAMIENTO J P2.1
G H
A P4
H
P1 P P2.2
I
N
I N
J P2.3
B M F C
P2 P5
C K P2.4 M
K E
L E
D P3 P2.5

A P1 H
G
B I P4
J N
P2 P
C
D P5 F
K M
P3
P2 E
L
Anlisis y Diseo Sistemas
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

Anlisis y Diseo Sistemas


DIAGRAMA DE PRIMER NIVEL
1
Documentos Verificados
VERIFICAR
DOCUMENTOS
[Documentos Matricula] DOCUMENTOS

2 ALUMNOS
[Identificacin] VERIFICAR
ALUMNOS
IDENTIFICACION Datos Identificacin

Datos Alumno

[Requerimiento Matricula]
[Constancia Matricula]
Datos Matricula Datos Cursos
3
REGISTRO
5 Datos Matricula CURSOS
EMITIR SECCION
CONSTANCIA + CURSOS
MATRICULA CURSOS
MATRICULADOS
Datos Estadstica
Datos Programacin Datos Cursos Seccin
Datos Matricula

OERA [Alumnos Matriculados] 6


HORARIOS
ELABORAR
ESTADISTICAS

[Estadsticas Matricula]

4 Datos Cursos Seccin


COMISION
[Horarios] CARGAR
MATRICULA HORARIOS

Anlisis y Diseo Sistemas


[Datos Alumno]
3.1 VERIFICAR IDENTIFICACION
ALUMNOS REGISTRAR
[Requerimiento Matricula] CURSOS
SECCION
[Datos Cursos]

Datos Cursos Registrados CURSOS


Datos Cursos Cruce
[Datos Cursos Seccin]

[Datos Estadstica]
3.2

VERIFICAR HORARIOS
CRUCES

[Datos Matricula]

[Datos Programacin]
CURSOS [Datos Matricula]
MATRICULADOS

Diagrama de Segundo Nivel

EMITIR CONSTANCIA MATRICULA

Anlisis y Diseo Sistemas


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 - Platinum
NODE: TITLE: NUMBER:

A-0 MATRICULA
1

Anlisis y Diseo Sistemas


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

NODE: TITLE: NUMBER:

A0 MATRICULA
2

Anlisis y Diseo Sistemas


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 PUBLICAT ION 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 Es tadstica
Registrados 3 HORARIOS

$0 32 Datos
Datos Programacin
Matricula VERIFICAR
CRUCES
Datos
Matricula CURSOS
6
MATRICULADOS

NODE: TITLE: NUMBER:


REGISTRO CURSOS SECCIN
A3 3

Anlisis y Diseo Sistemas


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 PUBLICAT ION A3

Datos $0 323
Matricula
PROCESAR
MATRICULA

Datos Datos
CURSOS Matricula Es tadstica
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

NODE: TITLE: NUMBER:


VERIFICAR CRUCES
A32 4

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 notacin 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
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
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


DFD

PROCEDIMIENTO
PROCEDIMIENTO

IFIF ..
..
.
.
.
.
DICCIONARIODATOS
DICCIONARIO DATOS ELSE
DICCIONARIO DATOS ELSE
.
.
Flujodatos:
Flujo datos: .
Flujo
.datos: .
.
. .
. .
Almacenamiento:
Almacenamiento:
Almacenamiento:
.
.
. .
. .

Anlisis y Diseo Sistemas


Boleta de Pago y ficha de matricula

Boleta de Inscripcin asesorada

Boleta de Inscripcin +
Alumno pago por derechos
Boleta de inscripcin con
cursos seleccionados

Identificacin
de alumno

Boleta de
inscripcin

Boleta de inscripcin
asesorada
Proceso de
Boleta de Inscripcin
Matricula
asesorada y registrada

Boleta de Pago por matricula

Boleta de matricula

Diagrama de Contexto
Anlisis y Diseo Sistemas
datos de cursos
autorizados
a matricularse

Boleta de
datos de cursos 2. Asesora inscripcin
inscritos de 3.
asesorada
matricula Inscripcin
en cursos-
Boleta de seccin
Inscripcin con Boleta de datos de cursos
cursos seleccionados Inscripcin registrados
asesorada Boleta de
Identificacin Inscripcin
de alumno asesorada y
registrada
1. Generar
Ficha de
Alumno
Matricula Boleta de Boleta de
inscripcin Pago por
matricula 4. Pago de
matricula
Boleta de Boleta de
Pago y ficha de Inscripcin +
matricula Pago por
Boleta de derechos
matricula
5.
Confirmar
matricula Datos de derechos
de pago por matricula
Anlisis y Diseo Sistemas
Curso - seccin

datos de curso-seccin
3.1
Seleccin
de cursos Matricula
datos de alumno
y cursos registrados
datos de alumno datos de inscripcin
3.2
Registro
Alumno de
matricula

Anlisis y Diseo Sistemas


ESPECIFICACIN DE
PROCESOS

Anlisis y Diseo Sistemas


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


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 Decisin
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


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


Acciones Condiciones TABLA DE DECISIN

Lmite crdito excedido V V V V F F F F


Cliente con buena V V F F V V F F
historia de pago
Compra arriba de 200 $ V F V F V F V F

Permitir crdito X X X X
Rechazar crdito X X X
Pasar a administrador X

Anlisis y Diseo Sistemas


rbol de Decisin Rechazar
Compra
crdito
arriba 200$
Buena
historia
pago Pasar
Compra
Limite administrador
abajo 200$
Crdito
Excedido Mala Rechazar
historia crdito
pago
Limite
Crdito no Permitir
Excedido crdito

Anlisis y Diseo Sistemas


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.

Anlisis y Diseo Sistemas


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
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
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
Descripcin del proceso :
Registro de Ventas

Reporte de Venta Registro Resmen de Ventas


de Ventas
= Cliente = Cliente
+ Nro_Parte + Valor_de_Venta
+ Cantidad_Vendida
+ Precio_Unitario
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total

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


Descripcin de proceso :
Sumando Descuentos
Autorizacin de Descuentos = CLIENTE
Emisin de
+ IMPORTE DEL DESCUENTO
Descuentos

Registro de Ventas Registro Resmen de Ventas


de Ventas = Cliente
= Cliente + Tipo
+ Nro_Parte + Valor_de_Venta
+ Cantidad_Vendida
+ Precio_Unitario

VENTAS

= Nro_Parte
+ Cantidad_Total
+ Valor_Total

Anlisis y Diseo Sistemas


Descripcin del proceso:
Sumando Facturas
Notificacin de Descuento = Cliente
Emisin de + Importe_Descuento
descuentos

Envo de
Cuentas de Correo Cuentas
Recepcin
= Cliente = Cliente
+ Valor_Venta + Valor_de_Venta

Informe de Ventas Registro


= Cliente de Ventas Resmen de Ventas
+ Nro_Parte = Cliente
+ Cantidad_Vendida + Tipo
+ Precio_Unitario + Valor_de_Venta
+ Tipo

Emisin
de VENTAS
Datos de la Factura
Facturas = Cliente = Nro_Parte
+ Nro_Parte + Cantidad_Total
+ Importe_de_Factura + Valor_Total

Anlisis y Diseo Sistemas


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
b) Seleccin Mltiple

Valor
Test

Grupo A Grupo k Grupo L Grupo Z


sentencias ... sentencias sentencias sentencias

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
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.

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


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_Req * Precio
Valor_Orden= Valor_Orden + Valor_Parte
Create Linea Orden in Orden Finalizada
END
Send Orden Finalizada

Anlisis y Diseo Sistemas


Descripcin del proceso :
Completando Ordenes

Parte

= Nro PARTE
+ PRECIO

Orden Preliminar Completar Orden completa


Ordenes
= Nro ORDEN = Nro ORDEN
+ {Nro PARTE + {Nro PARTE
+ CANTIDAD REQUERIDA} + 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_Req * Precio
Valor_Orden = Valor_orden + Valor_Parte
Create Linea Orden in Orden Finalizda
END
Send Orden Finalizada

Anlisis y Diseo Sistemas


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

3.5 crdito_ok
PEDIDOS
Verificar
crdito

PAGOS
historia pagos

pedido_rechazado

Anlisis y Diseo Sistemas


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

Anlisis y Diseo Sistemas


Especificacin de Proceso
Diagramas de Nassi-Schneiderman
Iteracin
Seleccin
Secuencia Condicin
Condicin
Sentencia 1
Sentencias
V F
Sentencia 2

... Sentencias Sentencias


Sentencia n Sentencias

Condicin

Anlisis y Diseo Sistemas


EJEMPLO DFD

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 15/04/2010 DRAFT
RECOMMENDED
TOP
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION

1 MODIFICACION DATOS MEDICOS


PROGRAMACION MEDICA 2
AREA
PROGRAMACION
PROGRAMACION MEDICO
CONSULTORIOS ACTUALIZACION DATOS
PERSONALES

ESPECIALIDADES
MEDICAS
S/. 0 0

CONSULTA MEDICOS
DATOS PERSONALES

CONSULTA DISPONIBILIDAD MEDICOS PROGRAMACION


SERVICIOS MEDICOS DISPONIBILIDAD HORARIA

CONSULTA DISPONIBILIDAD CONSULTORIOS

PROGRAMACION MEDICA
3
AREA DE
"Un sistema para realizar la programacion de los servicios medicos CITAS
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: NUMBER:


PROGRAMACION SERVICIOS MEDICOS
A-0

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 23/09/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A-0

ACTUALIZACION
MODIFICACION DATOS ESPECIALIDADES
DATOS PERSONALES
MEDICOS MEDICAS
PROGRAMACION

S/. 0 1 PROGRAMACION MEDICA

DATOS PARA DATOS PERSONALES


CONSULTORIOS
PROGRAMACION DISPONIBILIDAD HORARIA
SERVICIOS
MEDICOS

DATOS DATOS MEDICOS


DISPONIBILIDAD REGISTRADOS
CONSULTORIOS DATOS DE S/. 0 2
DISPONIBILIDAD
CONSULTA
DE MEDICOS
DISPONIBILIDAD
CONSULTORIOS
REALIZAR
CONSULTA MEDICOS PROGRAMACION
MEDICOS
CONSULTA
DISPONIBILIDAD
MEDICOS

PROGRAMACION MEDICA

NODE: TITLE: NUMBER:


PROGRAMACION SERVICIOS MEDICOS
A0

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 23/09/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A0

ACTUALIZACION
MODIFICACION
ESPECIALIDADES MEDICAS DATOS
DATOS MEDICOS
PERSONALES
DATOS
ACTUALIZACION DE
DISPONIBILIDAD
MEDICOS
DATOS S/. 0 1
ESPECIALIDAD
MEDICA DATOS PERSONALES

PERSONAL
MEDICO

DISPONIBILIDAD
HORARIA
S/. 0 3

ESPECIALIDADES
MEDICAS
S/. 0 2

CONSULTORIOS
CONSULTORIOS
DATOS DE
ACTUALIZACION DE
DISPONIBILIDAD
CONSULTORIOS

DATOS MEDICOS
REGISTRADOS
DATOS DE
DISPONIBILIDAD
DATOS
DE MEDICOS
DISPONIBILIDAD
CONSULTORIOS

NODE: TITLE: NUMBER:


DATOS PARA PROGRAMACION SERVICIOS
A1 MEDICOS

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 15/04/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A1

MODIFICACION ACTUALIZACION
DATOS MEDICOS DATOS PERSONALES

S/. 0 1
DATOS
ESPECIALIDAD DATOS PERSONALES
MEDICA
REGISTRAR
MEDICO

DATOS MEDICOS
DATOS
REGISTRADOS
S/. 0 2 ACTUALIZACION DE
DISPONIBILIDAD
MEDICOS

REGISTRAR
DISPONIBILIDAD HORARIA
DISPONIBILIDAD

DATOS DE DISPONIBILIDAD DE MEDICOS

NODE: TITLE: NUMBER:


PERSONAL MEDICO
A11

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 23/09/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A11

DATOS PERSONALES MODIFICACION DATOS


MEDICOS

S/. 0 1

CREAR
MEDICO
DATOS
ESPECIALIDAD
MEDICA CONFIRMACION DE
S/. 0 2 MODIFICACION DE
DATOS MEDICOS DATOS
REGISTRADOS
MODIFICAR
DATOS

ACTUALIZACION
DATOS
S/. 0 3 PERSONALES

ACTUALIZAR
DATOS
CONFIRMACION DE
S/. 0 4 ACTUALIZACION DE
DATOS
ORDEN DE BAJA
DAR BAJA A
MEDICO
CONFIRMACION DE LA BAJA

NODE: TITLE: NUMBER:


REGISTRAR MEDICO
A111

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 14/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 15/04/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A0

PROGRAMACION MEDICA
PROGRAMACION

S/. 0 6
DATOS MEDICOS REGISTRADOS
DATOS DE PROGRAMA
DATOS DE DISPONIBILIDAD DE MEDICOS REGISTRADO

DATOS DISPONIBILIDAD CONSULTORIOS

CONSULTA DISPONIBILIDAD CONSULTORIOS REGISTRAR


PROGRAMA
CONSULTA MEDICOS

S/. 0 9
CONSULTA DISPONIBILIDAD MEDICOS

EMITIR
PROGRAMA

REQUERIMIENTO DE
MODIFICACION DE DATOS DE PROGRAMA
PROGRAMA S/. 0 7 REGISTRADO
REQUERIMIENTO
MODIFICAR S/. 0 8 DE ACTUALIZACION
PROGRAMA DE PROGRAMA

ACTUALIZAR
PROGRAMA
CONFIRMACION DE CONFIRMACION DE
MODIFICACION DE ACTUALIZACION DE PROGRAMA
PROGRAMA

NODE: TITLE: NUMBER:


REALIZAR PROGRAMACION MEDICOS
A2

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 15/04/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 15/04/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A2

PROGRAMACION
1 MEDICO DISPONIBILIDAD
DATOS 3
MEDICO
MEDICOS DATOS DE
REGISTRADOS DISPONIBILIDAD DE
MEDICOS DATO DE
S/. 0 2
ACTUALIZACION
CONSULTA MEDICOS
DE
CONSULTAR DISPONIBILIDAD
DISPONIBILIDAD MEDICO
MEDICOS DATOS NUEVO S/. 0 1
CONSULTA PROGRAMA
DISPONIBILIDAD DISPONIBILIDAD
6
MEDICOS CONSULTORIOS CREAR
5 CONSULTORIO
PROGRAMA

S/. 0 4
DATOS DISPONIBILIDAD
S/. 0 3 CONSULTORIOS SELECCIONAR
MEDICO, CONSULTORIO
SEGUN DISPONIBILIDAD DATO DE ULTIMO
CONSULTAR DATO DE PROGRAMA
CONSULTA DISPONIBILIDAD ACTUALIZACION DE REGISTRADO
DISPONIBILIDAD CONSULTORIOS DISPONIBILIDAD
CONSULTORIOS CONSULTORIO
S/. 0 5

GRABAR PROGRAMA
PROGRAMA 7
SERVICIOS

7 PROGRAMA SERVICIOS

DATOS DE PROGRAMA REGISTRADO

NODE: TITLE: NUMBER:


REGISTRAR PROGRAMA
A26

Anlisis y Diseo Sistemas


USED AT: AUTHOR: Luis Zuloaga Rotta DATE: 23/09/2010 WORKING READER DATE CONTEXT:
PROJECT: DFD ProgramacionMedica REV: 23/09/2010 DRAFT
RECOMMENDED
NOTES: 1 2 3 4 5 6 7 8 9 10 PUBLICATION A2

DATOS DE PROGRAMA REGISTRADO 7 PROGRAMA SERVICIOS

S/. 0 1

RECUPERAR 5 CONSULTORIO 4 PERIODOS ATENCION


REQUERIMIENTO PROGRAMA
DE MODIFICACION
DE PROGRAMA

S/. 0 2

INGRESAR
DATOS PROGRAMA A DATOS DE
MODIFICAR MODIFICACION

1 MEDICO
PROGRAMA CON
S/. 0 3
DATOS
MODIFICADOS
GRABAR
PROGRAMA
MODIFICADO

NODE: TITLE: NUMBER:


MODIFICAR PROGRAMA
A27

Anlisis y Diseo Sistemas


Preguntas ?

Anlisis y Diseo Sistemas

También podría gustarte