DOI QR코드

DOI QR Code

소프트웨어 품질 향상을 위한 리팩토링 효과 분석 : AIS 중개 서버 프로그램을 대상으로

Refactoring Effectiveness Analysis for Software Quality Enhancement : using AIS Mediation Server Program

  • 이서정 (한국해양대학교 IT공학부) ;
  • 이재욱 (한국해양대학교 대학원 컴퓨터공학과) ;
  • 황훈규 (한국해양대학교 대학원 컴퓨터공학과) ;
  • 이장세 (한국해양대학교 IT공학부)
  • Lee, Seo-Jeong (Division of IT Engineering, National Korea Maritime University) ;
  • Lee, Jae-Wook (Graduate School of National Korea Maritime University) ;
  • Hwang, Hoon-Kyu (Graduate School of National Korea Maritime University) ;
  • Lee, Jang-Se (Division of IT Engineering, National Korea Maritime University)
  • 투고 : 2011.12.30
  • 심사 : 2012.04.26
  • 발행 : 2012.06.30

초록

최근 국제해사기구에서 추진하고 있는 e-navigation은 선박의 안전운항을 위한 다양한 서비스를 지향하고 있다. 이에 따라, 해양 분야에 다양한 소프트웨어 개발이 기대되고 있으며, 동시에 그 품질의 중요성이 높아지고 있다. 이 논문에서는 소프트웨어의 품질 향상의 실험을 위해, 기존 AIS중개서버 프로그램에 소프트웨어 리팩토링(refactoring) 기법을 적용하였으며, 그 효과를 분석하였다. 리팩토링은 소프트웨어를 소스 코드 수준에서 구조의 복잡성을 줄여서, 이해하기 쉽고 기능 변경이 용이한 상태로 변경하는 기법이다. 이를 통해, 겉으로 보이는 동작의 변화는 없이 내부구조가 변경된다. 리팩토링 적용 효과 분석을 위해서, IEC/ISO 9126 소프트웨어 품질표준의 유지보수성과 관련된 기존 메트릭의 산술적 측정기법을 도입했다.

Recently, International Maritime Organization has been developing e-navigation implementation strategy plan, which is focused on various services for vessel safety navigation. Then, different kinds of software will be developed in maritime area and with this, the quality issues are to be expected becoming more important. In this paper, we adopt software refactoring techniques to reduce the complexity of structure on source code level. It makes software program more effective to understand and modify, without any change of outward behavior. The existing AIS broadcast server program is used as an example for our trial, and calculating coupling and cohesion metric are introduced to analyze the refactoring effect, taking account of the maintainability of IEC/ISO9126 software quality standards.

키워드

참고문헌

  1. 권용휘(2009), "프레임워크의 관점에서 본 문제 해결을 위한 리팩토링 노하우", 마이크로소프트웨어 2009년 3월호
  2. 이서정, 이재욱(2011), "HTML5를 활용한 온라인 지도 기반 AIS선박 모니터링 시스템 구현", 한국항해항만학회지 제35권 제6호, pp. 463-467
  3. 이종호, 박진호, 류성열(2001), "객체지향 기반의 Refactoring 프로세스", 정보과학회논문지 : 컴퓨팅의 실제, 제7권 제4호, pp. 299-308
  4. 최미숙, 이종석(2006), "컴포넌트 기반 시스템에서 클래스들 간의 정적 그리고 동적 특성을 적용한 컴포넌트 메트릭스", 정보과학회논문지 : 소프트웨어 및 응용, 제33권 제7호, pp. 301-315
  5. Bois, B.D., Mens, T.(2003), "Describing the Impact of Refactoring on Internal Program Quality, Proc. of the International Workshop on Evolution of Large-scale Industrial Software Applications, Amsterdam, The Netherlands, pp.37-48
  6. Fowler M.(2002), Refactoring : Improving the Design of Existing Code, Addson-Wesley
  7. IALA(2011), "e-NAV10-7-8 Software Quality", IALA e-NAV 기술위원회 2011 의제문서
  8. IMO(2011), "DEVELOPMENT OF AN E-NAVIGATION STRATEGY IMPLEMENTATION PLAN", Report from the Correspondence Group on e-navigation to NAV 57, Norway
  9. ISO/IEC(2001), "ISO/IEC 9126 : Software engineering - Product quality", ISO/IEC
  10. Kataoka, Y., Imai, T., Andou H.(2002), T. Fukaya, "A Quantitative Evaluation of Maintainability Enhancement by Refactoring", Proc. of the International Conference on Software Maintenance, pp.576-585
  11. Leitch, R., Stroulia E.(2003), "Assessing the Maintainability Benefits of Design Restructuring Using Dependency Analysis", Ninth International Software Metrics Symposium, pp.309-322
  12. Ratzinger, J., Fischer, M., Gall, H.(2005), "Improving Evolvability Through Refactoring", Proc. of the 2nd International Workshop on Mining Software Repositories, pp.1-5
  13. Sahraoui, H.A., Godin, R., Miceli, T.(2000), "Can Metrics Help To Bridge The Gap Between The Improvement of OO Design Quality And its Automation?", Proc. International Conference on Software Maintenance, pp. 154-162
  14. Stroulia, E., Kapoor, R.V.(2001), "Metrics of Refactoring- Based Development: an Experience Report", The seventh International Conference on Object-Oriented Information Systems, pp.113-122
  15. Tahvildari, L., Kontogiannis, K., Mylopoulos J.(2003), "Quality-Driven Software Re-Engineering", Journal of Systems and Software, Special Issue on: Software Architecture-Engineering Quality Attributes, 66(3), pp.225-239