Starting from:

$34.99

48024  Assignment 2-OO design, GUIs, MVC, tables, lists Solution



Learning Outcomes:
This assignment supports objectives 3 - 5


You MUST NOT let another student see your solution code, and you MUST NOT look at another student’s solution code. Sharing your code on public forums such as the discussion board, or Internet forums such as stackoverflow.com is not permitted. More information about Academic Misconduct can be found at:

http://www.gsu.uts.edu.au/rules/student/section-16.html
Skeleton Code
As a starting point for this assignment, you must use the skeleton code provided in Assignment 2 Description. There are two options for Java, a NetBeans version, which includes the structure required to import directly into NetBeans, and a plain version for other IDEs (which tend to be less rigid about their import requirements). You are NOT allowed to modify the model or remove any of the starting classes or FXML files.

Expected workload
The time to do the assignment to a distinction level (i.e. a mark between 75% to 84%) has been estimated at 25 hours for a student of average ability who has completed all the tutorial and lab exercises.

Specification
The specification is presented in several parts. In this document is given a series of screen shots and textual descriptions for visual reference.

A demonstration video is also presented at https://canvas.uts.edu.au/courses/22120/assignments/91790/. This demonstration video is considered part of the specification and contains important details about the dynamic function of the assignment.
Main Menu (8%)


The main menu is opened when the application launches. It has “Login” button to access the Login window. It also has an exit button which shuts the entire application down. The main menu has a header section with an UTS logo and the title “Tuition Management System”. The title of the window includes a small icon and the tile “TMSFX – Faculty Mode”.
Login Window (12%)

The login window is launched from the main menu by opening a separate window. It has OK button to match the email and password for the user. The Cancel button closes the login window. The login window includes a same icon as the main menu and the title is set as “Sign In”.


The OK button will open the admin window if the combination of the email and password is correct. If the combination is not correct, the error message “Incorrect login details” will show up. The TextField is reset to blank after click "OK".


Admin Window (20%)

The administration window is launched from the Login window by opening a separate window. The administration window displays the student’s information by a table with 3 columns “Name”, “Email” and “Phone”.
The administration window has buttons to open the student window in a new window to add and update students, and has buttons to open the windows to list the tuition slip and report. Only "Add", "Report" and "Close" buttons are enabled initially.

When click on one student record in the table, the selected record is highlighted and the “Delete” “Select” “SLIP” buttons are enabled. Click the “Delete” button will remove the selected record from the table. The “Delete” “Select” and “SLIP” buttons will become disabled after the removal.
The Close button closes the administration window. The administration window includes a “faculty” icon. The title of the window is “Session Admin” plus the name of the login user.
Admin Filter (12%)
On top of the administration window, there are two independent filters, which display the students with matched name or email. The filters work asynchronously with non-case sensitive partial matching function. Either name filer works, or email filter works, not both. For example:


The student list prints "Students list is not loaded" when there is no matches result. The default input texts "Filter by name" and "Filter by email" are displayed when there is no input; The default input texts are disappeared when the input starts.




Student Window (12%)
The student window is launched from the administration window by clicking “Select” for a student record. The student window displays the information of “Personal Details” and “Tuition Details” for an existing student.

The student window has buttons to update the student’s information and has close button to close the student window. Only "Update" and "Close" buttons are enabled.
Update button opens the error window when the input is not valid. The button closed the window when the input is valid or there is not input. The input validation is described in validator.java and associated with the error window. Meanwhile, Admin window immediately updates the student information.
The student window includes an “edit” icon. The title of the window is “Accessing File: ” plus the name of the student.

Student Window Add (12%)

The student window is launched from the administration window by clicking “Add”. The student window displays the empty information, waiting for the input of “Personal Details” and “Tuition Details” for a new added student.
The student window has buttons to add and update student’s information, and has close button to close the student window. Only "Add" and "Close" buttons are enabled.
Add button opens the error window when the input is not valid. Add button closed the window when the input is valid. The input validation is described in validator.java and associated with the error window. Meanwhile, Admin window immediately updates the student list. The student window includes an “edit” icon. The title of the window is “Adding New Student”.

Error Window (12%)
The error window is popped up when the input is not valid for a student record. The error window displays the input error messages based on the input validation described in validator.java.
• Name Pattern: First name and Last name are two strings with capital letters.
• Email Pattern: Domain name is appended with@ at the end of the address.
• Phone Pattern: 8 digits number
• Address Pattern: Started and ended with number, separated from the street name by space
• Type Pattern: A hyphen concatenates two strings with capital letters.
• ID Pattern: 8 digits
• Credits Pattern: a multiple number of 6
• Scholarship Pattern: a number between 0 and 100000(inclusive)
• Deduction Pattern: The input string will be compared with “2022AUT” for deduction calculation. Directly amount input will result 0.00 deduction.

The error window has “Okay” button to close the window. The title of the window includes an “error” icon and the name is “Input Exceptions”.

Slip Window (8%)
The slip window is launched from the administration window by clicking “SLIP”. The slip window displays the tuition information for the selected student.

The slip window has “Close” button to close the window. The title of the window includes an “edit” icon and the name is the student’s name plus “SLIP Report”.
Report Window (12%)
The report window is launched from the administration window by clicking “Report”. The report window displays the collective tuition information for all the students.

The report window has “Close” button to close the window. The title of the window includes an “UTS” icon, and the name is “TMS Report”.
Requirements
Layout


Style

A CSS file is included in the skeleton code which provides all the styles used in the assignment. You don’t need to modify the CSS file.

Code

Your solution must satisfy the following code requirements:

• Your solution must follow the MVC architecture.

• Your solution must keep the package structure and class names that were provided in the skeleton code.

• The models must notify the views of changes by correctly applying the JavaFX property patterns and observable lists. Model data that can change must be observable. Model data that never changes need not be observable.

• The views must be laid out in FXML.

Submission to ED

Submission to Canvas


Your assignment should be submitted as a JAR file that includes:

• All FXML, CSS and image files required to run your assignment.
• The binary files(.class) of the runnable jar file.

You can check the JAR file on a lab PC to make sure it works.

Marking



Online support


If anything about the specification is unclear or inconsistent, check the FAQ first, then contact the subject coordinator who will try to make it clearer by replying to you directly and posting the common questions and answers to the FAQ. This is similar to working on the job, where you ask your client if you are unsure what has to be done, but then you write all the code to do the task.

The preferred way to ask assignment related questions is to participate in the lectures, lab activities, UPASS, and consultation sessions. Students are expected to seek help through the following steps:

Step 1: Check the FAQ
Step 2: Ask peers or via the group discussion board
Step 4: Forward to the subject coordinator




More products