Академический Документы
Профессиональный Документы
Культура Документы
Universidad de Valladolid
Campus de Segovia
______________________
TEMA 7, SECCIN 2:
MODELADO DE
FUNCIONES
1
MODELIZACIN DE FUNCIONES
Diccionario de datos
2
DIAGRAMAS DE FLUJO DE DATOS
Conceptos
Componentes de un DFD
Procesos o funciones
Almacenes de datos
Entidades externas
Flujos de datos
Descomposicin en niveles de un DFD
Diagrama de contexto
Diagrama de sistema (Diagrama 0)
Procesos primitivos
Consistencia entre niveles: Balanceo
Convenciones de numeracin
Errores en los DFD
Construccin de un modelo mediante DFD (resumen)
3
CONCEPTOS
4
CONCEPTOS
5
COMPONENTES DE UN DFD
Proceso o transformacin
Almacn de Datos
Entidades Externas
Flujo de datos
6
PROCESOS
El proceso:
Es la componente del diagrama que representa cualquier
funcin que transforma los flujos de datos de entrada en uno
o varios flujos de datos de salida.
7
PROCESOS
Representacin (Yourdon):
Crculo en cuyo interior se indica un nmero y un nombre.
El nombre debe cumplir las siguientes normas.
Ser lo ms representativo posible respecto de la funcin que
representa.
Ser lo ms breve posible, i.e. formado por un verbo seguido de
un sustantivo.
El nombre y el nmero del proceso deben ser nicos dentro del
DFD.
1
GESTIONAR
PRESTAMOS DE
BIBLIOTECA
8
ALMACENES DE DATOS
El almacn de datos:
Representa informacin del sistema almacenada de forma
temporal.
Si el flujo de datos representa datos en movimiento, los
almacenes representan datos en reposo.
No implica mquina o dispositivo de almacenamiento alguno.
Los almacenes pueden aparecer por necesidad (procesos
asncronos) o por razones de seguridad.
Representacin (Yourdon):
se representa mediante dos lneas paralelas con un nombre
en el interior
LIBROS
9
CARACTERSTICAS DE LOS
ALMACENES DE DATOS
El nombre del almacn:
Debe ser lo ms representativo posible respecto de los datos
que contiene. Suele ser un sustantivo en plural.
El almacn puede aparecer varias veces
representado en un DFD si con eso se mejora la
legibilidad.
En un conjunto de DFDs nivelados el almacn debe
aparecer en el DFD ms alto en el que sirve de
interconexin entre dos o ms procesos as como en
los DFDs de niveles inferiores que detallan el
anterior.
10
CARACTERSTICAS DE LOS
ALMACENES DE DATOS
11
ENTIDADES EXTERNAS
Una entidad externa:
Es una persona o grupo
Esta fuera del sistema
Representan la fuente y/o el destino de la informacin.
Permiten definir el interfaz entre el sistema y el mundo
exterior.
Las relaciones entre entidades externas no son objeto de
estudio del sistema.
Representacin (Yourdon):
Se representa mediante un cuadrado en el que se indica en
su interior un nombre representativo.
DEPARTAMENTO
COMPRAS
12
CARACTERSTICAS DE LAS
ENTIDADES EXTERNAS
Las entidades externas pueden ser representadas
varias veces en un DFD si con eso se mejora la
legibilidad.
Para indicar que es una entidad externa duplicada se seala
con un asterisco.
Se puede dar el caso de que la cardinalidad entre la
entidad externa y el interfaz del sistema sea 1:N. En
ese caso la representacin es:
CLIENTE
Representacin (Yourdon)
Los flujos se representan mediante arcos dirigidos donde la
flecha indica la direccin de los datos.
14
CONEXIONES PERMITIDAS ENTRE LAS
COMPONENTES DE UN DFD
ENTIDAD
Destino/ fuente PROCESO ALMACEN
EXTERNA
PROCESO S S S
ALMACN S NO NO*
ENTIDAD
EXTERNA S NO* NO
15
FORMAS DE PASO DE DATOS ENTRE
DOS PROCESOS
Conexin directa entre dos procesos:
Slo es posible si la informacin que se traspasa se hace de
forma sncrona.
Se dice que el paso de informacin es sncrono si el proceso
destino comienza cuando el proceso origen finaliza su
funcin
PROCESO PROCESO
1 2
PROCESO PROCESO
ALMACEN
1 2
16
TIPOS FLUJOS DE DATOS
Flujos de consulta:
Muestra el uso de datos de un almacn con objeto de:
obtener una determinada informacin
o para comprobar si se cumplen unos determinados criterios.
ALMACEN
PROCESO
1
17
TIPOS FLUJOS DE DATOS
Flujo de actualizacin
Indica la modificacin de la informacin de un almacn ya
bien sea:
para crear o borrar ocurrencias de una entidad o relacin del
almacn.
modificar el valor de un atributo
ALMACEN
PROCESO
1
18
TIPOS FLUJOS DE DATOS
Flujo de dialogo
Representa un flujo de consulta y de actualizacin que no
tienen relacin directa entre s.
LIBROS
Peticin
GESTIONAR
PETICIN libro PETICIONES
USUARIOS USUARIOS
PRESTAMOS
20
REPRESENTACIN GRFICA DE LOS
COMPONENTES DE UN DFD PARA
DISTINTAS METODOLOGAS
Yourdon, Gane y SSADM
DeMarco Sarson METRICA
Flujo de
Datos
Procesos
Almacn de
Datos
Entidades
Externas
21
DESCOMPOSICIN EN NIVELES DE
UN DFD
Descomposicin:
Diagrama de contexto.
Diagrama del sistema.
Funciones primitivas (procesos primitivos).
22
DESCOMPOSICIN EN NIVELES DE
UN DFD
Diagrama de contexto
B
A 0 E2
E1 Gestin C
Sistema
D
E
E3
B
A2 D
C DFD nivel 1, proceso2
A1 A2
2.1
DFD nivel 1, proceso1 proceso 2.2
A3 proceso
D
E 2.3
proceso
2.2.3
proceso
23
DIAGRAMA DE CONTEXTO
24
DIAGRAMA DEL SISTEMA
(DIAGRAMA 0)
25
PROCESOS PRIMITIVOS
La decisin de no descomponer ms es
responsabilidad del analista (decisin subjetiva).
Heurstica:
Cuando un requisito funcional se puede especificar en menos
de una pgina mediante pseudocdigo.
Cuando los procesos del diagrama tienen pocos flujos de
entrada y salida.
Si al descomponer se pierde el significado de la funcin.
26
NIVELES DE UN DFD
segn MTRICA v2.1
Nivel 0:
Diagrama de contexto.
Nivel 1:
Subsistemas
Nivel 2:
Funciones de cada subsistemas
Nivel 3:
Subfunciones asociadas a cada uno de los eventos del sistema.
Nivel 4:
Procesos necesarios para el tratamiento de cada subfuncin.
27
CONSISTENCIA ENTRE NIVELES:
BALANCEO
28
CONVENCIONES A LA NUMERACIN
29
ERRORES EN LOS DFDs
Redes desconectadas:
En un mismo DFD aparecen dos subconjuntos DFD que no se
comunican entre s.
Causa: no hay relacin entre la funcionalidad de las dos redes.
Error: la descomposicin del proceso del nivel superior esta
mal realizada ya que una de las subredes est asociada con la
descomposicin de una funcionalidad no representada en el
nivel superior.
Particionamiento desigual:
Implica un muy distinto nivel de detalle para distintos procesos
dentro de la funcionalidad de un sistema.
Solucin: Intentar que esas diferencias en el nivel de detalle
sean lo menores posibles.
30
Ejemplo: desconexin de dos redes
DFD 0 DFD 1
J
5
Proceso G 2.2
A I 2.1 Proceso H
N P Proceso
B 1
Proceso H
4 2.3
I Proceso Proceso N
C
J
C 2 E
M
Proceso M
F
K
K 2.5
L Proceso 2.4
Proceso
D 3 E
L
Proceso
31
Ejemplo: solucin
DFD 0
5
A
Proceso G
B 1 H
N P
Proceso
I
2
J Proceso
C 4
Proceso F
M
K
D
3 2 E
Proceso L Proceso
32
CONSTRUCCIN DE UN MODELO DE
PROCESOS UTILIZANDO D.F.D.
(RESUMEN)
Nivel 0. Diagrama de contexto.
Un solo proceso. Entidades Externas. Flujos de datos E/S.
Nivel 1. Diagrama de sistema.
Funciones principales del sistema as como sus relaciones.
Nivel x. Diagrama y.
Se detallan las subfunciones de los niveles superiores.
Procesos Primitivos.
Procesos del DFD que no se descomponen ms.
Pueden aparecer en cualquier nivel.
DFD de ms bajo nivel: aquel donde todos los procesos son primitivos.
Deben tener una especificacin de proceso que los describa.
33
EJEMPLO 1
El sistema de gestin para una biblioteca debe funcionar
de la siguiente manera:
34
EJEMPLO 1
ENTIDADES EXTERNAS
Cuando un usuario (FUENTE DE INFORMACIN)
presente una ficha de retirada (nmero de carnet, tipo de carnet,
nombre del libro) de libros, el bibliotecario teclea los datos y se
genera un comprobante (tipo de prstamo, ltimo da de entrega)
que se entrega al usuario (DESTINO DE INFORMACIN)
y se registra en el sistema el prstamo (nmero de carnet, nombre
del libro). Cuando el usuario devuelve el libro el bibliotecario
(FUENTE DE INFORMACIN) introduce su cdigo de
acceso, nmero de carnet y el nombre del libro entonces se borra
el registro del prstamo.
35
EJEMPLO 1
DOCUMENTOS (flujos de datos y almacenes)
1 ) Peticin de libros:
evento usuario presenta una ficha de retirada
a) genera un comprobante que se entrega al
usuario
b) se registra en el sistema el prstamo
2 ) Devolucin de libros
evento bibliotecario introduce su cdigo de
acceso, nmero de carnet y el nombre del libro
a) se borra el registro del prstamo.
37
Ejemplo: solucin
DIAGRAMA DE CONTEXTO
LIBRO
FICHA 0 DEVUELTO
USUARIO GESTIONAR BIBLIOTECARIO
BIBLIOTECA
COMPROBANTE
38
Ejemplo: solucin
FICHA NUEVO
1
PRSTAMO
GESTIONAR
PRSTAMO
COMPROBANTE
PRSTAMOS
LIBRO
DEVUELTO 2
GESTIONAR
DEVOLUCIN FIN DE
PRSTAMO
39
EJEMPLO 2 (1)
SISTEMA DE GESTIN DE UNA BIBLIOTECA
Peticin de libros
Un usuario puede realizar una peticin de uno o ms libros a la
biblioteca. Presenta el carnet de usuario de la biblioteca y una ficha
en la que se detallan los libros pedidos y el tipo de prstamo.
Tipos de prstamo
SALA El da de la peticin.
COLABORADOR Una semana
PROYECTO FIN CARRERA Quince das.
DOCTORADO Un mes.
Una vez entregados el carnet y la ficha, el sistema comprobar y
aceptar la peticin de los libros solicitados siempre que pueda satisfacer la
peticin, es decir, cuando haya ejemplares disponibles. Si se acepta la
peticin, se actualiza el nmero de unidades de los libros de la
biblioteca y se guarda la ficha de prstamo.
40
EJEMPLO 2 (2)
Devoluciones de libros
Un usuario no puede realizar ms peticiones hasta que no haya efectuado todas
las devoluciones de la peticin anterior. El usuario, para hacer la peticin,
necesita el carnet, que no se le entrega hasta que no haya devuelto todos los
libros. S puede hacer una devolucin parcial de los libros. Cuando un usuario
realice una devolucin, el sistema actualizar el stock de libros y
comprobar la fecha de devolucin de cada ejemplar para estudiar,
en el caso de que la devolucin se haga fuera de tiempo, la imposicin de
una sancin que tiene un coste de X ud. monetarias por cada ejemplar y das
de retraso en la devolucin. En este caso, la sancin se emite cuando el
usuario entrega el ltimo ejemplar.
PEDIDO
LIBROS 0
SANCIN
ALTAS/BAJAS
LIBROS
BIBLIOTECARIO
42
SOLUCIN: EJEMPLO 2
DIAGRAMA 0: GESTIONAR BIBLIOTECA
FICHAS
PRESTAMO
PEDIDO DEVOLUCIN
1 2 LIBROS
LIBROS
GESTIONAR GESTIONAR
PEDIDOS DEVOLUCIONES
SANCIN
LIBROS
DISPONIBLES
3
ALTAS/BAJAS
LIBROS ACTUALIZAR
LIBROS
43
SOLUCIN: EJEMPLO 2
FICHAS
PRESTAMO
SANCIN
LIBROS
DEVUELTOS
LIBROS
DISPONIBLES
44
DICCIONARIO DE DATOS.
45
DICCIONARIO DE DATOS. SMBOLOS
47
DICCIONARIO DE DATOS.
DATOS OPCIONALES.
Datos opcionales
direc_cliente = (direc _entrega) + (direc _facturacin)
direc_cliente = direc _entrega + (direc _facturacin)
direc_cliente = [direc _entrega | direc _facturacin | direc
_entrega + direc_facturacin].
48
DICCIONARIO DE DATOS. ITERACIN
Iteracin
49
DICCIONARIO DE DATOS. SELECCIN
Seleccin
50
DICCIONARIO DE DATOS. ALMACENES
51
DICCIONARIO DE DATOS DEL EJEMPLO1
Flujos de datos:
1. Composicin.
DEVOLUCION_LIBRO=COD.ACC+N_CARNET+LIBRO
2. Seleccin.
TIPO.CARNET= [PROFESOR|ALUMNO]
TIPO.PREST=[PROFESOR|ALUMNO]
3. Iteracin.
FICHA=NUM.CARNET+TIPO.CARNET+1{LIBRO}3
4. Opcin. ( () ).
COMPROBANTE=TIPO.PREST+(ULT.DIA.ENTRE)
Almacenes:
1. Identificador.
PRESTAMOS=@NUM.CARNET+LIBRO
52