SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
1
TEMA 7, SECCIÓN 2:
MODELADO DE
FUNCIONES
Departamento de Informática
Universidad de Valladolid
Campus de Segovia
______________________
2
• Diagramas de flujo de datos
• Diccionario de datos
MODELIZACIÓN DE FUNCIONES
3
• Conceptos
• Componentes de un DFD
• Procesos o funciones
• Almacenes de datos
• Entidades externas
• Flujos de datos
• Descomposición en niveles de un DFD
• Diagrama de contexto
• Diagrama de sistema (Diagrama 0)
• Procesos primitivos
• Consistencia entre niveles: Balanceo
• Convenciones de numeración
• Errores en los DFD
• Construcción de un modelo mediante DFD (resumen)
DIAGRAMAS DE FLUJO DE DATOS
4
• Técnica gráfica que emplea diagramas en forma de red
para modelar las funciones que realiza el sistema y los
datos que fluyen entre ellas.
CONCEPTOS
5
• El modelado se realiza a distintos niveles de abstracción
lo que implica:
• una simplificación de la complejidad del sistema
• la elaboración de un conjunto de DFDs jerarquizados.
• Los niveles superiores definen las funciones del sistema
de una forma más general.
• Los niveles inferiores definen dichas funciones con mayor
detalle.
CONCEPTOS
6
COMPONENTES DE UN DFD
• Proceso o transformación
• Almacén de Datos
• Entidades Externas
• Flujo de datos
7
PROCESOS
• El proceso:
– Es la componente del diagrama que representa cualquier
función que transforma los flujos de datos de entrada en uno
o varios flujos de datos de salida.
• Regla de conservación de los datos:
– El proceso debe ser capaz de generar los flujos de datos de
salida a partir de los flujos de datos de entrada más una
información local.
• Cuando al proceso no le llegan todos los datos necesarios
diremos que hay un error en la conservación de los datos.
• Si por el contrario no se generan todos lo datos de salida
diremos que hay pérdida de información.
8
PROCESOS
• Representación (Yourdon):
– Círculo en cuyo interior se indica un número y un nombre.
– El nombre debe cumplir las siguientes normas.
• Ser lo más representativo posible respecto de la función que
representa.
• Ser lo más breve posible, i.e. formado por un verbo seguido de
un sustantivo.
• El nombre y el número del proceso deben ser únicos dentro del
DFD.
11
GESTIONAR
PRESTAMOS DE
BIBLIOTECA
9
ALMACENES DE DATOS
• El almacén de datos:
– Representa información del sistema almacenada de forma
temporal.
– Si el flujo de datos representa datos en movimiento, los
almacenes representan datos en reposo.
– No implica máquina o dispositivo de almacenamiento alguno.
– Los almacenes pueden aparecer por necesidad (procesos
asíncronos) o por razones de seguridad.
• Representación (Yourdon):
– se representa mediante dos líneas paralelas con un nombre
en el interior
LIBROSLIBROS
10
CARACTERÍSTICAS DE LOS
ALMACENES DE DATOS
• El nombre del almacén:
– Debe ser lo más representativo posible respecto de los datos
que contiene. Suele ser un sustantivo en plural.
• El almacén puede aparecer varias veces
representado en un DFD si con eso se mejora la
legibilidad.
• En un conjunto de DFDs nivelados el almacén debe
aparecer en el DFD más alto en el que sirve de
interconexión entre dos o más procesos así como en
los DFDs de niveles inferiores que detallan el
anterior.
11
CARACTERÍSTICAS DE LOS
ALMACENES DE DATOS
• Si en un DFD hay un almacén que sólo está
conectado a un proceso se dice que este almacén es
local a dicho proceso y por tanto no debe aparecer en
dicho nivel sino en los niveles inferiores donde se
detalla dicho proceso.
• El contenido de los almacenes de estructura simple
(contenido tipo registro) debe estar definido en el
diccionario de datos.
• En el caso de un almacén con una estructura más
compleja su contenido se puede representar
mediante un diagrama de entidad/relación.
12
ENTIDADES EXTERNAS
• Una entidad externa:
– Es una persona o grupo
– Esta fuera del sistema
– Representan la fuente y/o el destino de la información.
– Permiten definir el interfaz entre el sistema y el mundo
exterior.
– Las relaciones entre entidades externas no son objeto de
estudio del sistema.
• Representación (Yourdon):
– Se representa mediante un cuadrado en el que se indica en
su interior un nombre representativo.
DEPARTAMENTODEPARTAMENTO
COMPRASCOMPRAS
13
CARACTERÍSTICAS 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 señala
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 representación es:
• Normalmente las entidades externas sólo aparecen
en el diagrama de contexto
CLIENTE
14
FLUJOS DE DATOS
• Los flujos de datos:
– Representan los datos en movimiento entre procesos en un
momento y con una cardinalidad determinados.
• Representación (Yourdon)
– Los flujos se representan mediante arcos dirigidos donde la
flecha indica la dirección de los datos.
– Flujo de datos discretos: representan datos en movimiento
en un momento dado.
– Flujo de datos continuos: representan flujos de datos
persistentes en el tiempo.
15
CONEXIONES PERMITIDAS ENTRE LAS
COMPONENTES DE UN DFD
Destino/ fuente PROCESO ALMACEN
ENTIDAD
EXTERNA
PROCESO SÍ SÍ SÍ
ALMACÉN SÍ NO NO*
ENTIDAD
EXTERNA SÍ NO* NO
16
FORMAS DE PASO DE DATOS ENTRE
DOS PROCESOS
• Conexión directa entre dos procesos:
– Sólo es posible si la información que se traspasa se hace de
forma síncrona.
– Se dice que el paso de información es síncrono si el proceso
destino comienza cuando el proceso origen finaliza su
función
• Si el paso de información es asíncrono:
– es necesario el uso de un almacén temporal que guarde los
datos del proceso origen hasta que el proceso destino haga
uso de ellos.
PROCESOPROCESO
11
PROCESOPROCESO
22
PROCESOPROCESO
11
PROCESOPROCESO
22
ALMACENALMACEN
17
TIPOS FLUJOS DE DATOS
• Flujos de consulta:
– Muestra el uso de datos de un almacén con objeto de:
• obtener una determinada información
• o para comprobar si se cumplen unos determinados criterios.
PROCESOPROCESO
11
ALMACENALMACEN
18
TIPOS FLUJOS DE DATOS
• Flujo de actualización
– Indica la modificación de la información de un almacén ya
bien sea:
• para crear o borrar ocurrencias de una entidad o relación del
almacén.
• modificar el valor de un atributo
PROCESOPROCESO
11
ALMACENALMACEN
19
TIPOS FLUJOS DE DATOS
• Flujo de dialogo
– Representa un flujo de consulta y de actualización que no
tienen relación directa entre sí.
– Este flujo puede aparecer para resaltar la relación existente
entre dos flujos de datos (par de dialogo).
GESTIONARGESTIONAR
PETICIONESPETICIONES
USUARIOSUSUARIOS
LIBROSLIBROS
PRESTAMOSPRESTAMOS
PETICIÓN
USUARIOS
Petición
libro
Informe
cliente
GESTIONARGESTIONAR
PETICIONESPETICIONES
USUARIOSUSUARIOS
INFORMESINFORMES
CLIENTESCLIENTES
CLIENTE
Petición
informe
20
CARACTERÍSTICAS DE LOS FLUJOS
DE DATOS
• Deben tener nombre y debe ser representativo del
contenido de la información que fluye a través de él.
• Todos los flujos deben tener nombre excepto los
flujos simples que entren o salgan de un almacén en
cuyo caso su estructura es la del almacén.
• El contenido de un flujo de datos:
• Dato elemental (campo o atributo)
• Grupo de datos relacionados entre sí
• par de dialogo (consulta-respuesta)
• múltiple (conjunto de flujos de datos).
21
REPRESENTACIÓN GRÁFICA DE LOS
COMPONENTES DE UN DFD PARA
DISTINTAS METODOLOGÍAS
Flujo de
Datos
Procesos
Almacén de
Datos
Entidades
Externas
Yourdon,
DeMarco
Gane y
Sarson
SSADM
METRICA
22
DESCOMPOSICIÓN EN NIVELES DE
UN DFD
• Los DFDs presentan una estructura en capas:
• La representación mediante DFDs sigue una aproximación “top-
down” en la que cada nivel proporciona una visión más
detallada de una parte definida en el nivel anterior.
• Descomposición:
• Diagrama de contexto.
• Diagrama del sistema.
• Funciones primitivas (procesos primitivos).
23
DESCOMPOSICIÓN EN NIVELES DE
UN DFD
0
Gestión
Sistema
E1
E3
E2
B
A
C
D
E
E
1
proceso
2
proceso
A1
A2
B
A C
D
A1
C
2.2
proceso
E 2.3
proceso
2.1
proceso
A2
A3
D
A1
2.2.2
proceso
D
2.2.3
proceso
2.2.1
proceso
A3
A2
Diagrama de contexto
Diagrama 0: Diagrama del sistema
DFD nivel 1, proceso2
DFD nivel 2 proceso 2.2
DFD nivel 1, proceso1
24
DIAGRAMA DE CONTEXTO
• Diagrama de contexto (nivel 0):
• Es el nivel más alto.
• Delimita la frontera entre el sistema y el mundo exterior (interfaz
externa).
• Viene representado por:
– Un único proceso que representa una caja negra del sistema
completo.
– Un conjunto de entidades que representan la procedencia y el
destino de la información.
– El flujo de información que se intercambia entre el sistema y las
entidades externas.
25
DIAGRAMA DEL SISTEMA
(DIAGRAMA 0)
• Diagrama del sistema (nivel 1):
• Este DFD, también denominado Diagrama 0, presenta una
primera descomposición donde se representan las funciones
principales del sistema, así como la relación entre ellas.
26
PROCESOS PRIMITIVOS
• Son aquellos procesos de un DFD que no se
descomponen en nuevos diagramas de nivel inferior.
• La decisión de no descomponer más es
responsabilidad del analista (decisión subjetiva).
– Heurística:
• Cuando un requisito funcional se puede especificar en menos
de una página mediante pseudocódigo.
• Cuando los procesos del diagrama tienen pocos flujos de
entrada y salida.
• Si al descomponer se pierde el significado de la función.
27
NIVELES DE UN DFD
según MÉTRICA 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 subfunción.
28
CONSISTENCIA ENTRE NIVELES:
BALANCEO
• Implica que la información que entra y sale de un
proceso de nivel N, debe ser consistente con la
información que entra y sale del DFD en que se
descompone.
29
CONVENCIONES A LA NUMERACIÓN
• Cada diagrama recibe el número y el nombre del
proceso que descompone (el proceso padre).
• Los procesos del diagrama del sistema se enumeran
por un entero comenzando por 1 y de forma creciente
hasta completar el número de procesos del diagrama.
30
ERRORES EN LOS DFDs
• Redes desconectadas:
• En un mismo DFD aparecen dos subconjuntos DFD que no se
comunican entre sí.
• Causa: no hay relación entre la funcionalidad de las dos redes.
• Error: la descomposición del proceso del nivel superior esta
mal realizada ya que una de las subredes está asociada con la
descomposición 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.
• Solución: Intentar que esas diferencias en el nivel de detalle
sean lo menores posibles.
31
Ejemplo: desconexión de dos redes
2
Proceso
1
Proceso
3
Proceso
4
Proceso
5
Proceso
B
A
C
D E
F
G
H
I
J
K
L
N
M
P
DFD 0 DFD 1
2.2
Proceso2.1
Proceso
2.3
Proceso
2.4
Proceso
2.5
Proceso
I
N
J
C
H
M
E
L
K
32
Ejemplo: solución
DFD 0
2´
Proceso
1
Proceso
3
Proceso
5
Proceso
4
Proceso
K
L
D
2´´
Proceso
M
F
E
C
J
I
HB
A
N P
G
33
CONSTRUCCIÓN 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 más.
• Pueden aparecer en cualquier nivel.
• DFD de más bajo nivel: aquel donde todos los procesos son primitivos.
• Deben tener una especificación de proceso que los describa.
34
EJEMPLO 1
• El sistema de gestión para una biblioteca debe funcionar
de la siguiente manera:
– Cuando un usuario presente una ficha de retirada (número de
carnet, tipo de carnet, nombre del libro) de libros, el bibliotecario
teclea los datos y se genera un comprobante (tipo de préstamo,
último día de entrega) que se entrega al usuario y se registra en el
sistema el préstamo (número de carnet, nombre del libro). Cuando
el usuario devuelve el libro el bibliotecario introduce su código de
acceso, número de carnet y el nombre del libro entonces se borra
el registro del préstamo.
35
EJEMPLO 1
• ENTIDADES EXTERNAS
– Cuando un usuario (FUENTE DE INFORMACIÓN)
presente una ficha de retirada (número de carnet, tipo de carnet,
nombre del libro) de libros, el bibliotecario teclea los datos y se
genera un comprobante (tipo de préstamo, último día de entrega)
que se entrega al usuario (DESTINO DE INFORMACIÓN)
y se registra en el sistema el préstamo (número de carnet, nombre
del libro). Cuando el usuario devuelve el libro el bibliotecario
(FUENTE DE INFORMACIÓN) introduce su código de
acceso, número de carnet y el nombre del libro entonces se borra
el registro del préstamo.
36
EJEMPLO 1
• DOCUMENTOS (flujos de datos y almacenes)
– Cuando un usuario presente una ficha de retirada (número
de carnet, tipo de carnet, nombre del libro) de libros, el
bibliotecario teclea los datos y se genera un comprobante (tipo
de préstamo, último día de entrega) que se entrega al usuario y se
registra en el sistema el préstamo (número de carnet,
nombre del libro). Cuando el usuario devuelve el libro el
bibliotecario introduce su código de acceso, número de
carnet y el nombre del libro entonces se borra el
registro del préstamo.
37
EJEMPLO 1
• PROCESOS
1 ) Petición 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 préstamo
2 ) Devolución de libros
evento bibliotecario introduce su código de
acceso, número de carnet y el nombre del libro
a) se borra el registro del préstamo.
38
Ejemplo: solución
0
GESTIONAR
BIBLIOTECA
USUARIO BIBLIOTECARIO
FICHA
COMPROBANTE
LIBRO
DEVUELTO
DIAGRAMA DE CONTEXTO
39
Ejemplo: solución
1
GESTIONAR
PRÉSTAMO
FICHA
COMPROBANTE
LIBRO
DEVUELTO 2
GESTIONAR
DEVOLUCIÓN
PRÉSTAMOS
NUEVO
PRÉSTAMO
FIN DE
PRÉSTAMO
DIAGRAMA 0: GESTIONAR BIBLIOTECA
40
•SISTEMA DE GESTIÓN DE UNA BIBLIOTECA
•Petición de libros
Un usuario puede realizar una petición de uno o más 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 préstamo.
Tipos de préstamo
SALA El día de la petición.
COLABORADOR Una semana
PROYECTO FIN CARRERA Quince días.
DOCTORADO Un mes.
Una vez entregados el carnet y la ficha, el sistema comprobará y
aceptará la petición de los libros solicitados siempre que pueda satisfacer la
petición, es decir, cuando haya ejemplares disponibles. Si se acepta la
petición, se actualiza el número de unidades de los libros de la
biblioteca y se guarda la ficha de préstamo.
EJEMPLO 2 (1)
41
• Devoluciones de libros
Un usuario no puede realizar más peticiones hasta que no haya efectuado todas
las devoluciones de la petición anterior. El usuario, para hacer la petición,
necesita el carnet, que no se le entrega hasta que no haya devuelto todos los
libros. Sí puede hacer una devolución parcial de los libros. Cuando un usuario
realice una devolución, el sistema actualizará el stock de libros y
comprobará la fecha de devolución de cada ejemplar para estudiar,
en el caso de que la devolución se haga fuera de tiempo, la imposición de
una sanción que tiene un coste de X ud. monetarias por cada ejemplar y días
de retraso en la devolución. En este caso, la sanción se emite cuando el
usuario entrega el último ejemplar.
• Altas y bajas de libros
El bibliotecario se encarga de las altas y bajas de los libros de la
biblioteca.
EJEMPLO 2 (2)
42
DIAGRAMA DE CONTEXTO
0
GESTIONAR
BIBLIOTECA
USUARIO USUARIO
SANCIÓN
BIBLIOTECARIO
PEDIDO
LIBROS
DEVOLUCIÓN
LIBROS
ALTAS/BAJAS
LIBROS
SOLUCIÓN: EJEMPLO 2
43
DIAGRAMA 0: GESTIONAR BIBLIOTECA
1
SANCIÓN
PEDIDO
LIBROS
DEVOLUCIÓN
LIBROS
ALTAS/BAJAS
LIBROS
2
3
FICHAS
PRESTAMO
LIBROS
DISPONIBLES
GESTIONAR
PEDIDOS
GESTIONAR
DEVOLUCIONES
ACTUALIZAR
LIBROS
SOLUCIÓN: EJEMPLO 2
44
DIAGRAMA 2: GESTIONAR DEVOLUCIONES
2.1
SANCIÓN
DEVOLUCIÓN
LIBROS
2.2
FICHAS
PRESTAMO
LIBROS
DISPONIBLES
ACTUALIZAR
STOCK
CALCULAR
SANCIÓN
LIBROS
DEVUELTOS
SOLUCIÓN: EJEMPLO 2
45
DICCIONARIO DE DATOS.
• Es una técnica textual que proporciona una lista
organizada de los datos utilizados por el sistema.
• Para cada almacén o flujo de datos el diccionario de datos
tendrá una entrada que lo describa.
• Cada dato debería incluir en su definición comentarios, su
composición y los valores que puede tomar.
46
DICCIONARIO DE DATOS. SÍMBOLOS
• Definición de los flujos de datos:
– Símbolos:
1. Composición. ( = ; + ). A=B+C.
2. Selección. ( [ ] ; | ). A= [B | C| D].
3. Iteración. ( x { } y ) A=1 { B } 5
(x=min. ocurrencias, y =max. ocurrencias).
4. Opción. ( ( ) ). A=B+(C).
5. Comentarios. *Aclaración de entrada al D.D.*.
– Aproximación Top-Down:
Mejor: A=B+C. B=B1+B2. C=C1+C2. Peor: A=B1+B2+C1+C2.
• Definición de almacenes:
– Símbolos:
1. Identificador. @
47
Datos que dentro del contexto del usuario no tiene sentido
descomponerlos. Es importante especificar para estos datos los
valores permitidos y la unidad de medida.
Ejemplos:
peso_persona = * * (no necesario comentario)
* unidad : kilo; rango : 1 . . 150 *
fecha_nacimiento = * *
* unidad : días desde 1-ENE-1990; rango : 0 . . 36500 *
DICCIONARIO DE DATOS.
DATOS ELEMENTALES
48
• Datos opcionales
direc_cliente = (direc _entrega) + (direc _facturación)
direc_cliente = direc _entrega + (direc _facturación)
direc_cliente = [direc _entrega | direc _facturación | direc
_entrega + direc_facturación].
DICCIONARIO DE DATOS.
DATOS OPCIONALES.
49
•• Iteración
Repetición de uno o más datos elementales o grupo de datos.
”Cero o más ocurrencias de ..."
pedido = nom_cliente + direc_entrega + {artículo}
Límites inferior y/o superior :
a = {b} a = 1{b} a = {b}10 a = 1{b}10
DICCIONARIO DE DATOS. ITERACIÓN
50
•• Selección
"Una y sólo una de las alternativas"
sexo = [Varón | Hembra]
DICCIONARIO DE DATOS. SELECCIÓN
51
En el siguiente ejemplo, CLIENTE es a la vez la definición de una
entidad y un almacén CLIENTES.
CLIENTES = {CLIENTE}
CLIENTE = @id_cliente + nombre + dirección + teléfono
o equivalente con otra notación :
CLIENTE = id_cliente + nombre + dirección + teléfono
DICCIONARIO DE DATOS. ALMACENES
52
DICCIONARIO DE DATOS DEL EJEMPLO1
• Flujos de datos:
1. Composición.
DEVOLUCION_LIBRO=COD.ACC+Nº_CARNET+LIBRO
2. Selección.
TIPO.CARNET= [PROFESOR|ALUMNO]
TIPO.PREST=[PROFESOR|ALUMNO]
3. Iteración.
FICHA=NUM.CARNET+TIPO.CARNET+1{LIBRO}3
4. Opción. ( () ).
COMPROBANTE=TIPO.PREST+(ULT.DIA.ENTRE)
• Almacenes:
1. Identificador.
PRESTAMOS=@NUM.CARNET+LIBRO

