Overview


Both personal productivity and enterprise server software are routinely shipped to their users with defects, called bugs from the early days of computing. This error rate and its consequent failures in operation would not be tolerated for any manufactured or "hardware" product sold today. But software is not a manufactured product in the same sense as a mechanical device or household appliance, even a desktop computer. Since programming began as an intellectual and economic activity with the ENIAC in 1946, a great deal of attention has been given to making software programs as reliable as the computer hardware they run on. Unlike most manufactured goods, software undergoes continual redesign and upgrading in practice because the system component adapts the general-purpose computer to its varied and often-changing, special-purpose applications. As needs change, so must the software programs that were designed to meet them. A large body of technology has developed over the past 50 years to make software more reliable and hence trustworthy. This introductory chapter reviews the leading models for software development and proposes a robust software development model based on the best practices of the past, while incorporating the promise of more recent programming technology. The Robust Software Development Model (RSDM) recognizes that although software is designed and "engineered," it is not manufactured in the usual sense of that word. Furthermore, it recognizes an even stronger need in software development to address quality problems upstream, because that is where almost all software defects are introduced. Design for Trustworthy Software (DFTS) addresses the challenges of producing trustworthy software using a combination of the iterative Robust Software Development Model, Software Design Optimization Engineering, and Object-Oriented Design Technology.

Chapter Outline

  • Software Development: The Need for a New Paradigm

  • Software Development Strategies and Life-Cycle Models

  • Software Process Improvement

  • ADR Method

  • Seven Components of the Robust Software Development Process

  • Robust Software Development Model

  • Key Points

  • Additional Resources

  • Internet Exercises

  • Review Questions

  • Discussion Questions and Projects

  • Endnotes




Design for Trustworthy Software. Tools, Techniques, and Methodology of Developing Robust Software
Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software
ISBN: 0131872508
EAN: 2147483647
Year: 2006
Pages: 394

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net