Sunteți pe pagina 1din 64

Anlisis y Diseo Sistemas

Anlisis y Diseo
Estructurado Moderno
Ing. Luis Zuloaga Rotta
Anlisis y Diseo Sistemas
1.0
Estudio de
Factibilidad
2.0
Fase de
Anlisis
4.0
Estudio de
Plataforma
Tecnolgica
3.0
Diseo
Estructurado
5.0
Implemen-
tacin
GERENCIA
USUARIO
Ciclo de Vida Clsico
segn E. Yourdon
Requerimientos Estudio de
Factibilidad
Restricciones
Presupuesto y
cronogramas
Descripciones
operacionales
Requerimientos
De configuracin
Especificacin
funcional
Configuracin
Plan de pruebas
Especificaciones
de Diseo
Orden de
compra
Sistema en
produccin
Anlisis y Diseo Sistemas
2.1
Describir el
Sistema
actual
2.2
Derivar
Esquema
Lgico
2.3
Definir nuevo
sistema
2.4
Restringir
El modelo
2.5
Anlisis
Costo
Beneficio
2.6
Seleccin
de mejor
opcin
2.7
Preparar
informe
Descripcin
operacional
Modelo fsico
actual
Modelo lgico
actual
Nuevo
DFD lgico
Estudio de
factibilidad
Mini Especificaciones
Diccionario
de datos
DFD fsico
(opciones)
DFD fsico
(opciones)
Opciones
cuantificadas
DFD fsico
seleccionado
Especificacin funcional
Configuracin
de equipos
Vista interna del proceso 2.0
Anlisis Estructurado
Anlisis y Diseo Sistemas
3.1
Codificar
especificaciones
3.2
Derivar
tabla de
estructura
3.3
Diseo de
mdulos
3.4
Empaquetado
del diseo
Especificacin
funcional
Flujo de
datos
Descripcin
de datos
Tabla de
estructura
Polticas
Elementales
del usuario
Requerimientos de
almacenamiento de
datos
Descripcin
de mdulos
Configuracin
Plan de
pruebas
Especificaciones
de diseo
Vista interna del proceso 3.0
Diseo Estructurado
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
Externa
Flujo
Datos
Proceso
Almacn
Datos

Persona, grupo de personas o unidad de negocio,
u otro sistema, o mecanismo 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.
ALUMNOS
ALUMNO
1
MATRICULA
+
Anlisis y Diseo Sistemas
Smbolos para los
elementos de un DFD
con BPWin

