Question: *This is Java Coding please. OBJECT ORIENTED. Commands* Course Project: Project 1 You have been hired by a local college to help reinvent their outdated
*This is Java Coding please. OBJECT ORIENTED. Commands*
Course Project: Project 1 You have been hired by a local college to help reinvent their outdated advising software. They want a command line program that users can type into to access various info and manage courses etc Below is a list of commands that several software engineers have received from the clients. Your task for Project 1 is to create a system that will verify commands as the user types them in. If they improperly format commands your system must detail what errors have been made. Your error messages must be understood by the client or it will be rejected. The exit command should be implemented. It closes the program. Project Due by September 9th Functionality: - Login username password - Logout - Create Student as ( name, ID, uname, pword, year, DOB, Major) - Create Course as ( major, num, name, creditHours, section, ID, building, room, instructor ID, capacity) - Create Professor as ( name, ID, uname, pword, major, building, room) - Assign professor to course - Assign student to professor - Assign lettergrade to student in courseID - Find Course courseID - Find Student studentID - Find Professor professorID - Find Course by Major/num/InstructorID - Update field with value for student/course/professor - Enroll student in course - Enroll in course - Show Roster for course - Show Advisees for professor - Show Transcript for student - Show Schedule for student - Import Students from filename - Import Courses from filename - Import Professors from filename - Execute from filename - Next Semester - Exit Course Project: Project 2 This project will begin introducing Users and the creation of several classes of users. Your program should begin with a default user. (Later projects will alter this, but for now it will be a default user) Once a user is created (user being student or professor) they can login. At this point ignore password and privilege verification that will be added later. Project Due by September 30th Functionality: - Login username password - Sets the current user. Check if user exists. If user doesnt exist, print message to user. - Logout - Sets the current user to the default user. - Create Student as ( name, ID, uname, pword, year, DOB, Major) - Creates a new Student user with the given fields. - name must include at least a first and last name - ID must be a 7 character item starting with s - Uname must be only by letters - Password must be at least 4 characters long. - Year must one of {Freshman,Sophomore,Junior,Senior} (Case in-sensitive) - DOB must be a date of birth in the following forms: - mm/dd/yyyy - mm-dd-yyyy - mm/dd/yy (Assume 20 for century) - mm-dd-yy (Assume 20 for century) - Major must be a 4 letter string. Displayed in All Caps. - Create Course as ( major, num, name, credit hours, section, courseID, building, room, instructor ID, capacity) - Creates a new Course entry with the given fields. - Major must be a 4 character string. - Num must be a 3 digit number (i.e. 3 becomes 003) - Credit hours are standard - Section must be a 2 digit number (i.e 1 becomes 01) - courseID must be a 7 digit number starting with the character c - Building is a 2 character String representing the building name - Room is up to a 3 digit number - InstructorID a valid instructorID - Capacity must be a positive number - Create Professor as ( name, instructorID, uname, pword, major, building, room) - Creates a new Professor user with the given fields. - Name must be at least a first and last name - instructorID must be a 7 digit number starting with the character i - Uname must be only by letters - Password must be at least 4 characters long. - Major is a 4 character string - Building is a 2 character String representing the building name - Room is up to a 3 digit number - Update field with value for student/course/professor - Update the given field {name,ID, year, DOB, Major, etc} with value for a Student/Course/Professor via the ID. - Fields are named the following: - Student: name, ID, username, password, year, DOB, major - Professor: name, ID, username, password, major, building, room - Course: major, number, name, credits, section, ID, building, room, instructor, capacity - Assign professor to course - Set a Professor via ID to a Course via ID - Assign student to professor - Set the Professor as the Advisor for student by ID and add student to the Advisees of the Professor by ID. - Assign lettergrade to studentID in courseID - Assigns the lettergrade to the studentID for a specific courseID - Lettergrade must be one of the following: - A, B, C, D, F, P, S - Enroll student in course - Enrolls the student with the given ID in the course by ID - Enroll in course - Enrolls the currently logged in student in the course by ID - Show roster for course - Displays the course roster for the course by ID - Show Advisees for professor - Displays the advisees for a professor by ID - Show Transcript for student - Displays the transcript for a Student by ID - Show Schedule for student - Displays the schedule of courses for a student by ID - Execute from filename - Executes the commands found (1 per line) in the file specified in filename. Course Project: Project 3: This project will begin introducing the idea of programs with persistence of memory. You should store all of the created information in files that will be read at start-up by your program. Your program should commit any changes immediately to those files. I suggest you examine Object Serialization. You need to implement password checks for the Students and Professors. You need to implement Privilege Checks - Students have access to the following: - Login, Logout, Exit, Enroll in course , Show Roster for course , Show schedule for student , Show transcript for student . They must be the student. - Professors have access to all functions (currently) - Default User has access to the following: - Login, Logout, Exit - Administrative user must be added that has access to the following: - All Creates, Login, Logout, and Exit. - Username: Administrator - Password: administrator. - This account must exist by at initialization. You need to add implementation to handle multiple-users. - Users that login will be added to a stack of users. If the current user logouts, instead of reverting to an empty user they revert to the previous user. If no previous user exists the default user. The default users access is listed above. Implement the Function Next Semester: - Next Semester moves the current semester forward (Fall to Spring, Spring to Fall and the year gets increased) Default Start Semester: Fall 2015. It should migrate past courses and grades to the student Transcript and free up their Schedules. Add new Commands and Functionality - Drop courseID - Removes a course from the currently enrolled student - Drop courseID for studentID - Removes a course from the student schedule for studentID. - Both should also remove the student from the course roster. Due October 21st Project 4: Implement Finds and Imports and Deletes as follows: - Find Course courseID - Finds and displays the course with the matching ID. Displays error message if none found. - Find Student studentID - Finds and displays the student information with the matching ID. Displays error message if none found. - Find Professor professorID - Finds and displays the professors information with the matching ID. Displays error message if none found. - Find Course by Major/num/InstructorID - Finds and displays all Courses using a Major, ID, or Instructor ID. Display None if none are found. - Import Students from filename - Reads from the file the information on 1 or more Student. - Import Courses from filename - Reads from the file the information on 1 or more Course. - Import Professors from filename - Reads from the file the information on 1 or more Professor. - Delete Course courseID - Deletes a course by its Course ID. - Delete Student studentID - Deletes a student by its ID. - Delete Professor professorID - Deletes a professor by its ID. Alter Functionality: - Show Transcript for student - Should display the students GPA at the bottom - Should display the number of credit hours earned (Doesnt Include Fs) - Should display the number of credit hours attempted (Includes Fs) Due November 4th Project 5: Implement Major Functionality: - Create Major as (name,ID) - Creates a new major with the given name and ID. ID must be 4 capital letters. - Import Major from fileName - Reads from the file the information on 1 or more Major - Add Course courseID to majorID - Adds the course (if found) to the course list for the major - Delete Course courseID from majorID - Deletes the course (if found) from the course list for the major. - Delete Major majorID - Deletes the major with the given ID. - Add major to student - Adds the major (if it exists) to a student. - Drop major from student - Find Student by majorID - Finds all students who have the specified major. Due November 25th Project 6: Due December 9th The final project is to implement the following checks via a Check Graduation Command - Student Major and Credit hour graduation Check - Liberal Arts Requirement Checks - Enforce Remedial Class Exemption Functionality: - Check Graduation for studentID - Finds the student and checks if they have met Hour requirement (120 credit hours for non-Remedial Classes) - Checks If they meet Liberal Arts Requirements (You are free to do this how you wish, I am free to critique it if I dont like it. You design it in other words.) - Check if they meet Major Requirements for their major. - If the student doesnt meet requirements, list ALL FAILED REQUIREMENTS
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
