(Version 2.0)
David Bellin
North Carolina A&T State University
Greensboro NC 27411-0002 - USA dbellin@ncat.edudbellin@acm.org
Intent:
To introduce organizational techniques CRC analysts use to refine a list
of candidate classes and begin to model object interactions.
Motivation:
Students in CS programs often have a difficult time applying group
interaction techniques. This is because typical instruction, even that
which uses group projects, does not simulate many industry meeting
situations. Role Playing techniques based upon social psychological
research have been proven effective when applied in a specific fashion
by OO analysts in refining the preliminary classes in a new system from
a candidate list to a core list of classes.
Applicability:
The Role Playing pattern introduces a key technique used in CRC Card
Analysis, after a team brainstorms and creates a list of candidate
classes. Assumes knowledge of CRC cards and scenarios.
Structure:
Step 1: Create List of Scenarios
Step 2: Assign Roles
Step 3: Rehearse Scenarios
Step 4: Correct CRC Cards and Revise Scenarios
Step 5: Repeat Steps 3 and 4
Step 6: Perform Final Scenarios
Consequences:
makes class interactions concrete
is a demonstration of object anthropomorphism in action
provides a method for early refinement of core classes
encourages students to recognize the importance of group interaction
in early analysis stages
lets instructors make the class discovery process tangible
may be resisted by technology oriented students who view people skills
as peripheral or time consuming
Implementation:
exercises can be difficult to implement if the available population is
not diverse
many references are to literature outside of computer science
instructors with industry experience are likely to have more success
with this pattern
small groups facilitate pattern utility (6 persons ideal)
Related Patterns:
Brainstorming Pattern (to create candidate class list)
Three Bears Pattern (to free group to explore new ideas when stuck)
Example Instances:
Used to demonstrate class refinement in applications including:
stock market
ATM machines
traffic light control
See also "The CRC Card Book" by Bellin & Simone (Addison Wesley), for
more examples and details.