Entidad Externa



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.
Entidad
externa
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.
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)
Almacn
de datos
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
B
C
D
E
B
E
F
C
B
C
B
C
Niveles de
descomposicin
Diagrama Padre
Diagrama Hijo
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
Externa 1
Entidad
Externa 2
Entidad
Externa 1
Almacn
de datos
Almacn
de datos
Almacn
de datos
Proceso
Almacn
de datos
Errores en un DFD
Anlisis y Diseo Sistemas
P1
P2
P4
P5
P3
A
B
D
C
K
L
E
J
I
H
N
M
P
G
F
P2.1
P2.2
P2.3
P2.4
P2.5
J
I
H
C
N
K
M
L
E
P1
P2
P4
P3
P2
P5
A
B
C
D
K
L
M
E
H
J
I
N
G
P
F
REFINAMIENTO
Anlisis y Diseo Sistemas
Diagrama elaborado
con Process Analyst
de PowerDesigner 6.0
Documentos Matricula
Estadsticas Matricula
Alumnos Matriculados
Horarios
Requerimiento Matricula
Identificacin
Constancia Matricula
1
MATRICULA
+
ALUMNOS
COMISION
MATRICULA
OERA
DIAGRAMA DE CONTEXTO
PROCESO MATRICULA
(Nivel 0)
Anlisis y Diseo Sistemas
Datos Estadstica
Datos Programacin
Datos Cursos Datos Matricula
Datos Matricula
Datos Matricula
Datos Cursos Seccin
Datos Cursos Seccin
Datos Alumno
Documentos Verificados
Datos Identificacin
[Alumnos Matriculados]
[Estadsticas Matricula]
[Constancia Matricula]
[Horarios]
[Requerimiento Matricula]
[Identificacin]
[Documentos Matricula]
ALUMNOS
COMISION
MATRICULA
OERA
1
VERIFICAR
DOCUMENTOS
2
VERIFICAR
IDENTIFICACION
3
REGISTRO
CURSOS
SECCION
+
4
CARGAR
HORARIOS
5
EMITIR
CONSTANCIA
MATRICULA
6
ELABORAR
ESTADISTICAS
ALUMNOS
DOCUMENTOS
HORARIOS
CURSOS
MATRICULADOS
CURSOS
DIAGRAMA DE PRIMER NIVEL
Anlisis y Diseo Sistemas
Datos Cursos Cruce
[Datos Estadstica]
[Datos Programacin]
[Datos Matricula]
[Datos Cursos]
[Requerimiento Matricula]
Datos Cursos Registrados
[Datos Matricula]
[Datos Cursos Seccin]
[Datos Alumno]
ALUMNOS
VERIFICAR IDENTIFICACION
HORARIOS
CURSOS
MATRICULADOS
EMITIR CONSTANCIA MATRICULA
CURSOS
3.1
REGISTRAR
CURSOS
SECCION
3.2
VERIFICAR
CRUCES
Diagrama de Segundo Nivel
Anlisis y Diseo Sistemas
USED AT: AUTHOR: Luis Zuloaga Rotta DATE:
REV: PROJECT: SISTEMA CADEMICO
16/06/2001
16/06/2001
NOTES: 1 2 3 4 5 6 7 8 9 10
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER DATE CONTEXT:
TOP
.
CURSO A&DS
NODE: TITLE: NUMBER:
MATRICULA
A - 0
1
0 $0
MATRICULA
1
ALUMNO
2
COMISION
MATRICULA
3
OERA
Identificacin
Documentos
Matricula
Requerimiento
Matricula
Horarios
Estadisticas
Matricula
Alumnos
Matriculados
Constancia
Matricula
Diagrama Contexto
elaborado con
BPWin 2.5 - Platinum
Anlisis y Diseo Sistemas
USED AT: AUTHOR: Luis Zuloaga Rotta DATE:
REV: PROJECT: SISTEMA CADEMICO
16/06/2001
16/06/2001
NOTES: 1 2 3 4 5 6 7 8 9 10
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER DATE CONTEXT:
A-0
.
Curso A&DS
NODE: TITLE: NUMBER:
MATRICULA
A0
2
1 $0
VERIFICAR
DOCUMENTOS
4 $0
EMITIR
CONSTANCIA
MATRICULA
2 $0
VERIFICAR
IDENTIFICACIN
6 $0
CARGAR
HORARIOS
3 $0
REGISTRO
CURSOS
SECCIN
5 $0
ELABORAR
ESTADISTICAS
1
ALUMNO
1
DOCUMENTOS
2 ALUMNOS
2
COMISION
MATRICULA 3 HORARIOS
5 CURSOS
6
CURSOS
MATRICULADOS
3
OERA
Documentos Matricula
Identificacin
Horarios
Requerimiento
Matricula
Alumnos
Matriculados
Estadisticas
Matricula
Documentos
Verificados
Datos Alumno
Constancia
Matricula
Datos
Identificacin
Datos Cursos
Datos Matricula
Datos
Matricula
Datos
Estadstica
Datos
Programacin
Datos Curso
Seccin
Anlisis y Diseo Sistemas
USED AT: AUTHOR: Luis Zuloaga Rotta DATE:
REV: PROJECT: SISTEMACADEMICO
16/06/2001
16/06/2001
NOTES: 1 2 3 4 5 6 7 8 9 10
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER DATE CONTEXT:
A0
.
Curso A&DS
NODE: TITLE: NUMBER:
REGISTRO CURSOS SECCIN
A3
3
31 $0
REGISTRAR
CURSO
SECCION
32 $0
VERIFICAR
CRUCES
5 CURSOS
6
CURSOS
MATRICULADOS
1
ALUMNO
3 HORARIOS
Datos
Alumno
Datos
Matri cula
Datos
Cursos
Regi strados
Requeri miento
Matri cula
Datos Cursos
Cruce
Datos
Cursos
Datos
Matri cula
Datos
Estadsti ca
Datos
Programaci n
Datos
Curso
Secci n
Anlisis y Diseo Sistemas
USED AT: AUTHOR: Luis Zuloaga Rotta DATE:
REV: PROJECT: SISTEMACADEMICO
16/06/2001
16/06/2001
NOTES: 1 2 3 4 5 6 7 8 9 10
WORKING
DRAFT
RECOMMENDED
PUBLICATION
READER DATE CONTEXT:
A3
.
Curso A&DS
NODE: TITLE: NUMBER:
VERIFICAR CRUCES
A32
4
322 $0
MOSTRAR
CRUCES
323 $0
PROCESAR
MATRICULA
321 $0
COMPARAR
HORARIOS
6
CURSOS
MATRICULADOS
3 HORARIOS
Datos
Cursos
Cruce
Datos
Cursos
Registrados
Datos
Matricula
Datos
Cursos
Cruce
Datos
Cursos
Regi strados
Datos
Matri cula
Datos
Estadsti ca
Datos
Programaci n
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
DICCIONARIO DATOS

