Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Assessment type: Java application - group project Purpose: The purpose of this assignment is to assess your progress towards attainment of a selection of the
Assessment type: Java application - group project Purpose: The purpose of this assignment is to assess your progress towards attainment of a selection of the learning objectives as covered up to week 11. This assessment contributes to learning outcomes a, b, c and d. On successful completion of this assignment, you should have demonstrated that you can: - Wite a program consisting of multiple objects which interact with each other by following appropriate design practices - Write a program that provides the requested functionality for the system - Implement dasses which have generalization relationships with other classes - Utilise polymorphism and abstraction techniques - Utilise appropriate collection classes from Java's Collections API in appropriate ways/places - Read data from and write data to text files - Handle exceptions by constructing try ... catch blocks for appropriate circumstances - Design a text-based user interface Value: 40\% (Group work 25\%; Individual contribution 15\%) Due Date: Draft in Week 8 and Final in Week 11 Submission: Submit the completed program, weekly activity log and report on Moodle Assessment topic: Health Club Membership Management System (HCMM) In this assignment, you will create a Java software package to process the records in a membership management system according to the given instructions/commands. Java software MUST provide ALL the following functionalities: Read from TWO inputs files: member file and instruction file When the HCMM system starts up, it assumes that the system has the members' information as given in the membersFile, and it manages the records according to the instructions in the instructionFile. - membersFile contains a list of members with basic information in a predefined format. - instructionFile lists instructions/commands to be performed in order on members. The instructions/commands can be: "add", "delete", "query " and "save". Add valid membership info into the system - HCMM system must check whether this is an existing member: - if there is already a record with the same name and mobile in the system, the existing record should be updated/merged with the new valid input information; otherwise system adds a new member with valid info to the system. - For instance, the instruction: add name James Bloggs; birthday 20/12/1978; pass Gold; mobile 04111111; fee $60 is supposed to add/update a member with name "James Bloggs", birthday 20/12/1978, membership pass type "Gold", membership fee $60, and the specified mobile information. Note the use of a semicolon (";") to separate the fields. Delete the member and associated information from the system by name and mobile - For instance, the instruction: delete Jarnes Bloggs; 04112541 indicates deleting the member whose name is James Bloggs and mobile is 04112541 from the system. Query the statistics using the following instructions and Save the query results to the reportFile. Query results from different queries should be appended and separated by dash lines. a) Query the membership records of a given pass type and calculate the total merbership fees. For queries with more than one member in query results, sort the results in ascending order of name. When there is more than one merrber with the same name, sort the results in ascending order of mobile numbers. The format of the query instruction is listed below. o query pass Silver b) Query the age-based fee income distribution and save the query results to the reportFile. The format of the instruction is listed below. o query age fee the results should be appended to reportFile with format as below. -query age fee- Total Club Member size: 50 Age based fee income distribution (0,8]:$30.00 (8,18]:$120.50 (18,65): $900.00 (65,):$50.50 Unknown: $0.00 Save the resulting data collection to output file(s) - Write the resulting data collection of the instructions of "add", "delete" and "sort" into the specified resultFile. - Wite the query results into another specified reportFile. When there are more than one "query" commands, append the latest results to the end of the reportFile. Separate the result of different query instructions using dash lines with query instructions. Submission requirements details: Code and report
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started