Question
JAVA Class Scheduling System In this project you are asked to implement a simple class scheduling application using what you learned in this course. Your
JAVA
Class Scheduling System
In this project you are asked to implement a simple class scheduling application using what you learned in this course. Your application should accomplish the following tasks : ? First of all, your program will display a Welcoming message.
? After that, your program will display an options form for a user to choose from, like the following: a. Create Schedule form
b. Display Schedule form
c. Modify Schedule form
d. Delete Schedule form
e. Exit Create Schedule: Choosing Create Schedule option: The program will display a form asks user to enter students information [first name, last name, student ID ,student Level and college] and course information [course name, course number, course room and course teacher] and the program shows two choice (create or cancel). when user select cancel the program must exit current form and show main options. If user select create, your program should display a form to ask the user to select course days. Days are Sat, Sun, Mon, Tue, Wed, Thu, and Fri. (two or three days can be chosen at most) . If user choose Thu or Fri, your program should show him a confirmation message. Because Thursdays and Fridays are unusual lectures days.
o If the user confirmed, then he can enter class times in Thursday or Friday.
o If a user declines, then the program asks him to choose another day. Then, the program should show the hours of the first chosen day, for the user to fill class times in this day. [hours are: 8-9, 9-10 , 10-11 , .... 3-4] When the user finishes entering class schedule for the first course, the program asks if the user wishes to enter another course class times. If no more courses are to be added, a user is shown options form: display, modify, delete, and create another students schedule .
Display Schedule: Choosing the Display Schedule option: Your program should display student schedule on the screen. It must be a well-organized schedule showing classes times at the specified days.(i.e. it has a table format) Modify Schedule: Choosing the Modify Schedule option: The program will show a modification form and ask about days and times of modification.
Then, the user enters modifications like: day time course.
Entering modifications is repeated until a user chooses that no more modifications are to be added.
At the end, the modified schedule is displayed. Delete Schedule : Choosing the Delete Schedule option: You will display the entered schedule and choose delete button, then a confirmation message will be displayed:
o Yes answer deletes the schedule
o No answer makes you program show options form; display, modify, delete, create another students schedule and exit.
Choosing the create another students schedule option:
o This would cause the process to be repeated again for the new student.
If the user decided not to enter a schedule for another student, the program exits displaying a farewell message.
For points 4 and 5 in Create Schedule, your program must handle class conflicts by:
o Suggesting other free times (days and hours) of the week.
o If a user insisted and did not change his conflicting choices, your program should allow him to modify previously scheduled classes and it warns him that what he is doing will cancel already scheduled classes
Your program must prints the final table of any student to a console. Notes :
? This project is to be done individually (i.e. each student must submit his own project).
? Grading will be done through discussing submitted projects (there will be no grades without discussions).
? Cooperation in discussing ideas with your colleagues is highly encouraged, however copying others projects or codes will be strictly punished (zero grade for all copies).
? Use all Object Oriented Concepts that youve learned in the course .Your project
MUST have these concepts applied:
o Classes & Methods
o Creating Objects
o Aggregation
o Encapsulation
o Inheritance
? If you apply Abstraction properly (using interfaces & abstract classes) you will get bonus grades.
? Don't hesitate to ask me for more clarifications.
? Begin early and do not waste your time.
? Compress your NetBeans project as a (.zip or .rar) file named with your ID and upload it
output
ProblemsJavadoc DeclarationC Console CoverageStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started