2. Diagramas Entidad - Relación (DER) y Diagramas de Actividad

Anuncio
Ingeniería de Software I
Práctica 2 – Diagramas Entidad - Relación (DER)
y Diagramas de Actividad (DA)
1er Cuatrimestre de 2001
- 1/9 -
Abre
29/03/2001
Cierra
9/04/2001
Ingeniería de Software I
Práctica 2 – DER y DA
1er Cuatrimestre de 2001
2. Diagramas Entidad - Relación (DER) y Diagramas de Actividad (DA)
Ejercicio Resuelto
Una compañía aérea desea guardar información sobre aviones, vuelos y tripulaciones. Los miembros de la
tripulación tienen distintas especialidades: comandantes, copilotos, ingenieros de vuelo, comisarios de a bordo y
azafatas. Además de los datos generales de cada empleado (legajo, nombre, nro. de documento y fecha de
nacimiento), se desean guardar datos específicos para cada uno de ellos que dependen de su especialidad.
Cada vuelo tiene un número único, origen, destino, escalas, hora de salida y duración total estimada. Se realizan
muchos viajes para un mismo numero de vuelo. Cada viaje tiene una única fecha, tripulación asignada, avión
asignado, hora real de salida y hora real de llegada.
Existen varios modelos de avión, con una descripción, capacidad total y autonomía. Sólo algunos modelos de
avión están habilitados para cada vuelo.
Los viajes siempre cumplen con las escalas definidas para el vuelo.
Entre todos los requerimientos planteados, el usuario solicita que al final de cada viaje se imprima un informe
con la siguiente información:
Informe de viaje realizado
Nro. vuelo:
Origen:
Destino:
Fecha:
Duración real:
Avión usado:
Modelo del avión:
Tripulación
Nro. Legajo
Nombre y Apellido
Función
Escalas realizadas:
Modele la información descripta con un diagrama de entidad relación. Una vez creado el DER, haga un DA que
modele las principales actividades que ejecuta el sistema para resolver la impresión del reporte solicitado por los
usuarios.
- 2/9 -
Práctica 2 – DER y DA
Ingeniería de Software I
1er Cuatrimestre de 2001
Resolución
Diagrama de Entidad Relación
Comandante
Ingeniero de
Vuelo
Copiloto
Comisario de
a Bordo
Azafata
Empleado
participa de
Viaje
hace
Avion
corresponde a
Es de un
Habilitado
Para
Vuelo
Modelo de
Avion
Diccionario de Datos de las Entidades
Los siguientes atributos pueden ser asignados a las entidades definidas a partir del enunciado (no se incluyen los
atributos que implementan las relaciones):
Avión
Modelo de Avión
Id. Avión
Id. del Modelo
Descripción
Capacidad Total
Autonomía
Vuelo
Viaje
Nro Vuelo
Fecha del viaje
Origen
Hora real de salida
Destino
Hora real de llegada
Escalas
Hora de salida
Duración total estimada
- 3/9 -
Práctica 2 – DER y DA
Ingeniería de Software I
1er Cuatrimestre de 2001
Empleado
Nro. Legajo
Nombre
Nro documento
Fecha de nacimiento
Diagrama de Actividad
Obtener Nro. [vuelo y/o fecha erróneos]
Vuelo y Fecha
[vuelo y fecha OK]
Obtener Datos
Av ión
Obtener Datos
Vuelo
Obtener Datos
Viaje
Obtener Datos
Tripulación
Preparar
Mensaje de Error
Preparar
Inf orme
Imprimir Salida
- 4/9 -
Ingeniería de Software I
Práctica 2 – DER y DA
1er Cuatrimestre de 2001
Ejercicios para Resolver
2.1
En un restaurante trabajan cocineros, mozos y empleados de limpieza. Para todos ellos se desean guardar los
siguientes datos: nombre, documento, dirección y teléfono. El restaurante ofrece una variada cantidad de platos
y los cocineros pueden especializarse en distintos de ellos, como por ejemplo: platos franceses, italianos,
griegos, zulúes, etc. Además los platos se pueden separar en fríos o calientes. Los empleados de limpieza pueden
estar encargados de la limpieza general del restaurante o ser lavadores de cacharros. Los primeros trabajan por
horas y para los segundos es necesario guardar la cantidad de cacharros rotos para descontarlos luego de su
sueldo. Los mozos están asignados a mesas determinadas. Esta asignación cambia todos los meses. Cada mesa
puede pedir varios platos, bebidas y postres. Modele esta información con un DER.
2.2
¿Cómo distinguir qué debe ser una entidad, qué un atributo y qué una relación? ¿Puede dar criterios generales
para decidir? ¿Puede dar ejemplos donde algún elemento puede considerarse de más de una forma?
2.3
Microsoft lleva una base de datos de todos sus componentes de software y su relación con su personal técnico
(programadores) y de marketing.
Una componente puede ser tanto un módulo de software que no es un aplicación de por sí (como el módulo
encargado del swapping en Windows) o una aplicación como el Buscaminas o Word. Cada componente puede
usar o estar compuesta por un conjunto de otras componentes. La información general sobre componentes es
fecha de última revisión, última versión, estado (diseño, programación, alfa test, beta test, o producción), y , en
caso que no esté en producción, fecha esperada de pasaje a producción. Cada componente tiene un programador
responsable, que es la cabeza de un equipo de trabajo, o sea, tiene programadores a cargo, que a la vez pueden
tener programadores a cargo.
Una aplicación que se vende es un producto, y para éstos importa saber a qué precio, estimaciones de venta, y
principal responsable de marketing del producto. Tanto para programadores como para gente de marketing
interesa saber su sueldo, fecha de incorporación a Microsoft, y datos personales.
a) Haga un DER que modele la información del enunciado.
b) ¿Hay aspectos que no pudo modelar en el DER? Si es así, indique los dos que le parecen más importantes.
2.4
Hacer un diagrama de actividad que modele el siguiente enunciado: se tiene una casa de venta de muebles que
posee depósitos en distintas zonas del país. Cuando un cliente realiza un pedido, el área de ventas valida el lugar
de donde provino (cada lugar posee un depósito asociado). Una vez ubicado el depósito de donde se sacará la
mercadería, se calcula el importe que corresponde a la compra. También se emite un comprobante para enviar al
depósito de donde se extraerá la mercadería. El depósito prepara la mercadería y la envía al sector de embalajes,
que la prepara y la entrega a la empresa transportadora. Si alguno de los productos no estuviera disponible, el
depósito envía una nota al sector de ventas. Asimismo, el sector de ventas emite un remito que se envía a la
empresa transportadora y que luego recibirá el cliente junto con la mercadería. En el remito figuran los datos de
los productos enviados y los productos faltantes.
- 5/9 -
Práctica 2 – DER y DA
Ingeniería de Software I
1er Cuatrimestre de 2001
2.5
El sector de Ingeniería de Software de una empresa desea modelar el proceso de desarrollo de sistemas que
utiliza. Cada proyecto tiene un nombre único, descripción, fecha de inicio y fecha de fin, y está dividido en
tareas. Cada tarea puede generar un componente, que tiene un tipo determinado. Cada tipo de componente tiene
una identificación (DER, DA, Minuta, etc.), una identificación de la herramienta que lo soporta, descripción y
período de tiempo durante el cual se lo conserva. Cada componente es de un único tipo, y tiene como atributos
su fecha de creación, fecha de aprobación y un puntero a un archivo físico ubicado en un disco de una red.
Los distintos empleados del área de sistemas participan en los proyectos, con una determinada función (líder,
analista, programador, etc.). La participación varía según el proyecto. Alguien que es analista en un proyecto
puede ser líder en otro. Los atributos de un empleado que son de interés para este sistema son su nro. de legajo,
nombre y apellido.
Cada proyecto tiene impacto en uno o más sistemas. Los impactos pueden ser creación, modificación o
reemplazo (un proyecto puede crear un sistema, modificarlo o reemplazarlo).
Al finalizar un proyecto, el Gerente de Sistemas podrá solicitar un informe que será producido por el sistema
(aún no se sabe si será impreso o una consulta por pantalla) que tenga la siguiente información:
Informe de Proyecto
Nombre: Descripción:
Fecha Inicio:
Fecha Fin:
Detalle de Componentes generados
Tipo Componente Ubicación en la Red
Fecha Creación
Fecha Aprobación
Detalle de Empleados que Trabajaron en el proyecto
Nro. Legajo
Nombre y Apellido
Función
Hs Trabajadas
Modele esta información en un DER y haga un DA que modele las principales actividades que ejecuta el sistema
para la generación del informe descripto. Asigne a las entidades sólo los atributos que surgen del enunciado
(incluyendo el informe). Use sólo relaciones binarias pero, si es necesario, asigne atributos a las relaciones.
- 6/9 -
Práctica 2 – DER y DA
Ingeniería de Software I
1er Cuatrimestre de 2001
2.6
Un organismo debe llevar registro de los libros contables y societarios que manejan todas las sociedades del
país. Las sociedades deben acudir a este organismo a hacer el trámite de “rúbrica” de un libro, trámite en el cual,
luego de las verificaciones del caso, se pega una “etiqueta de rúbrica” en los libros. Ejemplos de libros son
“Acta de asambleas”, “Caja ingresos”, “IVA Compras”, y otros que cualquiera que sabe de contabilidad (no
nosotros) conoce.
El trámite procede de la siguiente manera:
Un representante de la sociedad se presenta en el organismo con un formulario completado donde figuran los
datos de la sociedad, la fecha, y el detalle de los libros que se quiere rubricar por medio de ese trámite con su
número. El formulario podría ser algo así:
Razón Social: Coca-Cola
Tipo de Sociedad: S.A.
Fecha: 01/03/95
Libros que rubrica:
Denominación
Nro.
IVA Ventas
4
IVA Compras
5
Actas de Directorio
2
Presentante:
Guillermo Puertas Doc: DNI 16.546.897
Domicilio:
Av de los Espárragos 521 - Yuca-yuca, Minnessotta
En Mesa de Entradas controlan que el formulario esté bien completado, le asignan un número único al trámite e
ingresan en el sistema sus datos básicos, luego de lo cual pasan el formulario al sector de Operación. En
Operación cargan los datos del trámite y pasan el formulario al sector de Verificación. En Verificación se
controla que los libros que se estén pidiendo sean coherentes para el tipo de sociedad que los pide: por ejemplo
(por decir cualquier cosa), una SRL no puede pedir un Subdiario de Egresos. También se controla que se
conserve la correlatividad en el pedido de libros controlando los anteriores trámites presentados por la sociedad:
por ejemplo, si ahora pide un Actas nro. 2, el último Actas pedido debe ser el nro. 1. Si alguno de estos controles
falla el trámite se observa y se entrega al representante una nota donde constan las razones de la observación
para que puedan subsanarse. Si todo va bien, se aprueba el trámite, actualizando el estado de rúbrica de la
sociedad, y se genera la etiqueta de rúbrica para pegar al libro, que se entrega al representante.
El organismo puede recibir consultas de la DGI, juzgados o auditores de empresas sobre los datos de rúbrica de
una sociedad.
a) Haga un DER que represente los datos involucrados.
b) Haga un DA con andariveles.
c) Tanto en (a) como en (b), ¿quedaron aspectos presentes en la descripción informal que no pudieron ser
reflejados? ¿Cuáles son? ¿Cuáles son las imprecisiones y ambigüedades?
- 7/9 -
Ingeniería de Software I
Práctica 2 – DER y DA
1er Cuatrimestre de 2001
2.7
La AFA organiza el campeonato de fútbol y lleva el control de su evolución. Hay una cantidad de equipos en
Primera A. Cada equipo tiene un plantel de jugadores.
Interesa registrar la lista de partidos; asignar árbitros, canchas y fechas a cada partido; qué jugadores de cada
plantel jugaron en cada partido; mantener la tabla de posiciones.
Se debe contar con los datos necesarios para saber quién es el puntero, y saber si el puntero ya se consagró
campeón (en virtud de su diferencia de puntos con el segundo y la cantidad de fechas que faltan según el
fixture).
a) Modelar utilizando Diagramas Entidad.
b) Incluya el siguiente requisito: el fixture debe contener dos partidos de A contra B donde cambia quién es
local. ¿Es expresable con DER?
2.8
El Congreso de la Nación Argentina, como todos sabemos, promulga las leyes. Un particular, el Poder Ejecutivo
o cualquier legislador de cualquiera de las dos cámaras, puede presentar un proyecto. Un proyecto presentado
debe iniciar su tratamiento en alguna de las dos Cámaras (Senadores o Diputados). De acuerdo al tema que trate,
un proyecto puede ser girado a una a varias comisiones de su cámara, integradas por un grupo de legisladores y
presididas por uno. (Ejemplos de comisiones son: de Relaciones Exteriores, de Defensa, de Acuerdos, etc.)
Cada comisión produce un informe del proyecto. Una vez que todas las comisiones necesarias estudiaron el
proyecto en una cámara, el proyecto puede votarse. Si se vota favorablemente, el proyecto cuenta con media
sanción, y pasa para su tratamiento a la otra cámara, donde las comisiones pueden estudiarlo con el mismo
mecanismo. Si la segunda cámara lo aprueba, el proyecto se convierte en ley del Congreso. Si cualquiera de las
dos cámaras vota desfavorablemente, el proyecto se archiva.
a) Se quiere implementar un sistema de información para el seguimiento de los proyectos de leyes. Por
ejemplo, éste debe permitir consultar el estado de aprobación de un proyecto, saber qué legisladores votaron
cada proyecto, qué comisiones analizaron un proyecto y la composición de estas comisiones.
b) Modelar la información que necesita este sistema con DER y con DA con andariveles.
2.9
Un hospital debe almacenar información de las intervenciones que realiza. El hospital está dividido en varios
servicios que tienen una identificación, denominación y ubicación. Cada servicio tiene un conjunto de camas. Cada
cama tiene un número de identificación, piso y habitación en la que se encuentra.
Los datos de los médicos que interesan para este sistema son su número de matrícula, nombre y apellido, horario y
su pertenencia a alguna especialidad. Cada especialidad (cardiología, neurología, etc.) tiene una identificación y
una descripción. Todos los médicos trabajan en algún servicio durante un período determinado. Los médicos
pueden cambiar de servicio en el tiempo.
Cada persona internada tiene un número de historia clínica, nombre y apellido, fecha de nacimiento, fecha de
último ingreso y fecha de alta. Durante su internación y según su evolución y necesidades, el hospital le asigna
camas, con su correspondiente cantidad de días por cama asignada.
Los médicos intervienen en una internación durante un determinado período y con distintas responsabilidades (a
cargo de internación, cirujano, interconsulta, etc.). A cada persona internada, si es necesario, se le suministran
medicamentos, cada uno con su correspondiente cantidad. Los medicamentos tienen identificación, denominación,
forma de presentación (comprimidos, grageas, jarabe, etc.) y el laboratorio proveedor.
- 8/9 -
Práctica 2 – DER y DA
Ingeniería de Software I
1er Cuatrimestre de 2001
El sector de administración del hospital requiere emitir un informe (que se efectuará generalmente por pantalla,
aunque puede ser impreso) con el siguiente formato:
Datos del Paciente Internado
Nro Historia Clínica: Nombre y Apellido:
Fecha Ingreso:
Fecha de Alta:
Médicos Intervinientes
Nro. de Matrícula Nombre y Apellido
……
Especialidad
Responsabilidad
Camas Asignadas
Nro. de Cama
……
Piso
Servicio
Cantidad de Días
Medicamentos Suministrados
Denominación
……
Presentación
Cantidad
Modele esta información en un DER.
2.10
Un proveedor de capacitación dicta cursos. Cada curso tiene una id., descripción y duración total. Cada curso puede
dar origen a muchas ediciones. Cada edición es dictada por instructores, y tiene una fecha de inicio y lugar de
dictado determinado. Cada instructor tiene nro. de DNI, nombre, fecha de nacimiento y al menos una especialidad.
Cada especialidad tiene su id. y descripción. Para poder dictar una edición de un curso, el instructor tiene que tener
al menos una especialidad que sea igual a un tema del curso (cada tema de un curso es considerado también como
una especialidad, y cada curso tiene una o más especialidades o temas. Ayuda: use una única entidad “Tema”).
El sistema debe registrar las asistencias e inscripciones de los alumnos a las ediciones de los cursos. Una vez
dictada una edición se registran las calificaciones obtenidas por los alumnos. De los alumnos se quieren mantener
los mismos datos que de los instructores, y además la empresa a la que pertenecen, la posición que ocupan en esa
empresa y su nro. de teléfono.
Haga un DER que modele este enunciado.
- 9/9 -
Descargar