The sports association wants to build a system that will store and manage its operations. The system keeps track of information about clubs, players, administrators, coaches, and active sports that are exercised in a given club. Each club has a list of sports but not necessarily the same list other clubs have. Each club has a chairperson (an administrator), and a members’ list which contains players and coaches in the club. Other basic information such as the club name, city, etc., is also recorded.
For a given sport, the system records the name of the sport and the website of the sports federation. For players, administrators and coaches, the name, id, gender, nationality, mobile phone number, club, etc., are recorded. For players the system records (in addition to the above) the sport in which a player specializes and the player rating (a number out of 10). For the chairperson the system records (in addition to the above list) the date on which he/she became the chairperson. For coaches, the specialty (i.e. type of sport) is recorded.
This is a team-project to develop the required system. You are required to develop the SAApp described above. For every class, add constructor, setters & getters, toString() method.
Add the following methods in the following classes:
– addMember(Person person) that adds a person to the members list. It should only add the person if she/he is a coach or a player. It should not add an administrator as a member.
– removeMember(Person person) that removes the person from the list of members.
– findMember(int id) that returns the member with that ID, it returns null if not found.
– addSport(Sport sp) that adds a sport to the sports list.
All the classes given in the class diagram should be properly documented using Javadoc tool. This should include documentation about classes, constructors, methods, their parameters and their returns-values. In the class diagram given below, constructors, setters, getters & toString() methods were not added to maintain the clarity of the diagram.
Phase-II (Due 23/11/2021)
1. The system developed in Phase-I should have the capability to save and load objects. (hint: use object serialization).
2. In a new package, create the necessary classes that add a GUI interface to the developed system. The user should be presented with a friendly menu-driven interface that displays all information about players, and it should allow the user to:
a. Add a player to the table.
b. Modify an existing player.
c. Delete an existing player.
d. Save the new table to the players file.
3. Your application should validate user input (e.g. text fields should not be empty, rating should not be greater than 10, …etc.)
4. You may use the .dat files provided in BB. There’s a file for players, country names, and sports names.