This book is an updated edition of the previous edition originally published by McGraw-Hill, which was an essential guide to successful reuse across the entire software life cycle. It explains in depth the fundamentals, economics, and metrics of software reuse. The bottom line is good news for designers of complex systems: Systematic software reuse can succeed, even if the underlying technology is changing rapidly. It is the essential component in modern product-line architectures.
Software reuse has been called the central technical concept of object-oriented design. This book covers reuse in object-oriented systems, but goes far beyond in its coverage of complex systems – the type that may evolve into “systems of systems.” We emphasize reuse of software components at all levels and all phases of the software life cycle, regardless of the life cycle employed and any particular software development methodology. Of course, the greatest cost and time savings occur when high-level software artifacts, such as requirements and designs are used early in the product’s life cycle.
Important new material has been added to this edition on the changed state-of-the-art and state-of-the-practice of software reuse, on product-line architectures, on the economics of reuse, on the maintenance of COTS-based systems. A case study using DoDAF (The Department of Defense Architectural Framework) in system design has been included to show some new thinking about reuse and some attributes of large-scale components of very large systems. The new material has increased the number of pages in the book by 36%.
After an introduction to basics, the book shows you how to:
1. Access reuse and disadvantages for your systems.
2. Understand and use domain analysis.
3. Estimate total costs, including maintenance, using life-cycle-based models.
4. Organize and manage reuse libraries.
5. Certify software components that have been created at any phase of the software life cycle your organization uses.
6. Implement systematic reuse using COTS (commercial, off-the-shelf) components and other existing software.
The book includes several models and reengineering checklists, as well as important case studies. These models and checklists help anyone faced with the problem of whether to build, buy, reuse, or reengineer any software component, system, or subsystem of reasonable complexity. Such components, subsystems, and systems often fit into the new paradigms of service-oriented architectures (SOA) and software-as-a-service (SaAS).
Software Reuse: Methods, Models, Costs emphasizes the cost efficient development of high-quality software systems in changing technology environments. Our primary example of domain analysis, which is the analysis of software into potentially reusable artifacts, often at a higher level than simply source code modules, is the assessment of possibilities for reuse in the Linux kernel.
There are eight chapters in Software Reuse: Methods, Models, Costs: What is Software Reuse?, Techniques (which included domain analysis), Reuse Libraries, Certification of Reusable Software Components, The Economics of Software Reuse, Reengineering, Case Studies, and Tools For Software Reuse.
|Sold by:||Barnes & Noble|
|File size:||2 MB|
About the Author
Dr. Leach is the author of seven print books: Using C in Software Design, Academic Press, Advanced Topics in UNIX, John Wiley; Object-Oriented Design and Programming in C++, Academic Press, Software Reuse: Methods, Models, and Costs, McGraw-Hill, Introduction to Software Engineering, CRC Press, Genealogy for the Information Age, Disruptive Publishing, and Relative Genealogy, Disruptive Publishing. He has recently published an ebook entitled "Identity Theft in the Cyber Age," and is in the process of updating several of his other books that are currently available only in print versions.
Dr. Leach has offered technical training and seminars on software reuse, component-based development, software reengineering, and testing on three continents. He is also the author or co-author of more than one hundred technical papers. He recently developed a ten-hour video training course on Software Component Development with Visible Systems, Inc.