Re: Clean Object Class Design -- What is it?

From: akmal _at_ city <akmal_at_soi.city.ac.uk.nospam>
Date: Mon, 4 Jun 2001 10:59:06 +0000
Message-ID: <Pine.GSO.4.05.10106041044010.272-100000_at_altair.soi.city.ac.uk>


On Sun, 3 Jun 2001, Bob Badour wrote:

Good Morning Bob,

> >I know of metrics aimed at class design. People like Brian
> >Henderson-Sellers to name one (see his book "Object-Oriented Metrics:
> >Measures of Complexity", for example). Others include Ian Graham (he
> >actually started an OO Metrics Club when he was with Swiss Bank some years
> >ago - I went to the first meeting :) ). Their focus though is just on OO
> >and not OODBs in particular. There are lots of other books and sources
> >too, e.g.:
>
> I understand how one can use comparative metrics for things like complexity.
> Is a "clean" design one that minimizes complexity?

I guess complexity is one measure that could be used. But don't be fooled by the title I gave above. The book covers a range of issues associated with OO Metrics and good design. Unfortunately, I read the book quite a while ago and don't have it to hand to refresh my memory.

> If so, how does one
> predict the stationary points in the minimization? We can automate tools to
> calculate metrics. Can we extend them to make cogent recommendations for
> improving metrics?

Yes, people like Henderson-Sellers have had research students develop tools. Since this kind of thing can be easily automated, I see no reason why they could not make recommendations as well. The problem is, as I'm sure you may have guessed, there are lots of experts. I'm also out of my depth here, as OO metrics (for design) is a little out of my area.

>
> The introduction to his bibliography from the link you gave
> (http://dec.bournemouth.ac.uk/ESERG/bibliography.html) even states:
>
> "Its meaning has not been extended to embrace general rules of style or
> principles of design."
>
>
> I really am interested in the principles of design more than anything.

O.K. It is probably a good idea to try and get yourself a book on OOA/D. Try here for some suggestions:

http://ootips.org/

Maybe also see the link "What Makes A Good Object-Oriented Design?": http://ootips.org/ood-principles.html

>
>
> >There are some skilled OODB developers that I have met over the years, who
> >understand some of the issues in designing classes and have developed
> >rules-of-thumb, based upon their experiences. However, I haven't
> >personally come across any techniques/methods, but would be interested as
> >well if anyone has references.
>
> I already understand that the most intelligent and productive programmers
> use better mental heuristics for improving solutions over their less
> productive counterparts. Unfortunately, the majority of programmers are in
> the latter group.
>
> I prefer to have well documented processes and principles to empower the
> less productive. I suspect (quite strongly) that the underlying principles
> in good OO design are the same as the underlying principles in good
> Relational design.

Bob, what kind of underlying priciples are you thinking of?

>
>
> >Off the top of my head, this might be worth
> >a quick look at too:
> >
> >"Object-Oriented Database Design: What is the Difference with Relational
> >Database Design":
> >http://wwwiti.cs.uni-magdeburg.de/~schmitt/Publications/SaaConSch95.html
>
> Just from the abstract, I can already tell that the author falls prey to
> many common misconceptions and fallacies.

Could you please explain?

Cheers,

akmal

[ ---- OOPSLA 2001 Workshop on "Objects, <XML> and Databases" ---- ] [ http://www.comp.lancs.ac.uk/computing/users/marash/oopsla2001ws/ ] Received on Mon Jun 04 2001 - 12:59:06 CEST

Original text of this message