Component-Based Software Engineering
You purchase a "stereo system" and bring it home. Each component has been designed to fit a specific architectural style - connections are standardized, communication protocol has be pre-established. Assembly is easy because you don't have to build the system from hundreds of discrete parts. Component-based software engineering (CBSE) strives to achieve the same thing. A set of pre-build, standardized software components are made available to fit a specific architectural style for some application domain. The application is then assembled using these components, rather than the "discrete parts" of a conventional programming language. The following topic categories are presented:
Important note: This is an older page from the past generation of Pressman Software Engineering Resources. For current information on CBD and CBSE see our Component-Level Design page.
CBSE Resources
Tutorials, Articles and Papers on Components
Reuse and Reusability
Component Libraries and Tools
Books
CBSE Resources
Component-Based Software Engineering Group Homepage
The Component-Based Software Engineering Group homepage provides useful information for CBSE.
Component Resources
The most comprehensive collection (over 18,000!) of pointers for distributed objects and components on the Web. Pointers to information sources for CORBA, COM / DCOM / OLE / ActiveX, Java Beans, and OpenDoc. Highly recommended.
Tutorials, Articles and Papers on Components
Foundations of Component-Based Development (CBD)
A discussion of a research project that identified a number of important issues associated with CBD.
Hybrid CBD
An article in Software Development magazine.
Generative and Component-Based Software Engineering
"Generative and component-based software engineering seeks to integrate domain engineering approaches, component-based approaches, and generative approaches.
CBSE Applied to Complex Applications
This paper discusses the special characteristics of "complex application" vis a vis CBSE.
"Building Object-Oriented Frameworks"
A useful paper addresses the construction of programs using OO build blocks.
"From Component Infrastructure to Component-Based Development"
An in-depth paper by Alan Brown discusses the need for specialized tools, methods, and implementation techniques and infrastructure for CBSE.
CBSE Articles
A collection of articles that address CBD, components, and component architecture.
Reuse and Reusability
Reuse Resources
An extensive set of resources compiled at CETUS links.
CIO Software Reuse Research Center
Useful information on component reuse that has appeared in articles in CIO magazine.
Component Libraries and Tools
A Search Engine for Software Components
The SEI is developing Agora: A Search Engine for Software Components.
Books
Many books on component-based development and component reuse have been published in recent years. Heineman and Councill (Component-Based Software Engineering, Addison-Wesley, 2001)], Brown (Large Scale Component-Based Development, Prentice-Hall, 2000), Allen (Realizing e-Business with Components, Addison-Wesley, 2000), Herzum and Sims (Business Component Factory, Wiley, 1999), Allen, Frost, and Yourdon (Component-Based Development for Enterprise Systems, Cambridge University Press, 1998) cover all important aspects of the CBSE process. Apperly and his colleagues (Service- and Component-Based Development, Addison-Wesley, 2003), Atkinson and his colleagues (Component-Based Product Line Engineering with UML, Addison-Wesley, 2001), Cheesman and Daniels (UML Components, Addison-Wesley, 2000) discussed CBSE with a UML emphasis.
Leach (Software Reuse: Methods, Models, and Costs, McGraw-Hill, 1997) provides a detailed analysis of cost issues associated with CBSE and reuse. Poulin (Measuring Software Reuse: Principles, Practices, and Economic Models, Addison-Wesley, 1996) suggests a number of quantitative methods for assessing the benefits of software reuse.
Dozens of books describing the industrys component-based standards have been published in recent years. These address the inner workings of the standards themselves but also consider many important CBSE topics. A sampling for the three standards discussed in this chapter follows:
CORBA
- Bolton, F., Pure CORBA, Sams Publishing, 2001.
- Doss, G.M., CORBA Networking With Java, Wordware Publishing, 1999.
- Hoque, R., CORBA for Real Programmers, Academic Press/Morgan Kaufmann, 1999.
- Siegel, J., CORBA Fundamentals and Programming, Wiley, 1999.
- Slama, D., J. Garbis, and P. Russell, Enterprise CORBA, Prentice-Hall, 1999.
COM
- Box, D., K. Brown, T. Ewald, and C. Sells, Effective COM: 50 Ways to Improve Your COM- and MTS-Based Applications, Addison-Wesley, 1999.
- Gordon, A., The COM and COM+ Programming Primer, Prentice-Hall, 2000.
- Kirtland, M., Designing Component-Based Applications, Microsoft Press, 1999.
- Tapadiya, P., COM+ Programming, Prentice-Hall, 2000.
Many organizations apply a combination of component standards. Books by Geraghty and his collegaues (COM-CORBA Interoperability, Prentice-Hall, 1999), Pritchard (COM and CORBA Side by Side: Architectures, Strategies, and Implementations, Addison-Wesley, 1999), and Rosenand his colleagues (Integrating CORBA and COM Applications, Wiley, 1999) consider the issues associated with the use of both CORBA and COM as the basis for component-based development.
JavaBeans
- Anderson, G. and P. Anderson, Enterprise Javabeans Component Architecture, Prentice-Hall, 2002.
- Asbury, S. and S.R. Weiner, Developing Java Enterprise Applications, second edition, Wiley, 2001.
- Monson-Haefel, Enterprise Javabeans, third edition, OReilly & Associates, 2001.
- Roman, E. et al, Mastering Enterprise Javabeans, second edition, Wiley, 2001.
|
|
|