Más contenido relacionado

La actualidad más candente

Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesSergio Sanchez
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de DatosInés Andara
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estadosloco8888
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Analisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_claseAnalisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_claseelvis1151
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasJosé Antonio Sandoval Acosta
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Yaskelly Yedra
 
Capítulo07 usodediagramasflujodatos
Capítulo07 usodediagramasflujodatosCapítulo07 usodediagramasflujodatos
Capítulo07 usodediagramasflujodatosRicardo Guzman
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patronesGustavo De la Cruz Tovar
 

La actualidad más candente (20)

Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Diagrama de Flujo de Datos
Diagrama de Flujo de DatosDiagrama de Flujo de Datos
Diagrama de Flujo de Datos
 
Diagrama de Colaboración
Diagrama de ColaboraciónDiagrama de Colaboración
Diagrama de Colaboración
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Diagramas estados
Diagramas estadosDiagramas estados
Diagramas estados
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Analisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_claseAnalisis estructurado y_dfd_-_presentacion_de_clase
Analisis estructurado y_dfd_-_presentacion_de_clase
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)Diagrama de Flujo de Datos (DFD)
Diagrama de Flujo de Datos (DFD)
 
Capítulo07 usodediagramasflujodatos
Capítulo07 usodediagramasflujodatosCapítulo07 usodediagramasflujodatos
Capítulo07 usodediagramasflujodatos
 
