컴포넌트의 다면성과 서비스를 기반으로 하는 재사용 모델

A Reuse Model Utilizing Diverse Aspects of Components and Services

  • 발행 : 2007.04.15

초록

소프트웨어 재사용을 위해 여러 가지의 접근법이 제시되어 왔으나,소프트웨어 개발자들은 이미 개발된 소프트웨어 컴포넌트를 재사용하는데 있어서 여전히 회의적이다. 여러 가지 원인이 있겠으나,기존의 재사용 접근법들이 개발자들이 재사용에 기울이는 노력을 감소시키는데 실질적인 도움을 주지는 못한 것이 가장 큰 원인 중 하나라고 볼 수 있다. 이러한 문제점 해결을 위해 본 논문에서는 RAS기반의 명세를 중심으로 컴포넌트의 다양한 측면을 활용하는 재사용 모델을 제시한다. 제시된 재사용 모델의 실용성 검증을 위해 실제적인 사례연구를 진행하였으며, 기존의 소스코드 기반의 소프트웨어 재사용 프로세스와 비교한 실험을 통해 재사용의 효율성 증가를 검증하였다. 이러한 검증을 통해,제안된 재사용 모델이 이미 개발된 기존 컴포넌트를 개발자들이 검색하고 이해하는데 소요되었던 시간을 감소시킴으로써 전반적인 재사용 소요비용 감소시키고 있음을 확인할 수 있었으며,제품라인공학과 같은 접근방법과 비교하여 일상적인 개발 공정의 지연을 초래할 수 있는 초기 투자비용을 최소화함에 따라,자발적인 개발자들의 참여를 끌어낼 수 있다는 점에서 차별성을 찾을 수 있다. 뿐만 아니라, 제안된 재사용 모델은 컴포넌트 기반 개발 방법론이나 제품라인공학과 같은 기존의 재사용 방법들과 배타적인 개념이 아니므로,필요에 따라 함께 적용하여 재사용 효과를 배가시킬 수 있을 것으로 기대한다.

Even though many approaches for reuse have been introduced, software engineers are still hesitating to reuse existing software components. Among various reasons for the phenomena, the most significant one is that existing approaches failed to give substantial benefit for the reduction of developers' effort in reusing software assets. To solve this problem, we introduce a custom reuse model utilizing diverse aspects of components specified by RAS and services oriented architecture. We also carried out a case study to demonstrate its feasibility and evaluated it by comparing it to an existing code-based software reuse process. The proposed reuse model helps in the reduction of effort in reusing existing components by decreasing the time for searching and understanding them. Compared to other approaches such as product line engineering, our approach for software reuse using MPC does not require much initial work for implementing the reuse model in different projects. It is of interest to software engineers who are worried about heavy investment, which can cause the delay in their usual development work. Furthermore, the proposed reuse model is not mutually exclusive with other approaches for software reuse such as CBSD or product line engineering. It can accelerate the benefits gained from them.

키워드

참고문헌

  1. B.W. Boehm, M. H. Pendo, A. B. Pyster, E.D. stuckle and R. D. William, 'An Environment for Improving Software Productivity,' IEEE Computer, June 1984
  2. Paul C. Clements, 'From Subroutines to Subsystems: Component-Based Software Development,' The American Programmer, Vol.8, No.11, November 1995
  3. R. K. Keller and R. Schauer, 'Design components: towards software composition at the design level,' Software Engineering, Proceedings of the 1998 (20th) International Conference, pp.302-311, April 1998 https://doi.org/10.1109/ICSE.1998.671356
  4. OMG, Reusable Asset Specification, Available Specification Version 2.2 formal/05-11-02
  5. Thomas Erl, Service-Oriented Architecture (SOA): Concept, Technology, and Design, Prentice Hall, 2005
  6. S. Dakhli and C. Toffolon, 'Software Artifacts Reuse and Maintenance : An organizational Frame work,' 2nd Euromicro Conference on Software Maintenance and Reengineering (CSMR;98), p.228, 1998 https://doi.org/10.1109/CSMR.1998.665824
  7. R. G. Fichman and C. F. Kemerer, Incentive Compatibility and Systematic Software Reuse, Journal of Systems and Software, Vol.57, No.1, 2001 https://doi.org/10.1016/S0164-1212(00)00116-3
  8. P.Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord and J. Stafford, Documenting Software Architectures, Addison-Wesley, MA, 2003
  9. S. C. Chu, 'From Component-based to Service Oriented Software Architecture for Healthcare,' Enterprise Networking and Computing in Healthcare Industry 2005, HEALTHCOM 2005. Proceedings of 7th International Workshop, pp. 96-100, 23-25 June 2005
  10. M. P. Papazoglou, 'Service-Oriented Computing: Concepts, Characteristics and Directions,' Keynote for the 4th International Conference on Web Information Systems Engineering (WISE 2003), IEEE CS, December 10-12, 2003 https://doi.org/10.1109/WISE.2003.1254461
  11. Erich Gamma, Richard Helm and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994
  12. Asuncio Gomez-Perez, Mariano Fernandez-Lopez and Oscar Corcho, Ontological Engineering with examples from the areas of Knowledge Management, e-Commerce and the Semantic Web, Springer-Verlag London Ltd., Oct. 2003
  13. Ora Lassila, Deborah L. and McGuinness, 'The role of Frame-Based Representation of the Semantic Web,' KSL Tech Report Number KSL-01-02. Submitted for publication, January 2001
  14. Eduardo Ostertag, James Hendler, Ruben Prieto Diaz and Christine Braun, 'Computing Similarity in a Reuse Library System: An AI-Based Approach,' ACM Transaction on Software Engineering and Methodology, Vol.1, No.3, pp. 205-228, July 1992 https://doi.org/10.1145/131736.131739
  15. J. E. Gaffeney and T. A. Durek, Software reuse―key to enhanced productivity: some quantitative models. Information and Software Technology, Volume 31, Issue 5, pp. 258-267, June 1989 https://doi.org/10.1016/0950-5849(89)90005-0