1. UNIVERSIDAD DE LOS LLANOS
INGENIERIA DE SOFTWARE
Usted posee la siguiente especificación proporcionada por un cliente que ha contratado con su empresa
el desarrollo de una aplicación para la compra y venta de vehículos usados.
La aplicación debe manejar la información de las casas matrices, vehículos, tipos de vehículos,
solicitudes de compras y ventas, compras, ventas y clientes, bajo las siguientes condiciones:
• Las categorías de vehículos son genéricas y definidas por el dueño del concesionario. Existen
categorías y subcategorías.
• Un vehículo no puede ser a la vez de dos categorías.
• Se debe llevar el registro de los vehículos que se venden / compran. La venta o compra es el
resultado de una solicitud de compra / venta que se concreta.
• Una solicitud de compra / venta tiene una vigencia de 3 días. Pasado este tiempo si la compra
no se concreta el vehículo vuelve a quedar disponible para compra. Se debe registrar la razón
por la cual no se concretó la compra (tomada de un grupo de razones definida por el
concesionario).
• Un vehículo que se compra, queda disponible para la venta por un valor que define el
concesionario y que siempre sera superior al valor por el que se compro.
• Se debe tener en cuenta que un vehículo puede volver al concesionario como una nueva
compra.
1. Establezca un listado de requerimientos funcionales y no funcionales
2. Diseñe los diagramas de casos de uso
3. Elabore un diseño Entidad – Relación que pueda ser usado para construir la base de datos requerida
por la aplicación.
2. TALLER 2
Realizar las consultas SQL para obtener los siguientes datos usando el modelo del Concesionario:
1. Mostrar el listado de vehículos existentes en la BD con su respectiva casa matriz
2. Mostrar los vehículos que han comprado los clientes cuyo nombre empieza por J
3. Mostrar los vehículos que se han vendido en el ultimo año.
4. Mostrar las placas de los vehículos y las categorías a las que pertenecen
5. Mostrar las categorías que NO tienen subcategorias
6. Mostrar las categorías que son Padre de otras categorías
7. Mostrar las razones y la cantidad de vehículos que se han dejado de comprar por dichas
razones.
8. Mostrar las categorías y la cantidad de vehículos que se han comprado de cada categoría
9. Mostrar el listado de vehículos que tienen solicitud de compra y que hoy cumplen los 3 días sin
que se concrete la compra.
10. Mostrar la cantidad de vehículos que hay de cada casa matriz.
11. Mostrar el total de presupuesto que se ha gastado el concesionario en compra de vehículos
12. Mostrar el total de la utilidad recibida por vehículos que se han comprado y posteriormente se
han vendido.
13. Mostrar el historial de transacciones (compras, ventas, solicitudes) de un vehículo con placas
XYZ089
14. Mostrar la marca con la cantidad de vehículos que se han vendido ordenando desde la que mas
se vende a la que menos se vende.
15. Calcular la diferencia total entre lo que se ha recibido por compras menos lo que se ha gastado
en ventas agrupado por categorías de vehículos
3. TALLER 3 : FUNCIONES Y PROCEDIMIENTOS
1. Crear un procedimiento que reciba como parámetro la categoría de un vehículo y un porcentaje,
el procedimiento debe actualizar todos los valores de los vehículos que están en proceso de
venta que corresponden a la categoría definida, incrementando el valor en el porcentaje dado.
2. Crear un procedimiento que retire de la base de datos los clientes que no han realizado
transacciones con el concesionario desde hace mas de 3 años y guarde la información en unas
tablas de respaldo (históricas).
3. Crear una función que dado un vehículo devuelva la utilidad que le ha dejado al concesionario.
4. Crear una función PLSQL que calcule el valor estimado de venta de un vehículo dada su placa,
este valor se calcula con el promedio de los valores de venta de vehículos de la misma categoría
y la misma casa matriz.
5. Cree un package llamado TRANSACCIONES que contenga al menos 1 función y 1
procedimiento relacionados con las compras y/o las ventas.
4. TALLER 4 : DISPARADORES
1. Crear un disparador que grabe en una tabla de auditoría cuando se cambie el valor de una
transacción, registrando el dato anterior, el dato nuevo, el usuario que hace el cambio y la fecha
del mismo
2. Crear un disparador que evite que se registre el precio de un vehículo para la venta que sea
inferior al precio en el que se compro mas el 10%
3. Crear un disparador que evite que se concrete una transacción si han pasado mas de tres días
desde que se realizo la solicitud.
4. Crear un disparador que evite que una categoría se cree a mas de 3 niveles.
5. Crear un disparador que registre en una tabla “operaciones” cada vez que se realice una venta el
valor con el que se compro el vehículo y en el que se vendió.
5. TALLER 5 : APLICACIONES JAVA
Dentro de un mismo proyecto desarrolle los siguientes programas:
1. Un programa de consola que importe los datos de un archivos CSV a la tabla clientes,
verificando que el dato no se encuentre ya registrado en la base de datos.
2. Una ventana en donde se puedan consultar las solicitudes / compras / ventas de un cliente
indicando su numero de documento.
3. Una ventana de consulta en donde se pueda seleccionando una categoría, ver que vehículos se
encuentran en venta.
4. Una ventana de consulta en donde indicando la placa del vehiculo se muestren los datos del
mismo y la utilidad que le ha dejado al concesionario.
5. Una ventana CRUD que permita agregar, consultar, actualizar y borrar clientes.
6. Una ventana CRUD que permita agregar, consultar, actualizar y borrar categorías.