UML
UMLUML
UML
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 

Similar a Modelado de funciones mediante diagramas de flujo de datos (DFD

BASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOBASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOErnesto
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datosLuis Belisario
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de DatosRenny Batista
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datosDaniela Vera
 
Diseño orientado a flujo de datos
Diseño orientado a flujo de datosDiseño orientado a flujo de datos
Diseño orientado a flujo de datosSergio E. Sánchez
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDaniel Jose
 
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)
Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)nelson rodriguez huallpa
 
Modelos de análisis estructurado
Modelos de análisis estructuradoModelos de análisis estructurado
Modelos de análisis estructuradoyolimargn
 
Fas diagramas de_flujo_de_datos
Fas diagramas de_flujo_de_datosFas diagramas de_flujo_de_datos
Fas diagramas de_flujo_de_datosAlba Robles
 
Analisis Estructurado
Analisis EstructuradoAnalisis Estructurado
Analisis EstructuradoDain Grillo
 
Analisis Estructurado
Analisis EstructuradoAnalisis Estructurado
Analisis EstructuradoDain Grillo
 
Introduccion a los diagramas de flujo de datos
Introduccion a los diagramas de flujo de datosIntroduccion a los diagramas de flujo de datos
Introduccion a los diagramas de flujo de datosAmado Arcaya
 

