Re: How Do You Plan An OO Project?

  • From: "Bob J." <rjustice004@xxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Thu, 20 Dec 2007 19:42:13 -0800

Hello Jim,

I'm curious.  Would your tic tac toe game be for one player against the
computer or simply for two players against each other?  What objects do you
envision for the game you are considering?

Thanks,

Bob


----- Original Message ----- 
From: "tribble" <lauraeaves@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx>
Sent: Thursday, December 20, 2007 1:33 PM
Subject: Re: How Do You Plan An OO Project?


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
methods.
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.
--le




----- 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.
Jamal
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
> //www.freelists.org/list/programmingblind
>
__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at
//www.freelists.org/list/programmingblind

__________
View the list's information and change your settings at 
//www.freelists.org/list/programmingblind

Other related posts: