Proyecto Final 1º DAW: Programación y Bases de Datos

Los que siguen este blog desde hace tiempo sabrán lo que me gusta aplicar el aprendizaje basado en proyectos. De hecho, en algún momento, lo hemos varios profesores a la vez de varios módulos formativos incluso títulos, ciclos con alumnos de grado, etc, etc… Quien me conozca de hace poco, que se eche un paseo por las etiquetas #pbes proyectos integradores de este mismo blog.

Este curso, quizás por las características del grupo, lo mucho que le han costado algunos aspectos fundamentales y básicos de la programación y la programación orientada a objetos, la dificultad para organizar dinámicas de grupo, mi primer año en el centro, la primera vez que impartía bases de datos, el miedo a quedarme solo, amoldarme a la dinámica del centro de pruebas trimestrales, los tiras y aflojas con muchos de los alumnos del grupo y qué sé yo… muchas razones que he ido valorando (no son ni reproches, ni quejas, sólo mis reflexiones en voz alta), al final he tardado en llevarlo al aula este curso. Finalmente la semana pasada, lancé una idea de proyecto integrador o aprendizaje basado en proyectos para dos de las materias que casan en esto del desarrollo web. Va a estar más pensado en afianzar lo visto hasta el momento y que los alumnos enlacen las muchas cosas que hemos visto hasta el momento (que no han sido pocas). También servirá para enlazar con lo que aún no hemos visto: mínimas nociones de programación de interfaces gráficos y conexión de Java con una base de datos.

A raíz de una idea de uno de mis alumnos que se está enfrentando a esto pero para un entorno de servidor web y PHP (Sergio Mora, que también me ha prestado las imágenes de sus menús con HTML), vamos a tratar de abordar e implementar una aplicación para la gestión de los pedidos de una cafetería. Para ello se abordará desde PROGRAMACIÓN y BASES DE DATOS. La idea de este proyecto es trasladar todo lo aprendido durante el curso en una secuencia lógica de desarrollo de un proyecto software. En este caso, comparándolo con lo que hemos hecho otros cursos, no voy a focalizar otros aprendizajes transversales como trabajo en equipo, metodologías ágiles, gestión y fases de proyecto, análisis y requisitos con cliente (ficticio o real), trabajo más autónomo, si no que va a ser mucho más guiado, con muchas más entregas de actividades parciales. He sacrificado algunas de esas cosas por afianzar contenidos del curriculum. La calificación de este proyecto será repartida como actividades de clase en determinadas entregas que se tienen que realizar y como objetivos principales serán:
– Implementar una aplicación funcional con interfaz gráfico y acceso a base de datos.
– Aplicar todos los conocimientos aprendidos en PROGRAMACIÓN y BASES DE DATOS a un proyecto real.

A los alumnos les he contado un poco la operativa:

La pantalla “Inicial” debe tener un menú  con al menos las opciones de Administración (que servirá para añadir, modificar, eliminar categorías/productos) y otra de Pedidos. A su vez esta parte de pedidos tendrá la posibilidad de Iniciar Nuevo Pedido o Añadir comandas a un pedido existente. 

La pantalla “Iniciar Nuevo Pedido” pedirá primero el número de mesa del pedido (sólo existirá un pedido activo por mesa), después mostrará las categorías de productos.

Al clickar en algunas de las categorías, aparecerán los respectivos productos de esa categoría. Al seleccionar algún producto el precio de este se añadirá al total de la cuenta.

Tendremos diferentes botones, como puede ser guardar la comanda (en la base de datos) o eliminar la mesa. Habrá un botón de cobrar, que generará un ticket con los productos que tenga dicho pedido el cual nos pedirá cómo se pagará y en caso de ser efectivo, con que tamaño de moneda. Al realizar la venta y el cobro, la mesa se liberará. La opción Añadir comandas a un pedido existente deberá mostrar primero un listado de los pedidos existentes, al seleccionar uno de ellos, ya mostrará la operativa para solicitar más productos al pedido.

La pantalla de Administración deberás organizarla como consideres. Deberá ser capaz de añadir/modificar/borrar categoría de productos y productos de esa categoría. Tendrás que listar los existentes.

Y con eso, ya pueden empezar con los dos primeros entregables:

// Bases de Datos

Entregable 1 – Modelo de datos -> MER (debéis de suponer todas las necesidades de la aplicación en cuanto a los datos: tablas (entidades) y columnas (atributos), así como sus relaciones.
Entregable 2 – MR -> Scripts Creación Tablas SQL + Scripts Inserción Datos por defectos
Entregable 3 – Consultas SQL que se requerirían para la operativa descrita. Se tendrá que realizar una descripción de la consulta por qué se necesita, pasar el SQL y el resultado obtenido en Oracle.
Entregable 4 – Código Java que ejecute esas consultas

// Programación

Entregable 1 -> Interfaces gráficos Básicos (Swing)
Entregable 2 -> Conexión de Interfaz Gráfico y Bases de Datos
Entregable 3 -> Proyecto completo (Administración ó Administración + Operativa)

A ver hasta dónde llegamos que sólo queda un mes de clase!!!!

También te podría gustar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *