Java
T ra in in g As s ig nmen ts
Document Code 25e-BM/HR/HDCV/FSOFT
Version 1.0
Effective Date
Hanoi, 04/2024
Training Assignment Java Issue/Revision: x/y
RECORD OF CHANGES
No Effective Date Change Description Reason Reviewer Approver
1 12/05/2024 Create a newly issues Create new DieuNT1
25e-BM/HR/HDCV/FSOFT v1.1 Internal use 2/5
Training Assignment Java Issue/Revision: x/y
Contents
OOP and Java Collection ................................................................................................................4
Objectives: ...................................................................................................................................4
Assignment Specifications: ..........................................................................................................4
Business Rules: ...........................................................................................................................4
Functional Requirements: ............................................................................................................5
Guidelines:...................................................................................................................................5
Mark scale: ..................................................................................................................................5
25e-BM/HR/HDCV/FSOFT v1.1 Internal use 3/5
Training Assignment Java Issue/Revision: x/y
CODE: Java.M.A402
TYPE: MEDIUM
LOC: 200
DURATION: 120 MINUTES
OOP and Java Collection
Objectives:
» Understand and practise with Classes, Objects, Inheritance, Encapsulation.
» Understand and practise with Polymorphism, Abstraction.
» To understand basic concept of ArrayList.
» To declare ArrayList of strings and use common methods of ArrayList.
» Use ArrayList to solve simple problems.
Assignment Specifications:
For the class hierarchy is as follows, the trainee let's create the java classes install this class diagram to be
able to relationship between it.
» The Benefit is an abstract superclass and has four fields: name, thumbnailUrl, startDate, endDate.
Provide input() method to input data from keyboard.
» The Voucher is a concrete subclass of Benefit and adds two new fields: displayFormat, code.
» The TelephoneConsultant also is a concrete subclass of Benefit and adds one new field: duration.
Business Rules:
» startDate and endDate: correct date format (dd/MM/yyyy).
» displayFormat: only accept value QRCODE, BARCODE, ORIGINAL.
» code: 6 characters including letters in and numbers.
25e-BM/HR/HDCV/FSOFT v1.1 Internal use 4/5
Training Assignment Java Issue/Revision: x/y
Functional Requirements:
Create a classed BenefitManage that manage a List<Benefit> and allow selecting the functions as follows:
a. Input data from the keyboard: create a Benefit of all types as mentioned above and input it into
List.
b. Update Voucher: update voucher info by entering code.
c. Remove expired Benefit: remove all benefits that is expired. (benefit is expired when endDate is
not null and endDate =< current date)
d. Telephone Consultant Report: display all available Telephone Consultant with duration > 10
minutes. (A telephone consultant is available when endDate is null or endDate > current date)
Screen Requirements:
Guidelines:
Create a project named java_medium_assignment402:
» Package fa.training.entities that contains Benefit, Voucher and TelephoneConsultant class.
» Package fa.training.utils that contains Validator class for validation.
» Package named fa.training.service contains BenefitManage class.
» Package fa.training.main contains class: Application that contains main() method to run program.
Mark scale:
- Functional Requirement : 60%;
- OO design/Class design : 10%;
- Main function : 15%;
- Business rules : 15%;
--THE END--
25e-BM/HR/HDCV/FSOFT v1.1 Internal use 5/5