The software industry has attempted to incorporate code reuse for years, and many hoped that component-based architectures could help bring true reuse to reality. Commercial off-the-shelf (COTS) components have great potential to significantly reduce the time and cost of developing software, through the reuse of components.
In this paper, the authors describe an adaptable framework for COTS-aware software architecting (ACASA), to be used in conjunction with a COTS-aware requirements engineering (CARE) approach. ACASA and CARE are intended to properly match COTS components with system requirements, while mitigating the risk of using these components by accommodating change.
The authors’ research provides a useful approach for developing software systems using COTS components. As the authors’ approach is highly requirements-driven, it would be most successful in organizations that already have a strong requirements engineering process in place.
One potential shortcoming of the approach is that it relies on the existence of a well-cataloged COTS component repository. Most organizations do not have such a repository, and the effort needed to populate that repository could be potentially significant. Another shortcoming (noted as an area for future research) is that improved matching techniques are needed.
The authors have provided some very insightful research into a very relevant topic in today’s software engineering environment. As organizations continue to manage cost and time spent developing software, the use of COTS components becomes more prevalent and essential. The ACASA and CARE approaches may prove to be useful with further practical experience.