Similar a Modelado de funciones mediante diagramas de flujo de datos (DFD (20)

BASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJOBASES DEL DIAGRAMA DE FLUJO
BASES DEL DIAGRAMA DE FLUJO
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datos
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Diagrama de flujo de datos
Diagrama de flujo de datosDiagrama de flujo de datos
Diagrama de flujo de datos
 
dfd.ppt
dfd.pptdfd.ppt
dfd.ppt
 
Dfd
DfdDfd
Dfd
 
Tema4 a
Tema4 aTema4 a
Tema4 a
 
Diseño orientado a flujo de datos
Diseño orientado a flujo de datosDiseño orientado a flujo de datos
Diseño orientado a flujo de datos
 
Notas dfd internet
Notas dfd internetNotas dfd internet
Notas dfd internet
 
Diagrama de-flujo-de-datos
Diagrama de-flujo-de-datosDiagrama de-flujo-de-datos
Diagrama de-flujo-de-datos
 
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)
Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)Modelamiento del SistemaDiagrama de Flujo de Datos (DFD)
Modelamiento del Sistema Diagrama de Flujo de Datos (DFD)
 
Modelos de análisis estructurado
Modelos de análisis estructuradoModelos de análisis estructurado
Modelos de análisis estructurado
 
Diagramas de flujo_de_datos
Diagramas de flujo_de_datosDiagramas de flujo_de_datos
Diagramas de flujo_de_datos
 
