java programing

profilesadeem1251
Case-Study-phase1.docx

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

https://www.seu.edu.sa/sites/ar/SitePages/images/logo.png

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

Member

--------------

Variables

Personal Identification

Fore Name

The Second Name

Last Name

the gender of the 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)

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

Family Member

--------------

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)