Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MODELADOS Y ANALISIS DE
DATOS
PARTE I
FUNDAMENTOS DE BASES
DE DATOS
Objetivos
DATOS PROGRAMAS
UNIDAD 1. INTRODUCCIÓN
valorActual()
historia()
5 Escobas 10 1 10 10
10 Sardina 10 2 20 10
25 Café 10 1 5 10
35 Pasas 10 1 2 10
25 1 1 20
25 2 2 20
25 1 2 5
35 1 10 5
3.2.2. Modelo de red
25 1 1 20
25 Café
25 2 2 20
35 Pasas
35 1 10 5
3.2.3. Modelo jerárquico
5 Escobas 25 Café
10 Sardinas 35 Pasas
10 1 10 10 10 1 5 10 25 2 2 20
10 2 20 10 25 1 1 20 35 1 10 5
3.3 Modelo de datos físico
■ El gestor de almacenamiento es un
módulo de programas que proporciona la
interfaz entre los datos de bajo nivel en la
base de datos, y los programas de
aplicación y consultas.
■ Es responsable de la interacción con el
gestor de archivos, y del almacenamiento,
recuperación y actualización de la base.
7. Administración de la base de
datos
■ El DBMS tiene control centralizado sobre
datos y programas.
■ La persona que tiene este control sobre el
sistema es el administrador de base de
datos o DBA en inglés. Se ocupa de:
- Definir el esquema
- Estructura de almacenamiento y accesos
- Modificación de la organización física
- Autorización para el acceso a los datos
- Especificación de ligaduras de integridad
8. Usuarios de la base de datos
Objetivo
Usar las técnicas existentes para modelar bases de
datos de gran tamaño y complejas.
1. Conceptos básicos
1 1
profesor enseña cursor
Rosario IF-317
Angel MAT-101
Corrado QMC-100
Ramona FIS-300
2. Propiedades de las
relaciones
cardinalidad y participación
■ Cardinalidad 1:m
1 m
profesor enseña cursor
Rosario IF-317
Angel MAT-101
Corrado QMC-100
Ramona FIS-300
2. Propiedades de las
relaciones
cardinalidad y participación
■ Cardinalidad m:m
m n
profesor enseña cursor
Rosario IF-317
Angel MAT-101
Corrado QMC-100
Ramona FIS-300
2. Propiedades de las
relaciones
cardinalidad y participación
■ Participación.- Hay dos formas en que
una entidad puede participar en una
relación:
■ Obligatoria.- Cada ocurrencia de la
entidad participa en la relación, o sea
que tiene al menos una ocurrencia
asociada en la otra entidad
■ No obligatoria.- Una ocurrencia puede
existir independientemente.
2. Propiedades de las
relaciones
cardinalidad y participación
departamento emplea empleado
tiene emplea
m m
depto empleado
di1 e2
de2
1 m 1 m
división tiene depto emplea empleado
3. Trampas de conexión y
relaciones ternarias
■ Trampa de grieta.- Ocurre cuando una
relación descubierta no existe en el
diagrama.
1 m 1 m
división tiene depto emplea empleado
1 1 m
división tiene depto emplea empleado
1 m
trabaja
3. Trampas de conexión y
relaciones ternarias
■ Relaciones ternarias.- Otras trampas de
conexión no pueden resolverse aumentando
una relación binaria, la única forma es utilizar
relaciones ternarias.
parte n m n m proyecto
provee proveedor entrega
utiliza
proveedor m
n contrata
n
m p
parte entrega proyecto
parte4 proy9
parte3 proy8
proveedor6 proveedor7
4. Características del modelo
ER extendido
■ El modelo ER extendido incluye los
conceptos de especialización y
categorización.
■ Subclases y superclases.- En muchos
casos es necesario representar una
entidad como varias entidades. Por
ejemplo, empleado como secretaria y
administrador, empleado representa la
superclase y las otras son subclases.
4. Características del modelo
ER extendido
■ Especialización.- Es el proceso de definición
de un set de subclases de una entidad,
denominada superclase
empleado
d d
1 Admi-
nistra proyecto
velocidad_tipeo 1
4. Características del modelo
ER extendido
■ Especialización.- Hay dos motivos para
generar especializaciones:
1 La primera es que ciertos atributos son
aplicables solo a algunas ocurrencias de la
entidad. Por ejemplo, secretaria tiene el
atributo velocidad tipeo.
2 La segunda es que algunas relaciones
participan con las subclases diréctamente y
no con la superclase. Por ejemplo, la entidad
proyecto participa con administrador y no
necesariamente con empleado
4. Características del modelo
ER extendido
■ Especialización.- Hay dos tipos de
especialización:
1 Disjunta. Las ocurrencias de la superclase
pertenecen a una o ninguna subclase.
empleado
secretaria técnico
4. Características del modelo
ER extendido
■ Especialización.- Hay dos tipos de
especialización:
2 Sobrepuesta.- Las ocurrencias de la
superclase pueden pertenecer a varias
subclases. parte
parte_comprada parte_manufacturada
4. Características del modelo
ER extendido
■ Especialización.- La especialización puede
ser parcial o total:
1 Total.- Todas las ocurrencias de la
superclase están representadas en la
subclase.
2 Parcial.- No es obligatorio que las
ocurrencias de la superclase estén
representadas en alguna subclase.
4. Características del modelo
ER extendido
■ Categorización.- En algunos casos hay dos o
más entidades que no tienen nada en
común, que se relacionan con otra entidad,
en este caso es posible representarlas en
una categoria.
persona banco compañia
dueño
1 tiene
m vehículo
5. Esqueleto del modelo ER
reglas de representación
Mario 317-SJH
Enrique 101-PLU
Gino 100-WRA
Chichi 300-LPQ
5. Esqueleto del modelo ER
reglas de representación
■ 1-1. Participación obligatoria de una entidad
1 * 1
empleado usa auto
empleado(nro_emple, .......)
auto (nro_auto, ......., nro_emple)
Mario 317-SJH
Enrique 101-PLU
Gino 100-WRA
Chichi
5. Esqueleto del modelo ER
reglas de representación
■ 1-1. Participación no obligatoria en ambas
1 1
empleado usa auto
sala-1 Dante
sala-7 Diodato
sala-8 Oso
sala-4 Techo e paja
5. Esqueleto del modelo ER
reglas de representación
■ 1-m. Participación no obligatoria de entidad m.
1 m
sala ocupa paciente
dueño
1 * m departamento
compañia tiene
■ Relación 1:1
persona
1 1
esposo
a
espos
casado
■ Relación 1:m
empleado
1 m
supervisado
supervisor
*
supervisa
■ Relación m:n
parte
m n
parte_mayor
parte_menor
compone
número_camas tipo_sala
horas_prof_sem nro_aula
MODELO DE DATOS
BIBLIOTECA
11. Diseño físico
10% 95%
Casi todos los proyectos tienen empleado,
aquí se puede mapear como si proyecto
fuese obligatorio en la relación.
solo 2
Un proyecto tiene m empleados pero m=2,
El lado m puede mapearse como si fuese 1,
en ese caso mapeamos solo dos tablas.
Pocos 1, 2
Un proyecto tiene m empleados el lado m son
pocos 1 o 2. El lado m puede mapearse como
si fuese 1, en ese caso mapeamos solo dos
tablas.
■ Partición de tablas
1 1
máquina tiene máquina_detalle
CASO DE ESTUDIO
LA BIBLIOTECA
UNIDAD 4.
ALGEBRA RELACIONAL
Objetivo
Introducir los lenguajes conceptuales de las bases de
datos relacionales, creados a partir de fundamentos
matemáticos.
1. LAS BASES DE DATOS
RELACIONALES
RUBÉN
2. EL ÁLGEBRA RELACIONAL
Producto cartesiano, x, binario
cliente. resp_préstamo.
nom_clien calle ciudad nom_clien nom_emple nro_pres
MARCO calle5 La Paz MARCO JAIME 122
RUBÉN calle12 Potosí RUBÉN RUBÉN 178
π cliente.nom_clien, ciudad (
σ resp_presta.nom_clien=cliente.nom_clien ( cliente x resp_presta))
cliente.
nom_clien ciudad
MARCO La Paz
RUBÉN Potosí
2. EL ÁLGEBRA RELACIONAL
RENOMBRAR, ρ, UNARIO
nom_suc
MARCO
SUCHA
RUBEN
2. EL ÁLGEBRA RELACIONAL
DIFERENCIA, -, BINARIO
nom_suc
SUCHA
2. EL ÁLGEBRA RELACIONAL
COMPLETITUD
■ Es posible demostrar matemáticamente que
se puede obtener cualquier consulta con los 6
operadores fundamentales que vimos:
seleccionar σ unario
proyectar π unario
producto cartesiano x binario
renombrar ρ unario
unión ∪ binario
diferencia - binario
Cualquier otro lenguaje es “completo” si
puede ejecutar estas 6 operaciones.
2. EL ÁLGEBRA RELACIONAL
OPERADORES ADICIONALES
■ En el álgebra relacional se definen los
operadores adicionales:
intersección ∩ binario
producto natural ⇑ binario
división ÷ binario
todos estos operadores pueden ser
expresados mediante los 6 fundamentales.
Son necesarios solo para simplificar la
escritura de algunas consultas.
2. EL ÁLGEBRA RELACIONAL
INTERSECCIÓN, ∩, BINARIO
■ Permite recuperar los atributos de la
primera relación r que también están en
la segunda relación s. La intersección
solo es posible cuando r y s cumplen las
siguientes mismas dos condiciones.
■ Equivalencia.-
r∩s=r-(r-s)
2. EL ÁLGEBRA RELACIONAL
INTERSECCIÓN, ∩, BINARIO
prestatario (nro_pres nom_clien)
144 MARCO
125 SUCHA
nom_suc
MARCO
2. EL ÁLGEBRA RELACIONAL
Producto natural, ⇑, BINARIO
■ El producto natural es un producto
cartesiano mas la condición de que los
valores de los atributos comunes deben
ser los mismos.
■ Equivalencia.-
Sea r,s relaciones y R,S sus esquemas
o listas de atributos:
r ⇑ s = π R ∪ S (σ r.A1=s.A1 ∧.... ∧ r.An=s.An(r x s))
donde: R ∩ S = {A1, A2, ....,An}
2. EL ÁLGEBRA RELACIONAL
Producto natural, ⇑, BINARIO
cliente resp_presta
(nom_clien calle ciudad) (nom_clien nom_emple nro_pres)
MARCO calle5 La Paz SUCHA RAMONA 134
RUBÉN calle12 Potosí MARCO JAIME 122
RUBÉN RUBÉN 178
prespres sucursal
(nom_suc nro_pr nom_clien importe) (nom_suc ciudad)
CAÑOTO 144 MARCO 1500 CAÑOTO LPZ
BOLIVAR 122 RUBEN 1200 BOLIVAR SCZ
JUNIN 125 RUBEN 1800 BOQUERON LPZ
BOQUERON 188 RUBEN 1500 JUNIN SCZ
JUNIN 132 PLATINI 1600 BOLIVAR CBBA
BOLIVAR 177 PLATINI 1550
RUBÉN
3. CALCULO RELACIONAL DE TUPLAS
PRODUCTO
nom_clien ciudad
MARCO La Paz
RUBÉN Potosí
3. CALCULO RELACIONAL DE TUPLAS
UNIÓN
r s
(A B C D) (C D) (A B)
a b c d c d a b
a b e f e f e d
b c e f
e d c d
e d e f
a b d e
RUBÉN
4. CALCULO RELACIONAL DE DOMINIOS
PRODUCTO
cliente resp_presta
(nom_clien calle ciudad) (nom_clien nom_emple nro_pres)
MARCO calle5 La Paz SUCHA RAMONA 134
RUBÉN calle12 Potosí MARCO JAIME 122
RUBÉN RUBÉN 178
nom_clien ciudad
MARCO La Paz
RUBÉN Potosí
4. CALCULO RELACIONAL DE DOMINIOS
UNIÓN
SUCHA
4. CALCULO RELACIONAL DE DOMINIOS
INTERSECCIÓN
r s
(A B C D) (C D) (A B)
a b c d c d a b
a b e f e f e d
b c e f
e d c d
e d e f
a b d e
préstamo sucursal
(nom_suc nro_pr nom_clien importe) (nom_suc ciudad)
BOLIVAR 144 MARCO 1500 CAÑOTO LPZ
BOLIVAR 122 RUBEN 1200 BOLIVAR SCZ
JUNIN 125 RUBEN 1800 BOQUERON LPZ
BOQUERON 188 RUBEN 1500 JUNIN SCZ
JUNIN 132 PLATINI 1600 BOLIVAR CBBA
BOLIVAR 177 PLATINI 1550
Objetivo
Introducir a los lenguajes de uso más frecuente en
bases de datos relacionales SQL y QBE.
1. SQL
RUBÉN
1. SQL
SELECT - PRODUCTO
cliente resp_presta
(nom_clien calle ciudad) (nom_clien nom_emple nro_pres)
MARCO calle5 La Paz SUCHA RAMONA 134
RUBÉN calle12 Potosí MARCO JAIME 122
RUBÉN RUBÉN 178
RUBÉN
1. QBE
SELECT - PRODUCTO
cliente resp_presta
(nom_clien calle ciudad) (nom_clien nom_emple nro_pres)
MARCO calle5 La Paz SUCHA RAMONA 134
RUBÉN calle12 Potosí MARCO JAIME 122
RUBÉN RUBÉN 178
MARCO La Paz
RUBÉN Potosí
1. QBE
SELECT - UNION
prestatario (nro_pres nom_clien)
144 MARCO
125 SUCHA
¬ _x
1. QBE
SELECT - INTERSECCIÓN
prestatario (nro_pres nom_clien)
144 MARCO
125 SUCHA
Objetivo
Usar las técnicas existentes para optimizar las
consultas a las bases de datos relacionales.
Especialmente aquellas que son críticas en el
funcionamiento del sistema.
Dr. Renato Barrera.
1. INTRODUCCIÓN
1 πsname
σcolor=‘rojo’
Árbol ⇑
sintáctico
⇑ p
s sp
2. EL MÉTODO CIEGO
EJEMPLO
2 Descomposición Empuja selecciones
3
de juntas hacia abajo
πsname πsname
σcolor=‘rojo’ σp.p#=sp.p#
σp.p#=sp.p# x
x σs.s#=sp.s# σcolor=‘rojo’
σs.s#=sp.s# p x
x s sp p
s sp
2. EL MÉTODO CIEGO
EJEMPLO
4 Empuja proyecciones hacia abajo
πsname
σp.p#=sp.p#
x
πp#, sname
σs.s#=sp.s#
x πp#
πsname, s# σcolor=‘rojo’
πp#, s#
s πp#, color
sp
p
2. EL MÉTODO CIEGO
EJEMPLO
5 Unificar proyecciones y selecciones. Innecesario
6 Recombinar juntas
πsname
⇑
πp#, sname
⇑
πp#
πsname, s# πp#, s#
σcolor=‘rojo’
s sp
πp#, color
p
2. EL MÉTODO CIEGO
EJEMPLO
7 Planes de ejecución
πsname
⇑
πp#, sname
⇑
πp#
πsname, s# πp#, s#
σcolor=‘rojo’
s sp
πp#, color
p
3. MÉTODO DE DESCOMPOSICIÓN
■ Se concentra en juntas
■ Todas las otras operaciones se consideran
triviales
■ Representa consulta como “grafo de
consulta”
3. MÉTODO DE DESCOMPOSICIÓN
■ Semijunta
A←B ⇔ π A ( A ⇑ B)
■ Grafo de consulta.-
Cada nodo del grafo es una relación
Existe lado entre nodo A y nodo B, si A y B
están unidos por una junta.
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO DE UNA RUTA
■ Método.-
1 Escoja un nodo del árbol como raíz del
mismo
2 Oriente los lados del árbol hacia fuera de la
raíz
3 Haga el barrido hacia atrás de cada rama de
árbol
4 Haga barrido hacia delante, partiendo de la
raíz
5 Mande ensamblar
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO DE VARIAS RUTA
E
C
A D
E
Oriente los lados A B
D
C
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO DE VARIAS RUTA
Envíe A B C D E y ensamble.
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO CON CICLO
deporte_nacional
(país deporte)
deporte_practicado
Brasil Futbol origen
España Jai Alai
deporte_nacional
Quienes? !!NADIE!!
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO CON CICLO
origen deporte_practicado
deporte_nacional
■ TRUCO.- migración de llaves.
1 Rompa un nodo del ciclo
2 Añada una llave a tal nodo, tomo ese nodo
como raíz.
3 Haga pasos hacia atrás y hacia delante:
Migrando llaves cuando haga semijunta con
otra relación sin llave, y usando llaves
cuando junte con relación que tiene llave.
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO CON CICLO
origen deporte_practicado
deporte_nacional
1 Joao Brasil
2 Venancio España
3. MÉTODO DE DESCOMPOSICIÓN
GRAFO CON CICLO
Objetivo
Implementar bases de datos relacionales, utilizando
los recursos y lenguajes existentes en el momento.
INTRODUCCIÓN
Hijo
■ Autoreferencias Padre/Hijo
Padre
■ Referencias múltiples
Hijo Hijo
2. INTEGRIDAD REFERENCIAL
Referencias cíclicas
Objetivo
Utilizar herramientas Oracle para generar bases de
datos y desarrollar aplicaciones.
- Control de usuarios
- Desarrollo de aplicaciones en Oracle
UNIDAD 8.
DISEÑO DE BASES DE DATOS
RELACIONALES
Objetivo
Aplicar las reglas de normalización de tablas en
bases de datos relacionales, propuestas por Cood y
otros.
1. DIFICULTADES EN EL DISEÑO
DE BD RELACIONALES
■ El DBMS no es suficiente, de ninguna
manera, para administrar una base de datos
relacional, en gran parte depende del DBA.
Para comenzar, debe aplicar las siguientes
restricciones cuando crea las tablas:
1 El orden de las filas no debe ser significante.
2 Orden de columnas no debe ser significante.
3 Cada intersección fila/columna debe
contener un valor simple del atributo.
4 Cada fila en una tabla debe ser distinta.
2. REDUNDANCIA VERSUS
DUPLICIDAD DE DATOS
■ Duplicidad.- La duplicidad de datos está
presente cuando un atributo tiene dos valores
idénticos, la duplicidad si está permitida. Al
borrar un datos repetido se pierde información.
p (p#, color) p (p#, color)
P1 rojo P1 rojo
p2 azul p2 azul
p3 rojo p3
s2 p1 lápiz s2 p1 lápiz
s3 p1 lápiz s3 p1
s4 p3 borrador s4 p3 borrador
s5 Aria p1
s2 Baratillo p1 p4
s7 ABC p6
s9 Tiluchi p8 p2 p6
4. DETERMINANTES E
IDENTIFICADORES
■ Determinante o “atributo que tiene
dependencia funcional” .- Un atributo A es
determinante de otro atributo B, si cada valor
de A tiene precisamente un valor asociado de
B.
carnet_id combre_persona
p_nombre
p#
cant_en_stock
4. DETERMINANTES E
IDENTIFICADORES
■ Determinantes compuestos.- A veces un grupo
de atributos son determinate de otro atributo.
factura# fecha_factura
artículo# cant_vendida
4. DETERMINANTES E
IDENTIFICADORES
■ Dependencias transitivas.- Si A determina a B
y B determina a C, por definición A determina
a C y se llama dependencia transitiva. Pero
esta última no es necesario representarla en el
diagrama, se sobreentiende.
A B C
parte# cantidad
bodega# dirección_bodega
5. FORMAS NORMALES, COOD
SEGUNDA FORMA NORMAL
■ “Una tabla no cumple la 2FN cuando un
atributo, que no sea identificador ni parte de
identificador, depende de una parte de un
identificador”. NORMALIZADO.
parte#
cantidad
bodega#
bodega# dirección_bodega
5. FORMAS NORMALES, COOD
TERCERA FORMA NORMAL
■ “Una tabla no cumple la 3FN cuando un
atributo, que no sea identificador ni parte de
identificador, depende de otro atributo que
tampoco es identificador ni parte de
identificador”.
factura# cliente#
cliente# nombre_cli
5. FORMAS NORMALES, COOD
FORMA NORMAL DE BOYCE-COOD
■ Simplemente. “Una tabla está en FNBC si todo
determinante es un identificador”.
nombre_cliente
nombre_banquero
nombre_sucursal
nombre_cliente nombre_banquero
nombre_banquero nombre_sucursal
5. FORMAS NORMALES, COOD
CUARTA FORMA NORMAL
■ La 4FN y 5FN tienen que ver con hechos
”multivalorados” , por ejemplo el empleado que
tiene muchos dependientes, o el empleado
que tiene muchas habilidades.
empleado# dependiente
empleado# habilidad
5. FORMAS NORMALES, COOD
CUARTA FORMA NORMAL
■ Una tabla está en 4FN si cumple:
➦ No tiene dos o más hechos multivalorados
independientes
➦ Está en FNBC.
auto
empleado#
dirección
5. FORMAS NORMALES, COOD
CUARTA FORMA NORMAL
■ Una tabla está en 4FN si cumple:
➦ No tiene dos o más hechos multivalorados
independientes
➦ Está en FNBC. NORMALIZADO
empleado# auto
empleado# dirección
5. FORMAS NORMALES, COOD
QUINTA FORMA NORMAL
■ La 5FN tiene que ver con hechos
multivalorados dependientes como:
p#
s#
j#
■ Este tipo de tablas solo es posible
descomponer en otras más pequeñas, si
hacemos que las tuplas cumplan la condición:
si (sx,px,j1)∈spj y (sx,p1,jx)∈spj y (s1,px,jx)∈
spj entonces (s1,p1,j1)∈spj
5. FORMAS NORMALES, COOD
QUINTA FORMA NORMAL
■ Si la tabla cumple la condición indicada:
si (sx,px,j1)∈spj y (sx,p1,jx)∈spj y (s1,px,jx)∈
spj entonces (s1,p1,j1)∈spj, entonces se
puede normalizar separando en tres tablas:
s# p# p# j#
s# j#
5. FORMAS NORMALES, COOD
QUINTA FORMA NORMAL
■ Dependencia de junta.- Una relación r
satisface una dependencia de junta:
DJ*(x1, x2,....,xn), si es igual a la junta o
producto natural de sus proyecciones sobre
x1, x2,....,xn. Donde x1, x2,....,xn son
subconjuntos del esquema de r.
■ Una relación está en 5FN si tiene una
dependencia de junta DJ*(x1, x2,....,xn), y
cada una de las proyecciones de r sobre
x1,x2,..,xn, tiene como identificador un
identificador de r.
UNIDAD 9. BASES DE DATOS
ORIENTADAS A OBJETOS
■ Nuevas aplicaciones de las bases de datos
■ El modelo orientado a objetos
■ Lenguajes orientados a objetos
■ Lenguajes de programación persistentes
■ Sistemas C++ persistentes
UNIDAD 10. BD RELACIONALES
ORIENTADAS A OBJETOS
■ Relaciones anidadas
■ Los tipos complejos y la programación
orientada a objetos
■ Consultas con tipos complejos
■ Creación de valores y de objetos complejos
■ Comparación entre las bases de datos
orientadas a objetos y las bases de datos
relacionales orientadas a objetos
CONCLUSIÓN
PARTE II
ANÁLISIS Y DISEÑO
ESTRUCTURADO
Objetivos
❧ Análisis estructurado
● Deriva en un modelo estructurado de
requerimientos
❧ Diseño estructurado
● Desarrollo de un sistema computarizado,
❧ Dificultades en la identificación de
requerimientos
❧ El concepto de esencia del sistema
❧ Dificultades en la construcción de un
modelo
❧ Componentes del modelo esencial
14. EL MODELO AMBIENTAL
Monedas y
selección Soda en lata y cambio
Caso de estudio
● Automatizar el sistema de control de inventario
para un almacén de salida de grandes cajas
(muebles, herramientas, abarrotes, etc.).
● Use el AE y el DE para modelar la situación
actual y determinar como puede ser
automatizado el sistema.
Ejercicio
Situation actual
● Cada dia, Ramona introduce los recibos de
ventas, en una hoja Excel que Renato generó.
● La hoja electrónica marca los ítems que deben
ser reordenados.
● Ramona escribe las órdenes de compra para
cada ítem que fue marcado.
● Cuando el ítem llega, Ramona introduce este en
la hoja electrónica.
Ejercicio
❧ Proceso
● Desarrollar el diagrama de contexto y discutir
el resultado.
❧ Símbolos
Flujo
Proceso
Terminador
Almacén
DATOS
Guías para la construcción de un
DFD
❧ Como debe ser la notación de los DFDs?
● Flujo de dato: nombre-frase que describa el dato.
● Terminator: nombre o frase que describa el sistema,
agente, dispositivo, u otro, al que el dato entra, y donde el
dato existe en el sistema.
● Almacén de datos: nombre-frase del archivo, base de
datos o repositorio donde el sistema guarda el dato.
● Proceso: verbo-frase que describe la operación hecha
sobre el dato: puede contener el nombre de un sistema u
operación que manipula el dato.
DATOS
Guías para la construcción de un
DFD
❧ Donde comenzar?
● Diagrama de contexto
● Nivel cero del DFD
Monedas y
selección Soda en lata y cambio
Monedas Cambio
Monedas Cambio coloca
Cambio cuenta Momedas
Deposito saca
Soda lata Monedas
Selección
Congelador
Soda lata Sodas lata Sodas lata
despacha carga
7. DIAGRAMA DE FLUJO DE
DATOS
DFDs con niveles
❧Terminador Vs. Almacén:
Un terminador (fuente de datos o basurero)
está fuera de la frontera del sistema en
análisis; un almacén de datos está dentro
y bajo el control del sistema objeto de
análisis.
Terminador Almacén
7. DIAGRAMA DE FLUJO DE
DATOS
DFDs con niveles
Y
X F
a f2 c f6
f h
X f1 f4 e Y
b d
f5 g f7
f3
c c1 f42
f41 c2 e
d d1 d2 f43
f44 f45
7. DIAGRAMA DE FLUJO DE
DATOS
DFDs con niveles
❧Balanceo :
● Los “datos de entrada” del nivel hijo,
deben ser idénticos a los “datos de
entrada” del nivel padre.
● Los “datos de salida” del nivel hijo,
deben ser idénticos a los “datos de
salida” del nivel padre.
7. DIAGRAMA DE FLUJO DE
DATOS
DFDs con niveles
❧ Consideraciones prácticas:
● Cada símbolo debe ser etiquetado.
● No hay procesos sin flujos de datos de
entrada.
● No hay procesos sin flujos de datos de
salida.
● Los datos no fluyen diréctamente entre
datos fuente, basureros o almacenes.
● Los niveles deberían ser balanceados.
7. DIAGRAMA DE FLUJO DE
DATOS
DFDs con niveles
❧ Sumario de DFD:
● Se centra en aspectos funcionales
del sistema:
• Qué funciones debe ejecutar el sistema?
• Cuales son las interacciones entre estas
funciones?
● Representar el DFD en niveles es
una técnica “Top down”.
8. DICCIONARIO DE DATOS
❧ Necesidad de una notación
❧ Notación: definiciones, datos elementales,
datos opcionales, iteracción-selección-alias
❧ Como mostrar el diccionario de datos al
usuario
❧ Implementación del Diccionario de Datos
8. DICCIONARIO DE DATOS
❧ Es un repositorio de descripciones
detalladas referentes a varias construcciones
que aparecen el cada DFD.
❧ No hay un formato formal, pero cada
construcción debería tener una entrada en el
Diccionario de Datos.
❧ Muchas de las herramientas CASE proveen
el Diccionario de Datos en forma
automática.
8. DICCIONARIO DE DATOS
❧ Describir por cada entrada:
● Tipo(Flujo de datos, Almacén de datos,Terminador,
Proceso)
● Nombre
● Alias
● Descripción
● Contenido
8. DICCIONARIO DE DATOS
❧ Un ejemplo:
● Tipo: Flujo de dato
● Nombre:Cambio
● Alias:
● Description:
Fdesde el proceso “coloca” hasta el almacén
de datos “depósito” …...
● Contenido: …….
9. ESPECIFICACIÓN DE
PROCESOS
❧ Lenguaje estructurado
❧ Pre/post condiciones
❧ Tablas de decisión
❧ Gráficos y diagramas
❧ Diagramas de flujo
❧ Diagramas Nassi-Shneiderman
9. ESPECIFICACIÓN DE
PROCESOS
❧ Son las especificaciones de los procesos
primitivos, o mini-especificaciones.
● Los pasos esenciales de tipo procedural, para
lograr la acción necesaria de un proceso
primitivo.
● Tipos de acción: secuencial, paralela, decisión e
iteracción.
● Español estructurado, árbol o tabla de
decisiones, o seudocódigo…
9. ESPECIFICACIÓN DE
PROCESOS
Monedas Cambio
Monedas Cambio coloca
Cambio cuenta Momedas
Deposito saca
Soda lata Monedas
Selección
Congelador
Soda lata Sodas lata Sodas lata
despacha carga
❧ Qué es?
● Una herramienta para modelamiento de datos.
● Por P. Chen’s modelo ER (1976).
● El modelo ER ha sido usado ampliamente en el
diseño de bases de datos.
❧ Porqué el diagrama ER?
10. DIAGRAMAS ENTIDAD
RELACIÓN
❧ Entidad
● Una entidad en ER representa un objeto del
mundo real
Entity Name
10. DIAGRAMAS ENTIDAD
RELACIÓN
❧ Relación
● Una relación define como se relacionan las
entidades, es representada por un rombo.
❧ Notación y componentes
❧ Diagramas particionados
❧ Construcción de diagramas de transición de
estado
❧ Relación con otras herramientas de
modelación
11. DIAGRAMA TRANSICIÓN DE
ESTADO
❧ Qué son?
● Herramientas para definir el comportamiento
del modelo
● Un estado es:
“Un set de circunstancias o atributos que
caracterizan a una persona o cosa en un momento o
tiempo dado; camino o forma en que existe;
condición.”
❧ Aplicación
● Sistemas que dependen del tiempo
11. DIAGRAMA TRANSICIÓN DE
ESTADO
Notación y componentes
Estado o Estado
❧ Símbolos
condición
acción
Transición de estado
– Estados
■ corresponde a estados observables del sistema
■ estados inicial y final
– Condiciones y acciones
– Diagramas particionados
ESTADO
Construcción diagramas transición de
estado
Espera
Selección hecha
selección
ESTADO
Construcción diagramas transición de
estado
❧ Pros
● provee alto detalle para la implementación
● provee buena documentación para aspectos
dependientes del tiempo en el sistema
❧ Contras
● mucho esfuerzo de diseño requerido
● asume que los estados de transición son
instantaneos
● puede resultar muy complejo
11. RELACIÓN ENTRE DISTINTAS
HERRAMIENTAS
❧ Balance del DFD contra el DD
❧ Balance del DFD y las especificaciones de proceso
❧ Balance de las especificaciones de proceso contra
el DFD y el DD
❧ Balance del DD contra el DFD y las
especificaciones de proceso
❧ Balance del DER contra el DFD y las
especificaciones de proceso
❧ Balance del DFD contra el diagrama de estado de
transición
UNIDAD 4. ETAPAS
POSTERIORES AL ANÁLISIS
17. EL DISEÑO DE SISTEMAS
❧ Asignación de procesadores
❧ Asignación de tareas
❧ Implementación de tareas por programas
❧ Diagramas de estructura
❧ Cohesión
❧ Acoplamiento
❧ Diseño basado en la transformación central
❧ Diseño basado en las transacciones
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
❧ Símbolos de módulo
Módulo
Módulo
Predefinido
Llamada a módulo
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
❧ Símbolos de comunicación
● Dato de acople
nombre
• procesado
emisor receptor
• externamente relevante
● Bandera nombre
• seteado y probado
emisor receptor
• internamente relevante
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
❧ Modulos
● nombrado por un verbo sentencia, describe un
procesamiento
❧ Dato
● nombrado con un nombre.
❧ Bandera descriptiva
● nombrada por un adjetivo, descripción de estado
❧ Bandera de control
● nombrada por un verbo.
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
Vende
soda
Suficientes en lata Producto
nonedas seleccionado
Producto moneda
seleccionado
Obtener Lee
Obtiene Entrega
suficientes producto
cambio producto
fondos seleccionado
monedas Monedas >= selección
monedas cant. necesitada
Verifica
Recibir Lee
suficiente
monedas selección
fondo
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
❧ Módulos
● necesitan funciones bien definidas e interfaces
● Deberían ser relativamente pequeños (10-100 LOC)
❧ Banderas
● reducir banderas de control (indican pobre partición)
❧ Relación con otras herramientas
● muy relacionados con DFDs
● DFD a diagramas de estructura por transformación
del análisis
17. EL DISEÑO DE SISTEMAS
Diagrama de estructura
❧ Pros
● vista gráfica de alto nivel
● se concentra sobre los aspectos “caja-negra” de
los módulos
● Permite subjetividad
❧ Contras
● puede ser difícil crearlo
● puede volverse muy subjetivo
Ejercicio: Diagrama de estructura
❧ Diagrama de estructura
● Tomado de Page-Jones:
“The Practical Guide to Structured System Design”
● Objetivo: crear un jerárquico y bien balanceado
sistema
• módulos top trabajan con datos limpios y refinados
• módulos bottom trabajan con datos crudos y no
editados
Ejercicio: Diagrama de estructura
❧ Identificar transacciones en DFD
❧ Para cada transacción, identificar la “transformación
central”
● inspección o,
● aislar flujo de datos esencial o,
● seguir criterio “mundo ideal”
❧ Producir primer diagrama de estructura
● identificar o crear un módulo “jefe”
● convertir datos e ítems de control en datos acoplados y flags
● Partir las burbujas del DFD en una jerarquía de módulos
funcionales, llamados desde el módulo “jefe”
Ejercicio: Diagrama de estructura.
Identificar la transformación central
❧ Inspección
● Visualmente inspeccionar el DFD e identificar lo que
“parece” la transformación central
❧ Aislar flujos de datos esenciales
● Marcar el punto entre flujos de datos aferentes
(input) y eferentes (output), donde los datos han sido
refinados pero no transformados, las burbujas que
están dentro son la transformación central
❧ “Mundo ideal”
● Remover algunas burbujas mediante manejo central
de errores y formateo de datos, dejar las burbujas que
Ejercicio: Diagrama de estructura.
Ejemplo
Monedas y
selección Soda en lata y cambio
Monedas Cambio
Monedas Cambio coloca
Cambio cuenta Momedas
Deposito saca
Soda lata Monedas
Selección
Congelador
Soda lata Sodas lata Sodas lata
despacha carga
Ejercicio: Diagrama de estructura.
Ejemplo
Vende
soda
Suficientes en lata Producto
nonedas seleccionado
Producto moneda
seleccionado
Obtener Lee
Obtiene Entrega
suficientes producto
cambio producto
fondos seleccionado
monedas Monedas >= selección
monedas cant. necesitada
Verifica
Recibir Lee
suficiente
monedas selección
fondo
17. EL DISEÑO DE SISTEMAS
Cohesión