Fas diagramas de_flujo_de_datos
Fas diagramas de_flujo_de_datosFas diagramas de_flujo_de_datos
Fas diagramas de_flujo_de_datos
 
Dfd
DfdDfd
Dfd
 
Analisis Estructurado
Analisis EstructuradoAnalisis Estructurado
Analisis Estructurado
 
Analisis Estructurado
Analisis EstructuradoAnalisis Estructurado
Analisis Estructurado
 
Introduccion a los diagramas de flujo de datos
Introduccion a los diagramas de flujo de datosIntroduccion a los diagramas de flujo de datos
Introduccion a los diagramas de flujo de datos
 
Diagrama de Flujo
Diagrama de FlujoDiagrama de Flujo
Diagrama de Flujo
 
D fdatos
D fdatosD fdatos
D fdatos
 

Más de Viviana Martín

Gestion estrategica planificada
Gestion estrategica planificadaGestion estrategica planificada
Gestion estrategica planificadaViviana Martín
 
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieEl.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieViviana Martín
 
El lenguaje-programacion-c-kernighan-ritchie
El lenguaje-programacion-c-kernighan-ritchieEl lenguaje-programacion-c-kernighan-ritchie
El lenguaje-programacion-c-kernighan-ritchieViviana Martín
 
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieEl.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieViviana Martín
 
Para hacer dfd d fdatos internet
Para hacer dfd   d fdatos internetPara hacer dfd   d fdatos internet
Para hacer dfd d fdatos internetViviana Martín
 

Más de Viviana Martín (7)

Gestion estrategica planificada
Gestion estrategica planificadaGestion estrategica planificada
Gestion estrategica planificada
 
3-gotica
  3-gotica  3-gotica
3-gotica
 
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieEl.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
 
El lenguaje-programacion-c-kernighan-ritchie
El lenguaje-programacion-c-kernighan-ritchieEl lenguaje-programacion-c-kernighan-ritchie
El lenguaje-programacion-c-kernighan-ritchie
 
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchieEl.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
El.lenguaje.de programación.c.segunda.edición.kernighan&ritchie
 
Para hacer dfd d fdatos internet
Para hacer dfd   d fdatos internetPara hacer dfd   d fdatos internet
Para hacer dfd d fdatos internet
 
Dfd y der internet
Dfd y der internetDfd y der internet
Dfd y der internet
 

