home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / software / 2977 < prev    next >
Encoding:
Internet Message Format  |  1992-07-27  |  2.7 KB

  1. Path: sparky!uunet!mcsun!corton!cenaath.cena.dgac.fr!geant!vutien
  2. From: vutien@cenatls.cena.dgac.fr (Vu Tien)
  3. Newsgroups: comp.software-eng
  4. Subject: Re: The origin of 'software-eng'
  5. Message-ID: <1992Jul28.083803.20910@cenatls.cena.dgac.fr>
  6. Date: 28 Jul 92 08:38:03 GMT
  7. Sender: news@cenatls.cena.dgac.fr
  8. Organization: Centre d'Etudes de la Navigation Aerienne
  9. Lines: 48
  10. Originator: vutien@coque
  11.  
  12.  
  13. For me, the process of software engineering is (ideally) something similar to 
  14. algebra manipulation in mechanical engineering, before committing to real production.
  15. What I mean is that, *ideally* :
  16.  
  17. 1) we start with some logic predicates that describes what the system properties are,
  18.    along with properties that the outside world provides,
  19.  
  20. 2) we develop the predicates, or factorise them, or simplifies some in the process.
  21.    If there is some difficulties in solving, we may add some restrictions, as in
  22.    algebra.
  23.    
  24.    The way each engineer factorises, develops terms, depends on the goal that is seeked, 
  25.    again as in algebra. What makes a good design, a bad design, or a transcendantal
  26.    design, lays in how the terms are grouped. A good designer may not be a good inventor,
  27.    by analogy, some theorems proven by Karl Friedrich Gauss (the king of maths) were
  28.    quite botched up when proven, and later some body found a more elegant way to 
  29.    prove them again.
  30.  
  31.    The way terms are grouped and developed may also facilite reuse.
  32.  
  33. 3) the ultimate goal of design is that the final step of the logical equations are
  34.    ready for programming. By analogy, when the details of maths of a structure are
  35.    known, then we can build a diesel engine, a turbine, a jet plane, etc..
  36.  
  37. Now all this is for an ideal world, because :
  38.  
  39. a) software is *very* complex, not at all like Copper Mining (cf SEI maturity model
  40.     talks) and developing a problem may reveal itself an NP tesk, taking years 
  41.    and centuries of CPU time for designing large systems,
  42. b) the incompletude theorem of Goedel says that it is impossible to prove a set of
  43.    axioms inside its own frame. We need external asssertions. So human common sense is
  44.    still needed.
  45.  
  46. However The closer we got to that ideal, the better.
  47.  
  48. To conclude, the French word "logiciel" (logics) for software may have influenced me,
  49. but I believe that the software industry has tried too much to align itself to a 
  50. factory model, while software is more a design process that a production process.
  51. This means that we need to investigate a software model similar to mathematical
  52. development.
  53.  
  54. Smiley : Don't be scared of the word mathematical. All other engineering trades use it :
  55. hydodynamics, physics, micro-electronics, bio-chemistry, so why don't we ?
  56.  
  57. ---
  58. vutien@cenatls.cena.dgac.fr
  59. vutien@capsogeti.fr
  60.