Flujo datos:
.
.
Almacenamiento:
.
.
DICCIONARIO DATOS

Flujo datos:
.
.
Almacenamiento:
.
.
DICCIONARIO DATOS

Flujo datos:
.
.
Almacenamiento:
.
.
PROCEDIMIENTO

IF ..
.
.
ELSE
.
.
PROCEDIMIENTO

IF ..
.
.
ELSE
.
.
Anlisis y Diseo Sistemas
Proceso de
Matricula
Alumno
Identificacin
de alumno
Boleta de
inscripcin
Boleta de inscripcin con
cursos seleccionados
Boleta de Inscripcin +
pago por derechos
Boleta de Pago y ficha de matricula
Boleta de Inscripcin asesorada
Boleta de inscripcin
asesorada
Boleta de Inscripcin
asesorada y registrada
Boleta de Pago por matricula
Boleta de matricula
Diagrama de Contexto
Anlisis y Diseo Sistemas
Alumno
Boleta de
inscripcin
Boleta de
Inscripcin con
cursos seleccionados
Boleta de
inscripcin
asesorada
Identificacin
de alumno
Boleta de
Inscripcin +
Pago por
derechos
Boleta de
Pago por
matricula
Boleta de
matricula
Boleta de
Pago y ficha de
matricula
Boleta de
Inscripcin
asesorada y
registrada
Boleta de
Inscripcin
asesorada
datos de cursos
inscritos
datos de cursos
autorizados
a matricularse
datos de cursos
registrados
Datos de derechos
de pago por matricula
3.
Inscripcin
en cursos-
seccin
4. Pago de
matricula
5.
Confirmar
matricula
1. Generar
Ficha de
Matricula
2. Asesora
de
matricula
Anlisis y Diseo Sistemas
Curso - seccin
Matricula
datos de alumno
y cursos registrados
Alumno
datos de alumno
datos de curso-seccin
datos de inscripcin
3.1
Seleccin
de cursos
3.2
Registro
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
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 Estructurado
Anlisis y Diseo Sistemas
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
Ingls Extendido
Anlisis y Diseo Sistemas
TABLA DE DECISIN
Lmite crdito excedido
Cliente con buena
historia de pago
Compra arriba de 200 $
Permitir crdito
Rechazar crdito
Pasar a administrador
V
V
V
X
V
V
F
X
V
F
V
X
V
F
F
F F F F
V V F F
V F V F
X
X X X X
C
o
n
d
i
c
i
o
n
e
s

