런타임 수행경로 분석을 이용한 컴포넌트 기반 시스템의 품질 측정 및 개선 방안
Component based System’s Quality Measurement and Improvement by Runtime Path Analysis
- 주제(키워드) 컴포넌트 , 품질 , 런타임경로 분석
- 발행기관 서강대학교 정보통신대학원
- 지도교수 장직현
- 발행년도 2010
- 학위수여년월 2010. 2
- 학위명 석사
- 학과 정보통신대학원 소프트웨어공학
- 실제URI http://www.dcollection.net/handler/sogang/000000045624
- 본문언어 한국어
- 저작권 서강대학교의 논문은 저작권에 의해 보호받습니다
초록/요약
기업 전산시스템에서 사용되고 있는 컴포넌트 기반 개발 방법론은 서비스 관련 명세와 인터페이스를 이용하여 프로그래밍이 아닌 조립방식으로 시스템을 구축하고 기능적 단위로서 재사용을 가능하게 하여 보다 신속한 개발을 가능하게 한다. 컴포넌트 기반 시스템의 장점인 재사용성으로 생산성 향상 효과는 존재하지만 무분별한 재사용과 불필요한 컴포넌트의 구성, 그리고 사용하지 않는 컴포넌트의 증가 등이 발생하여 시간이 경과할수록 신규 비즈니스 요구사항의 반영이 느려지고 시스템의 성능 또한 저하 된다. 이러한 유지보수 단계의 문제점을 해결하기 위해서는 소스 코드 분석을 이용한 정적인 코드 분석 방법에는 한계가 있으며 실제 컴포넌트 간의 런타임 수행경로를 분석하여 전체 시스템 및 개별 어플리케이션의 품질을 지속적으로 측정하고 개선할 수 있는 구체적인 방법이 필요하다. 본 논문은 유지보수 단계의 컴포넌트 기반 시스템의 품질을 측정하고 개선하는 하나의 방법을 제안한다. 품질 측정을 위해서 트랜잭션 별 컴포넌트 수행 회수 및 SQL I/O, 그리고 평균 CPU 사용률 등의 데이터를 정기적으로 수집하여 품질이 저하되는 어플리케이션을 도출한다. 품질이 저하된 어플리케이션의 경우 보다 동적 로그를 이용하여 런타임 수행경로를 추출한다. 추출된 수행경로를 분석을 통하여 입력데이터와 컴포넌트 기능 중복, 과도하게 세분화되거나 기능이 집중된 컴포넌트의 개선, 하위 경로에서의 컴포넌트 중복 등의 품질 개선 방안 들을 제시하고 이러한 개선의 결과로 시스템이 어떻게 품질 개선이 되었는지 본 논문에서 제시된 측정 기준으로 효과성을 검증한다. 이러한 품질 측정과 개선 절차를 도입한다면 기업의 컴포넌트 기반 소프트웨어 시스템의 품질 수준의 저하를 방지하고 개발 생산성을 향상시키는 동시에 시스템 자원을 최적화하여 비용 절감에도 기여할 것이다.
more초록/요약
Component based development methodology which is widely used in enterprise computing systems supports reducing development time by assembling reusable code assets including service specifications and interfaces. While development productivity is improved by component reuse at the first development, as time goes by, time to implement new business requirements and system performance are getting worse due to increasing unreasonable reuse, unnecessary component configuration and unused components. In order to resolve this issue, various quality improvement methods by analyzing source code have been introduced. But there is limitation on the static code analysis, so we need specific procedure for measuring the quality of whole system and each transaction level by analyzing dynamic runtime path between components at transaction level. In this thesis, we propose one method to measure and improve quality of component based system at the maintenance step. For measuring each transaction, the number of executions of each component, SQL I/O count and average CPU usage are gathered regularly and runtime paths of bad quality transactions are extracted. Based on this analysis of runtime path, it’s possible to extract duplicated components, too fragmented or too concentrated components and duplicated data between input and sub components function. After fixing these problems we prove effectiveness of quality measuring method and runtime path analysis. If this quality improvement procedure was adopted at enterprise level, development productivity would be improved and cost for system resource would be reduced by optimizing component based system.
more