home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.software-eng
- Path: sparky!uunet!mcsun!Germany.EU.net!rrz.uni-koeln.de!unidui!math.fu-berlin.de!Sirius.dfn.de!darwin.sura.net!max.fiu.edu!serss0!feathers
- From: feathers@serss0 (Michael Feathers)
- Subject: What is Software Design?
- Organization: Florida International University, Miami
- Date: Sun, 13 Dec 1992 17:30:30 GMT
- Message-ID: <Bz7KMv.M5z@fiu.edu>
- Sender: news@fiu.edu (Usenet Administrator)
- Lines: 37
-
-
- I've just finished reading an article in the latest edition of _The C++
- Journal_. The article is named _What is Software Design_ and it was
- authored by Jack Reeves.
-
- The ideas that he presents confirmed my suspicions about some of the problems
- that we currently have in software engineering. I whole-heartedly suggest
- that anyone who can find the article do so and read it.
-
- Here are some of the key points as I read them:
-
- -There are some key differences between developing hardware and developing
- software.
- -After hardware is designed, it is produced. The cost of production is
- often in excess of the cost of design.
- -For a meaningful parallel between hardware and software development to
- exist, the coding of software should be considered part of the design process.
- -Software is produced through the process of compiling and linking. This is
- a rather low cost in comparision with the cost of design.
- -Engineering designs must be complete so that production can be carried out
- successfully.
- -The only document developed when software is designed that can be considered
- this complete is the source code.
- -Testing and debugging are part of the design process. "they are the software
- equivalent of the design validation and refinement processes of other
- engineering disciplines."
- -"There are other design activities - call them top level design, module
- design... A good software design process recognizes this and deliberately
- includes these steps."
-
- All of these are basically changes in perception. However, one consequence
- of this change would be the recognition that coding as early in the process
- as possible is useful. But this should be no surpise to us, given the shifts
- that we are seeing toward rapid prototyping and the like.
-
- Comments?
-
-