Fog Creek Software
Discussion Board




OOAnalysis and OODesign

How we would design OO? 
How would we document an OODesign?

Dan
Friday, July 16, 2004

We know your real name is Sanjeeb.

Dave
Friday, July 16, 2004

Forget about OO, it's a passing fad.

Lance Boyle
Friday, July 16, 2004

We wouldn't

name withheld out of cowardice
Friday, July 16, 2004

Quit stealing our fucking...


oh the hell with you.

muppet
Friday, July 16, 2004

OO is the equivalent of MS Bob

Steve Jones (UK)
Friday, July 16, 2004

Hey Dan!

Just ignore these folks here.

There is a nice tutorial on OOP at  http://madebymonkeys.net/ The maintainer is a very nice fellow and he will surely help you with your learning, especially if you really are Sanjeeb (I know. It's Sanjeev. But hey! What do _they_ know!)

Just create an account and post questions to the forum. You could also correspond with Gonzo, Kermit or Miss Piggy. They are known to be great Software Programmers, who do not give a damn about the old ways. But do make sure to thank them. They happen to be just a tad touchy. Ta.


Friday, July 16, 2004

har har

Sadly, unsolicited registrations will find it impossible to post on that particular forum.

muppet
Friday, July 16, 2004

I am not Sanjeeb or Sanjeev, but anyway thank you guys.

Dan
Friday, July 16, 2004

Babu?

C. McGee
Friday, July 16, 2004

Abu?

Wisea**
Friday, July 16, 2004

Thank you!  Come again!

muppet
Friday, July 16, 2004

Can I have another?

Steve Jones (UK)
Friday, July 16, 2004

The first few steps of an OOA/OOD are the same as any other product generation process.

1.  Gather requirements.  What problem does the user need solved?  What attributes do they consider important?

2.  Design how your system is going to meet those needs.  Generate scenarios of how your user will interact with the system (aka 'Use Cases', or 'CRC Cards').

3.  So far, we have been generating mostly text descriptions.  Now, we can apply some OO approaches.  What we want to do is use the scenarios to identify what the logical objects of the system should be, and what functions (methods) each one needs to provide. 

There are several ways to do this, each with different adherents with mild or rabid opinions about how good or fitting their way is -- and how stupid, pointless, or 'NOT OO' other people's ways are.

In OOAnalysis, the product is one or more class diagrams of the existing 'objects' and what they do, including one or more sequence diagrams explaining when they do it.

4.  In OODesign, the product is again one or more class diagrams, but this time they are a re-design or re-partitioning of the functionality of the Analysis into a 'better' OO layout.  (The standards of 'better' also have various adherents.  I prefer Classes with a few (10 or less) interface methods, simple communication paths to other classes, a 'service'-based function partitioning when useful.  I try to make sure I'm not using the 'spider' anti-pattern, where a 'master' class in the middle simply uses 'slave' classes in the arms for data I/O. )

Even with all the books I've read on OOA/OOD, Patterns, UML, RUP, etc, I still get lots of static from others on what makes a good Class partitioning.

Note there once was 'supposed' to be a logical design (the 'ideal' case) and a 'packaged' design (the one to be implemented in code).  With UML's most recent focus on 'code from pictures', perhaps the 'packaged' design will BECOME the logical design.

AllanL5
Friday, July 16, 2004

Read Bertrand Meyer's Object Oriented Software Construction.

oo zealot
Saturday, July 17, 2004

Thank you for your response.

Dan
Saturday, July 17, 2004

AllanL5,

Nice post but there is no such thing as OO Analysis. Requirements analysis is not an object-oriented phenomenon!

Including "object-oriented features" in the requirements process does not change simple Analysis into OO Analysis.


Saturday, July 17, 2004

But, but, but -- it's CALLED OOA/OOD.  Analysis is in the title!  How can there not be anything called Object Oriented Analysis?

Oh -- I get it.  You were just providing me with yet another instance of how even my simplist OOA/OOD explanations step on SOMEBODIES toes. 

Good one.

AllanL5
Saturday, July 17, 2004

*  Recent Topics

*  Fog Creek Home