서지주요정보
(A) feature based software modelling by dependency alignment for levelled maintenance = 의존성 정렬을 이용한 기능 기반의 소프트웨어 구축방안 연구
서명 / 저자 (A) feature based software modelling by dependency alignment for levelled maintenance = 의존성 정렬을 이용한 기능 기반의 소프트웨어 구축방안 연구 / Jung-Yoon Kim.
저자명 Kim, Jung-Yoon ; 김정윤
발행사항 [대전 : 한국과학기술원, 2006].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8017103

소장위치/청구기호

학술문화관(문화관) 보존서고

DCS 06010

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

While the way we build software affects significantly its maintenance in terms of the effort and cost, the experience level of the maintainer in software acquirers' organization is also one of concerns. In this context, often the maintainer is the user of the system. Unfortunately, it is quite possible to lose the trustworthiness of the software due to the inexperience of the maintainer, especially when the maintainer is without the help of original developers. For example, many organizations including bank, government, and military have their own task force team to maintain their delivered software. Preserving the trustworthiness of such software is as important as developing the software. While the way we build software affects significantly its maintenance in terms of the effort and cost, the experience level of the users who are maintaining it is also one of concerns. Unfortunately, it is quite possible to lose the trustworthiness of the software due to the inexperience of the maintaining users, especially when those users are without the help of original developers. One remedy for controlling the effect of the maintainer's modifications to the trustworthy software is to restrict the access to software parts (modules) according to the experience level of users. For such remedy to be successful, the software should be constructed in such a way that its parts under maintenance affect others as less as possible, in principle. We propose Feature Based Modelling (FBM): an approach to software construction aligning the dependencies in one direction among software parts restrictively so that they are allocated to maintaining users depending on their experience level. FBM decompose the software into features based on functionalities and order them by essentiality that indicates the degree of the criticality of each feature. The dependencies of the design units and code modules are ordered in such a way that the less essential one is dependent on more essential one. Consequently, any modification on less essential one does not affect the essential ones, leading to the restriction of the ripple effect among features in one direction only. We also found that the approach can be useful to achieve the goal of software product line in which capturing commonality and variations is the major issue. The essentiality in our approach can indicate commonalities and variants based on the assumption that common features are essential and not changing frequently. To demonstrate the feasibility of FBM, first, we applied it to the development of a military application, and found that the constructed software enables us to confine maintainers' activities within a limited working boundary, thus preserving the trustworthiness of the soft-ware against maintainers' activity. Second, we also applied FBM to software product line to contribute to an ongoing military project that tries to capture commonality and variability of software.

소프트웨어가 사용자에게 인도된 후 사용자가 스스로 개발자의 도움 없이 유지보수를 수행하는 것은 일반적이다. 실례로 은행기관이나 군, 공공기관에서는 자체의 전산팀을 운용하며 그 팀이 도입된 소프트웨어의 유지보수를 담당하고 있다. 그런데, 그러한 소프트웨어의 신뢰도를 유지하는 것은 개발하는 그 자체 못지 않게 중요하다. 소프트웨어를 개발하는 방법도 그것의 유지보수에 노력과 코스트 관점에서 지대한 영향을 미치지만, 유지보수를 하는 사용자의 숙련도 역시 지대한 관심사항이다. 그런데, 개발자의 도움이 없는 상태에서 숙련도가 낮은 사용자의 유지보수 활동은 소프트웨어의 신뢰도를 저하시킬 가능성이 매우 높다. 한가지 대처방안으로, 고신뢰도가 요구되는 소프트웨어에 대한 사용자의 유지보수활동이 미치는 영향을 제어해서 소프트웨어의 제한된 부분만 유지보수를 할 수 있게 하는 방안이 있다. 이때 그 제한된 부분은 사용자의 숙련도에 따라서 그 범위가 결정된다. 그런데 그러한 방안이 성공하기 위해서는 소프트웨어의 부분에 대한 유지보수가 다른 부분에 대해 가능한 영향을 주지 않아야만 한다. 본 논문에서 제안하는 Feature Based Modelling (FBM)은 소프트웨어 내부 구성단위들의 의존성을 한 방향으로 정렬하면서 소프트웨어를 개발하는 방법으로, 그 결과 유지보수를 수행하는 사용자들의 숙련도에 따라 유지보수를 적절하게 할당하여 수행할 수 있게 한다. FBM은 소프트웨어를 기능 기반의 feature들로 나누고 그들의 중요도를 의미하는 essentiality에 따라 정렬한다. 그런 후, feature에 해당하는 설계단계에서의 구성단위들 간의 그리고 구현단계에서의 코드모듈 간의 의존성을 정렬하게 된다. 결과적으로, 어떠한 essentiality가 낮은 구성단위에 대한 유지보수활동 수정사항의 파급효과를 제어함으로써 essentiality가 높은 구성단위 쪽으로 영향이 가지 않도록 한다. 또한 본 연구가 소프트웨어의 공통성과 가변성을 파악함을 주요 이슈로 하는 소프트웨어 제품계열(Software Product Line) 기법에 적용될 수 있음을 착안하였다. 본 연구에서는 공통성은 대체로 주요한 구성단위가 가지는 특성이며 또한 상대적으로 잘 변하지 않는다는 가정하에 essentiality가 공통성과 가변성을 지시하는 도구로 활용될 수 있다. FBM의 실효성을 제시하기 위해 군용 체계의 개발과제에 적용해보았고, 그 결과 본 연구에서 제시한 기법이 사용자의 유지보수 행위로 인한 파급효과를 제한된 작업영역에 한정한다는 것을 보였으며, 이로써 소프트웨어의 신뢰도가 유지될 수 있었다. 또한, 현재 개발 과정에 있는 또 다른 군용체계의 개발의 초기단계에서 부분적으로 FBM이 적용된 사례를 소개함으로써 소프트웨어 제품계열에서의 적용 가능성도 보여주고 있다.

서지기타정보

서지기타정보
청구기호 {DCS 06010
형태사항 vii, 100 p. : 삽도 ; 26 cm
언어 영어
일반주기 Appendix : Aspect J code for part of example system
저자명의 한글표기 : 김정윤
지도교수의 영문표기 : Doo-Hwan Bae
지도교수의 한글표기 : 배두환
수록잡지명 : Software practice and experience, (2006)
학위논문 학위논문(박사) - 한국과학기술원 : 전산학전공,
서지주기 Reference : p. 96-100
주제 feature
dependency alignment
essentiality
maintainer
unidirectional dependency
기능
의존성 정렬
본질성
유지보수성
일방의존성
QR CODE qr code