Instruction for CA3 Individual Assignment 2022
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
Programming Fundamentals
Instruction for CA3 Individual Assignment
2022
Continual Assessment 3 Individual Assignment (40%)
The Java application constitutes to 30% while the class presentation constitutes to 10% of the overall assessment. Total marks for this assessment is 100 marks.
Case Study:
In a blink of an eye, the COVID-19 global pandemic that started in the 4th quarter of 2019, has been around for 2 years. Countries around the globe had exhausted overwhelming number of resources, trying to achieve “zero infection” status. Governments had realised the challenge and difficulty of sustaining preventive measures like lock downs or circuit breakers. Sustaining preventive measures would affect the respective economies and business, resulting in high unemployment rates. Thus, a work around goal would be “Living with COVID”, where preventive measures are still in place, but less restrictive. Government should focus on technological support to manage these preventive measures. Also, ensuring that business industries evolve with the enhancement of technological support.
Singapore is one example of shifting its goal to a national state of “Living with COVID”. Several policies and government support fundings have been invented and enforced to support preventive measures, businesses and low-income families. One of such policy is to enable the digital support for Hawkers groups. This initiative will provide digital support to 30 hawker centres, primarily, to help hawkers adopt technology and generate consumer demand through community group buys. Common Acquirer model makes it easy for hawkers to take orders across multiple ordering services.
You may read more on “Hawkers get more help to go digital” provided on the IMDA website:
https://www.imda.gov.sg/news-and-events/Media-Room/Media- Releases/2021/Hawkers-get-more-help-to-go-digital
The individual task:
To aid Singapore’s initiative of providing digital support to Hawker Group. Your task is
to develop a “Hawker Food Ordering” Java Application (using Netbeans/Eclipse IDE), satisfying all requirements listed below.
Project Requirement
With what you have learned from the module, you are task to develop the Java application with the following:
1. Study the case study and research more details on “Hawkers get more help to go digital” . You are to use the provided contents in the website link above.
2. You are required to write FOUR (4) Java classes.
a. HawkerFoodStall
b. StallFoodMenu
c. OrderAccount
d. OrderingSystem (Main Class)
For each Java class activity, you are to meet the following requirements:
* For storing of any form of data, you are to use the ArrayList class.
HawkerFoodStall class
Fields:
• Stall Name: String
• Description: String
• Owner Name: String
• Address: String
• Postal: int
• StallFoodMenu ArrayList: ArrayList
Constructor:
• Arguments: Stall name, description, owner name, address, postal.
Methods:
• Set and Get methods for the respective fields.
• addMenutoFoodStall method to allow adding of StallFoodMenu object to the respective HawkerFoodStall object.
• deleteMenuFromFoodStall method to allow removing of StallFoodMenu object from the respective HawkerFoodStall object.
• getMostExpensiveFood method will return the most expensive Food Menu.
• getHighestCalorieFood method will return the highest calorie intake Food Menu.
• addNewFoodMenu method to allow adding of new Food Menu.
• deleteFoodMenu method to allow removing of Food Menu.
Fields:
• Food Name: String
• Calories: Double
• Price: Double
Constructor:
• Arguments: Food Name, Calories, Price.
Methods:
• Set and Get methods for the respective fields.
OrderAccount class
Fields:
• Account ID: int
• Name: String
• Username: String
• Password: String
• Food Preferences: ArrayList
• Account Order ArrayList: ArrayList
Constructor:
• Arguments: Account ID, Name, Username, Password, Food Preferences.
Methods:
• Set and Get methods for the respective fields.
• createUserAccount method will allow adding of a new User Account.
• userAccountVerification method will verify both the entered Username and Password fields.
• insertAccountOrder method will add StallFoodMenu object to the Account Order ArrayList.
• deleteAccountOrder method will remove StallFoodMenu object from the Account Order ArrayList.
• getTotalPriceofOrder method will return the total price of all StallFoodMenu object added to the Account Order ArrayList.
OrderingSystem class
Note: This would be the main class among the THREE (3) classes stated above.
Based on the created THREE (3) classes above, you are to create the ordering system action with the following sub-requirements:
Methods:
o addNewHawkerFoodStall method to allow adding of a new Hawker Stall.
o deleteHawkerFoodStall method to allow removing of Hawker Stall.
Task:
a. Creation/Deletion of HawkerFoodStalls
b. Creation/Deletion of StallFoodMenu
c. Creation/Deletion of the Order Account
d. Verification of Order Account
e. Browse Hawker Stalls and their Food Menu.
f. Ordering of Food
g. Check Order Account Total Amount
h. Return list of HawkerFoodStalls based on Order Account Preferences (You are to create a method in the OrderingSystem class)
3. Implement Error Handling methods on relevant function.
Note: The user can keep selecting the Insert, List and Remove functions until exiting of the program.
You are required to satisfy all requirements mentioned above .
You are free to add more appropriate fields and methods to the any of the above Java classes.
You need to handle all possible errors that will occur during the program execution.
Documentation
On top of the Java Application development, you will also be required to submit a report with the following documentation:
A short reflection on this assignment with the following pointers:
- Things you have learnt through doing the assignments
- Screenshot and explanation on unresolved/unachievable requirements.
Assessment Topics
Topics 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
Instructions
Submitting Assignment
All assignment files are to be zipped into a folder with your full name, student number, institution name, the module name and CA3. Example “full_name_student_no_sim_pf_ca3”.
Students should keep a copy of assignment submitted.
Penalty Marks for Late Submission of Assignment
By one day: 20% to be deducted from total marks.
More than one day: submission will NOT be graded.
A marking rubric for this assignment can be found in the appendix of this assignment.
Important Dates of CA3 Assignment
CA3 Individual Assignment Deadline: TBC
Zip all assignment file. Submit your assignment via eGlobal. All assignment files must be submitted in order to be graded.
2022-02-14