IEMS5731 Software Design and Development (Fall 2023)
Individual Course Project Specification - GUI Calculator
Expected time: 10 hours
Learning outcomes:
1. To practise GUI buttons, labels and radio buttons in Java.
2. To experience the MVC pattern via a GUI calculator.
Instructions:
1. Do your own work. You are welcome to discuss the problems with your fellow
classmates. Sharing ideas is great, and do write your own explanations.
2. If you use help from the AI tools, e.g. ChatGPT, write clearly how much you obtain help
from the AI tools. No marks will be taken away for using any AI tools with a clear
declaration.
3. All work should be submitted onto the blackboard before the due date.
4. You are advised to submit a compressed file (.zip/.rar) containing your project. No
reports are required in the individual course project.
5. You only need to submit one project, containing all your work (completed tasks).
6. No submissions for the individual course project will result in failing the course.
7. Due date: 22th November, 2023 (Wednesday) 23:59
Summary of the Tasks
You are advised to implement the calculator based on the steps below.
1. Basic information (10%)
2. Background of the display of the number (10%)
3. Radio button selection (20%)
4. The “Sp” button (20%)
5. Fancy view (20%)
6. Multiply and divide first, then add and subtract (20%)
1
Important reminder: You need to use the provided skeleton. If you rewrite the whole
calculator, or put everything into a big class, you will not receive any scores from the
individual course project.
Task 1: Basic information (10%)
In this task, you should include all basic components of your project, including:
● The submitted project can be executed on eclipse without any errors.
● Your name and student ID are filled in the comment of the Calculator.java.
● The declaration of academic honesty is filled in the comment of the Calculator.java.
● The title of the application is updated to your student ID.
2
Task 2: Background of the display of the number (10%)
In this task, you are going to change the background of the display of the number to an
image. The area is indicated by the purple border in the image below.
3
Task 3: Radio button selection (20%)
In this task, you are going to develop the property for the radio buttons at the bottom:
● When the application starts, the option “Classic view” is selected.
● When the user clicks the “Classic view” while “Classic view” is selected, no changes
occur.
● When user chooses the “Fancy view”, “Fancy view” is selected, and “Classic view” is
unselected
● Exactly one option is selected.
4
Task 4: The “Sp” button (20%)
In this task, you are going to implement the “Sp” button based on the unit digit of your
student ID.
Unit digit of your
student ID
Display on the
“Sp” button
Function Number before
clicking the
button
Number after
clicking the
button
0 or 1
e.g.
1155100000
1155100001
inv inverse value -5731 -0.0001744896
2 or 3
e.g.
1155100002
1155100003
log Logarithm base
10
5731 3.75823040846
4 or 5
e.g.
1155100004
1155100005
x^2 Square value -5731 32844361
6 or 7
e.g.
1155100006
1155100007
sqrt Square root 5731 75.7033684852
8 or 9
e.g.
1155100008
1155100009
-ve Negative -5731 5731
When a negative number is supplied to square root or logarithm base 10, or 0 is supplied to
inverse, output “infinity”, which is the same behaviour as 1/0 implemented in the calculator.
5
Task 5: Fancy view (20%)
In this task, you are going to design the “Fancy view” of the calculator.
● When “Fancy view” is selected, the button panel is changed.
● When “Classic view” is selected, the button panel is resumed to the original one.
● In the “Fancy view”, the position of the buttons are redesigned.
● In the “Fancy view”, there are differences in the button size.
● In the “Fancy view”, there are visual properties (e.g. colors, shading, font style, …
etc) on each button.
● Switching the view does not affect the procedure of calculation. E.g. you press “1 + 3
+” in the “Classic view”. 4 is shown on the display. Then, when you switch to the
“Fancy view”, 4 still appears on the display. Then, you press “5 +”, and 9 is displayed.
Then, you switch back to “Classic view”, and press “1 =”. Finally, 10 is displayed.
6
Task 6: Multiply and divide first, then add and subtract (20%)
In this task, you are going to update the model, so that the calculation will follow the rule,
“multiply and divide first, then add and subtract”.
To illustrate the rule, study the example: “1 + 2 - 3 * 4 / 6 =”, carefully.
Button pressed Display in the original design Display in the updated design
1 1 1
+ 1.0 1.0
2 2 2
- 3.0 3.0
3 3 3
* 0.0 3.0
4 4 4
/ 0.0 12.0
6 6 6
= 0.0 1.0
< End of Specification >
7
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。