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:

addNewHawkerFoodStall method to allow adding of a new Hawker Stall.

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.

 

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.