程序代写代做代考 Java gui javaFx JDBC database SQL Individual CW 2016-17 HKUSPACE

Individual CW 2016-17 HKUSPACE

CCE1010, Programming for Data Communication and Problem Solving

Professor Orhan Gemikonakli, Middlesex University, London, UK Page 1

CW 3: Individual Work (30%)

You are asked to develop a GUI based Tax Calculator using JavaFX (see details below). There will be tasks of graded

difficulty to enable all students to achieve something according to their abilities. Marks will be obtained accordingly.

Both yearly tax and national insurance (NI) should be calculated. Then, these should be divided by 12 for monthly

income tax and NI respectively.

Input: Annual income (before tax)

Output: Display the following output on the GUI you develop:

i. Annual tax
ii. Tax per month (Annual tax/12)
iii. Annual NI payments
iv. Monthly NI payments (Annual NI payments/12)
v. Net monthly income ((Annual Income – annual tax – annual NI) / 12)

Demonstration date: during scheduled class hours.

Submission Date: Submit online the source code as a zip file exported from NetBeans by Friday, 07 April 2017. NO

REPORT, just source code please. Failure to submit source code (deduction of 20 marks)

The task

1. For achieving a bare pass (bottom end of third class, maximum 42%): A GUI based, stand-alone application
to take tax and NI rates together with thresholds shown in Table 1 as input, calculate and produce the

output given above. All calculations are performed on the machine the application is installed. No client-

server.

2. For 3rd class/Pass (43% – 49%): As in 1, but with file input-output. The information in Table 1 to be stored in a
file. Following the calculations, results to be displayed on GUI and also written to a file.

3. For Lower Second Class/Pass (50% – 59%): As in 2, but with client-server communication. The information
given in Table 1 should be kept in a file at server side. Transmit data as string.

4. For Upper Second Class/Merit (60% – 69%): As in 3, but use ArrayList and transfer information between
client and server as objects. After tax details (Table 1) are received, the calculations are to be performed on

client side.

5. For First Class/Distinction (70% or more): As in 4, but all calculations to be performed on server side and
results to be transferred to client. All file operations to take place at server side. Add animations (e.g.

animating file transfer to show activity) – maximum 80%. Challenge: Introduce multi-threading (for 81% or

higher) – this will require independent learning. More challenge: Replace files with a database of tables and

use JDBC and SQL (optional).

Income per year

(thresholds)

Tax rate Income per year National Insurance rate

£0 – £11,000 0% £0 – £8060 0%

£11,001 – £43,000 20% £8061 – £43,000 12%

£43,001 – £150,000 40% Over £43,000 2%

Over £150,000 45%

Table 1: Tax allowance, tax rates, and NI rates for 2016-17

CCE1010, Programming for Data Communication and Problem Solving

Professor Orhan Gemikonakli, Middlesex University, London, UK Page 2

Task Summary (by Vincent Ching)

Mark

Range

Correct Completion on Client Side Server Side File I/O Data

Transmit

40-42 A GUI based (MUST use JavaFX), stand-alone

application to take tax and NI rates together

with thresholds shown in Table 1 as input,

calculate and produce the output given above.

All calculations are performed on the machine

the application is installed.

No client-server.

Stand-alone PC No No

43-49 All above correct plus file input-output.

Following the calculations, results to be

displayed on GUI and also written to a file.

Stand-alone PC Write

Result to

FIle

No

50-59 All above correct plus client-server

communication.

The information given in Table 1 should be kept

in a file at server side. Transmit data as string.

Do

Calculation

Keep

Table 1

Write

Result to

File

(on Client)

Table 1

(S->C)

(String)

60-69 All above correct plus use ArrayList and

transfer information between client and server

as objects.

After tax details (Table 1) are received, the

calculations are to be performed on client side.

Do

Calculation

Keep

Table 1

Write

Result to

File

(on Client)

Table 1

(S->C)

(Object)

70-80 All above correct plus all calculations to be

performed on server side and results to be

transferred to client.

All file operations to take place at server side.

Add animations (e.g. animating file transfer to

show activity)

Keep

Table 1 &

Do

Calculation

Write

Result to

File

(on Server)

Income

(C->S)

(String)

Result

(S->C)

(Object)

81-90 All above correct plus multi-threading (Self

Study)

91-100 All above correct plus replace files with a

database of tables and use JDBC and SQL (Self

Study)

Remarks :-

1. Demo deadline is Apr 3 on class, Hard copy report deadline is Apr 7 (Office Hours) to SPACE Counter (Attention
Ms. Sarah Fan), Online submission deadline is also Apr 7 Mid-night (UniHub).

2. Hard copy report includes Cover sheet, Source code & Screen dump (just 1 sample input & result).
3. Mark range is based on correctness, and based on demonstration on class.
4. Mark within range is based on code formatting and comments in code.
5. 20 marks will be deducted if no code submitted or late submitted (including hard copy and online submission).
6. You can use the following site to check your calculation correctness. http://www.uktaxcalculators.co.uk/
7. For all requirements stated, you MUST 100% follow the requirements required. Otherwise, marks will be

deducted.

8. No extra marks for any function which is not stated in the requirements, no matter how good it is. So, don’t
waste time on it.