Computer Science Homework Help
CMPSC 221 Pennsylvania State University Main Campus Room Scheduler Java Exercise
You have been asked to develop a Room Scheduling application for Tiny College.
This college has only one building in which to schedule rooms. The Tiny College can
reserve one room per Date per faculty, for each Date the rooms are available. The
rooms are reserved by Faculty name. Faculty can request a room reservation for a
specific Date based on the number of seats they require. The room will be assigned by
the program, faculty do not get to request a specific room. Each Date is just a specific
Date. Faculty are identified by a single name.
This application should have a very nice GUI interface and will be a database driven
application. The database used will be Derby. This application must use good ObjectOriented Design and Programming. The database must use good Object-Oriented
Design and Programming. There is a very close correlation between Object-Oriented
Design and Database Design. Your application design should include at least four
classes besides the main GUI class, e.g. Faculty class, Room class, Date class…,
Reservations class, etc. Your database accesses should be in the classes that correlate
with the database tables.
This assignment is the first half of the final project and will be submitted as
Programming Assignment 6. This phase of the project will implement the following user
commands:
Add Faculty
A faculty member is added to the database. The faculty member is identified by only
one name.
Reserve Faculty Date Seats
The faculty member will be assigned a room for the requested Date, if there are
seats available. The rooms will be assigned in a best fit manner. The faculty member
should be assigned the smallest room that has enough seats for their request. If there
are no rooms available or no rooms with enough seats available, the faculty member
will be put on the wait list for that Date. The waiting list must be maintained in the
order the faculty members tried to reserve their rooms.
Status Reservations by Date
The Status command by Date will display the faculty members that have rooms
reserved on that Date.
Status Waiting List The Status command for the Waitlist will display all the Faculty members waiting for
rooms. It will be displayed in Date order and then in the order of when the reservation
was requested.
Testing scenario:
A testing scenario will be provided to assist you in testing this application.
Database considerations:
The Rooms Table should be preloaded with several Rooms such as 101, 102 and the
number of seats in the room. You should have a different number of seats per room so
that you can test the proper reservation of rooms for different class sizes. You will be
shown how to preload tables with values.
The Date Table should be preloaded with several Dates of your choice. These are
just normal Dates.
The database tables should not contain redundant data, i.e. relevant data should
only appear in one table.
GUI Guidelines:
The user should be required to enter only unknown data. Drop down lists of known
data such as Faculty member names, Room names, or Dates should be displayed for
the user to select. Combo Boxes should be used for the drop-down lists on the form.
When information is requested to be displayed e.g. for a Status command, all of the
requested information must be displayed. When a command is performed, the results of
that command should be displayed to the user on the same display without the user
needing to check Status to see what was done.
For this assignment, you may, and I recommend, the use of the GUI designer in
NetBeans.
Submission Guidelines:
Don’t forget to submit your PROJECT files and your DATABASE files. The database
folder is probably located under
“Users/USERNAME/.netbeans-derby/NAME_OF_DATABASE”.
Zip the ENTIRE database folder and the ENTIRE project folder and submit the two
zipped files in the dropbox under one submission.