A
c
c
i
o
n
e
s

Anlisis y Diseo Sistemas
Limite
Crdito
Excedido
Limite
Crdito no
Excedido
Buena
historia
pago
Mala
historia
pago
Compra
arriba 200$
Compra
abajo 200$
Rechazar
crdito
Pasar
administrador
Rechazar
crdito
Permitir
crdito
rbol de Decisin
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
Finalizar
Orden
Precio_Parte
Orden
Preliminar
Orden
Finalizada
= Nro_Orden
+ {Nro_Parte
+ Cantidad }
= Nro_Orden
+ {Nro_Parte
+ Cantidad
+ Precio_Unitario
+ Valor_Parte}
+ Valor_Orden
= Nro_Parte
+ Precio_Unitario
Descripcin del Proceso :
Finalizar Orden
Anlisis y Diseo Sistemas
Descripcin del proceso :
Registro de Ventas
Registro
de Ventas
Reporte de Venta Resmen de Ventas
= Cliente
+ Valor_de_Venta
= Cliente
+ Nro_Parte
+ 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
Emisin de
Descuentos
Registro
de Ventas
Autorizacin de Descuentos = CLIENTE
+ IMPORTE DEL DESCUENTO
Registro de Ventas
= Cliente
+ Nro_Parte
+ Cantidad_Vendida
+ Precio_Unitario
Resmen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
VENTAS
Anlisis y Diseo Sistemas
Descripcin del proceso:
Sumando Facturas
Emisin de
descuentos
Emisin
de
Facturas
Notificacin de Descuento = Cliente
+ Importe_Descuento
Cuentas de Correo
= Cliente
+ Valor_de_Venta
Resmen de Ventas
= Cliente
+ Tipo
+ Valor_de_Venta
VENTAS
= Nro_Parte
+ Cantidad_Total
+ Valor_Total
Datos de la Factura
= Cliente
+ Nro_Parte
+ Importe_de_Factura
Recepcin
= Cliente
+ Valor_Venta

Informe de Ventas
= Cliente
+ Nro_Parte
+ Cantidad_Vendida
+ Precio_Unitario
+ Tipo
Envo de
Cuentas
Registro
de Ventas
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
IF condition
THEN
BEGIN
Group A sentences
END
ELSE
BEGIN
Group B sentences
END
Condicin
Grupo A
sentencias
Grupo B
sentencias
Anlisis y Diseo Sistemas
b) Seleccin Mltiple
Case (name) of
A : BEGIN
Group A sentences
END

Z : BEGIN
Group Z sentences
END
Aqui name es una variable
y A...Z son valores que
pueden ser tomados por name.
Grupo A
sentencias
Grupo k
sentencias
Grupo L
sentencias
Grupo Z
sentencias
Valor
Test
...
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
REPEAT
BEGIN
GROUP A sentences
END
UNTIL condition
Condicin
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
Orden Preliminar
= Nro ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA}
= Nro PARTE
+ PRECIO
Orden completa
= Nro ORDEN
+ {Nro PARTE
+ CANTIDAD REQUERIDA
+ PRECIO
+ VALOR PARTE}
+ VALOR ORDEN
Completar
Ordenes
Parte
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
id_cliente
PEDIDOS
PAGOS
pedido_rechazado
crdito_ok
pedido_pago_previo
3.5
Verificar
crdito
historia pagos
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
Secuencia
Seleccin
Sentencias Sentencias
Sentencia
1
Sentencia
2
Sentencia
n
...
Iteracin
Condicin
Condicin
Sentencias
Sentencias
Condicin
F
V
Especificacin de Proceso
Diagramas de Nassi-Schneiderman
Anlisis y Diseo Sistemas
Preguntas ?

S-ar putea să vă placă și