Task -
The Innovation University of Australia (IUA) decides to give bonus marks to students for a subject depending on their total weighted marks in the subject. It follows the table below to award bonus marks to a student.
Bonus Policy Table
|
Total Weighted Mark
|
Bonus mark
|
Between 0 and 50
|
Nil
|
Greater than 50, but less than or equal to 70
|
10% of every mark above 50
|
Greater than 70, but less than or equal to 90
|
2 marks PLUS 15% of every mark above 70
|
Greater than 90, but less than or equal to 100
|
5 marks PLUS 20% of every mark above 90
|
For example, if a student gets the total weighted mark of 80 then they get a bonus mark of 3.5. Hence, their total mark will be 83.5. However, the maximum possible mark is 100. That is, if a student gets more than 100 with the bonus mark then the total mark is set to be 100.
The Department of IT of the Innovation University of Australia now asks you to modify the system developed for the IT project for Automatic Grading of Students (AGoS) in Assignment 1. You are required to develop a system to implement the bonus policy and compute total marks of students.
The system will ask a lecturer to enter the marks of a student in Assignment 1, Assignment 2 and the Final Exam, one by one as before. It will then display the weighted mark of each individual assignment, total weighted marks of the assignments, the weighted mark for the Final Exam, and the total weighted mark of the subject. Additionally, it will now display the bonus mark and the total mark with bonus.
A typical example of the display of your program can be as follows. Your program MUST follow the same display style.
You need to develop the Grade System by completing the following three tasks:
Task 1 -
Draw NassiShneiderman (NS) diagrams that present the steps of the algorithm required to perform the task specified. Refer to the tools used in the first assignment, or submit a hand drawn diagram if you prefer.
Task 2 -
Select three sets of test data that will demonstrate the 'normal' operation of your program; that is, test data that will demonstrate what happens when a VALID input is entered. Select two sets of test data that will demonstrate the 'abnormal' operation of your program.
Set it out in a tabular form as follows: test data type, test data, the reason it was selected, the output expected due to using the test data, and finally the output actually observed when the test data is used. It is important that the output listings (i.e., screenshots) are not edited in any way.
Test Data Table
|
Test data type
|
Test data
|
The reason it was selected
|
The output expected due to the use of the test data
|
The screenshot of actual output when the test data are used
|
Normal
|
|
|
|
|
Normal
|
|
|
|
|
Normal
|
|
|
|
|
Abnormal
|
|
|
|
|
Abnormal
|
|
|
|
|
Task 3 -
Implement your algorithm in Python. Comment on your code as necessary to explain it clearly. Run your program using the test data you have selected and complete the test data table above.
Attachment:- Assignment Files.rar