comp.lang.ada
 help / color / mirror / Atom feed
From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!malgudi.oar.net!uoft02.utole
Subject: Object Oriented Design opinion
Date: 31 Mar 92 03:12:26 GMT	[thread overview]
Message-ID: <1992Mar30.221226.6757@uoft02.utoledo.edu> (raw)

the problem with object oriented design on big projects is that 
the decision to use OOD comes from upper level managers for
political reasons. some high level guy glances through a software
engineering magazine and sees this new term and the next day its
corporate policy!!!

i am a believer in loosely based OOD programs. in other words, there
are times when breaking down part of a program into objects is neat,
clean, easy to understand, easy to maintain, etc.  Also, in the same
program there are parts that should be broken down into their functional
representations because that's the best way to do things. the software
engineer should be left to his or her own best professional judgement
as to which is appropriate at the time.

the problem is that these upper level managers get it in their craw
that the program will be done 100% OOD...nomatter what happens! these
managers appoint some power hungry middle manager-tyrant to oversee
the coders and make sure they are following the letter of the law...not
the spirit of the law. these middle managers usually know next to 
nothing about programming, let alone coding in Ada!!! the end result
is _ALWAYS_ an unmaintainable, unworking monstrosity...the the funny
thing is that EVERYBODY involved in the project KNOWS its garbage, but
nobody will admit it since its not the politically correct thing to do
at the company.

a great joke to play is to ask at a meeting of a bunch of managers for
these managers to DEFINE what is meant by an "object". you'll find that
nobody has the same definition. in fact, i'll bet that no two people on
the planet earth have the same interpretation of what an object is.

another complaint i have with OOD is exactly how fine do you break an
object down??? i believe you break an object down to the level that it
is most efficient, easy to understand, easy to maintain, etc. in other
words, excercise a little common sense. i've had managers dictate that
an object should be broken down to the smallest possible component
(in our case it was an aircraft). so we were breaking a 747 size
airplane down into nuts, bolts, valves, fuses, etc. obviously this code was
gonna be big and slow....but even worse than the performance issues is that
most software engineers have no idea in hell about how a valve actually
works or a fuse, or a pump.... I mean, sure, everybody knows kind of how
they work, but when forced to represent them using OOD, then you'd better
know EXACTLY how they work...whereas stopping at a system level, such 
as hydraulics or electrical, a software engineer can represent the object 
just by reading and understanding the flight manual....which is really
what the spirit of OOD is all about. 

oh well, i've vented enough ire. hope i haven't offendend any of you
die hard OOD fans out there who probably really know what you're doing.
it's just that OOD doesn't mix well with corporate politics or stupidity.


dkw.

             reply	other threads:[~1992-03-31  3:12 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-03-31  3:12 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!malgudi.oar.net!uoft02.utole [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-04-01  7:04 Object Oriented Design opinion cis.ohio-state.edu!zaphod.mps.ohio-state.edu!menudo.uh.edu!cl2.cl.uh.edu!
replies disabled

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