java programing
|
Pg. 19 |
|
Case Study Description |
|
|
|
|
Case Study Phase I
Deadline: Sunday 21/02/2021 @ 23:59
[Total Mark for this Assignment is 5]
Computer Programming-II
CS141
College of Computing and Informatics
|
|
|
|
|
|
|
|
Case Study Description
5 Marks
Application Development using Object Oriented Paradigm: A Case Study
Problem Statement:
The Gymnasium Management System (GMS):
Description:
GMS is a gymnasium management system that helps any gym receptionist or help desk staff to manage the gym members’ accounts by:
1) registering members who can be singles or families
2) applying special discounts to some members
3) Registering members in physical activity classes and services
4) Displaying invoices and related search results.
The GMS has two types of members: single and family. The member class is a super-class abstract that has the common attributes and methods in all types of members.
The two sub-classes SingleMember and FamilyMember each extends the superclass and define other more specific attributes and methods. The gym system also offers many Services (abstract class) that can be divided into two subclasses Class (e.g., cardio, and cycling) and Amenity (e.g., swimming-pool, and steam-room).
After adding the members and services to the system. The help desk staff would be able to register any member in any services. The help desk staff are also able to apply a special discount on some memberships if the member is registered for 10 years or more. The gym Also offers the VIP costumers additional discount in some of classes only.
Keeping the above-mentioned problem statement, explain the following 3 steps in detail
1. You need to discover all the classes from problem statement. [1 mark for discovering the classes from the problem statement given]
2. Find out the methods associated with all the classes. [2 marks for the methods associated with the classes from the verbs of the problem statement]
3. Create the CRC cards for all the classes found from the problem statement. [2 marks for creating all scenarios of CRC]
You should keep in mind that there are many ways to solve this problem statement. Be creative and provide detailed solution to the problem.
|
Marking Criteria |
Marks |
|
|
|
|
Discover all the Classes |
1 |
|
Find out the methods associated with all the classes |
2 |
|
Create the CRC cards for all the Classes |
2 |
|
|
|
|
|
|
|
Final Grade |
/5 |
Answer:
Q1: Classes
1. Member
2. Single Member
3. Family Member
4. Services
5. Registration Department
6. Means of comfort
7. Available classes
8. Club facilities
|
Classes Q2: The methods associated with all the classes
|
Methods |
|
Member
|
setPersonalIdentification(); setForeName(); setTheSecondName(); setLastName(); setTheGenderOfTheMember(); setMobileNumber(); setMembershipType(); getPersonalIdentification(); getForeName(); getTheSecondName(); getLastName(); getTheGenderOfMember(); getMobileNumber(); getMembershipType(); |
|
Single Member |
|
|
Family Member
|
setNumberOfBeds(); setMembershipType(); getNumberOfBeds(); getMembershipType(); |
|
Services
|
setPersonalTraining(); setSwimmingAcademy(); setCycling(); setprice(); getPersonalTraining(); getSwimmingAcademy(); getJump(); getCycling(); getprice(); |
|
Registration Department
|
Memberregistration(); AddMember(); AddServices(); AddSpecialDiscountApplicationFor Families();
|
|
Means of comfort
|
setSwimmingPool(); setMassageRoom(); setSauna(); setSteamSauna(); getSwimmingPool(); getMassageRoom(); getSauna(); getSteamSauna(); |
|
Available classes
|
setTimetable(); setGroupQuotas(); setInnovativeClasses(); setDanceClasses(); getTimetable(); getGroupQuotas(); getInnovativeClasses(); getDanceClasses(); |
|
Club facilities
|
setMemberslounge(); setCardioArea(); setCyclingArea(); setSwimmingArea(); setWIFI(); getMemberslounge(); getCardioArea(); getCyclingArea(); getSwimmingArea(); getWIFI(); |
Q3: The CRC cards for all the Classes
Member front
|
Abstract Member -------------- Responsibilities To Set Personal Identification To set Fore Name To set The Second Name To set Last Name To set the gender of the member To set Mobile Number To set Membership Type To get Personal Identification To get Fore Name To get The Second Name To get Last Name To get the gender of member To get Mobile Number To get Membership Type
|
Collaborators
SingleMember FamilyMember |
Member back
Single front
|
Single member -------------- Responsibilities To Set Personal Identification To set Fore Name To set The Second Name To set Last Name To set the gender of the member To set Mobile Number To set Membership Type To get Personal Identification To get Fore Name To get The Second Name To get Last Name To get the gender of member To get Mobile Number To get Membership Type
|
Collaborators Member
|
Single member back
|
Single Member -------------- Variables Personal Identification Fore Name The Second Name Last Name the gender of member Mobile Number Membership Type Methods setPersonalIdentification (int) setForeName (String) setTheSecondName (String) setLastName (String) setTheGenderOfMember (String) setMobileNumber (int) setMembershipType (String) getPersonalIdentification (int) getForeName (String) getTheSecondName (String) getLastName (String) getTheGenderOfMember (String) getMobileNumber (int) getMembershipType(String)
|
Family Member front
|
-------------- Responsibilities To Set Number Of Beds To Set Member ship Type To get Number Of Beds To get Member ship Type
|
Collaborators Member |
Family Member back
|
Family Member -------------- Variables Number Of Beds Member ship Type Number Of Beds Member ship Type
Methods setNumberOfBeds(int) setMembershipType(String) getNumberOfBeds(int) getMembershipType(String)
|
Services front
|
Services -------------- Responsibilities To set Personal Training To set Swimming Academy To set Jump To set Cycling To set price To get Personal Training To get Swimming Academy To get Jump To get Cycling To get price
|
Collaborators
Class |
Services back
|
Services -------------- Variables Personal Training Swimming Academy Jump Cycling price
Methods Void setPersonalTraining() Void setSwimmingAcademy() Void setCycling() setprice(double) getPersonalTraining(string) getSwimmingAcademy(string) getCycling getprice(double) |
Registration Department front
|
Registration Department -------------- Responsibilities To Member registration To Add Member To Add Services To Add Special Discount Application For Families
|
Collaborators
Services
|
Registration Department back
|
Registration Department -------------- Variables Member registration Member Services Special Discount Application For Families
Methods Memberregistration(string) addMember(string) addServices(string) addSpecialDiscountApplicationForFamilies(double)
|
Means of comfort front
|
Means of comfort -------------- Responsibilities To set Swimming Pool To set Massage Room To set Sauna To set Steam Sauna To get Swimming Pool To get Massage Room To get Sauna To get Steam Sauna
|
Collaborators
Services
|
Means of comfort back
|
Means of comfort -------------- Variables Swimming Pool Massage Room Sauna Steam Sauna Swimming Pool Massage Room Sauna Steam Sauna
Methods Void setSwimmingPool Void setMassageRoom() setSauna(string) setSteamSauna(int) getSwimmingPool(string) getMassageRoom(string) getSauna(string) getSteamSauna(int)
|
Available classes' front
|
Available classes -------------- Responsibilities To set Timetable To set Group Quotas To set Innovative Classes To set Dance Classes To get Timetable To get Group Quotas To get Innovative Classes To get Dance Classes
|
Collaborators
Services
|
Available classes back
|
Available classes -------------- Variables Timetable Group Quotas Innovative Classes Dance Classes
Methods setTimetable(int) setGroupQuotas(string) setInnovativeClasses(string) void setDanceClasses getTimetable(int) getGroupQuotas(string) getInnovativeClasses(string) void getDanceClasses
|
Club facilities front
|
Club facilities -------------- Responsibilities To set Members lounge To set Cardio Area To Set Cycling Area To set Swimming Area To set WIFI To get Members lounge To get Cardio Area To get Cycling Area To get Swimming Area To get WIFI
|
Collaborators
Services
|
Club facilities back
|
Club facilities -------------- Variables Members lounge Cardio Area Cycling Area Swimming Area WIFI
Methods setMemberslounge(string) setCardioArea(string) setCyclingArea(string) void setSwimmingArea setWIFI(int) getMemberslounge(string) getCardioArea(string) getCyclingArea(string) void getSwimmingArea getWIFI(int)
|