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

  • Software productivity and quality have lagged far behind the gains in hardware productivity and quality over the past 50 years.

  • Object-oriented analysis, design, and programming promise to dramatically improve both software productivity and quality.

  • The IBM SanFrancisco™ project is presented as an example of the promise of Java-based middleware for improving productivity and quality in OOP software development.

  • Component-based software development is employed to maximize the reusability of proven software components to build large systems.

  • Components can be defined at various sizes, from atomic to molecular, to function based on size.

  • Small components maximize reusability, and large components reduce complexity and improve performance.

  • Extreme Programming technology enhances programming productivity.

  • N-Version Programming enhances program reliability.

  • Modern programming environments harness the sophistication of modern programming languages and technology and improve both programmer productivity and program trustworthiness.

  • Programming development will continue to enjoy greater and greater automation as application domain specialists become the application "programmers" using the tools developed by "metaprogrammers."

Категории