비용을 고려한 아키텍처 평가를 지원하는 소프트웨어 아키텍처 비용 추정 기법
A Cost Estimation Method to Support Cost Considerations in Architecture Evaluation
- 주제(키워드) 소프트웨어 아키텍처 , 아키텍처 평가 , 비용 추정
- 발행기관 서강대학교 대학원
- 지도교수 박수용
- 발행년도 2009
- 학위수여년월 2009. 2
- 학위명 석사
- 실제URI http://www.dcollection.net/handler/sogang/000000044938
- 본문언어 한국어
초록/요약
소프트웨어 개발의 필요성은 사용자의 요구사항과 개발 조직의 비즈니스 니즈에서 비롯된다. 어느 한쪽이라도 충족되지 못한다면 소프트웨어 개발이 성공할 수 없으므로 제한된 예산 제한 내에서 사용자가 요구하는 품질이 개발되어야 한다. 하지만 아키텍처를 통한 품질 획득을 지원하는 아키텍처 평가 기법은 비용 분석을 위한 지원이 미비하여 품질 획득과 비용을 함께 고려할 수 없고, 따라서 개발 예산 초과에 따른 개발 프로젝트 실패로 이어지는 위험이 따른다. 비용 분석이 고려되는 일부 아키텍처 평가 기법의 경우 비용 분석을 전문가에 의존하기 때문에 개발 조직에게 추가적인 오버헤드를 발생시킨다. 본 논문에서는 기존의 아키텍처 평가 기법을 보완하는 소프트웨어 비용 추정 모델을 적용한 아키텍처 비용 분석 기법을 제안한다. 아키텍처 후보의 적용에 따른 시스템 특성의 변화로부터 비용요소를 식별하여 아키텍처 후보의 비용을 예측하고, 나아가 비용 추정 모델의 메커니즘을 사용하여 전문가에 대한 의존을 제거함으로써 본 기법은 품질 요구사항과 예산을 동시에 고려하는 아키텍처의 선정을 지원한다. 본 논문에서 제안하는 비용 분석 기법의 예측 정확도를 검증하기 위해 보안 로봇 시스템인 RPS와 지구 관측 위성 영상 정보 시스템인 EOSDIS ECS에 적용된 아키텍처들을 대상으로 비용 분석을 수행하여 예측 결과를 정리하였다.
more초록/요약
The need for software stems from user requirements and developer?s business needs. As failure to meet either need will most likely result in a failed project, software must deliver qualities that satisfy user requirements while observing budget imposed by developers. However, existing architecture evaluation methods, which provide the means to deliver qualities, fail to address cost considerations in acquiring qualities. A number of architecture evaluation methods which do address cost considerations depend on select experts to produce cost estimation, which introduces extra overhead to the developers. In this thesis, we propose a complementary architecture cost analysis technique designed to perform in concert with existing scenario-based architecture evaluation methods. The cost analysis technique adopts a software cost estimation model ? COCOMO II ? in its cost analysis mechanism to remove dependency on experts for cost analysis. The proposed technique in this thesis is validated against the Robot Patrol System (RPS) and EOSDIS ECS architectures. We have performed cost analysis on the two systems? architectures and checked the accuracy of the result by comparing the estimated cost to actual costs of the architectures of the systems.
more목차
제 1 장 서론 = 1
제 2 장 관련 연구 및 문제점 = 8
2.1 외부 입력 비용 정보를 사용하는 아키텍처 평가 기법 = 8
2.2 전문가 의존 비용 추정을 적용한 아키텍처 평가 기법 = 10
2.3 경제 이론 적용 비용 분석에 기반하는 아키텍처 평가 기법 = 11
2.4 관련 연구의 문제점 분석 = 13
제 3 장 아키텍처 비용 추정 = 17
3.1 개요 = 17
3.1.1 문제 정의 및 접근 방안 = 17
3.1.2 본 연구의 적용 문맥 (Context) = 20
3.1.3 본 연구의 구성 요소 (Components) = 23
3.1.4 소프트웨어 비용 추정 모델의 역할 = 25
3.2 모델링 = 32
3.2.1 품질속성 시나리오 모델 = 33
3.2.2 아키텍처 후보 기술 모델 = 34
3.3 아키텍처 후보 비용 추정 = 38
3.3.1 아키텍처 후보를 모델에 따라 기술 = 40
3.3.2 아키텍처 후보의 비용요소 식별 및 등급 평가 = 42
3.3.3 아키텍처 후보의 비용 Multiplier 산출 = 48
제 4 장 검증 = 51
4.1 검증 대상 시스템의 소개 = 51
4.1.1 RPS 시스템의 소개 = 51
4.1.2 EOSDIS ECS 시스템의 소개 = 53
4.2 검증 방법 = 54
4.2.1 RPS 아키텍처 비용 추정을 통한 검증 = 54
4.2.2 EOSDIS ECS 아키텍처 비용 추정을 통한 검증 = 56
4.3 검증 결과 = 57
4.3.1 RPS 시스템을 통한 정확성 검증 결과 = 57
4.3.2 EOSDIS ECS 시스템을 통한 정확성 검증 결과 = 64
4.4 제안 기법의 평가 = 69
제 5 장 결론 및 향후 연구 = 73
제 6 장 참고문헌 = 75
제 7 장 부록 = 80
7.1 품질속성에 따른 비용요소 식별 가이드 = 80
7.2 비용요소 평가 체크리스트 = 82
그림목차
그림 1. 품질속성 시나리오 기반 아키텍처 평가 기법 = 2
그림 2. 비용 고려를 포함하지 않는 아키텍처 평가 = 4
그림 3. 전문가 추정 비용을 사용하는 아키텍처 평가 = 4
그림 4. 외부 입력 비용 정보를 사용하는 아키텍처 평가 기법의 예 (ATAM) = 9
그림 5. 전문가 의존 비용 추정을 적용한 아키텍처 평가 기법의 예 (CBAM) = 11
그림 6. 경제 이론 적용 비용 분석에 기반한 아키텍처 평가 기법의 예 (Real-Option Valuation) = 12
그림 7. 기존 아키텍처 평가 프로세스 개요 = 18
그림 8. COCOMO II 모델을 적용한 아키텍처 비용 추정 기법이 적용된 아키텍처 평가 프로세스 = 19
그림 9. ATAM의 입력 정보와 출력 정보 및 참여자 역할 = 22
그림 10. 비용 분석의 이슈에 대응하는 연구 구성 요소 = 25
그림 11. 품질속성 시나리오 모델 = 34
그림 12. 아키텍처 후보 기술 모델 = 35
그림 13. 아키텍처 후보 기술 모델 (COCOMO II 비용요소 적용) = 36
그림 14. 아키텍처 후보 기술 템플릿 = 38
그림 15. 아키텍처 비용 분석 기법 프로세스 = 39
그림 16. 아키텍처 후보 기술 단계의 구성 = 40
그림 17. 아키텍처 후보의 기술 단계의 입력 정보 및 산출물 = 41
그림 18. 모델에 따라 기술된 아키텍처 후보의 예시 = 42
그림 19. 아키텍처 후보 비용요소 식별 및 평가 단계의 구성 = 43
그림 20. 비용요소 식별 및 평가 단계의 입력 정보 및 산출물 = 46
그림 21. 비용요소 영향이 식별된 아키텍처 후보의 예 = 47
그림 22. 비용요소 등급이 평가된 아키텍처 후보의 예 = 48
그림 23. 비용 Multiplier 산출 단계의 구성 = 49
그림 24. 비용 Multiplier 산출 단계의 입력 정보 및 산출물 = 50
그림 25. RPS 시스템 아키텍처 (2007) = 52
그림 26. RPS 시스템 아키텍처 (2008) = 53
그림 27. EOSDIS ECS 시스템의 DAWG 아키텍처 = 54
그림 28. RPS 시스템을 통한 비용 예측 정확도 검증 = 56
그림 29. 모델에 따라 기술한 RPS 아키텍처 후보 (2007) = 59
그림 30. 모델에 따라 기술한 RPS 아키텍처 후보 (2008) = 60
그림 31. EOSDIS ECS 아키텍처 후보 #1 (Order Retry) = 65
그림 32. EOSDIS ECS 아키텍처 후보 #2 (Forced Order Completion) = 66
그림 33. EOSDIS ECS 아키텍처 후보 #3 (Order Reassignment) = 67
그림 34. 소프트웨어 개발 수명 주기에 따른 비용 예측 정확성 = 71
표목차
표 1. 관련 연구 분석 = 13
표 2. COCOMO II 비용요소 정의 - RELY = 28
표 3. COCOMO II 비용요소 정의 - CPLX = 29
표 4. COCOMO II 비용요소 정의 - RUSE = 30
표 5. COCOMO II 비용요소 정의 - TIME = 31
표 6. COCOMO II 비용요소 정의 - STOR = 32
표 7. CPLX 등급 점수표 = 46
표 8. RPS 시스템의 후보 아키텍처 비용요소 평가 결과 = 61
표 9. RPS 시스템의 구현 결과물로부터 Class Point 분석으로 측정한 아키텍처 후보의 실측 공수 = 62
표 10. 본 연구 기법의 비용 예측 결과와 실측 공수 결과의 비교 = 63
표 11. EOSDIS ECS 시스템의 후보 아키텍처 비용요소 평가 결과 = 68
표 12. 비용 추정 결과 비교 - 후보 #1 과 #2 = 68
표 13. 비용 추정 결과 비교 - 후보 #2 과 #3 = 69
표 14. 비용 추정 결과 비교 - 후보 #1과 #3 = 69
표 15. 비용요소 식별 가이드 (Performance 품질속성) = 80
표 16. 비용요소 식별 가이드 (Availability 아키텍처) = 81
표 17. 비용요소 식별 가이드 (Modifiability 아키텍처) = 81
표 18. 비용요소 평가 체크리스트 - RELY = 82
표 19. 비용요소 평가 체크리스트 - RUSE = 82
표 20. 비용요소 평가 체크리스트 - TIME = 83
표 21. 비용요소 평가 체크리스트 - STOR = 83
표 22. 비용요소 평가 체크리스트 - CPLX: Control (1/2) = 84
표 23. 비용요소 평가 체크리스트 - CPLX: Control (2/2) = 85
표 24. 비용요소 평가 체크리스트 - CPLX: Computation (1/2) = 85
표 25. 비용요소 평가 체크리스트 - CPLX: Computation (2/2) = 86
표 26. 비용요소 평가 체크리스트 - CPLX: Device = 87
표 27. 비용요소 평가 체크리스트 - CPLX: Data Management = 88
표 28. 비용요소 평가 체크리스트 - CPLX: User Interface = 89