In this assignment, you will decide how many classes you need and what methods and variables should be included in each class. Hint: you may consider the following classes (Note: this is not a complete class list):

  • GradeReportSystem: to implement all UI components and all button functions
  • GradeXMLPaser: to parse XML file
  • StudentRecord: to store each student’s record
  • Record: to store the result of each homework or exam

Application Functions Description:

  • The “Load” button is used to load the XML file and display all student names in the left side display area (using a JList).
  • The “Save” button is used to save all student records including their final grades into a text file called studentrecord.txt.
  • The “Exit” button is used to exit from the application
  • The “Query” button is used to display in the right side display area (using a JTextArea) the complete information including the final grade for a queried name. One example is:
Student Name: aaa
Homework1: 90
Homework1: 80
Homework1: 90
Homework1: 85
Homework1: 95
Homework1: 90
Exam1: 90
Exam1: 70
Exam1: 95
Final Grade: 87.3
  • [Hint: The final grade calculation formula is: (90+80+90+85+95+90)*0.08 + (90+70)*0.15 + 95*0.22]
  • If the queried student name doesn’t exist, an exception is thrown and a warning message “This student doesn’t exam in the system” should be displayed in the JTextArea.
  • If the “Query” button is clicked before the XML information is loaded, an exception is thrown and a warning message “No data has been loaded” should be displayed in the JTextArea.
Academic Honesty!
It is not our intention to break the school's academic policy. Projects posted are only used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly fill out the form. Please provide a valid email address and we'll get back to you in less than 24 hours. We will be sending an invoice through PayPal upon confirmation. We are a non profit organization however we need an amount to keep this organization running, and to be able to complete our research and development.