Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software

Computer programming development has long been stretched between two conflicting goals: improved productivity in terms of lower costs and reduced development time, and greater product reliability and thus software trustworthiness. Object-oriented analysis, design, and programming (OOADP) technology promises to resolve this tension and meet both goals by building software products in sophisticated program development environments using tested, proven components. This process is similar to building an automobile from an inventory of proven mechanical components and subsystems. The IBM SanFrancisco™ middleware product suite is presented in this chapter as an example of the future of software development with components. Alternative technologies such as Extreme Programming for enhanced productivity and N-Version Programming for increased reliability are also presented and contrasted. Several modern programming environments are compared and their URLs given, and trends in automatic software development are forecast.

Chapter Outline

  • Major Challenges in Enterprise Business Applications

  • Object-Oriented Analysis, Design, and Programming

  • Component-Based Software Development Technology

  • Extreme Programming for Productivity

  • N-Version Programming for Reliability

  • Modern Programming Environments

  • Trends in Computer Programming Automation

  • Key Points

  • Additional Resources

  • Internet Exercises

  • Review Questions

  • Discussion Questions and Projects

  • Endnotes

Категории