Evaluating Software Architectural Stability by Metrics

매트릭을 이용한 아키텍쳐 안정성 평가

  • Lee, Hyun-Joo (School of Computer Science and Engineering, Seoul National University) ;
  • Park, Chan-Jin (School of Computer Science and Engineering, Seoul National University) ;
  • Kang, Yoo-Hoon (School of Computer Science and Engineering, Seoul National University) ;
  • Kim, Taek-Su (School of Computer Science and Engineering, Seoul National University) ;
  • Wu, Chi-Su (School of Computer Science and Engineering, Seoul National University)
  • 이현주 (서울대학교 소프트웨어공학 연구실) ;
  • 박찬진 (서울대학교 소프트웨어공학 연구실) ;
  • 강유훈 (서울대학교 소프트웨어공학 연구실) ;
  • 김택수 (서울대학교 소프트웨어공학 연구실) ;
  • 우치수 (서울대학교 소프트웨어공학 연구실)
  • Published : 2005.07.01

Abstract

아키텍쳐(Architecture)는 프로젝트 초기에 결정된 설계 결정사항을 기재해 놓은 산출물이고 프로젝트 관련자(Stakeholder)간 의사소통의 수단이다. 아키텍쳐가 안정되어야 향후 진화(Evolution) 과정 중에 시스템을 이해하고 예측 관리하는 것이 쉬워지고 또한 기본 구조를 변경하지 않고 여러 가지 기능을 추가할 수 있다. 아키텍쳐 안정성(Architecture Stability)이란 진화과정 중에 발생하는 변경들을 견디는 정도를 말하고 변경은 적응변경(Adaptive Changes), 교정변경(Corrective Changes), 완전변경(Perfective Changes )을 포함한다. 그런데 진화 과정 동안에 변경들은 필연적으로 발생하게 되고 그로 인해 결정된 아키텍쳐는 본래의 모습을 그대로 유지할 수 없게 된다. 따라서 진화 과정시 아키텍쳐의 안정성을 측정하고 향후 변경에 대한 대비가 필요하다. 본 논문은 변경의 크기, 변경의 횟수, 변경의 종류와 아키텍쳐 불안정성의 관계를 버전별로 연구하고 그와 관련된 매트릭을 제안한다. 매트릭을 실제 프로젝트(Ant,JDT)에 적용하고 측정된 결과를 통해 아키텍쳐 안정성을 살펴봄으로써, 향후 안정성을 고려하여 아키텍쳐를 관리하고 개발하는데 도움을 줄 수 있을 것이다.

Keywords