home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!munnari.oz.au!ariel.ucs.unimelb.EDU.AU!ucsvc.ucs.unimelb.edu.au!lugb!latcs1!amdahl1.lat.oz.au!baragry
- Newsgroups: comp.software-eng
- Subject: Re: What is Software Design?
- Message-ID: <1992Dec15.013037.6513@latcs1.lat.oz.au>
- From: baragry@amdahl1.lat.oz.au (Jason Baragry)
- Date: Tue, 15 Dec 1992 01:30:37 GMT
- Sender: news@latcs1.lat.oz.au (news)
- References: <Bz7KMv.M5z@fiu.edu>
- Organization: Comp Sci, La Trobe Uni, Australia
- Nntp-Posting-Host: amdahl1.lat.oz.au
- Lines: 81
-
- In article <Bz7KMv.M5z@fiu.edu>, feathers@serss0 (Michael Feathers) writes:
- |>
- |> 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.
-
- There is a while heap of related articles which have been published,
- the problem is being able to locate them! I haven't read the article you mention
- but I would bet that I have "read it" with a different title by a different
- author, published in a different journal. Everyone talks about the same thing
- but not to many people do anything about it.
-
- |>
- |> Here are some of the key points as I read them:
- |>
- |> -There are some key differences between developing hardware and developing
- |> software.
-
- There was a big discussion about this a while ago on this newsgroup.
- If you want so summary I'd be happy to send it to you.
-
- |> -After hardware is designed, it is produced. The cost of production is
- |> often in excess of the cost of design.
-
- As Brad Cox would gladly point out, this is mainly because you have to
- purchase the components. You can't simply electronically copy them.
-
- |> -For a meaningful parallel between hardware and software development to
- |> exist, the coding of software should be considered part of the design process.
- [...]
- |> -Engineering designs must be complete so that production can be carried out
- |> successfully.
-
- I believe one of the major differences is that when you design an
- engineering system, your final design actually represents the implementation
- because the objects depicted in the design are actually members of the
- implementation medium. The traditional design process used in software
- development, does not finish with a representation of the implementation.
- People I have talked with (programmers) then argue that if we did
- that for software our diagrams would be to complex because our implementation
- medium is the programming language.
- This is then the point where we have to look at our view of
- implementation medium. Should it be the programming language level ? I agree
- with the article in IEEE Software (Nov 90) by Brad Cox, which discusses
- objectifying software modules. This is the type of implementation medium I
- believe we should be looking at. Modules with a defined functionality, which
- may be implemented in any way (OO, proceduraly, rules, etc) but can be
- "fitted together" to construct a design which represents the implementation.
-
- I am currently working on a design method which would support such
- ideas (but it is still relatively earrly).
-
- [other points deleted].
-
- |>
- |> 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?
- |>
-
- I can see what you are saying, but I think it means generating components in the
- design which are represented by the implementation medium. Instead, of moving
- code further up the design process I think it means using high-level
- components with predefined functionality which can be implemented by a piece
- of previously implemented code.
-
- Jason.
- -------------------------------------------------------------------------------
- Jason Baragry. | Amdahl Australian Intelligent
- Dept Comp. Sci. & Comp. Eng., | Tools Program
- La Trobe University., | baragry@latcs1.lat.oz.au
- Bundoora. 3083. | Phone: +61 3 479 1477
- Australia. | Fax: +61 3 470 4915
- --------------------------------------------------------------------------------
-