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.