Initially the lsquocreate student button remains disabled


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
Initially the ‘Create Student' button remains disabled. The user enters the Student Name and Year Level using the fields on the GUI. This creates a student object. Once the student object is created three core subjects of English, Mathematics B, and Biology, and the chosen elective subjects of, Business and Communication Technologies, and Religion and Ethics are added to the student object. This is done to simplify the process of going through adding each subject.

2. Load Assessments
Initially the ‘Load Assessments' Button remains disabled as shown in Figure 1. This will be enabled after the ‘Create Student' button is clicked creating a student object. The ‘Load Assessments' Button can be used to read the data file which contains the Assessment List for all the subjects. After loading the file, the loaded Assessment details are added to the corresponding subjects. The first field in each assessment item in the file is the subject name and this should be used to correctly add the assessments to the corresponding subjects. The ‘Load Assessments' Button should also populate the Combo Boxes for Subjects, Assessments, and Achievements with corresponding set of values.

Table 1 Example Assessment Details

Description

Value

Subject

English

Assessment Id

11.1

type

Multimedia presentation

topic

interior monologue 3-4 mins Australian Identity

format

speaking

Due date

Wed 9 - Wed 16 March 2017

Note: Use the given data file named COIT20256Ass1Data.csv available in the Unit website and it contains the set of data required.

3. Display Assessments
This should display all the assessment details of a chosen subject in the Text Area as shown in Figure 4. The last value ‘false' indicates the assessment item is not yet graded. You can use ‘not graded' instead of false which may be more meaningful.

4. Set Grade
Clicking on the "Set Grade" button allows the user to enter the Achievements for a chosen Assessment Item. The grading contains levels of achievements, knowledge, and skill. These values are given in the following Table 2. Once the user selects the achievements level using the Combo Box, corresponding levels of knowledge and skill should be added.

5. Display Grade
This can be sued to display the grades of various assessments set already in the TextArea as shown in Figure 5.

6. Clear Display
User clicks this button to clear the TextArea, TextFields and set the ComboBoxes to the default value.

7. Exit
This should allow the user to quit the application.

B. Data Structures

The relationships between classes is shown in Figure 6.

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

You can build your application using the TextPad Editor or NetBeans. It is highly recommended that you create the GUI components using code rather than 'designer' and 'click and drag' of the NetBeans. This creates code which is not maintainable. Remember this is a good prototyping tool, but not recommended for coding.

Note: Commence with one class at a time, test it and then incrementally add the next.

Attachment:- Ass Data.csv

Attachment:- AssignOneSpec.rar

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Initially the lsquocreate student button remains disabled
Reference No:- TGS02279383

Now Priced at $120 (50% Discount)

Recommended (91%)

Rated (4.3/5)