Reference no: EM131455426
Objectives -
- Analyse, develop, and implement software solutions.
- Choose and compare appropriate data structures in program design.
- Apply classes, inheritance, polymorphism, and exception handling.
- Test software implementations to ensure correctness and maintainability.
Assessment Task -
In this assignment, you are required to write a Java Application that uses an interactive Graphical User Interface (GUI) based on the JFrame class using SWING GUI components. You will also be designing and implementing the software solution using appropriate data structures and application of classes, inheritance, polymorphism, and exception handling. The case study for developing a solution is given below.
Year 11 and 12 students study subjects generally known as Authority subjects or Authority registered subjects. There are many assessments for these subjects in different formats and the grade of these assessments are summative contributing to a student's final result. Entrance to further studies are based on this result and therefore, grades of assessments are critically monitored by students, and their parents. Your task is to develop a Java Application for the parents and their year 11/12 kids to monitor academic performance easily. The java application should allow the user to enter student details, and assessments for each subject.
Once the assessment results are available the user should be able to set the grade for the assessment including explanatory notes. User should be able to view the subjects enrolled, all assessments for a chosen subject, and all marked assignments with their grades.
A. Graphical User Interface
The application should contain a GUI as shown below. The GUI components should consist of the following panels.
1. A top panel that contains two (2) Text Fields, three Combo Boxes (drop down list), five Labels.
2. A middle panel that contains a Text area to display the Assessment list for a subject or assessment details for a chosen assessment.
3. A bottom panel that contains seven Buttons which are "Create Student", "Load Assessments", "Display Assessments", "Set Grade", "Display Grade" and "Quit".
The functions of the seven buttons are described below.
1. Create Student
2. Load Assessments
3. Display Assessments
4. Set Grade
5. Display Grade
6. Clear Display
7. Exit
B. Data Structures
You can use the classes given below as a guideline for your design.
1. Student Class
This is to store the student details of name, year level, and subjects enrolled. A student class can have an ArrayList of Subjects. Use String data type for name and year level.
2. Subject class
The purpose of this class is to store the subject name, and the list of Assessments for that subject. Use String data type for subject name, and an ArrayList for Assessments.
3. Assessment
Include appropriate fields to store:
Assessment Id, Assessment type, topic, format, dueDate and graded which takes a Boolean value to indicate it is graded or not;
4. Marked Assessment
This class extends the Assessment class. This class should have a member fields to store the grading values once the assessment is graded using the Set Grade Button. These values are given in Table 2.
5. GUI Components class
a) This class should have the GUI components listed above.
b) It should have the methods to set up the GUI components and the event handling methods.
c) This class should have a method to read data from the file and load data structures appropriately.
d) This also contains the main method.
8. Software Tools for Building the Application.
Attachment:- Assignment Files.rar