Foreword xiii Introduction xvii Methodology and Organization xxv Preface xxxiii Acknowledgments xli PART I: COMPONENT DEFINITION 1 (74) Definition of a Software Component and Its 5 (16) Elements Bill Council George T. Heineman The Component Industry Metaphor 21 (12) Hedley Apperly Component Models and Component Services: 33 (16) Concepts and Principles Rainer Weinreich Johannes Sametinger An Example Specification for Implementing a 49 (26) Temperature Regulator Software Component Janet Flynt Jason Mauldin Summary 65 (6) References 71 (4) PART II: THE CASE FOR COMPONENTS 75 (96) The Business Case for Components 79 (20) John Williams COTS Myths and Other Lessons Learned in 99 (14) Component-Based Software Development Will Tracz, Ph.D. Planning Team Roles for CBD 113 (18) Paul Allen Stuart Frost Common High-Risk Mistakes 131 (12) Wojtek Kozaczynski CBSE Success Factors: Integrating 143 (28) Architecture, Process, and Organization Martin L. Griss, Ph.D. Summary 161 (6) References 167 (4) PART III: SOFTWARE ENGINEERING PRACTICES 171 (68) Practices of Software Engineering 175 (14) George T. Heineman From Subroutines to Subsystems: 189 (10) Component-Based Software Development Paul C. Clements Status of CBSE in Europe 199 (14) Barry McGibbon CBSE in Japan and Asia 213 (26) Mikio Aoyama Summary 227 (6) References 233 (6) PART IV: THE DESIGN OF SOFTWARE COMPONENT 239 (128) INFRASTRUCTURES Software Components and the UML 243 (20) Kelli Houston Davyd Norris Component Infrastructures: Placing Software 263 (22) Components in Context Steve Latchem Business Components 285 (22) James Carey Brent Carlson Components and Connectors: Catalysis 307 (14) Techniques for Designing Component Infrastructures Alan Cameron Wills An OPEN Process for Component-Based 321 (20) Development Brian Henderson-Sellers Designing Models of Modularity and Integration 341 (26) Kevin J. Sullivan Summary 355 (8) References 363 (4) PART V: FROM SOFTWARE COMPONENT INFRASTRUCTURES 367 (64) TO SOFTWARE SYSTEMS Software Architecture 371 (18) Judith A. Stafford Alexander L. Wolf Software Architecture Design Principles 389 (16) Len Bass Product-Line Architectures 405 (26) Martin L. Griss Summary 421 (4) References 425 (6) PART VI: THE MANAGEMENT OF COMPONENT-BASED 431 (122) SOFTWARE SYSTEMS Measurement and Metrics for Software 435 (18) Components Jeffrey S. Poulin Implementing a Practical Reuse Program for 453 (14) Software Components Donald J. Reifer Selecting the Right COTS Software: Why 467 (12) Requirements Are Important Cornelius Ncube Neil Maiden Building Instead of Buying: A Rebuttal 479 (6) George T. Heineman Software Component Project Management 485 (14) Bill Councill The Trouble with Testing Components 499 (14) Elaine J. Weyuker Configuration Management and Component 513 (14) Libraries Hedley Apperly The Evolution, Maintenance, and Management of 527 (26) Component-Based Systems Mark Vigder Summary 541 (8) References 549 (4) PART VII: COMPONENT TECHNOLOGIES 553 (116) Overview of the CORBA Component Model 557 (16) Nanbor Wang Douglas C. Schmidt Carlos O'Ryan Overview of COM+ 573 (16) Tim Ewald Overview of the Enterprise JavaBeans 589 (18) Component Model David Blevins Bonobo and Free Software GNOME Components 607 (14) Michael Meeks Choosing Between COM+, EJB, and CCM 621 (20) Andy Longshaw Software Agents as Next Generation Software 641 (28) Components Martin L. Griss Summary 659 (4) References 663 (6) PART VIII: LEGAL AND REGULATORY COMPONENT ISSUES 669 (70) Component-Based Software Engineering As a 673 (20) Unique Engineering Discipline John Speed Bill Councill George T. Heineman The Future of Software Components: Standards 693 (16) and Certification Janet Flynt Manoj Desai Commercial Law Applicable to Component-Based 709 (10) Software Stephen Y. Chow The Effects of UCITA on Software Component 719 (20) Development and Marketing Stephen Y. Chow Summary 731 (6) References 737 (2) PART IX: CONCLUSION 739 (38) Summary 741 (12) Bill Councill George T. Heineman The Near-Term Future of Component-Based 753 (24) Software Engineering Hedley Apperly Grady Booch Bill Councill Martin Griss George T. Heineman Ivar Jacobson Steve Latchem Barry McGibbon Davyd Norris Jeffrey Poulin References 775 (2) Glossary and Acronyms 777 (10) About the Editors 787 (2) About the Authors 789 (12) Index 801
| |