comp.lang.ada
 help / color / mirror / Atom feed
* Re: INFO-ADA Digest - 3 Dec 1996 to 4 Dec 1996 - Special issue
@ 1996-12-05  0:00 Adrian B.Y. Hoe
  0 siblings, 0 replies; only message in thread
From: Adrian B.Y. Hoe @ 1996-12-05  0:00 UTC (permalink / raw)



On Wed, 4 Dec 1996 10:56:47 -0600, "Automatic digest processor"
 <LISTSERV@LISTSERV.NODAK.EDU> wrote:
>
> Date:    Wed, 4 Dec 1996 02:29:17 GMT
> From:    Harry Protoolis <harry@MATILDA.ALT.NET.AU>
> Subject: Re: What is wrong with OO ?
>
> On Tue, 03 Dec 1996 17:38:37 +0000, Ahmed <ACQ95AA@shef.ac.uk> wrote:
> >Hello Every Body
> >
> >I am a new  research student working at the field of Object Oriented
> Technology.
> > ..I have several
> >critical opinions about Object Oriented in general, and I like to participate
> it
> >  with you and hear
> >you expert comments and opinions
> >
> >Object Oriented Technology came with quite promising claims that if achieved
> can
> >  benefit the software
> >development companies and organisations millions of pounds.
> >
> >Some of these claims for instance
> >1 - high reusability of objects and frameworks
> >2 - Resilience to change, i.e. low software maintenance and evolution cost
> >3 - Easier understanding by the user and Natural transition between the
> analysis
> > , design,
> >implementation because they all use tangible perceived objects.
> >
> >However the reality is not so bright as claimed..if so, then nobody today
> though
> > t to  develop a
> >software on the traditional structural methods...
> >
> >My question is what is wrong with OO ? why it did not achieved its targets
> yet.?
> >What are the main obstacles?
>
> I think this is overly negative, OO has not been and never will be a
> 'silver bullet' to solve all software development problems, but no-one
> but a few spin doctors ever claimed it would be.
>
> However, the real question should be 'has OO made a significant positive
> difference', and in my experience the answer is a resounding 'yes!'.
>
> I have been a professional software engineer for 10 years now, the first
> half of which was spent fighting against traditional structured
> techinques, it was only despite them I was able to get anything
> finished.
>
> The traditional techniques all suffered from a number of significant
> flaws. Perhaps the most damaging one was what I (rather unkindly) think
> of as 'The glorification of idiots' phenomenon. What I mean by this is
> that projects were typically infested by a group of people who never
> wrote any software, but spent most of the budget drawing diagrams that
> the implementors never used.
>
> The main contribution of OO has been was could be termed 'The
> glorification on the implementor'. This has been achieved by the
> effective marriage of Analysis, Design and Implementation. The result
> is that every member of the team does all three of the key tasks.
>
> In fact IMHO an OO team has no place for anyone who cannot do all
> three tasks. Jim Coplein wrote an excellent pattern called
> 'Architect also Implements' which covers very nicely the reasoning
> behind not allowing non-implementors to design systems.
>
> Certainly the mecca of automatic reuse has not been achieved, but the
> quantity and quality of 3rd party components available for most OO
> languages already exceeds that available for their non-OO counterparts,
> and IHMO this suggests a bright future.
>
> Certainly OO has not made writing software trivial or automatic, but
> then, *nothing ever will*.
>
> Cheers,
> Harry
> -
> alt.computer pty ltd                    software development consultants
>


OO? It seems like taking a look at Picasso's after having a look at modern
arts. It sounds like listening to pop/rock after listening to classical.

No doubt at all, the three claims you have mentioned are true. So true that
certain group of people believe in it and benefit from it and certain
group of people is still resisting it.

I came from the structural world. Two books have influenced me and taught in
OO. One is Object-Oriented Analysis and Design by G. Booch and the other
one is Object-Oriented Modelling and Design by J. Rumbough and his fellows.

Many people is still designing their software in structural manner. They
have been taught to think straight and doing things in systematical way as
computers do. Understanding and applying OO need a different approach. People
have to think and response in abstract. Yes, Rumbough mentioned this in his
book.

Let's take a look at a very simple example, compute overtime wages for a
staff from equation

        OT$ = (OT_Start - OT_End) * OT_Rate * x

        where OT_Rate = Monthly_Rate / 22 / 8
                    x = Positive integer from 1..3 depending on the calender
                        day. Normal working day is 1, week end is 2 and
                        public holiday is 3.

This is the first problem I had when trying to show to my other team member
to reengineer our payroll system using OO methods. For a structural approach,

        Step 1 - Compute OT duration = OT_Start - OT_End
        Step 2 - Compute OT_Rate = Monthly_Rate / 22 / 8
        Step 3 - Look up in the calender or predefine table to determine
                 value x
        Step 4 - Compute OT$

True, but let's take a closer look in abstract way. From the analysis,
the payroll must be able to compute OT$ for different department which has
different OT_Rate and value x and perhaps OT_Duration. Different company,
different department, different OT_Rate and x are essentially different
object.

We can classify OT_Rate, OT Duration, and x into different objects. By
doing so, we created base classes for each of them. We can reuse or harvest
the flexibility by inherit from the base class. Therefore, we can have OT
packages for different department and different company. As we understand
in the real world, no one department or company has identical calculation.

The major obstacle is the transition from one practice to another. It is
like religion. One is too deep believing in, it is quite hard to change
one's mind.

As Rumbough implied in his book, OO should start from analysis to design
not implementation. It took me more than a month to explain and demonstrate
the methods and techniques and its power behind OO.

Nothing is wrong with OO. Something is wrong with people thinking.

I hope my 2cents worth is not silly. ;-) Any comments?


--------------------------------------------------------------------------
Democracy, Capitalism, Socialism, Communism, have nothing wrong, only the
spelling and idealogies behind them and the people who believe in them.
--------------------------------------------------------------------------
I speak for myself!






--

B.Y.




>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Adrian, B.Y. Hoe   VP, Business Development   Email : byHoe@quantum.pc.my

                                     \/       Lexical Integration (M) Sdn Bhd
                                   \/  \/     13-B Jln Pandan Indah 4/2
                                 \/  \/  \/   Pandan Indah
                                   \/  \/     55100 Kuala Lumpur
                                     \/       Malaysia

                                              Tel   : +60 3 495 4048
                                              Fax   : +60 3 495 4037
                                              Email : system@quantum.pc.my
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
                                              member of Team-Ada in Malaysia




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1996-12-05  0:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-12-05  0:00 INFO-ADA Digest - 3 Dec 1996 to 4 Dec 1996 - Special issue Adrian B.Y. Hoe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox