Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!mailrus!ames!eos!eugene
From: eugene@eos.UUCP (Eugene Miya)
Newsgroups: comp.software-eng
Subject: Re: Information Systems is an Engineering Discipline
Message-ID: <5296@eos.UUCP>
Date: 30 Sep 89 00:20:26 GMT
References: <1142@svx.SV.DG.COM> <34399@regenmeister.uucp>
Reply-To: eugene@eos.UUCP (Eugene Miya)
Distribution: comp.edu
Organization: NASA Ames Research Center, Calif.
Lines: 50

>DESIGN

Noble words, wish I could agree.

The problem is (best noted by Butler Lampson and Fred Brooks in various
articles and one book) is that software is an intrinsically different
thing that "hardware."  The hardware people make mistakes (so you get cries
for certification).  The software people try to mimic with design and
documentation.  I don't think these will ever be enough.

I say this because I contrast the pre-computer parts of my
pre-engineering: things like mechanical drawing, etc. to the computer parts.
I can remember one teacher saying, "It's not adequate just to design
and something.  You have to know and be able to construct it as well."
This of course lead to those drawings E shaped forms which have n roots
and n-1 spokes, something Escher would design: optical illusions.

In software on two flight projects, I've used 2 design languages and 1
requirements specification language (SDDL, PDL, and RSL/RSA).  I think
the people who use and design some of this stuff are dreaming.  Language
is kinda of a poor basis for modeling things.  Real world hardware can utilize
geometric and mathematics.    It follows conservation principles.  Software
doesn't have any of this, and it still has to work.  We will have a computer
literate public before we have design languages which "work."

The thing which disturbs me so much about software engineering education is
the emphasis on software project managerment.  It's all taught late in a
programmer's life.  If design languages and
specification languages were so good, we should be able to have little
kids using them:  they use geometry at a very early age, and can be
good draftsman at a young age.  I know the objections to this, but I think
it has to be that simple to use these tools.  The need for software isn't
set by programmers and engineers for these types of projects.  Engineers
design the best tools for themselves BECAUSE they have to use them.  It's
also an iterative thing.  Said managers and other politicians, etc.
who ask for big software projects have to learn to understand the consequences
of their requests, the side-effects, etc.  Life's tough, computers aren't
going to resolve moral issues.

If engineers are going to get criticized for being engineers, this is part
of the reason why.  No simple answers.

Another gross generalization from

--eugene miya, NASA Ames Research Center, eugene@aurora.arc.nasa.gov
  resident cynic at the Rock of Ages Home for Retired Hackers:
  "You trust the `reply' command with all those different mailers out there?"
  "If my mail does not reach you, please accept my apology."
  {ncar,decwrl,hplabs,uunet}!ames!eugene
  				Live free or die.