Representation, Management and Sharing of Reuse-related Knowledge for Improving Software Reusability

소프트웨어 재사용성 증대를 위한 재사용 관련 지식의 표현, 관리 및 공유 방법

  • 구형민 (한국과학기술원 전산학과) ;
  • 고인영 (한국과학기술원 전산학과)
  • Received : 2011.01.07
  • Accepted : 2011.02.22
  • Published : 2011.03.31

Abstract

Software reuse the concept of developing software by using existing software assets, rather than developing it from scratch. Developers may face difficulties of reusing existing software assets because existing assets are normally developed by other developers for different purposes. Developers tend to seek appropriate knowledge about effectively reusing software assets from the developers who have faced and solved similar problems in reusing software assets previously. In other words, the reuse-related knowledge of domain experts or other developers usually provides important clues to solve reuse-related problems. Such reuse-relalted knowledge can help developers to reduce the time and effort to identify and solve the difficulties and problems that may arise in reusing software assets and in minimizing the risks of reusing them by allowing them to reuse reliable software assets in an appropriate way and by recognizing similar requirements or constraints of resuing the assets. In this paper, we describe a model to represent reuse-related knowledge in a formal way, and explain the architecture and a prototype implementation of Software Reuse Wiki (SRW) that enables collaborative organization and sharing of software reuse-related knowledge. We have conducted an experiment pertaining to problem solving in reusing assets based on reuse-related knowledge. We also discuss about our evaluation plan for showing the benefits and contributions of reuse knowledge representation model and management methods in SRW. We expect that SRW can contribute to facilitate users' participations and make efficient sharing and growing of reuse-related knowledge. In addition, the representation model of reuse-related knowledge and management methods can make developers acquire more reliable and useful reuse-related knowledge in a straightforward manner without spending additional efforts to find solutions to solve reuse-related problems.

Acknowledgement

Supported by : 국방과학연구소