From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public From: Frederick Sickert Subject: Re: What is wrong with OO ? Date: 1996/12/12 Message-ID: <32B0C70E.614E@newmedia.kri.com>#1/1 X-Deja-AN: 203832536 references: <5883q1$oae@news3.digex.net> content-type: text/plain; charset=us-ascii organization: Knight Ridder New Media Center mime-version: 1.0 newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng x-mailer: Mozilla 3.01 (X11; I; SunOS 5.5 sun4m) Date: 1996-12-12T00:00:00+00:00 List-Id: Robert C. Martin wrote: > > In article , harry@alt.net.au wrote: > > > On 6 Dec 1996 03:26:57 GMT, Ell wrote: > > >Richie Bielak (richieb@calfp.com) wrote: > > > > > >The point as far as I'm concerned is that an architecture should guide > > >_all_ coding. That is even if the initial architecture is later modified, > > >or later scrapped. > > > > Despite being a 'self centered hacker' (I like that title :-)) I > > actually agree with you Elliot. You should at least sketch your > > architecture out after your analysis is complete, (where analysis == > > primary use cases), and design to it. > > Actually, I prefer to do much more than just "sketch it out", the architecture > should be very well defined, and very detailed. However, I also prefer to > begin producing the architecture well before all the analysis is complete. > And I prefer producing code that is conformant to the architecture - and the > analysis - long before the architecture is complete. > > In other words, I like to do them all concurrently. > > This doesn't mean that I *ever* code something that is not designed. > It also doesn't mean that I design something that has not been analyzed. > It's just that I don't wait for *all* the analysis to be completed before > I begin on designing the architecture. And I don't wait for the complete > architecture before I begin on the code. > > -- > Robert C. Martin | Design Consulting | Training courses offered: > Object Mentor | rmartin@oma.com | Object Oriented Design > 14619 N Somerset Cr | Tel: (847) 918-1004 | C++ > Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com > > "One of the great commandments of science is: > 'Mistrust arguments from authority.'" -- Carl Sagan I think Jacobsen's book, Object Oriented Software Engineering, outlines a very useful approach. He looks at the Analysis, Design and Implementation phases as building models. The analysis model is closest to the problem domain. The implementation model is the code, and so is heavily dependent on the implementation environment, and the design model bridges the two. Each model evolves. Each model can be worked on independantly. There is no requirement that one model be completed before working on the others, just that the models should be reconciled eventually.