skip to main content
article

Importance of software component characterization for better software reusability

Published:01 January 2006Publication History
Skip Abstract Section

Abstract

Component-based software development (CBSD) is the process of assembling existing software components in an application such that they interact to satisfy a predefined functionality. This approach can potentially be used to reduce software development costs, assemble systems rapidly, and reduce the maintenance overhead. One of the key challenges faced by software developers is to make component-based development (CBD) an efficient and effective approach. Since components are to be reused across various products and product-families, components must be characterized and tested properly. The present paper is a survey paper and firstly, it discusses CBD and related issues that help improving software reuse. Testing of third party components is a very difficult task in the absence a properly characterized software component. Besides improving software reusability, component characterization also provides better understanding of architecture, better retrieval, better usage and better cataloguing. This paper mainly discusses the essence of proper component characterization that ultimately helps the developers in software reuse, which is highly desirable in component-based software development. Further, paper also discusses other benefits of component characterization that are most essential in component-based development.

References

  1. Gill N. S. (2003). "Reusability Issues in Component-based Development", ACM SIGSOFT SEN, Volume 28, Number 4, 2003, ACM Press, New York, NY, USA, Pages 4--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Brown, W., and K. Wallnau (1998). "The Current State of CBSE", IEEE Software, October 1998, pp37--46 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. David S. Rosenblum (1998). "Challenges in Exploiting Architectural Models for Software Testing", Proc. International Workshop on The Role of Software Architecture in Testing and Analysis, 1998.Google ScholarGoogle Scholar
  4. Sherif Yacoub, Hany Ammar, and Ali Mili, "Characterizing a Software Component". Available at www.sei.cmu.eduGoogle ScholarGoogle Scholar
  5. Gill N. S. and Grover P. S. (2003). "Component-Based Measurement: Few Useful Guidelines", ACM SIGSOFT SEN, Volume 28, Number 6, 2003, ACM Press, New York, NY, USA, Pages 30--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mila Keren (1999). "Test Adequacy Criteria for Component-Based Visual Software", IBM Haifa Research Lab, 1999.Google ScholarGoogle Scholar
  7. D'Souza, D. F., and Alan C. Wills (1998). "Objects, Components, and Frameworks with UML: The Catalysis Approach", ISBN 0-201-31012-0 Addison-Wesley, 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brown, A., and K. Wallnau (1996). "Engineering of Component-Bases Systems" in Component Based Software Engineering, Alan W. Brown (edt.) Software Engineering Institute, IEEE Computer Society, 1996Google ScholarGoogle Scholar
  9. Gill N. S. and Grover P. S. (2004). "Few Important Considerations For Deriving Interface Complexity Metric For Component-Based Systems, ACM SIGSOFT SEN, Volume 29, Number 2, 2004, ACM Press, New York, NY, USA, Pages 30--34. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Meyer, B. (1999). "On To Components", IEEE Computer, Jan 1999, pp139--140 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Iglesias, A., and J. Justo (1998). "Building System Requirements with Specification Components", Proc. of Joint conference of Information and Computer Science, JICS'98, Vol III, pp499--502, Oct. 1998Google ScholarGoogle Scholar
  12. Kroeker, K. (1998). "Component Technology", IEEE Computer, Vol 31, 132--133, Jan 1998.Google ScholarGoogle Scholar
  13. Szyperski, C. (1998). "Component Software: Beyond Object Oriented Programming", Addison Wesley Longman, 1998 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Han, J. (1998). "Characterization of Components", First Int'l Workshop on Component-Based Software Engineering, in conjunction with ICSE'98, Kyoto, 1998Google ScholarGoogle Scholar
  15. Elaine J. Weyuker (1998). "Testing Component-Based Software: A Cautionary Tale". IEEE Software, September/October 1998, PP 54--59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Alan W. Brown, Kurt C. Wallnau (1996). "Engineering of Component-Based Systems", IEEE Computer Society Press, Los Alamitos, CA., 1996, PP 7--15.Google ScholarGoogle Scholar
  17. Component-Based Software Development/ COTS Integration. Available at www.sei.cmu.edu/str/descriptions/cbsd.html.Google ScholarGoogle Scholar
  18. Boris Beizer (1990). "Software Testing Techniques", International Thomson Computer Press, 2nd edition (1990). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Jerry Gao (2000). "Component Testability and Component Testing Challenges", San Jose University, CA, 2000.Google ScholarGoogle Scholar
  20. Jerry Gao (2000). "Tracking Component-Based Software Systems", San Jose University, CA, 2000.Google ScholarGoogle Scholar

Index Terms

  1. Importance of software component characterization for better software reusability

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                Full Access

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader