CRC Cards - Overview

Software EngineeringObject Oriented Programming
1.0x

CRC Cards - Overview

Created 3 years ago

Duration 0:02:36
lesson view count 584
Select the file type you wish to download
Slide Content
  1. CRC Cards: Overview

    Slide 1 - CRC Cards: Overview

    • Emerson Murphy-Hill
    • Creative Commons Attribution 4.0 License.
    • Material Produced by NCSU Software Engineering Faculty.
  2. Introduction to CRC Cards

    Slide 2 - Introduction to CRC Cards

    • CRC Card = Class Responsibility Collaboration Card
    • Purpose:
    • interactively brainstorm an initial design of a program or program segment
    • to help developers think in an object-oriented way
    • avoid thinking about implementation details too early
    • Invented in 1989 by Kent Beck and Ward Cunningham
  3. CRC Cards

    Slide 3 - CRC Cards

    • Class – the name of an OO class (a good descriptive noun)
    • Responsibility – the things the OO class does (behavior responsibility)
    • Collaborator – the relationship the class has with other classes
    • Class NameMain Responsibility Description Responsibilities Collaborators . . . . . .
    • 4 X 6(or 3 X 5)
    • Index card
    • Class attributes (what the class must know about itself – knowledge responsibility) on the back of the card
  4. Slide 4

    Slide 4 - Slide 4

    • An Example CRC Card - Front
    • @Dennis, Wixom, & Roth
    • Main
    • Responsibility
    • A patient makes appointments, review or configure insurance information, and provides medical history
  5. Slide 5

    Slide 5 - Slide 5

    • An Example CRC Card - Back
    • @Dennis, Wixom, & Roth
  6. CRC Cards  What next?

    Slide 6 - CRC Cards  What next?

    • Class NameMain Responsibility Description Responsibilities Collaborators . . . . . .
    • Turn these cards into your class diagram
    • Card  Class
    • Responsibilities  Methods
    • Collaborators  Associations (need to have instances of collaborating classes)
    • Data members on the card back  Attributes