Apress Access

Composing Software Components

A Software-testing Perspective

By Dick Hamlet

  • eBook Price: $119.00
Buy eBook Buy Print Book

Composing Software Components Cover Image

This volume describes a ten-year investigation into the underlying principles of component-based software development (CBSD). The startling contents include graphic representations of component behavior during testing as well as more than a dozen case studies.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-4419-7147-0
  • 388 Pages
  • User Level: Science
  • Publication Date: August 13, 2010
  • Available eBook Formats: PDF
Full Description
Software components and component-based software development (CBSD) are acknowledged as the best approach for constructing quality software at reasonable cost. Composing Software Components: A Software-testing Perspective describes a 10-year investigation into the underlying principles of CBSD. By restricting attention to the simplest cases, startling results are obtained: • Components are tested using only executable code. Their behavior is recorded and presented graphically. • Functional and non-functional behavior of systems synthesized from components are calculated from component tests alone. No access to components themselves is required. • Fast, accurate tools support every aspect of CBSD from design through debugging. Case studies of CBSD also illuminate software testing in general, particularly an expanded role for unit testing and the treatment of non-functional software properties. This unique book: • Contains more than a dozen case studies of fully worked-out component synthesis, with revealing insights into fundamental testing issues. • Presents an original, fundamental theory of component composition that includes persistent state and concurrency, based on functional software testing rather than proof-of-programs. • Comes with free supporting software with tutorial examples and data for replication of examples. The Perl software has been tested on Linux, Macintosh, and Windows platforms. Full documentation is provided. • Includes anecdotes and insights from the author’s 50-year career in computing as systems programmer, manager, researcher, and teacher. Composing Software Components: A Software-testing Perspective will help software researchers and practitioners to understand the underlying principles of component testing. Advanced students in computer science, engineering, and mathematics can also benefit from the book as a supplemental text and reference.
Table of Contents

Table of Contents

  1. Introduction.
  2. Part I Components and Component
  3. based Development.
  4. Engineering, Components, and Software.
  5. Software Components and Component
  6. based Development.
  7. CBSD in Practice and Theory.
  8. Part II Software Testing: Practice and Theory.
  9. Software Testing’s Place in Development.
  10. Software Testing Theory.
  11. Subdomain Testing.
  12. Part III Composition of Components.
  13. Subdomain Theory of Stateless Component Composition.
  14. Tutorial Example – SYN Tools for Stateless Components.
  15. Persistent State.
  16. Concurrent Execution.
  17. The Other Non
  18. functional Property: Reliability.
  19. Part IV Supporting Tools.
  20. CBSD Support Tools.
  21. Tool Implementation.
  22. Debugging Components, Component
  23. based Systems, and Support Tools.
  24. Unfinished Business: Volunteer Tool Makers.
  25. Part V Case Studies.
  26. Accuracy of Component Measurements and System Predictions.
  27. Case Studies of I
  28. CBSD.
  29. Part VI Implications for Software Testing Unit vs. System Testing.
  30. Functional vs. Non
  31. functional Properties.
  32. Conclusion: Lessons Learned from I
  33. CBSD.
  34. Open Problems.
  35. Appendix.
  36. Index.

If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.
No errata are currently published


    1. PHP Objects, Patterns, and Practice


      View Book

    2. Beginning Android 3D Game Development


      View Book

    3. Troubleshooting Oracle Performance


      View Book

    4. Beginning Amazon Web Services with Node.js


      View Book