From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.8 required=3.0 tests=BAYES_50 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 31 Mar 92 03:12:26 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!malgudi.oar.net!uoft02.utole do.edu!grx0363@ucbvax.Berkeley.EDU Subject: Object Oriented Design opinion Message-ID: <1992Mar30.221226.6757@uoft02.utoledo.edu> List-Id: 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.