java sport club

java sport club,第1张

java sport club java sport club

Assignment (60 points)

1 The Task
You have a client who is a manager of a swimming pool, now aiming to extend their business to a larger scale sport club. As a first step to that end, they would like to improve their membership management scheme by replacing a traditional spreadsheet with a bit more modern system using a GUI (graphical user interface).
The client is requesting you to propose a new scheme. Your task is to demonstrate your system design which should be implemented using the object oriented programming language Java.
Loose description for the membership. A swimming club has recently expanded to accom- modate a gym and some other facilities, also started offering yoga and aerobics lessons for its customers. Customers consist of individual members, family members, and visitors. An individ- ual member should be at least 12 years old on the 1st of September of the current year. A family
member should be at least 18 years old and can include themselves, their spouse and children. Both individual and family members are required to pay a membership fee. Any person under 12 years old can use facilities without a fee, if accompanied by a member. A visitor of at least 12 years old can also use facilities without being a member, but by paying a fee for each visit.
Loose description for the fee system. The membership management scheme should be main- tained in a way that the fee income up to the current date from the beginning of the year (1st January of this year) can be calculated easily. An individual member pays a fixed monthly fee
of 36 pounds and has unlimited access to its facilities, including yoga and aerobics lessons free of charge. A family membership requires 60 pounds per month, with the same benefit to all family members as individual members. A visitor pays a fee each time they visit the club how- ever, if someone visits the club frequently, a visitor fee will accumulate substantially more than membership fees.
Apart from the above rough guidline, you may decide the fee system sensibly. In addition to monthly fees, quarterly and yearly fees can be introduced. It may also be possible to apply different fee levels for use of swimming pool, gym, and lessons for visitors. Further, it is your design how to present the fee income using the system.
Core requirement. Each membership information may consist of first and last names, date of birth, gender, postal address, contact telephone number, and some other information information that may be useful, such as health condition, allergy information, or anything else. An age on
the 1st September of the current year, dates for starting and ending the membership, as well as the type of membership and the amount of fee paid, may also be required. The number of visitors per day can be logged into the system separately without their personal information.
A new membership management system using a GUI may require manual entry for many fields, however
• a unique membership number is created automatically and randomly (i.e., not sequen- tially),
• the age on the 1st September of the current year is calculated from the date of birth, and
• the end date for the membership is automatically derived from the start date and the membership type.

In addition, the membership management system should be able to (1) load/save the customers data from/to a csv (comma-separated values) format file, (2) add/delete a customer to/from the system, (3) add/revise entries for existing customers, and (4) search any customer record in the system.
You may review the csv format in the following link:
https://en.wikipedia.org/wiki/Comma-separated_values
A sample data file ‘customerlist.csv’ is provided (you may be able to open this file using a text editor, or Microsoft Excel), that was salvaged from the previously used spreadsheet based membership data. However, there are a few issues. For example, many fields in the the sample data file are incomplete (e.g., blank). Also there exist careless mistakes such as multiple entries of a same person, that should have been avoided. In the new GUI based system, you may be required to handle these issues.
System extensions / sensible changes to the requirements. This part is not a core requirement for this assignment, however read on the following paragraph…
The client is most willing to hear your idea for useful and interesting extension(s) that can be incorporated to the system, as well as sensible change(s) to the core requirement described above, such as the membership structure, the fee system, or the approach to GUI operation. If you are proposing such ideas, you should describe them clearly in the report and demonstrate them by implementing your design using Java.
Constraints on programming. Program code should compile and run on the console command line under Java 16. (However you are free to use an IDE to develop your code.) If needed, you can import the sheffield package as well as any package(s) listed at
https://docs.oracle.com/en/java/javase/16/docs/api/allpackages-index.html
but none of other packages.

2 Submission
Your submission should consists of a set of Java source code (.java files) for your demo system and a report that outlines your proposal to the client.
Java code. All source code should be placed within a ‘code’ folder, and the name of the main class should be ‘ClubMembership.java’. The ‘code’ folder should include (1) Java source code (
.java), (2) a sample input file ‘customerlist.csv’, and (3) optionally the entire sheffield package if your system requires it, but nothing else. The ‘code’ folder should not include, e.g., bytecode (*.class), output files, or documentation (e.g., html file), apart from those in the sheffield package.
The marker will use the following two command lines under Java 16:
→ javac *.java
→ java ClubMembership
to compile and test your demo system within the ‘code’ folder. If you develop your demo system using some IDE, you should make sure it works from the command line without requiring the marker to change any part of your program code.

Report. Your report is a proposal to the client. The client is not an engineer, however we conveniently assume that the client has a child who studies computer science in some university, helping their parents’ business. Hence, although you should describe your work using plain language, use of UML diagrams is optional and acceptable, where appropriate.
The report must use fonts of 11pt or larger size, and it should not be more than 5 (five) pages long using A4 size papers. A cover page is not required, but if you create a cover page, it is also counted within the 5 page limit. The report can include not only text, but figures, dia- grams, and/or tables where appropriate. The report must be in the pdf format, and named as ‘yourAccount.pdf’ (e.g., suppose your account is ‘acp99yg’ then the report should be named as ‘acp99yg.pdf’).
Handin procedure. Suppose your account is ‘acp99yg’, then the ‘code’ folder and the report should be arranged as
and zipped into a single file ‘acp99yg.zip’, which is then submitted to Blackboard. Do not use other compression format such as rar, tar, etc. When marking, your handin should be unzipped by ‘unzip yourAccount.zip’ in a command line.
Before the deadline, you are able to submit your work more than once through Blackboard. If you have made multiple submissions, the last version submitted will be marked.
Late handin rule. For each day late from the handin deadline, 5% will be deducted from your total mark. If the assignment is handed in more than one week late, it will not be accepted (meaning that it results in a mark of 0).

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5661217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存