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, LOTS_OF_MONEY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,e01bd86884246855 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,fb1663c3ca80b502 X-Google-Attributes: gid103376,public From: "Bob Allen" Subject: Re: Interresting thread in comp.lang.eiffel Date: 2000/07/13 Message-ID: <#utiFKO7$GA.280@cpmsnbbsa09>#1/1 X-Deja-AN: 645947019 References: <8ipvnj$inc$1@wanadoo.fr> <8j67p8$afd$1@nnrp1.deja.com> <395886DA.CCE008D2@deepthought.com.au> <3958B07B.18A5BB8C@acm.com> <395A0ECA.940560D1@acm.com> <8jd4bb$na7$1@toralf.uib.no> <8jfabb$1d8$1@nnrp1.deja.com> <8jhq0m$30u5$1@toralf.uib.no> <8jt4j7$19hpk$1@ID-9852.news.cis.dfn.de> <3963CDDE.3E8FB644@earthlink.net> <3963DEBF.79C40BF1@eiffel.com> <2LS85.6100$7%3.493920@news.flash.net> <8k5aru$1odtq$1@ID-9852.news.cis.dfn.de> <8k8pk2$20cab$1@ID-9852.news.cis.dfn.de> <_dS95.9945$7%3.666180@news.flash.net> <#flPTbB7$GA.367@cpmsnbbsa07> X-Priority: 3 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 X-MSMail-Priority: Normal Newsgroups: comp.lang.ada,comp.lang.eiffel Date: 2000-07-13T00:00:00+00:00 List-Id: Ken Garlington wrote in message news:Yx7b5.13181$7%3.916718@news.flash.net... > "Bob Allen" wrote in message > news:#flPTbB7$GA.367@cpmsnbbsa07... > > The same applies when you go to build a system based in part or in whole > of > > existing components. > > You look at the contract that the components offer and decide if the terms > > are acceptable. > > This is (potentially) true if you are buying software components. However, > the contractor for Ariane 5 was not buying software components. That's why > this model falls apart for Ariane 5. > The Ariane 5 project "bought" software components from Ariane 4 without knowing exactly what they were getting. The same applies if the components are one you developed for another project. DBC provides a basis for others in your group to use and understand what you have developed. Moreover years later when CRS kicks in, you have a written semi-formal document that defines exactly how a particular class is going to behave. Once again, there is nothing magic about DBC, effort still needs to be applied to formulate contracts. The benefits come by reducing postmortem testing, ability to reuse components with confidence, and consistent documentation of your system. If DBC is not a valid method to creating robust reusable software components, then what is. I have used many approaches with varying degrees of success and find that DBC provides the most stable framework for software development. Currently I do not have the pleasure of implementing systems using Eiffel, I have to use C, C++, Java, JavaScript. But I do use Eiffel constructs in my analysis and my implementation. You can implement inheritance with C Structs. You just have to take on the tedious tasks for enforcing encapsulation. The Methods/tools I have developed systems professionally using include: EBV Software Engineering Object-Oriented Requirements Analysis for Ada Booch, when he still used blobs Rebecca Wirfs-Brock - Responsibility Driven Design OMT Fusion DBC with BON. Types of systems developped include: Real-Time embeded application for OS-9 Systems as small as PIC applications written in assembly Distributed applications involving real time collection of data from across the US. ATM terminal software running on a VeriFone Omni490/1450. Remote management software to access the ATM from a PC Global Order Management System for VPNss, current assignment with AT&T. Data collection and analysis systems for the US Air Force Platforms include: VME based Single Board Computers running OS-9 Various Unix platforms PC platforms from DOS 3.1 through NT 4.0. Mainframe systems(IBM, Sperry, Honneywell) Vax Single chip computers(PIC, MOT 68hc11,680x0) For me DBC works, but requires thought and planning. Please share with us your secret for spontaneous development of Reliable Reusable components. Bob Allen Bob's Weekend Wonders Training and Consulting Land O Lakes, FL