psc@lznv.ATT.COM (Programmers against Sleepy Computing) (03/17/88)
< If you lined all the news readers up end-to-end, they'd be easier to shoot. > I was reading TO ENGINEER IS HUMAN (Henry Petroski, St. Martin's Press, 1985; ISBN 0-312-80680-9), and came across the following definition of structural engineering from THE STRUCTURAL ENGINEER, "the official journal of the British Institution of Structural Engineers": > Structural engineering is the science and art of designing and > making, with economy and elegance, buildings, bridges, frameworks, > and other similar structures so that they can safely resist the > forces to which they may be subjected. Petroski spends a page and a half admiring the language of this definition. My immediate reaction was to try and reword it: Software engineering is the science and art of designing and making, with economy and elegance, computer programs, so that they can safely fulfill the requirements of their users, and safely resist the errors to which the programs may be subjected. Since the function of a given piece of software is less obvious than the function of a given bridge, I thought it was important to say something about requirements. Note the implication of "appropriate" ["their"] users; a complete novice is not necessarily the appropriate user of AutoCAD, nor is MacPaint the right tool for an experienced professional draftsperson. Comments? -Paul S. R. Chisholm, {ihnp4,cbosgd,allegra,rutgers}!mtune!lznv!psc AT&T Mail !psrchisholm, Internet psc@lznv.att.com Founding member, Programmers against Sleepy Computizzzzzzz
shap@bunker.UUCP (Joseph D. Shapiro) (03/22/88)
In article <1321@lznv.ATT.COM> psc@lznv.ATT.COM (Programmers against Sleepy Computing) writes: >came across the following definition of structural engineering >> Structural engineering is the science and art of designing and >> making, with economy and elegance, buildings, bridges, frameworks, >> and other similar structures so that they can safely resist the >> forces to which they may be subjected. ****** > >My immediate reaction was to try and reword it: >Software engineering is the science and art of designing and making, >with economy and elegance, computer programs, so that they can safely >fulfill the requirements of their users, and safely resist the errors ****** >to which the programs may be subjected. I think "forces" is more applicable than you might at first think. We occassionally do "stress testing" of our software here. This has two purposes: (1) See how many concurrent users still get good response, and (2) See if it breaks under load. I would consider erroneous input just one instance of the forces to which programs are subjected. I would not consider all forces to be errors. -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Joe Shapiro "My other car is a turbo... Bunker Ramo Olivetti too." {decvax,yale,philabs,oliveb}!bunker!shap