Modelado de funciones mediante diagramas de flujo de datos (DFD

  • 1. 1 TEMA 7, SECCIÓN 2: MODELADO DE FUNCIONES Departamento de Informática Universidad de Valladolid Campus de Segovia ______________________
  • 2. 2 • Diagramas de flujo de datos • Diccionario de datos MODELIZACIÓN DE FUNCIONES
  • 3. 3 • Conceptos • Componentes de un DFD • Procesos o funciones • Almacenes de datos • Entidades externas • Flujos de datos • Descomposición en niveles de un DFD • Diagrama de contexto • Diagrama de sistema (Diagrama 0) • Procesos primitivos • Consistencia entre niveles: Balanceo • Convenciones de numeración • Errores en los DFD • Construcción de un modelo mediante DFD (resumen) DIAGRAMAS DE FLUJO DE DATOS
  • 4. 4 • Técnica gráfica que emplea diagramas en forma de red para modelar las funciones que realiza el sistema y los datos que fluyen entre ellas. CONCEPTOS
  • 5. 5 • El modelado se realiza a distintos niveles de abstracción lo que implica: • una simplificación de la complejidad del sistema • la elaboración de un conjunto de DFDs jerarquizados. • Los niveles superiores definen las funciones del sistema de una forma más general. • Los niveles inferiores definen dichas funciones con mayor detalle. CONCEPTOS
  • 6. 6 COMPONENTES DE UN DFD • Proceso o transformación • Almacén de Datos • Entidades Externas • Flujo de datos
  • 7. 7 PROCESOS • El proceso: – Es la componente del diagrama que representa cualquier función que transforma los flujos de datos de entrada en uno o varios flujos de datos de salida. • Regla de conservación de los datos: – El proceso debe ser capaz de generar los flujos de datos de salida a partir de los flujos de datos de entrada más una información local. • Cuando al proceso no le llegan todos los datos necesarios diremos que hay un error en la conservación de los datos. • Si por el contrario no se generan todos lo datos de salida diremos que hay pérdida de información.
  • 8. 8 PROCESOS • Representación (Yourdon): – Círculo en cuyo interior se indica un número y un nombre. – El nombre debe cumplir las siguientes normas. • Ser lo más representativo posible respecto de la función que representa. • Ser lo más breve posible, i.e. formado por un verbo seguido de un sustantivo. • El nombre y el número del proceso deben ser únicos dentro del DFD. 11 GESTIONAR PRESTAMOS DE BIBLIOTECA
  • 9. 9 ALMACENES DE DATOS • El almacén de datos: – Representa información del sistema almacenada de forma temporal. – Si el flujo de datos representa datos en movimiento, los almacenes representan datos en reposo. – No implica máquina o dispositivo de almacenamiento alguno. – Los almacenes pueden aparecer por necesidad (procesos asíncronos) o por razones de seguridad. • Representación (Yourdon): – se representa mediante dos líneas paralelas con un nombre en el interior LIBROSLIBROS
  • 10. 10 CARACTERÍSTICAS DE LOS ALMACENES DE DATOS • El nombre del almacén: – Debe ser lo más representativo posible respecto de los datos que contiene. Suele ser un sustantivo en plural. • El almacén puede aparecer varias veces representado en un DFD si con eso se mejora la legibilidad. • En un conjunto de DFDs nivelados el almacén debe aparecer en el DFD más alto en el que sirve de interconexión entre dos o más procesos así como en los DFDs de niveles inferiores que detallan el anterior.
  • 11. 11 CARACTERÍSTICAS DE LOS ALMACENES DE DATOS • Si en un DFD hay un almacén que sólo está conectado a un proceso se dice que este almacén es local a dicho proceso y por tanto no debe aparecer en dicho nivel sino en los niveles inferiores donde se detalla dicho proceso. • El contenido de los almacenes de estructura simple (contenido tipo registro) debe estar definido en el diccionario de datos. • En el caso de un almacén con una estructura más compleja su contenido se puede representar mediante un diagrama de entidad/relación.
  • 12. 12 ENTIDADES EXTERNAS • Una entidad externa: – Es una persona o grupo – Esta fuera del sistema – Representan la fuente y/o el destino de la información. – Permiten definir el interfaz entre el sistema y el mundo exterior. – Las relaciones entre entidades externas no son objeto de estudio del sistema. • Representación (Yourdon): – Se representa mediante un cuadrado en el que se indica en su interior un nombre representativo. DEPARTAMENTODEPARTAMENTO COMPRASCOMPRAS
  • 13. 13 CARACTERÍSTICAS 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 señala 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 representación es: • Normalmente las entidades externas sólo aparecen en el diagrama de contexto CLIENTE
  • 14. 14 FLUJOS DE DATOS • Los flujos de datos: – Representan los datos en movimiento entre procesos en un momento y con una cardinalidad determinados. • Representación (Yourdon) – Los flujos se representan mediante arcos dirigidos donde la flecha indica la dirección de los datos. – Flujo de datos discretos: representan datos en movimiento en un momento dado. – Flujo de datos continuos: representan flujos de datos persistentes en el tiempo.
  • 15. 15 CONEXIONES PERMITIDAS ENTRE LAS COMPONENTES DE UN DFD Destino/ fuente PROCESO ALMACEN ENTIDAD EXTERNA PROCESO SÍ SÍ SÍ ALMACÉN SÍ NO NO* ENTIDAD EXTERNA SÍ NO* NO
  • 16. 16 FORMAS DE PASO DE DATOS ENTRE DOS PROCESOS • Conexión directa entre dos procesos: – Sólo es posible si la información que se traspasa se hace de forma síncrona. – Se dice que el paso de información es síncrono si el proceso destino comienza cuando el proceso origen finaliza su función • Si el paso de información es asíncrono: – es necesario el uso de un almacén temporal que guarde los datos del proceso origen hasta que el proceso destino haga uso de ellos. PROCESOPROCESO 11 PROCESOPROCESO 22 PROCESOPROCESO 11 PROCESOPROCESO 22 ALMACENALMACEN
  • 17. 17 TIPOS FLUJOS DE DATOS • Flujos de consulta: – Muestra el uso de datos de un almacén con objeto de: • obtener una determinada información • o para comprobar si se cumplen unos determinados criterios. PROCESOPROCESO 11 ALMACENALMACEN
  • 18. 18 TIPOS FLUJOS DE DATOS • Flujo de actualización – Indica la modificación de la información de un almacén ya bien sea: • para crear o borrar ocurrencias de una entidad o relación del almacén. • modificar el valor de un atributo PROCESOPROCESO 11 ALMACENALMACEN
  • 19. 19 TIPOS FLUJOS DE DATOS • Flujo de dialogo – Representa un flujo de consulta y de actualización que no tienen relación directa entre sí. – Este flujo puede aparecer para resaltar la relación existente entre dos flujos de datos (par de dialogo). GESTIONARGESTIONAR PETICIONESPETICIONES USUARIOSUSUARIOS LIBROSLIBROS PRESTAMOSPRESTAMOS PETICIÓN USUARIOS Petición libro Informe cliente GESTIONARGESTIONAR PETICIONESPETICIONES USUARIOSUSUARIOS INFORMESINFORMES CLIENTESCLIENTES CLIENTE Petición informe
  • 20. 20 CARACTERÍSTICAS DE LOS FLUJOS DE DATOS • Deben tener nombre y debe ser representativo del contenido de la información que fluye a través de él. • Todos los flujos deben tener nombre excepto los flujos simples que entren o salgan de un almacén en cuyo caso su estructura es la del almacén. • El contenido de un flujo de datos: • Dato elemental (campo o atributo) • Grupo de datos relacionados entre sí • par de dialogo (consulta-respuesta) • múltiple (conjunto de flujos de datos).
  • 21. 21 REPRESENTACIÓN GRÁFICA DE LOS COMPONENTES DE UN DFD PARA DISTINTAS METODOLOGÍAS Flujo de Datos Procesos Almacén de Datos Entidades Externas Yourdon, DeMarco Gane y Sarson SSADM METRICA
  • 22. 22 DESCOMPOSICIÓN EN NIVELES DE UN DFD • Los DFDs presentan una estructura en capas: • La representación mediante DFDs sigue una aproximación “top- down” en la que cada nivel proporciona una visión más detallada de una parte definida en el nivel anterior. • Descomposición: • Diagrama de contexto. • Diagrama del sistema. • Funciones primitivas (procesos primitivos).
  • 23. 23 DESCOMPOSICIÓN EN NIVELES DE UN DFD 0 Gestión Sistema E1 E3 E2 B A C D E E 1 proceso 2 proceso A1 A2 B A C D A1 C 2.2 proceso E 2.3 proceso 2.1 proceso A2 A3 D A1 2.2.2 proceso D 2.2.3 proceso 2.2.1 proceso A3 A2 Diagrama de contexto Diagrama 0: Diagrama del sistema DFD nivel 1, proceso2 DFD nivel 2 proceso 2.2 DFD nivel 1, proceso1
  • 24. 24 DIAGRAMA DE CONTEXTO • Diagrama de contexto (nivel 0): • Es el nivel más alto. • Delimita la frontera entre el sistema y el mundo exterior (interfaz externa). • Viene representado por: – Un único proceso que representa una caja negra del sistema completo. – Un conjunto de entidades que representan la procedencia y el destino de la información. – El flujo de información que se intercambia entre el sistema y las entidades externas.
  • 25. 25 DIAGRAMA DEL SISTEMA (DIAGRAMA 0) • Diagrama del sistema (nivel 1): • Este DFD, también denominado Diagrama 0, presenta una primera descomposición donde se representan las funciones principales del sistema, así como la relación entre ellas.
  • 26. 26 PROCESOS PRIMITIVOS • Son aquellos procesos de un DFD que no se descomponen en nuevos diagramas de nivel inferior. • La decisión de no descomponer más es responsabilidad del analista (decisión subjetiva). – Heurística: • Cuando un requisito funcional se puede especificar en menos de una página mediante pseudocódigo. • Cuando los procesos del diagrama tienen pocos flujos de entrada y salida. • Si al descomponer se pierde el significado de la función.
  • 27. 27 NIVELES DE UN DFD según MÉTRICA 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 subfunción.
  • 28. 28 CONSISTENCIA ENTRE NIVELES: BALANCEO • Implica que la información que entra y sale de un proceso de nivel N, debe ser consistente con la información que entra y sale del DFD en que se descompone.
  • 29. 29 CONVENCIONES A LA NUMERACIÓN • Cada diagrama recibe el número y el nombre del proceso que descompone (el proceso padre). • Los procesos del diagrama del sistema se enumeran por un entero comenzando por 1 y de forma creciente hasta completar el número de procesos del diagrama.
  • 30. 30 ERRORES EN LOS DFDs • Redes desconectadas: • En un mismo DFD aparecen dos subconjuntos DFD que no se comunican entre sí. • Causa: no hay relación entre la funcionalidad de las dos redes. • Error: la descomposición del proceso del nivel superior esta mal realizada ya que una de las subredes está asociada con la descomposición 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. • Solución: Intentar que esas diferencias en el nivel de detalle sean lo menores posibles.
  • 31. 31 Ejemplo: desconexión de dos redes 2 Proceso 1 Proceso 3 Proceso 4 Proceso 5 Proceso B A C D E F G H I J K L N M P DFD 0 DFD 1 2.2 Proceso2.1 Proceso 2.3 Proceso 2.4 Proceso 2.5 Proceso I N J C H M E L K
  • 33. 33 CONSTRUCCIÓN 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 más. • Pueden aparecer en cualquier nivel. • DFD de más bajo nivel: aquel donde todos los procesos son primitivos. • Deben tener una especificación de proceso que los describa.
  • 34. 34 EJEMPLO 1 • El sistema de gestión para una biblioteca debe funcionar de la siguiente manera: – Cuando un usuario presente una ficha de retirada (número de carnet, tipo de carnet, nombre del libro) de libros, el bibliotecario teclea los datos y se genera un comprobante (tipo de préstamo, último día de entrega) que se entrega al usuario y se registra en el sistema el préstamo (número de carnet, nombre del libro). Cuando el usuario devuelve el libro el bibliotecario introduce su código de acceso, número de carnet y el nombre del libro entonces se borra el registro del préstamo.
  • 35. 35 EJEMPLO 1 • ENTIDADES EXTERNAS – Cuando un usuario (FUENTE DE INFORMACIÓN) presente una ficha de retirada (número de carnet, tipo de carnet, nombre del libro) de libros, el bibliotecario teclea los datos y se genera un comprobante (tipo de préstamo, último día de entrega) que se entrega al usuario (DESTINO DE INFORMACIÓN) y se registra en el sistema el préstamo (número de carnet, nombre del libro). Cuando el usuario devuelve el libro el bibliotecario (FUENTE DE INFORMACIÓN) introduce su código de acceso, número de carnet y el nombre del libro entonces se borra el registro del préstamo.
  • 36. 36 EJEMPLO 1 • DOCUMENTOS (flujos de datos y almacenes) – Cuando un usuario presente una ficha de retirada (número de carnet, tipo de carnet, nombre del libro) de libros, el bibliotecario teclea los datos y se genera un comprobante (tipo de préstamo, último día de entrega) que se entrega al usuario y se registra en el sistema el préstamo (número de carnet, nombre del libro). Cuando el usuario devuelve el libro el bibliotecario introduce su código de acceso, número de carnet y el nombre del libro entonces se borra el registro del préstamo.
  • 37. 37 EJEMPLO 1 • PROCESOS 1 ) Petición 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 préstamo 2 ) Devolución de libros evento bibliotecario introduce su código de acceso, número de carnet y el nombre del libro a) se borra el registro del préstamo.
  • 40. 40 •SISTEMA DE GESTIÓN DE UNA BIBLIOTECA •Petición de libros Un usuario puede realizar una petición de uno o más 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 préstamo. Tipos de préstamo SALA El día de la petición. COLABORADOR Una semana PROYECTO FIN CARRERA Quince días. DOCTORADO Un mes. Una vez entregados el carnet y la ficha, el sistema comprobará y aceptará la petición de los libros solicitados siempre que pueda satisfacer la petición, es decir, cuando haya ejemplares disponibles. Si se acepta la petición, se actualiza el número de unidades de los libros de la biblioteca y se guarda la ficha de préstamo. EJEMPLO 2 (1)
  • 41. 41 • Devoluciones de libros Un usuario no puede realizar más peticiones hasta que no haya efectuado todas las devoluciones de la petición anterior. El usuario, para hacer la petición, necesita el carnet, que no se le entrega hasta que no haya devuelto todos los libros. Sí puede hacer una devolución parcial de los libros. Cuando un usuario realice una devolución, el sistema actualizará el stock de libros y comprobará la fecha de devolución de cada ejemplar para estudiar, en el caso de que la devolución se haga fuera de tiempo, la imposición de una sanción que tiene un coste de X ud. monetarias por cada ejemplar y días de retraso en la devolución. En este caso, la sanción se emite cuando el usuario entrega el último ejemplar. • Altas y bajas de libros El bibliotecario se encarga de las altas y bajas de los libros de la biblioteca. EJEMPLO 2 (2)
  • 42. 42 DIAGRAMA DE CONTEXTO 0 GESTIONAR BIBLIOTECA USUARIO USUARIO SANCIÓN BIBLIOTECARIO PEDIDO LIBROS DEVOLUCIÓN LIBROS ALTAS/BAJAS LIBROS SOLUCIÓN: EJEMPLO 2
  • 43. 43 DIAGRAMA 0: GESTIONAR BIBLIOTECA 1 SANCIÓN PEDIDO LIBROS DEVOLUCIÓN LIBROS ALTAS/BAJAS LIBROS 2 3 FICHAS PRESTAMO LIBROS DISPONIBLES GESTIONAR PEDIDOS GESTIONAR DEVOLUCIONES ACTUALIZAR LIBROS SOLUCIÓN: EJEMPLO 2
  • 44. 44 DIAGRAMA 2: GESTIONAR DEVOLUCIONES 2.1 SANCIÓN DEVOLUCIÓN LIBROS 2.2 FICHAS PRESTAMO LIBROS DISPONIBLES ACTUALIZAR STOCK CALCULAR SANCIÓN LIBROS DEVUELTOS SOLUCIÓN: EJEMPLO 2
  • 45. 45 DICCIONARIO DE DATOS. • Es una técnica textual que proporciona una lista organizada de los datos utilizados por el sistema. • Para cada almacén o flujo de datos el diccionario de datos tendrá una entrada que lo describa. • Cada dato debería incluir en su definición comentarios, su composición y los valores que puede tomar.
  • 46. 46 DICCIONARIO DE DATOS. SÍMBOLOS • Definición de los flujos de datos: – Símbolos: 1. Composición. ( = ; + ). A=B+C. 2. Selección. ( [ ] ; | ). A= [B | C| D]. 3. Iteración. ( x { } y ) A=1 { B } 5 (x=min. ocurrencias, y =max. ocurrencias). 4. Opción. ( ( ) ). A=B+(C). 5. Comentarios. *Aclaración de entrada al D.D.*. – Aproximación Top-Down: Mejor: A=B+C. B=B1+B2. C=C1+C2. Peor: A=B1+B2+C1+C2. • Definición de almacenes: – Símbolos: 1. Identificador. @
  • 47. 47 Datos que dentro del contexto del usuario no tiene sentido descomponerlos. Es importante especificar para estos datos los valores permitidos y la unidad de medida. Ejemplos: peso_persona = * * (no necesario comentario) * unidad : kilo; rango : 1 . . 150 * fecha_nacimiento = * * * unidad : días desde 1-ENE-1990; rango : 0 . . 36500 * DICCIONARIO DE DATOS. DATOS ELEMENTALES
  • 48. 48 • Datos opcionales direc_cliente = (direc _entrega) + (direc _facturación) direc_cliente = direc _entrega + (direc _facturación) direc_cliente = [direc _entrega | direc _facturación | direc _entrega + direc_facturación]. DICCIONARIO DE DATOS. DATOS OPCIONALES.
  • 49. 49 •• Iteración Repetición de uno o más datos elementales o grupo de datos. ”Cero o más ocurrencias de ..." pedido = nom_cliente + direc_entrega + {artículo} Límites inferior y/o superior : a = {b} a = 1{b} a = {b}10 a = 1{b}10 DICCIONARIO DE DATOS. ITERACIÓN
  • 50. 50 •• Selección "Una y sólo una de las alternativas" sexo = [Varón | Hembra] DICCIONARIO DE DATOS. SELECCIÓN
  • 51. 51 En el siguiente ejemplo, CLIENTE es a la vez la definición de una entidad y un almacén CLIENTES. CLIENTES = {CLIENTE} CLIENTE = @id_cliente + nombre + dirección + teléfono o equivalente con otra notación : CLIENTE = id_cliente + nombre + dirección + teléfono DICCIONARIO DE DATOS. ALMACENES
  • 52. 52 DICCIONARIO DE DATOS DEL EJEMPLO1 • Flujos de datos: 1. Composición. DEVOLUCION_LIBRO=COD.ACC+Nº_CARNET+LIBRO 2. Selección. TIPO.CARNET= [PROFESOR|ALUMNO] TIPO.PREST=[PROFESOR|ALUMNO] 3. Iteración. FICHA=NUM.CARNET+TIPO.CARNET+1{LIBRO}3 4. Opción. ( () ). COMPROBANTE=TIPO.PREST+(ULT.DIA.ENTRE) • Almacenes: 1. Identificador. PRESTAMOS=@NUM.CARNET+LIBRO