Diploma in Information Technology
Programming Fundamentals
Instruction for CA3 Individual Assignment
January 2021 Semester

100 Marks. (This assignment constitutes 40% of the overall assessment.)

Case Study:
The COVID-19 global pandemic had changed and affected our day to day lives, in our
health, careers, social activity etc. Since the start of the outbreak in the first quarter of
2020, many countries have gradually implemented lockdowns in order to contain the
spread of COVID-19. This means, laws have been in force to set restriction on all
citizens. Preventing outdoor, social or any activities that allows human to human

In the context of Singapore, instead of lockdown, the government have implemented
the “Circuit Breaker” that consist of THREE phases. Each with a gradual ease of
restriction on sets of activities from a Phases ONE to THREE. In order to allow moving
between phases, a certain set of results and measures must be achieved and instilled.

On 9 May 2020, the tripartite partners (Ministry of Manpower (MOM), the National
Trades Union Congress (NTUC) and the Singapore National Employers Federation
(SNEF)) issued an advisory on Safe Management Measures required of employers
when they are allowed to resume operations. Digital solutions are made available to
help busines implement some of the Safe Management Measure. These include the
TraceTogether app and SafeEntry. Many other measures are provided and stated on
their website.

You may read more on the Digital Solutions provided on the IMDA website:

The individual task:
To have a better management of multiple digital solutions to implement Safe
Management Measures. Your task is to write a Safe Management Measure
Management Java application, using an Integrated Development Environment.

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 on the available Digital Solutions for Safe
Management Measure. You are to use the Digital Solutions data/information
provided in the website link above.

2. You are required to write THREE (3) Java classes.

a. DigitalSolutionsCategory
b. DigitalSolution
c. DigitalSolutionsManagement

For each Java classes, you are to meet the following requirements:

DigitalSolutionsCategory class

• solution category: String (holds the type of solution as per stated on the
• digital solution storage: ArrayList of DigitalSolution (This is used to store
each digital solution object)

• Arguments: Solution Category.
• Create the digital solution storage Arraylist.

• addDigitalSolution
o Add a DigitalSolution object to the digitalsolutionlist arraylist.
o Return true if success, return false if arraylist is full.
o Return false if duplicated DigitalSolution object is added.
• RemoveDigitalObject
o Remove a DigitalSolution object from the digitalsolutionlist arraylist.
• getDigitalSolution
o Return one of the DigitalSolution in the digitalsolutionlist arraylist.
o Return null if digitalsolutionlist arraylist is empty.
• getHighestSolutionCategory
o Return solution category with the highest number of DigitalSolution
• getLowestSolutionCategory
o Return solution category with the lowest number of DigitalSolution

DigitalSolution class

• ID: String (unique)
• Name: String
• Vendor: String
• Solution Category: String

• Arguments: Name, Description, Vendor and Solution Category.

DigitalSolutionsManagement class

Note: This would be the main class among the THREE (3) classes stated

• DigitalSolutionsCategory ArrayList (To store the category list in order to
store Digital Solution object)

• Initialize the DigitalSolutionsCategory ArrayList using the solution
categories data stated in the website link.
• Load the DigitalSolution data from a text file into the solution categories
arraylist. (Note: You are to retrieve the list of Digital Solutions from the
website link and add them to a text file)

• Insert new DigitalSolution data:
o Select DigitalSolution Name and enter ID. (Note: You are to check if
the ID is unique)
o Search for the Solution Category that stores the same category of
Digital Solution.
o Insert the DigitalSolution object into the DigitalSolutionCategory

• Retrieve DigitalSolution information:
o Select DigitalSolution Name.
o Display the Solution Category with the highest number of Digital
o Display the Solution Category with the lowest number of Digital
o Display all the Digital Solution information in a Solution Category.

• Remove a DigitalSolution:
o Select DigitalSolution Name.
o Search for the Solution Category that holds the DigitalSolution object.
o Remove the DigitalSolution object from the digitalsolutionlist arraylist.

• Exit and Save
o Save all the updated DigitalSolution objects in the digitalsolutionlist
arrays back to the data files and exit the program.

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 above Java classes.

You need to handle all possible errors that will occur during the program execution.

On top of the Java Programming code section, you will also be required to submit a
report with the following documentation:

A short reflection on this assignment.

For each function that you have implemented:
• For each step do a screenshot and state the purpose of that step in that
• The error checking methods you have implemented.
• Do a screenshot of the error check and state the purpose of that error check.

A 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

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

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: 15 February 2021, 11.59am.
Zip all assignment file. Submit your assignment via eGlobal. All assignment files
must be submitted in order to be graded.

Lecturer Contact
You should contact your lecturer via your SIM email whenever you have any issue
about your project. You may send your email to:

S/N Requirement Marks
Java Project (100 marks)


Study, research on the digital solutions and
provide relevant and interesting

5 marks


DigitalSolutionsCategory Class

25 marks


DigitalSolutions Class

10 marks


DigitalSolutionsManagement Class

40 marks


Implement Error Handling

10 marks



5 marks


Overall Report

5 marks