Professional Documents
Culture Documents
Situacin en el
programa de teora
1.
2.
3.
4.
5.
6.
7.
8.
Actividades iniciales.
Tcnicas de recogida de la informacin.
Requisitos y anlisis de requisitos.
Actividades generales de anlisis de requisitos.
Documentos de especificacin de requisitos.
Anlisis estructurado.
Introduccin a los casos de uso.
Prototipado.
Introduccin
Anlisis Estructurado
Mtodo clave en el desarrollo estructurado
o convencional
Aparece a finales de los 70
Facilita la comunicacin en el proceso de
desarrollo de un sistema de informacin
anlisis y diseo
usuarios y analistas
Caractersticas principales
Amplia difusin
Descomposicin funcional
(Originariamente) Orientada a procesos
(Originariamente)
(Originariamente) Top/down
Bibliografa
Texto de referencia
Yourdon, E., Anlisis estructurado moderno. 1993: Prentice-Hall
Hispanoamericana
Introduccin
Captulo 4. Herramientas del anlisis estructurado
Captulo 7. Cambios en el anlisis de sistemas
Tcnicas
El proceso de anlisis
Bibliografa (II)
Entre la bibliografa bsica...
Piattini, M., et al., Anlisis y diseo detallado de Aplicaciones Informticas de
Gestin. 2004: Ra-ma.
MAP, MTRICA versin 2.1. Gua de Tcnicas. 1995, Madrid: Ministerio de
Administraciones Pblicas. Secretara de Estado para la Administracin Pblica.
Consejo Superior de Informtica.
En castellano y en la biblioteca...
Barranco de Aruba, J., Metodologa del Anlisis Estructurado de Sistemas (2
edicin). 2001, Madrid: Publicaciones de la Universidad Pontificia de Comillas.
Hawryszkiewycz, I. T. Introduccin al anlisis y diseo de sistemas con
ejemplos prcticos. 1 ed., Madrid : Anaya Multimedia, 1990.
Referencias clsicas...
DeMarco, T., Structured analysis and system specification. 1979, Englewood
Cliffs, New Jersey: Yourdon Press.
Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires:
El Ateneo (traduccin de Gane, C. and T. Sarson, Structured systems analysis,
tools and techniques. Software series. 1979, New Jersey: Prentice-Hall.)
AE utiliza...
Modelado funcional
DFD (Diagrama de Flujo de Datos, Dataflow diagram)
Modelado de datos
Diagrama E-R (Entidad-Relacin), o alternativamente,
DED (Diagrama de Estructura de Datos)
Modelado del comportamiento
Diagramas HVE (Historia de Vida de las Entidades)
Diagramas de Transicin de Estados (STD, State Transition
Diagram)
AE utiliza...
Lgica de procesos
Lenguaje estructurado
Pre y post-condiciones
Tablas de decisin
rboles de decisin
Visin panormica AE
DFDs
Visin general de las funciones y
transformaciones de datos en una
organizacin
Modelo lgico y grfico del sistema
tambin como modelo fsico
Visin panormica AE
DFDs (II)
Tipos de smbolos en los DFDs
(notacin de Yourdon/De Marco)
P1
ENTIDAD
EXTERNA
flujo de datos
Proceso
D ALMACN DE
DATOS
Visin panormica AE
DFDs (III)
Ejemplo
Sistema de distribucin sin inventario
Se trata de un sistema que sirve pedidos de libros
a unos clientes, con la particularidad de que no
mantiene un stock o inventario interno. El sistema
puede agrupar los pedidos que clientes distintos
hacen a un mismo editor, de manera que se puedan
conseguir descuentos.
Adaptado del captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas.
1990, Buenos Aires: El Ateneo.
Visin panormica AE
DFDs (IV)
Anlisis de los procesos del sistema
Aplicamos la visin sistmica
Diagrama de contexto
CLIENTE
pedidos
rdenes de compra
libros entregados
en principio, no
son materiales,
son datos
0.
Sistema de
Pedidos
EDITOR
libros pedidos
Visin panormica AE
DFDs (V)
0. Sistema de pedidos
pedidos
D LIBROS
rdenes de compra
pedidos vlidos
1.
Verificar
validez
de pedido
D PEDIDOS
PENDIENTES
2.
Armar
pedidos
a editores
D RDENES DE
COMPRA
pedidos en lote
direccin
libros entregados
libros entregados =
albarn + lista-novedades
5.
Armar
entrega
a clientes
DD
libros por
clientes
4.
Asignar
libros a
pedidos
3.
Verificar
envo
de editores
libros
recibidos
libros recibidos =
{ttulo + cantidad}
DD
libros pedidos
Visin panormica AE
DFDs (V)
0. Sistema de pedidos
pedidos
D LIBROS
rdenes de compra
pedidos vlidos
1.
Verificar
validez
de pedido
D PEDIDOS
PENDIENTES
2.
Armar
pedidos
a editores
D RDENES DE
COMPRA
pedidos en lote
direccin
libros entregados
5.
Armar
entrega
a clientes
libros por
clientes
4.
Asignar
libros a
pedidos
libros
recibidos
3.
Verificar
envo
de editores
libros pedidos
Visin panormica AE
DFDs (VI)
El DFD del ejemplo pertenece al nivel lgico
un FD puede estar contenido en una nota, una factura, una
llamada telefnica, etc.
un almacn de datos puede ser una BD o un fichero en papel
no se dice qu deber ser automtico o manual.
Visin panormica AE
Diccionario de Datos
Es un conjunto de metadatos, es decir, de
informacin (datos) sobre datos
Contiene las definiciones de todos los elementos
de los diagramas
Implementacin
Manual
Procesador de textos
Base de datos
Automtico e integrado
Visin panormica AE
Diccionario de Datos (II)
Flujo de datos: entrega
Descripcin: Conjunto de libros enviados por un
proveedor a la biblioteca, basado en la relacin
que previamente haba recibido.
Sinnimos: *** none ***
Componente de: *** none ***
Composicin:
Libros
+ { Albarn }
Informacin de entrada y salida
Origen
Destino
*** Off the diagram ***
Compra libros
PROVEEDORES
Biblioteca
Visin panormica AE
Diccionario de Datos (III)
Fichero o base de datos: Facturas
Descripcin: Informacin, por nmero de factura, sobre
facturas en el sistema actual.
Sinnimos: *** none ***
Composicin:
@Nmero-factura
+ Fecha-factura
+ Direccin-cliente
+ { Nmero-producto
+ Cantidad-producto
+ Costo-unidad-producto }
+ Costo-envo
+ Tasa-de-descuento
+ Neto-factura
+ Estado-factura
Proc_pago
Adjuntar_albarn
Visin panormica AE
Diccionario de Datos (IV)
Proceso: Verificar estado del socio
Nmero: 1.1.1
Descripcin: Se examina si el socio no est sancionado
Miniespecificacin:
Recibir Socio ID del socio
Leer SOCIOS para
Leer Flag-de-precaucin
Si OK, enviar Socio ID vlido
Complejidad:
Ratio de transacciones:
Prioridad:
Memoria requerida (Kb):
Tiempo de proceso:
Visin panormica AE
Modelado de datos
Diagramas E-R y DED (Diagrama de
Estructura de Datos)
DED es, bsicamente, un E-R limitado:
no relaciones ternarias
slo cardinalidades 1:N
no atributos multivaluados ni compuestos
DED. Ejemplo
Departamento
Diagrama E-R
(1,n)
[EN2002] (Chen)
pertenece
(1,1)
Empleado
asignado
(0,n)
Proyecto
(1,m)
Departamento
DED
Proyecto
pertenece
Empleado
requiere
tiene
Asignacin
Visin panormica AE
Lgica de procesos
Tcnicas para describir la lgica de los
procesos primitivos
Lenguaje estructurado
Pre y post-condiciones
Tablas de decisin
rboles de decisin
Visin panormica AE
Lgica de procesos (II)
Lenguaje estructurado
SI la factura excede de 300
FIN-SI.
Visin panormica AE
Lgica de procesos (III)
Pre y post-condiciones
Pre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna factura sin
pagar ms de 60 das)
Pos1 (confirmacin pendiente de este pago)
Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene ninguna factura
sin pagar ms de 60 das)
Pos2 (confirmacin y factura realizadas)
Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene alguna factura
sin pagar ms de 60 das)
Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre informe de
crdito)
Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene ninguna
factura sin pagar ms de 60 das)
Pos4 (confirmacin y factura realizadas)
Visin panormica AE
Lgica de procesos (IV)
Tablas de decisin
ESTADO DE LA
CUENTA
CORRECTO
IMPAGADO
CORRECTO
IMPAGADO
NETO-FACTURA
>300
>300
<=300
<=300
CONFIRMACIN
PENDIENTE
HACER
CONFIRMACIN
HACER FACTURA
ESCRIBIR MENSAJE
Visin panormica AE
Lgica de procesos (V)
rboles de decisin
Cuentas impagadas
ms de 60 das
Factura
excede de
300
1. Dejar confirmacin
pendiente de los pagos
debidos.
2. Hacer confirmacin y
factura
Poltica
contable
Factura
menos de
300
Cuentas impagadas
ms de 60 das
Cuentas en buen estado
Ejemplo de diagrama de
estructuras
Evaluar
peticiones
pet aceptada
informe prstamo
pet aceptada
Recibir
peticiones
pet prstamo
informe prstamo
Elaborar
informe
pet rechazada
pet prstamo
Leer
peticiones
ok
Consultar
stock
Rechazar
peticin
Informar
peticin
Visin panormica AE
Esquema resumen
Diagrama de
flujo de datos
B
Z
DESTINO
PROC
PROC
PROC
V
Paso al
diseo
Y
FUENTE
Descrip.
E. E.
PROC
Descripcin
del proceso
PROC
Definicin
del FD
D ALMACN DE
DATOS
Diagrama E-R
(o DED)
Diccionario
de Datos
Definiciones
de la BD
Definiciones de
los mdulos
Diagrama de
estructuras
Visin panormica AE
Proceso de aplicacin
Aproximacin clsica
1. Anlisis del sistema actual
Modelo fsico, modelo lgico
2.
3.
4.
5.
6.
7.
Entidad Externa
Flujo de datos
Flujo de eventos
D ALMACN DE
DATOS
ID
Localizacin
Proceso
Transformaciones o procesos
Entidad
Externa
Flujo de datos
ALMACN DE
DATOS
Flujos de informacin
Procesos
TRANSFORMACIN
(clculo, operacin)
FILTRO
(verificacin fecha, validacin transaccin)
DISTRIBUCIN
(men, seleccin transaccin)
E1
P
E2
E3
Transformacin
S1
S2
Procesos (II)
Nombres nicos, significativos y concisos
Preferiblemente expresados en funcin de las
entradas y salidas
Recomendacin:
verbo (no ambiguo) + objeto
Evitar verbos ambiguos
Diagrama de contexto
Es el DFD ms general de todos
Est formado por un solo macroproceso
(el sistema), las entidades externas
(fuentes y destinos) y sus relaciones con
el macroproceso
Delimita el sistema y su entorno
Entidades externas
Sealan los lmites del sistema y
establecen sus relaciones con el entorno
FUENTE
DESTINO
FUENTE
FUENTE
Sistema
DESTINO
DESTINO
Facturacin
P
Sistema
de
pedidos
Informacin
sobre el crdito
Gestin de
caja (pagos)
Gestin del
almacn
Entorno
Flujos de datos
Los nombres de los FD deben ser nicos,
significativos y concisos
Son datos, as que nmbralos como datos.
Pueden estar indistintamente en singular o en
plural, ya que en los DFDs no se representan
cantidades (Barranco 95)
Los nombres no sirven slo para identificar los
datos, sino tambin la informacin que se tiene
sobre ellos
P.ej. Informacin (fecha-vlida) > Informacin (fecha)
pago
autorizacin crdito
P
solicitud crdito
Aceptar pago
recibo
denegacin
crdito
P
Analizar
Peticin
crdito
P
B
P
A
P
B
EDITORIALES
Selecc. y
pedir nuevos
libros
INTERVENTOR
nuevas ofertas
D3
INVENTARIO
Registrar libros
ajuste de signaturas
nuevos
D4
SIGNATURAS
P3
P2
Examinar
nuevos libros
libros nuevos
nuevos libros
libros nuevos
D9
CARRITO
LIBROS NUEVOS
libros nuevos
D1 LISTA MAESTRA
DE ISBN
P4
P5
Enviar al dpto.
comprador
Poner libros
nuevos en
estantes
libros nuevos
libros nuevos
D2
ESTANTES
cod postal
P
Validar
cod postal
direccin cli
telef
nmero de cuenta
calle
P
B
P
Validar
calle
P
Validar
Telef.
Observaciones:
Slo los procesos pueden separar FD (Piattini et al. 04)
No poner FD como seales de activacin (Yourdon 93)
P
Rellenar
prescripcin
P
Determinar
prescripcin
prescripcin
AND
cuando todos los datos
siguen por ambos caminos
P
Actualizar
registro
paciente
P
Confirmar
empleo
datos de pago
P
Aceptar pago
a crdito
XOR
cuando los mismos
datos provienen de
cualquier direccin
P
Transferir
pago
historial
de crdito
P
Confirmar
historial de
crdito
historial de
empleo
historia
combinada
AND
cuando los subconjuntos
son combinados en uno
P
Conceder
tarjeta de
crdito
P
Evaluar pedido
criterios valoracin
No
No lo sabemos, no importa:
Los aspectos procedurales no se manifiestan
en los DFDs
Si tales aspectos son relevantes, se deben
incluir en las miniespecificaciones
Flujos de control
En los DFDs no se muestra el control ni el orden
de ejecucin
No se puede mostrar:
Procesos que se realizan antes que otros
Sincronizacin
Periodificacin
Almacenes de control
Almacenes de eventos
FD discretos
FD continuos
clave
CUENTAS
CLIENTE
clave OK
saldo
cantidad
pago
P
Efectuar
reintegro
datos satlite
seal satlite
Monitorizar datos
satlite
P
Controlar sistema
vigilancia
seal radar
DATOS DE
VIGILANCIA
Monitorizar datos
radar
datos radar
Almacenes de datos
Nombre nico, significativo y conciso
Convenciones de nombres en los FD a/desde un
almacn:
No lleva etiqueta
(MAP 95)
Descomposicin funcional
Cada proceso se puede explotar, refinar o
descomponer en un DFD ms detallado
El DFD de un sistema es realmente un conjunto
de DFDs dispuestos jerrquicamente
Los niveles de la jerarqua estn determinados
por la descomposicin funcional de los procesos
La raz de la jerarqua es el diagrama de
contexto, que es el ms general de todos
Descomposicin funcional
A
P
Sist
DESTINO
FUENTE
P
f2
P
f4
P
f5
V
Y
A
P
f1
P
f3
P
f43
x1
x2
P
f41
y2
y1
P
f45
P
f42
P
f44
(II)
Descomposicin funcional
A
P
Sist
DESTINO
FUENTE
P
f2
P
f4
P
f5
V
Y
A
P
f1
P
f3
P
f43
x1
x2
P
f41
y2
y1
P
f45
P
f42
P
f44
(II)
Consistencia en el DFD
Cada proceso en un diagrama padre es
una consolidacin del DFD hijo
Balanceo de DFDs
Las E/S de un proceso padre deben
corresponderse con las E/S del DFD hijo
que lo explica
Excepciones: errores y salidas triviales
Descomposicin paralela
Descomposiciones de funciones
Proceso en subprocesos (DFD)
P1
envo
P6
P5
pedido
envo
autorizacin
P6.2
P4
P3
cupn de
pedido
P6.1
P6.3
pago
Jerarqua de DFDs
En un DFD completo cada proceso tiene un
nmero nico que lo identifica en funcin de su
situacin en la jerarqua
Cada DFD tiene tambin un nmero nico que
coincide con el proceso que describe
Las hojas o nodos terminales corresponden a
procesos primitivos o indescomponibles
Para cada proceso primitivo existir una
miniespecificacin.
Localizacin
Proceso
B = X + Y DD
DFD 1.2
P 1.2.2
f2
V
Y
P 1.2.1
f1
A
P 1.2.3
f3
Jerarqua de DFDs
DFD 0
El primer diagrama general que sigue al
de contexto es el nmero 0 por convenio
En el DFD 0 se hace una
descomposicin en subsistemas, es
decir, se indican los procesos ms
importantes en el sistema
Han de ser SUBSISTEMAS
Descomposicin funcional y
almacenes de datos
Los almacenes aparecen lo ms tarde
posible
En un nivel superior nicamente cuando
son interfaz entre procesos
Una vez que aparezca en un DFD, el
almacn aparecer otra vez en cada DFD
de nivel ms bajo relacionado
Descomposicin funcional y
almacenes de datos (II)
P
A
FICH
P
B.1
P
A.1
D
P
A.2
P
B
FICH
P
B.2
FICH
Tamao de la jerarqua de
DFDs
Cada DFD debera tener alrededor de 7 procesos
o menos (Miller 57) Miller, G.A. The magical number seven, plus or minus two: Some limits on
our capacity for processing information. Psycological Review, vol. 63, pp.81-97.
Mtrica
Diagrama
Diagrama
Diagrama
Diagrama
Diagrama
de
de
de
de
de
contexto / sistema
subsistemas
funciones
subfunciones
procesos (opcional)
informes anuales
D
CENTROS DE
INVESTIGACIN
CLIENTE
datos de
investigacin
P
SIST. DE
INVESTIG. DE
MERCADOS
DATOS DEL
MERCADO
Regla de Balanceo
P
Sumidero
PLANNING
CONTROL DE
CALIDAD
ADMIN
P
Fotocopiar
Form 55
P
P
Crear
Formulario
55
Form 55
Revisar
Form 55
REGIONES
W, S, N
Copia de
Form 55
ESCNER
D600
Revisar
Form 55
Form 55 revisado
Form 55 autorizado
Form 55
Revisar
Form 55
P
Det. estado
Form 55
Form 55 aceptado
Form 55 no autorizado
P
Form 55 no aceptado
Crear
Xact 55
Xact 55
DESTINO
Informe 55
DESTINO
informe 55
Crear
Informe 55
confirmacin subasta
NAVEGANTE
datos de prducto
datos de anuncio
solicitud de anuncio
confirmacin de cancelacin
solicitud de cancelacin
notificacin de pujas
MEGASUBASTA PBLICA
confirmacin de baja
1
solicitud de baja
GESTIONAR USUARIOS
confirmacin
GESTIONAR ANUNCIOS
datos de usuario
datos usuario
BANCO
datos bancarios
autorizacin
2
identificacin
confirmacin de cobro
confirmacin id.
ADMINISTRAR PUJAS
datos bancarios usuarios
solicitud de puja
D1
cobro de participacin
PARTICIPANTES
n serie
nombres usuarios
borrado usuario
consulta de datos
datos puja
registro usuario
n de serie
registro de puja
n cuenta
login usuario
revisin pujas
borrado
e-mail adjudicatario
id. usuario
id. adjudicatario
datos anuncio
peticin anuncio
PUJAS
informacin anuncio
ANUNCIOS
listado de resultados
datos de revisin
referencia de artculo
anuncio
confirmacin de referencia
datos de subasta
solicitud de resultados
datos resultados
anuncio a cancelar
D
RESULTADOS
consulta de resultados
resultados de pujas
id. creador
cargo de penalizacin
confirmacin de penalizacin
impago de participacin
n. anuncio
puja adjudicataria
registro anuncio
cargo
VALIDAR SUBASTA
n anuncio pujado
confirmacin de cargo
ADMINISTRADOR
n subasta
listado pujas relacionadas
pujas relacionadas
num. anuncio
datos de penalizacin
D
peticinSobreParticipante
peticinValidarTarjeta
tarjetaValidadaOK
P1
Gestionar
Participantes
accinSobreParticipanteOK
peticinSobreEdicionesYSubasta
s
accinSobreEdicionesYSubastasO
K
avisoAnulamiento
EDICIONES
P2
P3
Gestionar
Edicin y
Subastas
Gestionar
Pujas
SUBASTAS
CIEGAS
SUBASTAS
EXTENDIDAS
PRODUCTOS
peticinConsultaResultados
peticinControlResultados
PARTICIPANTES
EDICIONES
SUBASTAS
CIEGAS
SUBASTAS
EXTENDIDAS
P4
P5
Seleccionar
Ganadores
Genstionar
Tranferencia de
Productos
respuestaControlResultados
D
avisoGanador
respuestaPuja
avisoPujaExtendid
a
respuestaConsultaResultados
peticinSobrePujas
LISTA DE
RESULTADOS
PUJAS
peticinDevolverProducto
productoDevueltoOK
productosAEntregar
productoEntregadoOK
avisoAdministrador
validarTranferencia
tranferenciaOK
DFDs - Conclusiones
Valiosa herramienta de comunicacin
Usuario, analista, diseador, programador
Se puede combinar con el uso de prototipos
bottom-up
de un nivel intermedio hacia arriba o hacia abajo
Mnimo necesario
Soporte del DD
Manual
Editor/procesador de textos
Base de datos
Automtico e integrado
(sw. especfico)
Descomposicin top-down
de datos
A=B+C
B = B1 + B2 + B3
C = C1 + C2
A, B, C, B1, B2, B3, C1, C2
todos estn definidos en el DD
Ejemplos de descomposicin:
Operadores relacionales
= es equivalente a
+ y
<> o (inclusivo: al menos una de las
opciones)
[ ], | o (exclusivo: slo una de las
opciones)
1{ }N iteraciones entre 1 y N veces del
trmino entre llaves
( ) opcional
Ejemplos DD
pedido = cupon-correos + (pago-previo)
etiqueta = 1{carcter}8
n-de-telefono =
*cualquier secuencia correcta de dgitos que
provoca una llamada *
[extension-local | 9 + numero-exterior]
extension-local = * slo dentro del edificio *
primer-digito + 3{ cualquier-digito}3
primer-digito = [1|2|3|4|5|6|7]
cualquier-digito = [0|1|2|3|4|5|6|7|8|9]
Sinnimos
Origen:
Distintos usuarios dan distintos nombres a los
mismos objetos
El analista introduce, por error, un nombre distinto
para un objeto ya nombrado
Distintos analistas que trabajan en el mismo proyecto
dan nombres distintos a un mismo objeto
Ejemplos DD (II)
Nombre: hoja-verde
Sinnimos: peticin, solicitud
Tipo: sinnimo
Observaciones:
Nombre: estado
Sinnimos: estado-cliente, EST$
Tipo: elemento de datos
Valores y significado:
OK.- Cuenta en buen estado
C.- Cuenta cerrada
D.- Cuenta en nmeros rojos * cliente moroso *
Observaciones:
Ejemplos DD (III)
Nombre: peticion
Sinnimos: solicitud, hoja-verde
Tipo: flujo de datos
Composicin: [peticion-estado-cliente | peticion-stock | peticion-estado-de-unpedido | peticin-de-materia-prima]
Pertenece a: * ninguno *
Observaciones:
Nombre: Contabilidad de proyectos
Sinnimos: Cuentas
Tipo: fichero
Composicin: { @n-de-proyecto + descripcin-proyecto + cuenta-delgabinete + { nombre-del-empleado + fecha-ingreso } }
Organizacin: * secuencial, por nmero de proyecto *
Observaciones:
Elementos y estructuras de
datos
Son la base sobre la que se definen los
flujos de datos, los almacenes y las
entidades del diagrama E/R.
Un elemento de datos es una pieza de
informacin atmica.
Una estructura de datos es un registro,
compuesto por otras estructuras o
elementos de datos.
Ejemplos DD (IV)
(Flujo de datos) Libros prestados =
[ Libros entregados |
Libros devueltos ]
donde Libros entregados y Libros
devueltos son estructuras de datos.
Libros entregados = {ISBN + Copia-ID }
Libros devueltos = { ISBN + Copia-ID }
donde ISBN y Copia-ID son elementos de datos
Miniespecificaciones (ME)
Proceso primitivo miniespecificacin
La ME describe las reglas sobre cmo
realizar el proceso para transformar las
entradas en salidas
La ME indica el proceso a realizar, la
transformacin de datos, no el algoritmo
(que se selecciona en el proceso de
diseo)
Lenguaje estructurado
Vocabulario (restringido) de una lengua
(espaol, ingls, etc.)
Verbos imperativos
Trminos definidos en el DD
Palabras reservadas para formulacin lgica
(maysculas)
Sentencias declarativas
Concisin
Evitar verbos ambiguos (manejar, realizar, procesar,
etc.)
Utilizar verbos precisos que describan acciones
concretas (imprimir, enviar, acumular...)
Mencionar expresamente el objeto de la sentencia,
preferiblemente utilizando los trminos del DD
Ejemplos:
Recoger INF-CLIENTE
Separar PETICION
Archivar PETICION en F-PETICION *fichero*
Enviar DATOS-CLIENTE a DPTO-CLIENTES
Estructura de decisin
SI Condicin
CASO Condicin:Accin(es)
Accin(es)
SINO
Accin(es)
Ejemplos:
a) SI Valor-capital-actual es menor que 600
Asignar Cantidad-depreciada = Valor-capital-actual = 0
SINO
Asignar Cantidad-depreciada = 10% de Valor-capital-actual
Estructura repetitiva
REPETIR (condicin de seleccin)
Accin(es)
FIN MIENTRAS
Ejemplo:
REPETIR para cada registro-de-pasajero en fichero-de-reservas
Acumular Cantidad-debida en Total
Construir registro Nuevo-dbito
Escribir Nuevo-dbito en el diario
Lenguaje estructurado.
Ejemplos (I) (Yourdon 93) Apndice F
PROCESO 3.1: PRODUCIR RECIBOS EFECTIVO
COMIENZA
efectivo-recolectado = 0
MIENTRAS haya ms registros en DINERO
LEER siguiente registro en DINERO
ENVIAR dinero *en (Yourdon 93) pone DESPLEGAR*
efectivo-recolectado = efectivo-recolectado + cantidad-dinero
FIN-MIENTRAS
reporte-efectivo = efectivo-recolectado
ENVIAR reporte-efectivo
D
DINERO
TERMINA
P3
PRODUCIR
RECIBOS
EFECTIVO
dinero + reporte-efectivo
Lenguaje estructurado.
Ejemplos (II) (Yourdon 93) Apndice F
reporte-diario-ventas
reporte-mensual-ventas
P2
PRODUCIR
REPORTE
DIARIO
VENTAS
P1
PRODUCIR
REPORTE
MENSUAL
VENTAS
D
CREDITOS
PEDIDOS
D
DEVOLUCIONES
Lenguaje estructurado.
Ejemplos (III) (Yourdon 93) Apndice F
PROCESO 3.2: PRODUCIR REPORTE DIARIO VENTAS
COMIENZA
total-diario = 0
MIENTRAS haya ms pedido en PEDIDOS con fecha-pedido= fecha actual
LEER siguiente pedido con fecha-pedido = fecha actual
SUMAR numero-factura, nombre-cliente, nombre-compaa, pedido-total
como nuevo rengln en reporte-diario- ventas
SUMAR total-pedidos a total-diario
FIN_MIENTRAS
SUMAR total-diario como nuevo rengln en reporte-diario-ventas
ENVIAR reporte-diario-ventas
TERMINA
Lenguaje estructurado.
Ejemplos (IV) (Yourdon 93) Apndice F
PROCESO 3.3: PRODUCIR REPORTE MENSUAL VENTAS
COMIENZA
total-ventas = 0
total-devoluciones = 0
total-crditos = 0
MIENTRAS haya ms pedido en PEDIDOS con fecha-pedido de este mes
SUMAR total-pedidos a total-ventas
FIN_MIENTRAS
MIENTRAS haya ms devolucin en DEVOLUCIONES con fecha-devolucin de este
mes
SUMAR valor-devolucin a total-devoluciones
FIN_MIENTRAS
MIENTRAS haya ms crdito en CREDITOS con fecha-crdito de este mes
SUMAR monto-de-crdito a total-crditos
FIN_MIENTRAS
reporte-mensual-ventas = total-ventas, total-devoluciones, total-crditos
ENVIAR reporte-mensual-ventas
TERMINA
Lenguaje estructurado.
Ejemplos (V) (Yourdon 93) Apndice F
D
LIBROS
P4
id-imprenta + fact-imprenta
PROCESAR
FACTURAS
IMPRENTA
factura-imprenta
factura-imprenta-aprobada
autorizacion-fact-imprenta
respuesta-fact-imprenta
Lenguaje estructurado.
Ejemplos (VI) (Yourdon 93) Apndice F
PROCESO 4.4: PROCESAR FACTURA IMPRENTA
COMIENZA
ENCONTRAR libro en LIBROS con clave-libro que corresponda con clave-libro en fact-imprenta
SI no se encuentra registro
respuesta-fact-imprenta = No existen pedidos pendientes para este libro
ENVIAR respuesta-fact-imprenta
OTRO
ENVIAR factura-imprenta (a administracin para su aprobacin)
ACEPTAR autorizacin-factura-imprenta
SI autorizacin-factura-imprenta = NO
respuesta-fact-imprenta = Factura rechazada; comunquese con la administracin para discutirlo
ENVIAR respuesta-fact-imprenta
OTRO
respuesta-factura-imprenta = Factura aceptada
ENVIAR respuesta-factura-imprenta
factura-imprenta-aprobada = fact-imprenta
ENVIAR factura-imprenta-aprobada
FIN_SI
FIN_SI
TERMINA
Lenguaje estructurado.
Ejemplos (VII) (Yourdon 93) Apndice F
PROCESO 6.1: PRODUCIR ETIQUETAS ENVIO
COMIENZA
ORDENAR CLIENTES por cdigo-postal en etiquetas-envo
ENVIAR etiquetas-envo
TERMINA
etiquetas-envo
P6
solicitud-etiquetas
CLIENTES
PRODUCIR
ETIQUETAS
ENVIO
Tablas de decisin
Encabezamiento
Reglas
Anotacin de
condicin
Estados de condicin
Anotacin de
accin
Sentencia de accin
1
Y
Autorizado automticamente
Dar nmero de autorizacin
Anotar en la cuenta
Error
2
N
Y
3
N
N
Y
X
X
Se han desarrollado
procesadores de
tablas de decisin
que generan
automticamente el
cdigo del proceso
correspondiente.
4
N
N
N
1
2
p > 100 50 < p < 100
3
0< p < 50
X
rboles de decisin
ao
tipo
pendiente
asociado
Cuotas de
socio
de grado
senior
cuota a pagar
primero
segundo
tercero
primero
segundo
tercero
primero
segundo
tercero
primero
segundo
tercero
3
4
4
6
6
7
4
5
Comparativa
Uso
AD
Verificacin
lgica
Visualizacin
de la
estructura
lgica
Moderada
TD
Lenguaje
Lenguaje
estructurado narrado
simplificado
Muy buena Buena
Moderada
Moderada
Pobre
Moderada
PobreModerada
Moderada
(para todo,
pero
depende del
autor)
Buena
Buena
Muy buena
Moderada
Moderada
(necesita
sintaxis)
Buena
Pobre
Buena
Pre y post-condiciones
(Yourdon 93)
Precondiciones
x
a
Entradas disponibles
llega el dato X * en (Yourdon 93) pone ocurre *
Post-condiciones
Salidas producidas
se producir una factura
Pre y post-condiciones
Ejemplos (Yourdon 93)
ESPECIFICACIN DE PROCESO 3.5: CALCULAR
EL IMPUESTO SOBRE VENTAS
Precondicin 1
Postcondicin 1
Precondicin 2
Postcondicin 2
Pre y post-condiciones
Ejemplos (II) (Yourdon 93)
Precondicin 1
El comprador llega con un nmero-de-cta que corresponde con
un nmero de cuenta en CUENTAS, cuyo cdigo-de-status es
vlido
Postcondicin 1
Se produce una factura con nmero-de-cuenta y monto-deventa
Precondicin 2
La precondicin 1 falla por algn motivo (el nmero-de-cta no
se encuentra en CUENTAS, o el cdigo-de-status no es vlido)
Postcondicin 2
Se produce un mensaje de error
ME Otras tcnicas
Grafos y diagramas propios del usuario
Si son claros, se pueden agregar a la especificacin
como redundantes.
Diagramas Nassi-Shneiderman
Flowcharts
Lenguaje narrativo
No recomendadas
Objetivo
Obtener una representacin de la informacin del
sistema independiente de aplicaciones y dispositivos
fsicos
Facilitar cambios en los requisitos, SGBD, equipos fsicos
Representa esquemas
relacionales, jerrquicos, CODASYL
DED
BD lgica, no simplificada ni optimizada, a
efectos de validacin por el usuario
(esta especificacin pasara al
implementador de la BD)
Diseo externo, lgico
DED (II)
E/R limitado
Slo interrelaciones de grado 2
Ternarias: descomponer
EQUIPO
JUGADOR
Otras cardinalidades:
Cardinalidad 1:1
Agrupar las dos entidades
Conservar las dos entidades, con una interrelacin en
cualquier sentido
Cardinalidad M:N
Entidad auxiliar con dos relaciones 1:N
DED. Ejemplo
Departamento
Diagrama E-R
Notacin [EN2002] (Chen) Elmasri, R.; Navathe, S.B. : "Fundamentos de
Sistemas de Bases de Datos". 3 Ed. Madrid [etc.]: Addison-Wesley,
Pearson Educacin, 2002.
(1,n)
pertenece
(1,1)
Empleado
asignado
(0,n)
Proyecto
(1,m)
Departamento
DED
Proyecto
pertenece
Empleado
requiere
tiene
Asignacin
DED. Interrelaciones
Interrelaciones OPCIONALES
Interrelacin opcional en el extremo B y
obligatoria en el A
A
TRABAJADOR
CONSEJERA
HVE. Bibliografa
Para todo este apartado:
Gua de tcnicas de Mtrica v.2.1.
Ministerio de Administraciones Pblicas.
1996.
HVE
Describe la posible evolucin de las entidades
de datos del sistema
VISIN DEL COMPORTAMIENTO,
que complementa:
Visin esttica (E/R o DED)
Visin de procesos y flujos (funcional) (DFDs)
HVE. Objetivos
Registrar la secuencia de los cambios de
las entidades en el tiempo
Determinar los estados posibles
Determinar los cambios de estado
Identificar interacciones producidas por
eventos
HVE
(En principio) existe una HVE por cada
entidad del sistema
Realmente es necesario?
HVE. Elementos
Entidades de datos
Cualquier objeto sobre el
que el sistema guarda
informacin (tienen
atributos)
Eventos
Sucesos que activan un
proceso que afecta los
datos del sistema
Efectos
Resultado de la accin de
un evento sobre una
entidad
Nodo
Agrupacin de eventos
en una caja
Cajas vacas
Representan el caso
en que ningn evento
afecta a la entidad
Eventos
EXTERNOS. Por activacin externa
ej. solicitudes de alta, baja, modificacin, etc.
Efectos
Un evento puede tener distintos efectos sobre
entidades diferentes.
Ej.: SOLICITAR APERTURA CTA. BANCARIA
Crea (o actualiza) entidad CLIENTE
Crea entidad CUENTA
Efectos (II)
Tipos de efectos:
I : insertar
M : modificar
B : borrar
Nodo
Es una abstraccin grfica que mejora la
legibilidad.
ENTIDAD
CREAR
MODIFICAR
BORRAR
HVE. Notacin
(MAP 95)
CUENTA
ABRIR
cta. ab.
VIDA
CERRAR
BORRAR
cierre
cta.borr.
TRANSACCIN
TRANS.
PAGO
TRANS.
DEPSITO
SECUENCIA
ITERACIN
TRANS.
ABONO
SELECCIN
(MAP 95)
CUENTA
EVENTO
NODO
EFECTO
EVENTO
EVENTO
EFECTO
EFECTO
ESTRUCTURA PARALELA
EVENTO N
NODO 1
EFECTO N
EVENTO K
EVENTO L
EVENTO M
EFECTO K
EFECTO L
EFECTO M
HVE. Ejemplo
solicitud reserva
(MAP 95)
1
ACEPTAR RESERVA datos cliente
D1
CLIENTES
D2
RESERVAS
CLIENTE
datos reserva
2
DET.
DISPONIBILIDAD
VEHICULOS
reserva conforme
3
CONFIRMAR
RESERVA
confirmacin
HVE. Construccin
1. IDENTIFICAR EVENTOS
En el DFD anterior...
E1: SOLICITUD DE RESERVA
E2: SOLICITUD DE RESERVA EFECTUADA
POR CLIENTE NUEVO
E3: CONFIRMACIN DE RESERVA
E4: ASIGNACIN DE UN CONDUCTOR A LA
RESERVA
Se te ocurren ms eventos?
(MAP 95)
ENTIDADES
I : Insertar
EVENTOS
E1 E2 E3 E4
CLIENTE
RESERVA
CONDUCTOR
I
M M
(MAP 95)
SOLICITUD
RESERVA
CONFIRMACIN
RESERVA
crea reserva
reserva confirm.
CONDUCTOR
ASIGNACIN
CONDUCTOR
conductor asig.
-------------
(MAP 95)
SOLICITUD
RESERVA
CONFIRMACIN
RESERVA
crea reserva
reserva confirm.
ENVO FACTURA
CONDUCTOR
actualizar res.
ASIGNACIN
CONDUCTOR
conductor asig.
-------------
(MAP 95)
SOLICITUD
RESERVA
CONFIRMACIN
RESERVA
crea reserva
reserva confirm.
CONDUCTOR
CAMBIOS
ENVO FACTURA
actualizar res.
ASIGNACIN
CONDUCTOR
conductor asig.
-------------
PETICIN
CAMBIO
CONFIRMACIN
CAMBIO
cambio reserva
reserva confirmada
(MAP 95)
RESERVA
SOLICITUD
RESERVA
CONFIRMACIN
RESERVA
crea reserva
reserva confirm.
-/1
CAMBIOS
CONDUCTOR
ENVO FACTURA
FIN
actualizar res.
5/6
1/2
ASIGNACIN
CONDUCTOR
-------------
conductor asig.
2/3
2/2
PETICIN
CAMBIO
CONFIRMACIN
CAMBIO
ARCHIVO
RESERVA
ARCHIVO
CLIENTE
cambio reserva
reserva confirmada
borrar reserva
borrar reserva
2,3,5/4
4/5
6/-
6/-
Modo de construccin
Para cada entidad, en principio, debe
haber un HVE
Empezar
por las
entidades
detalle
MAESTRO
DETALLE
Y al final...
examinar los
efectos de los
eventos del
maestro en
los detalles
Bibliografa
(Yourdon 89) o (Yourdon 93)
Captulos 17, 18, 19 y 20.
Introduccin
En teora, hemos visto unas TCNICAS (DFDs, DED, HVE, etc.)
En prcticas, hemos visto una HERRAMIENTA (System Architect)
Ahora necesitamos un MODELO DE PROCESO
un esquema de cmo se deben aplicar las tcnicas y las herramientas para producir software:
En 6.1. Introduccin Visin panormica del AE, vimos un modelo de proceso clsico:
Aproximacin clsica
Modelo fsico actual
Datos proyecto DESARROLLAR
MODELO
FSICO
ACTUAL
DESARROLLAR
MODELO LGICO
ACTUAL
DESARROLLAR
NUEVO MODELO
FSICO
Nuevo
modelo
fsico
Aproximacin de Yourdon
Modelo esencial
Construir un MODELO ESENCIAL:
Modelo lgico del nuevo sistema
Un modelo de lo QUE el sist. debe hacer para
satisfacer los requisitos del usuario, diciendo tan
poco como sea posible (idealmente nada) sobre
CMO se debe implementar.
Aproximacin de Yourdon
Modelo de implementacin
No obstante, a veces conviene construir
tb. un MODELO DE IMPLEMENTACIN
centrado en el CMO
Modelo ambiental
Define el lmite entre el sistema y el mundo
exterior
Declaracin de mbito
descripcin breve del propsito del sistema
Diagrama de contexto
Evitar especificar el protocolo de comunicacin
Lista de eventos
Ej. de eventos:
Lista de eventos
No cada FD es un evento
A
B
SISTEMA
A, B y C son
eventos?
Coinciden estos
eventos del modelo
ambiental con los
del HVE?
RESPOND
TO
CUSTOMER
INQUIRY
order status
No, ya que los eventos ocurren de forma asncrona, y se procesan de forma asncrona:
en el modelo de comportamiento inicial, todos los procesos deben estar desacoplados
usando almacenes de datos.
Particin de eventos.
Refinamientos.
El modelo inicial es muy complejo:
se refina hacia arriba y abajo (72 proc.)
1.1
1.2
DFD
PRELIMINAR
1.3
DFD
AGRUPADO