CmpE 202 – Software System Engineering

Design Session (07) Exercises

Examine the following CRC cards (three groups) and list all the major problems with them. State why?

Group #1:

Battery
RESPONSIBILITY / COLLABORATION
CLIENT / SERVER
To initiate play /
  • Infielder
  • Outfielder
  • Defensive Strategy
/
  • Pitches
  • Fields

Infielder
RESPONSIBILITY / COLLABORATION
CLIENT / SERVER
To man the infield /
  • Battery
  • Outfielder
  • Defensive Strategy
/
  • Fields
  • Makes plays
  • Covers bases

Outfielder
RESPONSIBILITY / COLLABORATION
CLIENT / SERVER
To man the outfield /
  • Infielder
  • Battery
  • Defensive Strategy
/
  • Fields
  • Backs up

Batting Order
RESPONSIBILITY / COLLABORATION
To have an order for the batters to follow / CLIENT / SERVER
  • Offensive Strategy
/
  • Orders batters by characteristics

Defensive Strategy
RESPONSIBILITY / COLLABORATION
CLIENT / SERVER
To keep the other team from scoring /
  • Battery
  • Infielder
  • Outfielder
/
  • Reads situation to know where play goes

Offensive Strategy
RESPONSIBILITY / COLLABORATION
CLIENT / SERVER
To score runs /
  • Batting Order
/
  • Hits
  • Runs
  • scores

Group #2:

Course registration system (CRS)
Responsibility / Collaboration
Register and inquire courses / Clients / Server
Student
Course / Verify PIN
Course registration
Course inquiry
Change PIN
Judge the role of a student
Registration
Responsibility / Collaboration
Add and change courses / Clients / Server
Student
Course / Add courses
Change courses
Drop courses
Withdraw courses
Inquiry
Responsibility / Collaboration
List course information / Clients / Server
Student
Course / List course information
Grades inquiry
Student
Responsibility / Collaboration
Access CRS / Clients / Server
CRS
Registration
Inquiry / Provide PIN and student ID
Provide function number
Provide call number
Accept query results
Course
Responsibility / Collaboration
Provide course information for CRS / Clients / Server
CRS
Registration
Inquiry / getCourseInformation

Group #3:

Responsibility / Collaboration
Client / Server
To take the appointment with the doctor / Doctor(appointment) / Describes illness
Doctor(illness) / Appropriate appointment time

Patient

Responsibility / Collaboration
Client / Server
To give an Appointment Schedule / Patient(appointment) / Looks into records
Patient(illness) / Appropriate appointment time
Doctor

Consultant

Responsibility / Collaboration
Client / Server
To consult / Patient(advice) / Looks into records
Help patient with problems
Responsibility / Collaboration

Client

/ Server
To schedule appointments / Patient(advice) / Looks into records
Consultation / Help patient with problems
Access patients records / Doctor (day-to-day schedule) / Finally doctors schedule
Confirm appointment

Health center

Responsibility / Collaboration
Client / Server
Provide patients information / Doctor(provide information to) / Checks records
Pass information

Information