
Component-Based Software Engineering
Putting the Pieces Together
Addison Wesley (Publisher)
Published on 18. June 2001
Book
Hardback
880 pages
978-0-201-70485-3 (ISBN)
Description
Written by leading experts from around the world, this book presents the latest concepts and practices in Component-Based Software Engineering (CBSE). While detailing both the advantages and the limitations of CBSE, the book's underlying aim is to define this new field, to frame the discussion, and to ensure that students have the background they need to ask good questions and make informed decisions about components.
More details
Language
English
Place of publication
Boston
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 242 mm
Width: 192 mm
Thickness: 46 mm
Weight
1512 gr
ISBN-13
978-0-201-70485-3 (9780201704853)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Persons
George T. Heineman is an Assistant Professor of Computer Science at Worcester Polytechnic Institute (WPI). He has worked as a Research Scientist at IBM Center for Advanced Studies (Toronto, Canada), Bull Electronics, and AT&T Bell Laboratories. He has consulted for Genetics Institute (Cambridge, MA).
Prof. Heineman received a prestigious National Science Foundation (NSF) Early Faculty Career Development Award (CAREER) in Software Engineering in 1998. This research grant funds the ADAPT project investigating the design of adaptable software components. He also receives funding from the Defense Advanced Research Projects Agency (DARPA). Besides government funding, his lab has received funding and hardware donations from Natural Microsystems and Intellution, Inc.
George Heineman has authored or co-authored over 20 articles and papers on software engineering topics, including component adaptation techniques, component-based software engineering, software development environments, and software process. He also has interests in advanced concurrency control techniques.
Heineman received his Ph.D. (1996) and M.S. (1990) from the Computer Science Department of Columbia University. His advisor was Gail Kaiser, Ph.D. George Heineman earned his BA (1989) in Computer Science from Dartmouth College.
Bill Councill is a partner in Texas Quintessence Corporation. Currently, he is devoting all his time as co-editor of the forthcoming book, Component-Based Software Engineering: Putting the Pieces Together. Previously, he was Systems and Software Process Manager for Mannatech, Inc. His experience includes the development of systems processes and component-based software development processes and methodologies, as well as the following:
Business Analysis: including business rules elicitation and management;
Requirements engineering, using requirements management applications, use case development, and liaison with the software design team;
Configuration Management;
Measurement and metrics, using function points and well accepted FP applications;
Quality Assurance;
Risk Management; and
Software Change Impact Analysis.
He has dedicated the last nine years of his life to absorbing and practicing knowledge from the emerging field of software engineering. He has a master's degree in counseling and devoted 18 years of his life to counseling patients in pain and those with difficult psychiatric diagnoses. Additionally, he earned a Juris Doctor degree. After the award of the law degree, Bill worked in the fields of health care consulting and administrative lobbying.
He entered the discipline of software engineering as the founder of PenKnowledge, Inc. and was the originator of Doctor's Office 3.0, a computer-based patient record system. The system incorporated Microsoft Windows for Workgroups, pen computing across a radio frequency LAN, as well as the replication of data among client and server SQL databases. Mr. Councill participated in the slowly emerging standards for computer-based patient record systems by contributing to the work on digital signatures, confidentiality and security, and the functionality of computer-based record-keeping systems.
0201704854AB04062001
Prof. Heineman received a prestigious National Science Foundation (NSF) Early Faculty Career Development Award (CAREER) in Software Engineering in 1998. This research grant funds the ADAPT project investigating the design of adaptable software components. He also receives funding from the Defense Advanced Research Projects Agency (DARPA). Besides government funding, his lab has received funding and hardware donations from Natural Microsystems and Intellution, Inc.
George Heineman has authored or co-authored over 20 articles and papers on software engineering topics, including component adaptation techniques, component-based software engineering, software development environments, and software process. He also has interests in advanced concurrency control techniques.
Heineman received his Ph.D. (1996) and M.S. (1990) from the Computer Science Department of Columbia University. His advisor was Gail Kaiser, Ph.D. George Heineman earned his BA (1989) in Computer Science from Dartmouth College.
Bill Councill is a partner in Texas Quintessence Corporation. Currently, he is devoting all his time as co-editor of the forthcoming book, Component-Based Software Engineering: Putting the Pieces Together. Previously, he was Systems and Software Process Manager for Mannatech, Inc. His experience includes the development of systems processes and component-based software development processes and methodologies, as well as the following:
Business Analysis: including business rules elicitation and management;
Requirements engineering, using requirements management applications, use case development, and liaison with the software design team;
Configuration Management;
Measurement and metrics, using function points and well accepted FP applications;
Quality Assurance;
Risk Management; and
Software Change Impact Analysis.
He has dedicated the last nine years of his life to absorbing and practicing knowledge from the emerging field of software engineering. He has a master's degree in counseling and devoted 18 years of his life to counseling patients in pain and those with difficult psychiatric diagnoses. Additionally, he earned a Juris Doctor degree. After the award of the law degree, Bill worked in the fields of health care consulting and administrative lobbying.
He entered the discipline of software engineering as the founder of PenKnowledge, Inc. and was the originator of Doctor's Office 3.0, a computer-based patient record system. The system incorporated Microsoft Windows for Workgroups, pen computing across a radio frequency LAN, as well as the replication of data among client and server SQL databases. Mr. Councill participated in the slowly emerging standards for computer-based patient record systems by contributing to the work on digital signatures, confidentiality and security, and the functionality of computer-based record-keeping systems.
0201704854AB04062001
Content
(NOTE: Each part concludes with a Summary.)I. COMPONENT DEFINITON.
1. Definition of Software Component and its Elements.
George T. Heineman, William T. Councill.
2. The Component Industry Metaphor.
Hedley Apperly.
3. Component Models and Component Services: Concepts and Principles.
Rainer Weinreich, Johannes Sametinger.
4. An Example Specification for Implementing a Temperature Regulator Software Component.
Janet Flynt, Jason Mauldin.
II. THE CASE FOR COMPONENTS.
5. The Business Case for Software Components.
John Williams.
6. COTS Myths and Other Lessons Learned in Component-Based Software Development.
Will Tracz.
7. Roles for Component-Based Development.
Paul Allen.
8. Common High Risk Mistakes in Component-Based Software Engineering.
Wojtek Kozaczynski.
9. CBSE Success Factors: Integrating Architecture, Process, and Organization.
Martin L. Griss.
III. SOFTWARE ENGINEERING PRACTICES.
10. The Practice of Software Engineering.
George T. Heineman.
11. From Subroutines to Subsystems: Component-Based Software Development.
Paul C. Clements.
12. Status of CBSE in Europe.
Barry McGibbon.
13. CBSE in Japan and Asia.
Mikio Aoyama.
IV. THE DESIGN OF SOFTWARE COMPONENT INFRASTRUCTURES.
14. Software Components and the UML.
Kelli Houston, Davyd Norris.
15. Component Infrastructures: Placing Software Components in Context.
Steve Latchem.
16. Business Components.
James Carey, Brent Carlson.
17. Components and Connectors: Catalysis Techniques for Defining Component Infrastructures.
Alan Cameron Wills.
18. An Open Process for Component-Based Development.
Brian Henderson-Sellers.
19. Designing Models of Modularity and Integration.
Kevin J. Sullivan.
V. FROM SOFTWARE COMPONENT INFRASTRUCTURES TO SOFTWARE SYSTEMS.
20. Software Architecture.
Alexander L. Wolf, Judith A. Stafford.
21. Software Architecture Design Principles.
Len Bass.
22. Product-Line Architectures.
Martin L. Griss.
VI. THE MANAGEMENT OF COMPONENT-BASED SOFTWARE SYSTEMS.
23. Measurement and Metrics for Software Components.
Jeffrey Poulin.
24. The Practical Reuse of Software Components.
Don Reifer.
25. Selecting the Right COTS Software: Why Requirements are Important.
Cornelius Ncube, N.A.M. Maiden.
26. Build vs. Buy: A Rebuttal.
George T. Heineman.
27. Software Component Project Management Processes.
William T. Councill.
28. The Trouble with Testing Software Components.
Elaine Weyuker.
29. Configuration Management and Component Libraries.
Hedley Apperly.
30. The Evolution, Maintenance and Management of Component-Based Systems.
Mark Vigder.
VII. COMPONENT TECHNOLOGIES.
31. Overview of the CORBA Component Model.
Douglas C. Schmidt, Nanbor Wang, Carlos O'Ryan.
32. Transactional COM+: Designing Scalable Applications.
Timothy J. Ewald.
33. The Enterprise JavaBeans Component Model.
David Blevins.
34. Bonobo and Free Software Gnome Components.
Michael Meeks.
35. Choosing Between COM+, EJB, and CCM.
Andy Longshaw.
36. Software Agents as Next Generation Software Components.
Martin L. Griss.
VIII. LEGAL AND REGULATORY.
37. CBSE as a Unique Engineering Discipline.
John Speed, William T. Councill, George T. Heineman.
38. The Future of Software Components: Standards and Certification.
Janet Flynt, Manoj Desai.
39. Commercial Law Applicable to Component-Based Software.
Stephen Chow.
40. The Effects of UCITA on Software Component Development and Marketing.
Stephen Chow.
IX. CONCLUSION.
41. Summary.
William T. Councill, George T. Heineman.
42. Future of CBSE.
William T. Councill, George T. Heineman, Jeff Poulin.
Appendix A. Glossary.
References.
About the Authors.
Index. 0201704854T06202001
1. Definition of Software Component and its Elements.
George T. Heineman, William T. Councill.
2. The Component Industry Metaphor.
Hedley Apperly.
3. Component Models and Component Services: Concepts and Principles.
Rainer Weinreich, Johannes Sametinger.
4. An Example Specification for Implementing a Temperature Regulator Software Component.
Janet Flynt, Jason Mauldin.
II. THE CASE FOR COMPONENTS.
5. The Business Case for Software Components.
John Williams.
6. COTS Myths and Other Lessons Learned in Component-Based Software Development.
Will Tracz.
7. Roles for Component-Based Development.
Paul Allen.
8. Common High Risk Mistakes in Component-Based Software Engineering.
Wojtek Kozaczynski.
9. CBSE Success Factors: Integrating Architecture, Process, and Organization.
Martin L. Griss.
III. SOFTWARE ENGINEERING PRACTICES.
10. The Practice of Software Engineering.
George T. Heineman.
11. From Subroutines to Subsystems: Component-Based Software Development.
Paul C. Clements.
12. Status of CBSE in Europe.
Barry McGibbon.
13. CBSE in Japan and Asia.
Mikio Aoyama.
IV. THE DESIGN OF SOFTWARE COMPONENT INFRASTRUCTURES.
14. Software Components and the UML.
Kelli Houston, Davyd Norris.
15. Component Infrastructures: Placing Software Components in Context.
Steve Latchem.
16. Business Components.
James Carey, Brent Carlson.
17. Components and Connectors: Catalysis Techniques for Defining Component Infrastructures.
Alan Cameron Wills.
18. An Open Process for Component-Based Development.
Brian Henderson-Sellers.
19. Designing Models of Modularity and Integration.
Kevin J. Sullivan.
V. FROM SOFTWARE COMPONENT INFRASTRUCTURES TO SOFTWARE SYSTEMS.
20. Software Architecture.
Alexander L. Wolf, Judith A. Stafford.
21. Software Architecture Design Principles.
Len Bass.
22. Product-Line Architectures.
Martin L. Griss.
VI. THE MANAGEMENT OF COMPONENT-BASED SOFTWARE SYSTEMS.
23. Measurement and Metrics for Software Components.
Jeffrey Poulin.
24. The Practical Reuse of Software Components.
Don Reifer.
25. Selecting the Right COTS Software: Why Requirements are Important.
Cornelius Ncube, N.A.M. Maiden.
26. Build vs. Buy: A Rebuttal.
George T. Heineman.
27. Software Component Project Management Processes.
William T. Councill.
28. The Trouble with Testing Software Components.
Elaine Weyuker.
29. Configuration Management and Component Libraries.
Hedley Apperly.
30. The Evolution, Maintenance and Management of Component-Based Systems.
Mark Vigder.
VII. COMPONENT TECHNOLOGIES.
31. Overview of the CORBA Component Model.
Douglas C. Schmidt, Nanbor Wang, Carlos O'Ryan.
32. Transactional COM+: Designing Scalable Applications.
Timothy J. Ewald.
33. The Enterprise JavaBeans Component Model.
David Blevins.
34. Bonobo and Free Software Gnome Components.
Michael Meeks.
35. Choosing Between COM+, EJB, and CCM.
Andy Longshaw.
36. Software Agents as Next Generation Software Components.
Martin L. Griss.
VIII. LEGAL AND REGULATORY.
37. CBSE as a Unique Engineering Discipline.
John Speed, William T. Councill, George T. Heineman.
38. The Future of Software Components: Standards and Certification.
Janet Flynt, Manoj Desai.
39. Commercial Law Applicable to Component-Based Software.
Stephen Chow.
40. The Effects of UCITA on Software Component Development and Marketing.
Stephen Chow.
IX. CONCLUSION.
41. Summary.
William T. Councill, George T. Heineman.
42. Future of CBSE.
William T. Councill, George T. Heineman, Jeff Poulin.
Appendix A. Glossary.
References.
About the Authors.
Index. 0201704854T06202001