Loading ...
Sorry, an error occurred while loading the content.

[extremeprogramming] Re: CRC cards

Expand Messages
  • DesRues, Kevin
    I used the CRC card method in the design of a mobile piece. They helped a tremendous amount in defining the responsibilities and the interplay of the classes.
    Message 1 of 4 , Feb 1, 2000
    • 0 Attachment
      RE: [extremeprogramming] Re: CRC cards

      I used the CRC card method in the design of a mobile piece. They helped a tremendous amount in defining the responsibilities and the interplay of the classes. And they are pleasantly low tech and transportable. However, I didn't go so far as to dramatize the classes as it is hard enough to get the group to talk sometimes much less act out classes.

      If you need a reference (a decent one), try "The CRC Card Book", by David Bellin and Susan Suchman Simone (publ: Addison-Wesley, ISBN 0-201-89535-8).

      Kevin DesRues

      -----Original Message-----
      From: Don Wells [mailto:jdonwells@...]
      Sent: 2000, February, 01 1:57 PM
      To: extremeprogramming@egroups.com
      Subject: [extremeprogramming] Re: CRC cards


      From: Michael Mason <mgm@...>
      >I'm new to all of this stuff, but in the XP book several mentions are
      >made of CRC cards. However, the glossary doesn't tell me what these
      >things are. Could anyone enlighten me?

      CRC cards are just cards.  3x5, 5x8 what ever you find to be a good size
      will do.  The idea is that a card can be a physical representation of an
      object.  The importance of CRC cards, in my opinion, is that they activate
      the right hemisphere of your brain.  That is the part of your brain
      responsible for spacial relationships.  Now you may think about your problem
      in terms of objects and their relationships instead of trying to design a
      procedural solution (left hemisphere) using little bits and pieces of code
      that are just too hard to keep track of.

      How you use them varies.  The traditional method is to have one card for
      each class that you are contemplating.  You then role play the classes
      following messages around through the system.  As each message is sent from
      card to card you write down on the cards what message or responsibility a
      card (class) has.  You also write down which other cards (collaborating
      classes) messages are sent to.

      The way I use them is to represent instances of classes with cards as well.
      I sometimes will write the class of the instance on the card, usually just
      the first time I introduce it, then the rest will be blank.  Off to the side
      I might assemble a little class hierarchy so everyone can see it, usually
      not.  I like to use five colors of cards.  One for each major object type in
      my system.  Related objects use the same color.  (If I need more than four I
      need to consider if all those objects are needed.)  I then pick up cards and
      move them about as they communicate with each other.  I stage a little drama
      where the cards are the actors and they move about talking to each other.
      An object which is composed of other objects will have those objects tucked
      under it slightly forming a little group.  To represent objects passing
      objects I take a card and move it from on top of one object to on top of
      another.  I represent a collection of objects by grabbing a little stack of
      cards and laying them on the table.  Etc., etc., etc.

      Don Wells


      ------------------------------------------------------------------------
      To Post a message, send it to:   extremeprogramming@...
      To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@...

      ------------------------------------------------------------------------
      GET A NEXTCARD VISA, in 30 seconds!  Get rates as low as 2.9%
      Intro or 9.9% Fixed APR and no hidden fees.  Apply NOW!
      http://click.egroups.com/1/915/0/_/263270/_/949431751/

      -- Easily schedule meetings and events using the group calendar!
      -- http://www.egroups.com/cal?listname=extremeprogramming&m=1


    Your message has been successfully submitted and would be delivered to recipients shortly.