Question: 1 - Implement the UML class diagram illustrated in Figure 0 1 . 2 - Print the next menu once the program executed: Choose one

1- Implement the UML class diagram illustrated in Figure01.
2- Print the next menu once the program executed:
Choose one of the next options:
1. Add Client As per the constrains below
2. Add Destination As per the constrains below
3. Create new shipment As per the constrains below
4. Update an existing shipment As per the constrains below
5. Sending/Receiving shipment As per the constrains below
6. Report1 List the existing clients As per the constrains below
7. Report2 List the destination details As per the constrains below
8. Report3 List the shipment details As per the constrains below
9. Report4 List the queued shipments As per the constrains below
10. Report5 List the client shipments As per the constrains below
11. Report6 List the income As per the constrains below
12. Report7 List the shipments not yet collected As per the constrains below
13. Save and Exit As per the constrains below
3- Constrains of Add Client:
Allow the user to add four different types of clients; as for the client id, it has to be generated
automatically, starting by 1001, and keep incrementing the last digit for each new client. Save the
created clients in the clients Array List created in the class TestApp.
4- Constrains of Add Destination:
Destination code has to be generated automatically, starting by Des1001, and keep incrementing
the last digit for each new destination. All the instance data members should be inserted for each
instance, as for the groundShippingDiscount and seaShippingDiscount, both representing a
percentage value.
5- Constrains of Create new shipment:
As for the shipment instance, give the user the chance to fill all the data members except the
payment way, as follows:
a. Shipment code: to be generated automatically, starting by Ship1001, and keep incrementing
the last digit for each new shipment.
b. Registration date: should be todays date, filled automatically,
c. Shipment weight: it has to be filled by the user.
d. Shipment cost: it has to be calculated automatically as follows:
a. If the weight is below one kilo gram, round it up to one kilo gram.
b. If the weight is above one kilo gram, round it up to nearest half.
c. Calculate the shipping cost as per the two data members in the destination class,
airCost1stKil, and airCostEachAddHalf.
e. Shipper/Destination: has to be one of the existing clients/destinations.
f. Shipping way: it has to be Air freight by default; in addition, give the user the chance to change
it to Ground/Sea shipping. moreover, if the shipping way changed from Air to Ground or Sea,
reflect this on the shipping cost by applying the discount giving as per the data members
groundShippingDiscount and seaShippingDiscount in the destination class.
g. Payment way: The payment of the shipping cost could be:
a. Postponed till later
b. Paid in partial
c. Paid in total
Moreover, the total payments should not exceed the shipping cost. Consider adding the
next additional fees for each payment way:
a. CreditCard payment: Add 2.5% of the paid amount on the paid amount.
b. WireTransfer payment: Add QAR 100 on the paid amount.
c. Check payment: No additional fees will be applied for the check payment.
d. Cash payment: No additional fees will be applied for the cash payment.
h. Save the created shipment instance in the shipments Array List created in the class TestApp.
i. Once the shipping cost paid in 100%, create an instance of the class shipmentStatus and
initialize the shipment data member by the instance paid in 100% recently, in Q5.h; let the
shippingDate and receivingDate null; moreover, save the created shipmentStatus instance in
the shipmentsStatus Array List created in the class TestApp.PLEASE WRITE THE CODE IN JAVA (OPTION 5)
1 - Implement the UML class diagram illustrated

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!