Ejercicios de Diagramas Entidad Relación

Anuncio
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
EJERCICIOS
Diagramas de Flujo de Datos (DFD)
DFD1. Una tienda especializada en componentes electrónicos compra sus existencias a una
serie de proveedores, vendiéndolas posteriormente a sus clientes a la vez que lleva a cabo el
control de almacén adecuado para controlar sus existencias en todo momento.
La gestión de proveedores lleva unida la gestión de los datos administrativos de éstos más la
información de los componentes que cada proveedor sirve. La gestión de proveedores, además
del típico mantenimiento de los datos relacionados, se encarga de generar los listados de las
piezas servidas por un determinado proveedor, o los proveedores que sirven una determinada
pieza.
Cuando un cliente solicita un determinado componente, se comprueba que hay existencias y se
le informa de su precio. Si el cliente adquiere el producto, se actualizará el almacén y se le
emitirá una factura. Si no hay existencias del componente, pero el cliente está interesado se
procederá a almacenar la petición con objeto de realizar el correspondiente pedido al
proveedor.
El control de almacén se encarga de tener actualizado el almacén de existencias, dando de alta
los componentes que llegan, eliminando componentes defectuosos, y realizando los listados de
componentes disponibles en el almacén y de los componentes pendientes de ser pedidos a un
proveedor.
Realizar un DFD que represente funcionalmente los requisitos expresados, teniendo en cuenta
las siguientes restricciones:
· No descomponer más de tres niveles
· No tener en cuenta el control de errores
· Las funciones pueden realizarse en cualquier momento independientemente de las demás
funciones
· Debe utilizarse un almacén PROVEEDORES que recoge la información de los proveedores y
de las piezas que sirven
Realizar el DD del DFD anterior.
Indicar si la característica principal del DFD anterior es de transformación o de transacción,
justificado la respuesta.
Realizar el diagrama de estructuras correspondiente al nivel de sistema del DFD anterior.
DFD2. Dado el siguiente DFD señalar todos los defectos, razonando cada uno de los errores
encontrados.
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
DFD3. Realizar la descomposición mediante DFD del siguiente caso:
Se trata de gestionar los préstamos de libros de una biblioteca en la que se va a estudiar
exclusivamente el funcionamiento de las peticiones y devoluciones de libros.
PETICIÓN DE LIBROS
Un usuario puede realizar una petición de uno o más libros a la biblioteca. Para ello, es
necesario presentar el carné de usuario de la biblioteca y una ficha en la que se detallan los
libros pedidos. Puede haber varios tipos de préstamo (préstamo de sala, colaborador, proyecto
fin carrera, doctorado) en función de los cuales el usuario puede disponer de los ejemplares
durante un período de tiempo específico, como se indica en la siguiente tabla:
SALA
COLABORADOR
PROYECTO FIN CARRERA
DOCTORADO
El día de la petición.
Una semana.
Quince días.
Un mes.
Una vez entregados el carné y la ficha, el sistema comprobará y aceptará la petición de los
libros solicitados siempre que pueda satisfacer la petición, es decir, cuado 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.
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 carné, 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
200 pts 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.
El bibliotecario se encarga de las altas y bajas de los libros de la biblioteca.
(Acompañar los DFD con un DD)
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
Diagramas Entidad Relación (ERD)
ERD1. Sea una empresa dedicada al alquiler de CD-ROMs de audio. Dicha empresa tiene un
local de atención al público donde están expuestas las carátulas de los CDs más demandados y
las últimas novedades, aunque también existen listados en papel de todos los títulos que se
podrían alquilar. Cuando un cliente solicita en alquiler un título, se comprueba si hay ejemplares
disponibles y si el cliente no tiene problemas por ejemplares no devueltos, quedando constancia
de la fecha de alquiler y la fecha máxima de entrega; de forma que cuando el cliente devuelva el
ejemplar se podrá comprobar si se le tiene que imponer una sanción. Cada cliente puede
solicitar una relación de los CDs que ha alquilado previamente.
Cada ejemplar de cada título debe quedar plenamente identificado (incluyendo la información
necesaria para su rápida localización física). Se pide realizar la parte del ERD que recoge la
información de los CDs, así como el modelo relacional normalizado en 3FN.
SANCION
CLIENTE
ALQUILER
nro sancion
codigo cliente
nro alquiler
codigo cliente (FK)
nro alquiler (FK)
tipo sancion
nro dias sancion
direccion cliente
telefono
nombre cliente
email
nro DNI
fecha nacimiento
fecha inscripcion
tema interes
estado
codigo cliente (FK)
fecha alquiler
valor alquiler
TITULO
codigo titulo
denominacion titulo
año
tema
productora
director
idioma
calificacion
estado titulo
CD
codigo titulo (FK)
nro CD
condicion
ubicacion
estado
DETALLE ALQUILER
nro alquiler (FK)
item
codigo titulo (FK)
nro CD (FK)
dias prestamo
fecha devolucion
ERD2. Realizar el modelo conceptual de datos correspondiente al supuesto DFD3 mediante un
modelo ER. Realizar el correspondiente modelo lógico relacional.
ERD3. Realizar el ERD correspondiente al siguiente supuesto: Se tienen CLIENTES de los que
se guarda un número de cliente, nombre, apellidos, lista de teléfonos, fax y correo electrónico.
Los clientes realizan PEDIDOS. (Un pedido no puede ser realizado por dos clientes
simultáneamente). Cada pedido tiene un número de pedido, una fecha asociada y una persona
de contacto. Cada pedido aglutina varias LÍNEAS DE DETALLE, cada una con una cantidad y
una referencia a un artículo. Los ARTÍCULOS tienen un descriptor, un identificador de familia y
un identificador de modelo. Varias líneas de detalle correspondientes a uno o varios pedidos
(bien en su totalidad, bien en parte) constituyen un ALBARÁN. Los albaranes contienen una
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
fecha de entrega, una dirección de entrega y el nombre y apellido del receptor. Varias líneas de
detalle correspondientes a uno o varios albaranes (bien en su totalidad, bien en parte)
constituyen una FACTURA, la cual contiene un número de factura, una fecha de cobro y un
modo de pago.
ERD4. Construir el ERD correspondiente al siguiente enunciado: Un centro de instalaciones
deportivas quiere hacer una aplicación de reservas. En el centro existen instalaciones
deportivas (piscinas, gimnasios, frontones, etc.). El centro en cuestión tiene socios, de los
cuales se almacenan su dirección, ciudad, provincia, teléfono, nombre y estado. Existen una
serie de artículos que se pueden alquilar junto con las reservas (balones, redes, raquetas, etc.).
Cada instalación es reservada por un socio en una fecha dada desde una hora de inicio hasta
una hora de fin siempre y cuando este al día en sus cuotas. Cada reserva puede tener asociada
uno o varios artículos deportivos que se alquilan a parte. Por ejemplo si yo quiero hacer una
reserva para jugar a voleibol tengo que reservar una instalación polideportivo más un artículo
red, más un artículo balón.
Realiza el modelo lógico relacional subyacente a este enunciado.
SOCIO
codigo socio
nombre
direccion
telefono
deporte preferido
estado socio
CUOTA
RESERVA
nro reserva
codigo socio (FK)
fecha reserva
RESERVA INSTALACION
codigo socio (FK)
nro cuota
nro reserva (FK)
codigo instalacion (FK)
nro secuencial reserva
estado cuota
monto cuota
fecha pago
hora inicio
total horas
hora fin
RESERVA INSTALACION ARTICULO
nro reserva (FK)
codigo instalacion (FK)
nro secuencial reserva (FK)
nro secunecial articulo
codigo articulo (FK)
cantidad
ARTICULO
INSTALACION
codigo instalacion
denominacion
estado
codigo articulo
denominacion
marca
estado
ERD5. Construir el ERD correspondiente al siguiente enunciado:
· Un veterinario tiene como pacientes animales y como clientes familias.
· Un cliente es un conjunto de personas que suele corresponderse con una familia.
. Cada cliente tiene un código, el primer apellido del cabeza de familia, un número de cuenta
bancaria, una dirección, un teléfono y los nombres y NIF de las personas correspondientes.
No existe límite en el número de personas asociadas a una entidad cliente. Además, una
persona puede estar dada de alta en varios clientes (por ejemplo, un hombre que vive con su
esposa tiene un gato y como tal pertenece a un cliente, pero también esta dado de alta en el
cliente asociado con el perro de sus padres).
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
· Los clientes pueden tener varias mascotas, cada mascota tiene un código, un alias, una
especie, una raza, color de pelo, fecha de nacimiento aproximada, peso medio del animal en
las últimas 10 visitas y el peso actual del animal. Asimismo se guardará un historial médico
con cada enfermedad que tuvo y la fecha en la que enfermó.
· Adicionalmente cada mascota tiene un calendario de vacunación, en el que se registrará la
fecha de cada vacuna, la enfermedad de la que se vacuna.
ERD6. Construir el ERD correspondiente al siguiente enunciado:
Una empresa avícola desea llevar el control de la alimentación diaria de las aves en cada una
de las etapas básicas de crecimiento (bebe, joven y consumo). Cada ración de alimento tiene
una composición en base a tres elementos, la cual es diferente en cada una de las etapas.
Cada etapa tiene definido un periodo de tiempo. Todo empieza con la fecha de nacimiento del
ave bebe y finaliza con la fecha de venta del ave de consumo. Las aves se identifican desde su
nacimiento y en base al número de lote de incubación. Cada lote posee un tamaño de población
y una fecha de entrega para el inicio de crianza. El control de alimentación de cada población
de un lote de crianza a lo largo de cada etapa incluye la cantidad total de la ración de alimento
que se coloca, la población de aves al inicio del día y el control de la merma en base al número
de aves que mueren el día anterior.
LOTE INCUBACION
nro lote
tamaño poblacion
fecha incubacion
fecha entrega
estado
ALIMENTACION
ETAPA
nro etapa
denominacion
periodo promedio
ETAPA LOTE
nro lote (FK)
nro etapa (FK)
fecha inicio etapa
fecha fin etapa
RACION
nro racion
nro etapa (FK)
porcentaje A
porcentaje B
porcentaje C
nro lote (FK)
nro etapa (FK)
nro secuencial
volumen racion
fecha
poblacion
nro racion (FK)
merma
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
Ejercicios de Diagramas de Transición de Estados (DTE)
DTE1. Realizar el diagrama de transición de estados para el juego del ajedrez.
DTE2. Realizar el diagrama de transición de estados de un ascensor.
Mientras este en servicio, un ascensor puede ser llamado por cualquier usuario presionando el
botón de requerimiento de ascensor, para subir o bajar a un piso determinado; al presionar el
botón se enciende la luz de llamado. Una vez que el ascensor se detiene en el piso de llamado,
apaga el botón de requerimiento de subida o bajada, abre sus puertas, ingresan los usuarios, y
estos pueden señalar los pisos de destino presionando los botones de piso. Después de 30 sg
la puerta del ascensor se cierra e inicia su movimiento en una dirección hacia el piso mas
alejado que haya sido señalado. Mientras el ascensor esta en movimiento, también se pueden
presionar otros botones de piso, con la finalidad de direccionar el movimiento del ascensor.
Cuando se presiona un botón de traslado a piso, se enciende la luz de dirección que señala el
piso donde el ascensor se detendrá. Cuando el ascensor se detiene como resultado de un
requerimiento de ascensor o botón de piso, apaga los botones de piso y abre sus puertas para
la salida de los usuarios.
El ascensor atiende todos los requerimientos de traslado a piso en base a un movimiento en
dirección hacia el piso más lejano parando en los pisos Intermedios que han sido solicitados o
señalados. En caso de arribar al piso mas alejado de un requerimiento y al no existir algún otro,
el ascensor se mueve hacia el primer piso donde se detiene a la espera de un nuevo
requerimiento.
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
Fuera de Servicio
Activar
servicio
Desactivar
servicio
En Servicio
Iniciar
servicio
En 1er piso
Con llamado o
uso de servicio
Sin llamado o
uso de servicio
Iniciar
servicio
Fin
servicio
Llamado o
Uso servicio
En uso
Movimiento
Detenido
DTE3. Sea un modelo muy sencillo de horno microondas cuyo modelo de funcionamiento es el
siguiente: en primer lugar se selecciona el nivel de potencia, soportando dos modos “potencia
total”, que operaría a 240º C, y “media potencia” que operaría a 120º C. Mientras que no se
introduzca el tiempo, se puede pasar de un modo a otro. Después se establece el tiempo, el
cual es introducido a través de los botones, registrando la cantidad de minutos. Una vez que se
han introducido los dos parámetros, potencia y tiempo, el horno está listo y sólo hay que pulsar
el botón “Inicio” para comenzar a operar, si se pulsara “Cancelar”, se volvería al estado inicial
de espera. Al finalizar el tiempo registrado, el horno se pone a pitar durante 10s, trascurridos los
mismos pasa a un estado de espera. Si durante la programación se pulsa la tecla “Cancelar” se
vuelve al estado inicial de espera. Si durante la programación, antes de haber introducido el
tiempo, se abre la puerta se enciende la luz, pero se perdería la programación, por lo que al
cerrar la puerta se estaría de nuevo en el estado inicial de espera. Si durante la operación se
abre la puerta, ésta queda temporalmente suspendida, se pasa a un modo de espera con la luz
encendida, pero al cerrarla puerta se debe pulsar el botón “Inicio” para continuar. Se pide
realizar un DTE que modele este dispositivo.
ANÁLISIS Y DISEÑO DE SISTEMAS (PA 763)
Ejercicios de Diagramas de Clase UML
DC1. Modelar la situación expuesta en el problema ERD1 con un diagrama de clases de UML.
DC2. Una agencia matrimonial que se dedica a emparejar personas de diferente sexo, quiere
informatizar su gestión de manera que se tiene una base de datos de personas que quieren
encontrar pareja, con sus datos personales y sus preferencias. Se lleva un histórico con las
citas concertadas entre los clientes, con control de fecha, lugar y un histórico de los matrimonios
resultados de los emparejamientos realizados. Realizar un diagrama de clases que represente
los objetos del dominio del problema y sus relaciones.
DC3. Una Universidad está compuesta por Departamentos, cada uno de los cuales se
encuentra organizado en Áreas de Conocimiento. Cada profesor está asignado a un Área de
Conocimiento y puede impartir varias asignaturas asignadas al Departamento. Cada asignatura
debe tener un profesor responsable de la misma. Cada Departamento tiene un Director, que
debe ser un profesor de dicho Departamento. Los alumnos miembros de la Universidad asisten
a las clases de las asignaturas en las que están matriculados (no reflejar históricos de
asignaturas), pero para que una asignatura se imparta debe haber al menos diez alumnos
matriculados en ella. Se pide realizar un diagrama de clases de UML que refleje esta situación.
DC4. Modela mediante una relación ternaria en un diagrama de clases de UML la siguiente
situación: Un alumno asiste cursos. Los cursos están impartidos por un único profesor. El
alumno no puede repetir el mismo curso, pero puede asistir a más de un curso. El profesor
puede impartir diferentes cursos y repetir un mismo curso en varias ocasiones. Para que un
curso se imparta debe haber un mínimo de 10 alumnos y un máximo de 50. Como registro del
curso se guarda la fecha de comienzo, la fecha de finalización y la nota del alumno.
DC5. Modelar en un diagrama de clases la relación entre las empresas y sus trabajadores,
teniendo en cuenta el puesto o cargo que ejercen en las empresas y las relaciones jerárquicas
que se dan entre estos cargos (por simplificar, un cargo puede tener 0, 1 ó 2 superiores
directos).
DC6. En GUI un panel puede soportar una lista de elementos de diferentes tipos: iconos,
botones, desplegables y contenedores que a su vez pueden contener los elementos anteriores
más otros contenedores. Modelar esta situación mediante un diagrama de clases de UML.
DC7. Modelar mediante un diagrama de clases de UML el modelo conceptual de datos
correspondiente al caso presentado en el ejercicio ERD4.
DC8. Modelar mediante un diagrama de clases de UML el modelo conceptual de datos
correspondiente al caso presentado en el ejercicio ERD5.
DC9. Realizar un diagrama de clases de UML que modele la siguiente situación: Un cliente
puede realizar varios pedidos en un período de tiempo. Cada pedido está formado por varias
líneas de pedido, cada una de las cuales se refiere a un solo producto. Se diferencian dos tipos
de clientes, el cliente personal y el cliente corporativo. La diferencia entre los dos tipos de
clientes es que el cliente personal pagará mediante una tarjeta de crédito, mientras el cliente
corporativo tiene un contrato con la empresa y un límite de crédito. Además, los vendedores de
la empresa se encargan de atender las peticiones de los clientes corporativos, de forma que
cada vendedor se hace cargo de una cartera de clientes corporativos, y a cada cliente
corporativo sólo le atiende un vendedor.
DC10. Modelar la relación que existe entre una entrada de teatro y la obra que se representa.
Hacerlo de diferentes maneras y discutir los diferentes puntos de vista que introduce cada
opción.
Descargar