Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Figura 1. Modelo de dominio del sistema de control de inventario y ventas de Hamburguesas
Chirripó
2
Figura 2. Modelo de entidad-relación del sistema de control de inventario y ventas de
Hamburguesas Chirripó
3
1a) Creación del repositorio del examen
➢ Asegúrese de haber iniciado sesión en Github
➢ Diríjase al enlace https://classroom.github.com/a/_YUixE27
➢ Observará que se le solicita aceptar una asignación. Ver Figura 3
➢ Al aceptar la invitación se le mostrará una pantalla en la que se le indica “You’re
ready to go!”. Copie la URL que se le despliega de la asignación. Ver Figura 4.
4
Figura 4. Pantalla de la URL personal del examen
1b) (3 ptos) En su repositorio local cree una rama nueva. Nómbrela examen2-carné1-
carné2-branch. Proceda a ubicarse en esta rama y a efectuar lo que se le solicita a
continuación
1c) Utilizando Laravel(PHP), implemente las siguientes clases de la Figura 1. Defina cada
clase(Modelo), sus migraciones y relaciones entre si.
Clase
5
Cliente (2 ptos)
Venta (3 ptos)
ItemVenta (2 ptos)
Producto (3 ptos)
DetallePreparacionProducto (2 ptos)
Proveedor (2 ptos)
Compra (4 ptos)
ItemCompra (2 ptos)
ItemInventario (2 ptos)
1e) (15 ptos) Desarrolle un controlador que ejecute el método insertar(store), así como
su respectiva ruta en el archivo de web.php de la carpeta routes. Se le evalúa que el
método haga un manejo de transacciones por cuanto se debe insertar 1 registro en
la tabla venta, ‘n’ registros en la tabla item_venta y actualizar el valor del campo
cantidad_en_existencia de la tabla item_inventario al decrementarlo en la cantidad
de ingredientes usados por cada producto incluido en la venta recibida (respecto a
esto último de considerar que para elaborar un producto se requieren múltiples
ingredientes).
1f) (5 ptos) Efectúe una clase de prueba unidad en el que demuestre que el método
insertar del controlador creado inserta una venta en su base de datos y actualiza el
inventario de la empresa en el momento de la venta. Se le evalúa que la prueba
contenga un ‘assert’ al menos y que se efectúe la inserción y actualización en las
tablas correspondientes en la base de datos.
1g) (3 puntos) Debe subir los cambios a la rama examen2-carné1-carné2-branch, del
repositorio de su equipo en Github.
6
Suponga que una biblioteca pública le contrata como analista de sistemas para que le
desarrolle un nuevo sistema de información para préstamo y reservación. Los principales
requerimientos se describen a continuación:
■ Las personas usuarias, que estén registradas en el sistema, pueden efectuar
préstamos de libros y revistas (conocidos como títulos).
■ El sistema deberá, de forma periódica, chequear (al menos una vez por semana) si
la copia de un libro o una revista prestados a una persona usuaria se encuentra en
estado retrasado. Si fuese así, se enviará, vía correo electrónico, una notificación a
la persona usuaria.
■ Una persona usuaria puede reservar un libro o revista (conocido como títulos) que
haya sido prestado a otra persona. La reservación debe cancelarse en el momento
que la persona usuaria hace el préstamo del libro o si decide hacer una cancelación
formal de la reservación.
■ Para cada libro se deberá guardar el título, autores, año de publicación, el isbn y el
número de título. Es importante aclarar que cada vez que la biblioteca compra un
libro o una revista, adquiere dos o más ejemplares (copias). En el caso de las
revistas, se desea almacenar el título de la revista, el volumen, el número, el año de
publicación y la fecha en que se publicó.
■ Para cada copia de los títulos (libros o revistas) interesa conservar el número de
copia y la cantidad de días de préstamo máximo.
■ Para las personas usuarias interesa conocer el número de usuario, nombre,
apellidos, dirección, teléfono, fecha de inscripción, fecha de expiración, correo
electrónico.
■ En el caso de los préstamos, además, de los datos del usuario y de la copia prestada,
debe almacenarse la fecha de préstamo, fecha de devolución y la fecha de retorno.
■ Para las reservaciones debe poderse identificar la persona usuaria que hizo el
préstamo, el título de interés (libros o revistas) y la fecha en que se hizo la
reservación.
7
FP2 La persona usuaria busca el libro o la revista que desea solicitar en
préstamo. El sistema le presenta los resultados de búsqueda.
FP7 El sistema envía una notificación de correo con los datos del
préstamo. El caso de uso finaliza
8
Flujo de FP1 El caso de uso inicia cuando el funcionario(a) ingresa su número de
eventos usuario y contraseña para iniciar la sesión en el sistema, para lo cual
básicos el sistema valida dichas credenciales
FP5 El sistema procede a guardar los datos del título y de las copias
registradas. El caso de uso finaliza.
FA2 En el paso FP5, el sistema detecta que el nombre del título ya existe.
El caso de uso continúa en el FP3.
FA3 En el FP3, el actor indicó que desea ingresar una revista. El sistema
le presenta un formulario para que ingrese el título de la revista, el
volumen, el número, el año de publicación y la fecha en que se
publicó. El caso de uso continúa en FP4.
9
2a) (15 puntos) Desarrolle un diagrama de clases, en el que muestre las clases
relevantes, atributos y asociaciones expuestas tanto en el Caso Biblioteca Pública
como en los casos de uso asociados. Se le califica que el modelo propuesto refleje
las entidades de negocio que estén involucradas así como los atributos, las
asociaciones, roles y multiplicidades. Considere, que se debe representar un
modelo que refleje entidades como reservaciones, préstamos, notificaciones y
demás requerimientos indicados en el caso.
10
SECCIÓN C - diagrama de secuencia
3. (10 ptos) Suponga que se desea modelar un diagrama de secuencia para el caso de uso
UC-001 “Realizar un préstamo de un libro o una revista”, en un ambiente basado en
ventanas. Elabore un diagrama de secuencia atendiendo el flujo de eventos. Se le
evalúa el uso correcto de la notación UML y las buenas prácticas vistas en el curso con
respecto a este tipo diagramas; además, deben aparecer en su diagrama clases tipo
control, entidad y frontera y creación de objetos cuando sea necesario.
Diagrama de Secuencia.
11
12
Diagrama de Clases
13