June 12, 2005
June 12, 2005
June 15, 2005
10.212.1 - 10.212.7
Applying FMEA to Software Rick Homkes, Donna Evanecky, Henry Kraebber Purdue University College of Technology
Failure Mode and Effect Analysis (FMEA) is a well-known industry technique for improving the reliability, quality and safety of products and processes. It “can be described as a systematic group of activities intended to: (a) recognize and evaluate the potential failure of a product/process and the effects of that failure, (b) identify actions that could eliminate or reduce the chance of the potential failure occurring, and (c) document the entire process.”1
The focus of FMEA is on the design of products and processes. FMEA provides designers with a formal process and “disciplined techniques to identify and minimize the impact of design concerns.”1 It is intended to be used early in the development process, not after problems have become evident. The FMEA procedure utilizes cross-functional teams with open discussion and communications. Effective preventative and corrective actions based on the FMEA findings are essential, and can be very valuable. FMEA studies without proper action on the findings and recommendations will produce little value.
FMEA, however, has generally not been applied to software. As we continue to move to ubiquitous computing, however, software will be more completely integrated into products that consumers use every day. This increase in the use of embedded systems is also matched by the increase in their importance. The effects of some form of failure to the average consumer have thus gone from inconvenience or economic harm to actual injury or death. This means that FMEA, along with other techniques such as Preliminary Hazard Analysis (PHA), Reliability Block Diagrams (RBD), and Fault Tree Analysis (FTA), need to be an integral part of design, development, manufacturing, and maintenance. These techniques should apply not just to individual products, but also to complete systems. In other words, these techniques should not be used with only the hardware of an Antilock Braking System (ABS) controller, but also to the ABS software, the entire braking system and the entire vehicle. This paper starts by making an overview of PHA, RBD, FTA, and FMEA. It then investigates how these methods could be incorporated into the courses that cover programming and software engineering.
Review of Quality / Reliability / Safety Techniques
Quality assurance requirements and techniques have been with us for some time. Even Hammurabi’s Code of Law from 1750 BCE has mention of several basic quality assurance programs. These include the corrections in the manufacturing process “If a builder build a house for some one, even though he has not yet completed it; if then the walls seem toppling, the builder must make the walls solid from his own means;” in the failure of a product “If a builder build a house for some one, and does not construct it properly, and the house which he built fall in and kill its owner, then that builder shall be put to death;” and an early type of product
Proceedings of the 2005 American Society for Engineering Education Annual Conference & Exposition Copyright © 2005, American Society for Engineering Education
Homkes, R., & Kraebber, H., & Evanecky, D. (2005, June), Applying Fmea To Software Paper presented at 2005 Annual Conference, Portland, Oregon. https://peer.asee.org/14815
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2005 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015