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.
|Publication status||Published - 04 Aug 2010|
|Event||5th International Conference on Software and Data Technologies (ICSOFT) - , Greece|
Duration: 22 Jul 2010 → 24 Jul 2010
|Conference||5th International Conference on Software and Data Technologies (ICSOFT)|
|Period||22 Jul 2010 → 24 Jul 2010|