Re: How Do You Plan An OO Project?

  • From: "tribble" <lauraeaves@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Thu, 20 Dec 2007 16:33:46 -0500

Hi Jim and Jamal and all --
When I was working on OO / C++, they had a popular language-independent 
technique for the OO newbies and beyond for designing an OO program from 
scratch.  It was called CRC cards -- now pretty old, but as I remember it 
had some good ideas.  (This was before OO design tools were available.)
CRC i think stood for Classes, Responsibilities and contracts -- or if that 
is inaccurate please let me know.  You would start with a very high level 
document describing in English what you wanted the program to do, and then 
run it through a program to extract all the words in the document, minus the 
common words like "and", "the", and the like.
What you are left with are adjectives/adverbs, nouns and verbs etc.
You then go through the adjectives and determine which ones are likely 
candidates for class names.  The nouns are object names and verbs are 
Now you grab a gunch of index cards and write a class name on each card, and 
determine by some nebulous process how they are related -- both in class 
hierarchy and content.  You then write on each card the member methods and 
somewhere record contracts between classes of what is expected of each 
class, and which classes need to interact with which other classes.
This will result in a huge spec of the program which can then be translated 
into code.
I know of at least 2 books on using CRC cards, one of which I read, but 
honestly I have never used it myself.  Still the thought process seemed 
interesting and plausible.
Anyway, hope that helps.

----- Original Message ----- 
From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, December 20, 2007 3:02 PM
Subject: Re: How Do You Plan An OO Project?

Although some planning is helpful, the philosophy of dynamic languages and
extreme programming with languages like Python is to dive into the coding,
learn as you go along about the problem and users, and quickly adapt to
respond to needs as they arise.  I would advise against spending more than
hour planning before starting the coding of the project you describe.
Actually writing, testing, and debugging code will usually be more
productive than planning in the same period of time.

My two cents.
On Thu,
20 Dec 2007 james.homme@xxxxxxxxxxxx wrote:

> Date: Thu, 20 Dec 2007 11:50:51 -0500
> From: james.homme@xxxxxxxxxxxx
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: How Do You Plan An OO Project?
> Hi,
> I know how to write pseudocode for a procedure program. I had to do that
> when I was learning Cobol. We used things called structure charts. I made 
> a
> text version of my structure charts that was vertical. Then, I'd refer to
> it when I was writing my procedures.
> Let's say I want to make an object oriented version of Tic Tac Toe. I 
> would
> start with getting the rules to the game. Then, to figure out the objects
> my program has and how they would behave, how would I write my plan?
> I have some related questions, but I'd like to save them for another 
> email.
> Thanks.
> Jim
> James D Homme, , Usability Engineering, Highmark Inc.,
> james.homme@xxxxxxxxxxxx, 412-544-1810
> "Never doubt that a thoughtful group of committed citizens can change the
> world.  Indeed, it is the only thing that ever has." -- Margaret Mead
> __________
> View the list's information and change your settings at
View the list's information and change your settings at

View the list's information and change your settings at

Other related posts: