Proceedings. 2004 Australian Software Engineering Conference
Download PDF

Abstract

Is software development really a form of engineering? Or is it just some kind of elaborate craftsmanship? Are we just fooling ourselves thinking that we are doing engineering? If so, it is certainly not from lack of trying hard over the last 20 years. But maybe we tackled the problem from the wrong end: we tried to impose techniques from other engineering disciplines onto software development models without understanding the real nature of software. This paper analyzes the similarities and the differences, and pinpoints the key discriminants (lack of fundamental laws, technology churn, no manufacturing stage) that make software endeavours somewhat different than, for example, those in civil or mechanical engineering. We look at a few recent developments that help fill the gaps: iterative development and model-driven design. And we use Frank Gero's Function-Behaviour-Structure frame-work to help us contrast software engineering with other engineering disciplines.
Like what you’re reading?
Already a member?
Get this article FREE with a new membership!

Related Articles