Author:
Neal Snooke
Affiliation:
Aberystwyth University, United Kingdom
Keyword(s):
Software engineering, Model-driven engineering, Reliability, Failure modes and effects analysis, Verification.
Related
Ontology
Subjects/Areas/Topics:
Cross-Feeding between Data and Software Engineering
;
Embedded Communications Systems
;
Model-Driven Engineering
;
Requirements Elicitation and Specification
;
Software Architectures
;
Software Engineering
;
Software Engineering Methods and Techniques
;
Software Testing and Maintenance
;
Telecommunications
Abstract:
This paper argues that software engineering should not overlook the lessons learned by other engineering disciplines with longer established histories. As software engineering evolves it should focus not only on application functionality but also on mature engineering concepts such as reliability, dependability, safety, failure mode analysis, and maintenance. Software is rapidly approaching the level of maturity that other disciplines have already encountered where it is not merely enough to be able to make it work (sometimes), but we must be able to objectively assess quality, determine how and when it can fail and mitigate risk as necessary. The tools to support these tasks are in general not integrated into the design and implementation stages as they are for other engineering disciplines although recent techniques in software development have the potential to allow new types of analysis to be developed and integrated so that software justify its claim to be engineered. Currently
software development relies primarily on development processes and testing to achieve these aims; but neither of these provide the hard design and product analysis that engineers find essential in other disciplines. This paper considers how software can learn from other engineering analyses and investigates failure modes and effects analysis as an example.
(More)