본 논문에서는 기존 유스케이스 점수 기법의 공수 예측 정확도 향상을 위해 유스케이스 트랜잭션을 기반으로 한 공수 예측 기법을 제안한다. 유스케이스 점수 기법은 소프트웨어 유스케이스 모델을 기반으로 하는 공수 예측 기법으로서 객체 지향 소프트웨어 개발 프로젝트에서 사용되고 있다. 그러나 유스케이스 점수는 트랜잭션의 개수를 규모 산정의 단위로 활용하여 트랜잭션 별 구현 공수의 차이를 반영할 수 없고 트랜잭션 수의 범위에 따라 유스케이스의 규모를 결정함으로써 상이한 트랜잭션 수를 갖는 유스케이스들이 공수 예측 시 동일한 크기로 반영되어 상세수준에서의 문제를 갖는다. 이런 한계점들은 부정확한 공수 예측을 야기하여 프로젝트의 성공률을 저해하는 요소가 될 수 있다. 이를 개선하기 위해 본 논문에서는 공수 예측 시 트랜잭션을 단위 연산으로 세분화하고, 각 연산에 대한 복잡도를 활용하여 규모를 산정하는 트랜잭션 점수 기법을 제안하고자 한다.
본 논문에서는 기존 유스케이스 점수 기법의 공수 예측 정확도 향상을 위해 유스케이스 트랜잭션을 기반으로 한 공수 예측 기법을 제안한다. 유스케이스 점수 기법은 소프트웨어 유스케이스 모델을 기반으로 하는 공수 예측 기법으로서 객체 지향 소프트웨어 개발 프로젝트에서 사용되고 있다. 그러나 유스케이스 점수는 트랜잭션의 개수를 규모 산정의 단위로 활용하여 트랜잭션 별 구현 공수의 차이를 반영할 수 없고 트랜잭션 수의 범위에 따라 유스케이스의 규모를 결정함으로써 상이한 트랜잭션 수를 갖는 유스케이스들이 공수 예측 시 동일한 크기로 반영되어 상세수준에서의 문제를 갖는다. 이런 한계점들은 부정확한 공수 예측을 야기하여 프로젝트의 성공률을 저해하는 요소가 될 수 있다. 이를 개선하기 위해 본 논문에서는 공수 예측 시 트랜잭션을 단위 연산으로 세분화하고, 각 연산에 대한 복잡도를 활용하여 규모를 산정하는 트랜잭션 점수 기법을 제안하고자 한다.
Use Case Point(UCP) is a measure of a software project size for software effort estimation based on use case. UCP measures the size of the software project based on the use case model. Because UCP is based on the use case model, it is intuitive and easy to obtain. Also, it does not require extra art...
Use Case Point(UCP) is a measure of a software project size for software effort estimation based on use case. UCP measures the size of the software project based on the use case model. Because UCP is based on the use case model, it is intuitive and easy to obtain. Also, it does not require extra artifacts. On the other hand, UCP has some problems. UCP assumes every transaction has the same complexity. But, the number of operations and complexity of operations may affect complexity of transaction. In addition, UCP uses simple rating scale of complexity, but it may be inadequate for detailed estimates. To solve these problems, we suggest "Transaction Point(TP)", a size measure based on use case transaction. TP considers actors and operations in transaction. Complexity of transaction is based on the number of operations and complexity of operation, so it can support detailed estimation.
Use Case Point(UCP) is a measure of a software project size for software effort estimation based on use case. UCP measures the size of the software project based on the use case model. Because UCP is based on the use case model, it is intuitive and easy to obtain. Also, it does not require extra artifacts. On the other hand, UCP has some problems. UCP assumes every transaction has the same complexity. But, the number of operations and complexity of operations may affect complexity of transaction. In addition, UCP uses simple rating scale of complexity, but it may be inadequate for detailed estimates. To solve these problems, we suggest "Transaction Point(TP)", a size measure based on use case transaction. TP considers actors and operations in transaction. Complexity of transaction is based on the number of operations and complexity of operation, so it can support detailed estimation.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 트랜잭션의 복잡도에 영향을 미치는 트랜잭션의 단위 연산을 정의하고, 이 단위를 통해 유스케이스의 복잡도를 측정하고자 한다. 이 장에서는 트랜잭션을 구성하는 단위 연산을 정의하고 단위 연산의 수 및 복잡도를 활용하여 공수를 예측하는 트랜잭션 점수 (Transaction Point, TP)를 설명한다.
본 논문은 유스케이스 모텔을 확장하여 보다 정확한 공수를 예측할 수 있는 방법을 제안하였다. 기존 유스케이스 점수 기법에서 소프트웨어 규모 예측 단위로 사용하는 트랜잭션이 실제 균일한 복잡도를 가지지 않는다는 문제점에 착안하여 트랜잭션 내에 포함되어 있는 단위 연산을 유스케이스의 복잡도 측정 단위로 정의하고이 단위연산의 복잡도를 통해 유스케이스의 규모를 측정하였다.
이를 개선하기 위해 본 논문에서는 공수 예측 시 트랜잭션을 단위 연산으로 세분화하고, 각 연산에 대한 복잡도를 활용하여 규모를 산정하는 트랜잭션 점수(Transaction Point, TP) 기법을 제안하고자 한다. 트랜잭션 점수 기법은 공수 예측 시에 주어지는 동일한 정보를 바탕으로 보다 세밀한 공수 예측이 가능하므로, 기존의 유스케이스 점수 기법에 비해 높은 정확성을 보일 수 있는 장점이 있다.
제안 방법
COCOMO II 모델의 복잡도에 따른 가중치를 적용하여 단위 연산의 복잡도에 짜른 가중치를 결정하였다. 그러나 과거 프로젝트 데이터 수집을 통해 조직의 특성을 반영할 수 있는 단위 연산 규모 및 가중치를 활용할 경우 보다 높은 정확도를 기대할 수 있다.
이 문제를 해결하기 위해 Lieberman[기의 설계 메커니즘(amhi把며]Hal relevance) 의특성 (characteristics)을 활용하였다. Liebermane- 시스템 개발 시 위험관리를 위해 설계 메커니즘을 유스케이스에서 식별하고 이를 통해 구현 난이도를 측정하여 비교적 구현 난이도가 어려운 유스케이스를 먼저 구현함으로써 일정 연기 펓 비용 증가의 위험을 줄이고자 하였다. 이때 기술 수준이 다른 설계 메커니즘을 유스케이스에서 식별하기 위해 설계 메커니즘에 주요 특성을 정의함으로써 유스케이스 내에서 설계 메커니즘을 식별할 수 있는 가이드를 제시하였다.
점수(Use Case Point)> 계산한다. 그리고 조직의 생산성(Person-Hour per UCP)을 반영하여 개발 공수를 예측한다. 구체적인 유스케이스 점수 계산 방법은 아래 표 1과 같다.
예측할 수 있는 방법을 제안하였다. 기존 유스케이스 점수 기법에서 소프트웨어 규모 예측 단위로 사용하는 트랜잭션이 실제 균일한 복잡도를 가지지 않는다는 문제점에 착안하여 트랜잭션 내에 포함되어 있는 단위 연산을 유스케이스의 복잡도 측정 단위로 정의하고이 단위연산의 복잡도를 통해 유스케이스의 규모를 측정하였다. 실험 결과 트랜잭션 점수가 기존 유스케이스가 모든 트랜잭션이 동일한 복잡도를 가진다고 가정한 문제점과 트랜잭션 개수에 따른 복잡도 상세화 문제를 해결하여 보다 정확한 공수가 가능함을 알 수 있었다.
Point, USPX 제안하였다. 유스케이스 규모 점수는 액터의 종류, 엔티티의 수, 유스케이스 조건 내의 논리적 표현 수에 따라 복잡도를 분류하고 이에 따른 가중치를 부여하였다. 그러나 유스케이스 규모 점수는 유스케이스 모텔에서 엔티티를 추출하는 과정이 추가적으로 요구된다.
이 실험을 통해 각 기법을 통해 얻어진 공수 예측 정확도를 서로 비교 분석한다. 각 기법의 정확도를 비교하기 위해 본 연구에서는 MRE(Magnitude of Relative Error)와 결정계수(R2)를 사용하였다.
Liebermane- 시스템 개발 시 위험관리를 위해 설계 메커니즘을 유스케이스에서 식별하고 이를 통해 구현 난이도를 측정하여 비교적 구현 난이도가 어려운 유스케이스를 먼저 구현함으로써 일정 연기 펓 비용 증가의 위험을 줄이고자 하였다. 이때 기술 수준이 다른 설계 메커니즘을 유스케이스에서 식별하기 위해 설계 메커니즘에 주요 특성을 정의함으로써 유스케이스 내에서 설계 메커니즘을 식별할 수 있는 가이드를 제시하였다.
계산된다. 조정 전 트랜잭션 점수에 시스템 및 프로젝트의 특성을 반영하기 위해 조정 인자를 활용하여 트랜잭션 점수(貿msmtion Point, TP)를 계산하고 조직의 생산성(Persg-Hour per TP)을 반영하여 공수를 예측한다. 구체적인 트랜잭션 점수의 계산 방법은 표 4 와 같다.
대상 데이터
실험에 사용된 총 9개의 시스템은 소프트웨어 공학수업과 정에서 학생들이 작성하였다. 이 시스템들은 약 3 개월 간 개발되었고 Java 또는 C++을 통해 구현되었다.
데이터처리
MRE는 값이 작을수록, 序는 1에 가까울수록 기법의 정확도가 높다고 판단한다. 생산성 인자(productivity factor)는 실제 공수와 예측 공수 간 오차를 최소화할 수 있을 정도로 데이터가 축적된 경우를 가정하여 실제 생산성의 평균값을 사용하였다.
이론/모형
서로 비교 분석한다. 각 기법의 정확도를 비교하기 위해 본 연구에서는 MRE(Magnitude of Relative Error)와 결정계수(R2)를 사용하였다. MRE는 값이 작을수록, 序는 1에 가까울수록 기법의 정확도가 높다고 판단한다.
식별이 어렵다. 이 문제를 해결하기 위해 Lieberman[기의 설계 메커니즘(amhi把며]Hal relevance) 의특성 (characteristics)을 활용하였다. Liebermane- 시스템 개발 시 위험관리를 위해 설계 메커니즘을 유스케이스에서 식별하고 이를 통해 구현 난이도를 측정하여 비교적 구현 난이도가 어려운 유스케이스를 먼저 구현함으로써 일정 연기 펓 비용 증가의 위험을 줄이고자 하였다.
최초로 유스케이스 점수 기법을 제안한 Kamer[3]는유스케이스의 규모를 측정하기 위해 유스케이스 모델 내의 액터와 유스케이스를 사용하였다. 이 중 유스케이스의 규모는 트랜잭션의 수에 따라 복잡도를 3단계(낮음, 보통, 높음)로 구분하고 복잡도에 따라 각각 5 10, 15의 가중치를 부여하였다.
트랜잭션을 구성하는 단위 연산의 분류 및 복잡도를 정의하기 위해 본 논문에서는 COCOMO 11[5] 모델의 시스템 구성 연산요소를 활용하였다.
성능/효과
t-test 결과 유의도는 0.010으로 95% 신뢰 수준에서 트랜잭션 점수 기법의 정확도가 통계적으로 유의하게 유스케이스 점수 기법에 비해 향상되었음을 알 수 있었다. 또한 예측 모델의 설명력을 보여주는 R2 측정 결과 역시 유스케이스 점수 기법은 7.
010으로 95% 신뢰 수준에서 트랜잭션 점수 기법의 정확도가 통계적으로 유의하게 유스케이스 점수 기법에 비해 향상되었음을 알 수 있었다. 또한 예측 모델의 설명력을 보여주는 R2 측정 결과 역시 유스케이스 점수 기법은 7.01%에 불과한 반면 트랜잭션 점수 기법은 80.35%로서 트랜잭션 점수 기법이 좀 더 설명력 있는 기법임을 보여 주었다. 이는 공수 예측 시 트랜잭션 점수 기법이 비교적 안정적으로 정확도가 높은 결과를 기대할 수 있다는 점을 보여준다
반면 본 논문에서 제시한 트랜잭션 점수는 트랜잭션을 단위 연산으로 세분화하고, 각 연산에 대한 복잡도를 활용하여 규모를 산정함으로써 기존 Karner의 연구가 가지는 상세화 문제를 해결하였고, 또한 단위 연산의 복잡도를 통해 전체 시스템의 규모를 산정하기 때문에 트랜잭션뫄다 가지는 복잡도의 차이를 반영할 수 있다. 또한 유스케이스 모뎰 외예 추가적인 데이터를 요구하지 않는다는 점에서 Marcio의 연구와도 차별화된다.
적용한 예측 공수 및 MRE 결과이다. 실험 결과 총 9개 프로젝트 중 7개 프로젝트에서 트랜잭션 점수 기법의 MRE값이 유스케이스 점수 기법의 MRE 값보다 낮게 측정되었다.
기존 유스케이스 점수 기법에서 소프트웨어 규모 예측 단위로 사용하는 트랜잭션이 실제 균일한 복잡도를 가지지 않는다는 문제점에 착안하여 트랜잭션 내에 포함되어 있는 단위 연산을 유스케이스의 복잡도 측정 단위로 정의하고이 단위연산의 복잡도를 통해 유스케이스의 규모를 측정하였다. 실험 결과 트랜잭션 점수가 기존 유스케이스가 모든 트랜잭션이 동일한 복잡도를 가진다고 가정한 문제점과 트랜잭션 개수에 따른 복잡도 상세화 문제를 해결하여 보다 정확한 공수가 가능함을 알 수 있었다.
후속연구
수 있다. 따라서 향후 연구로서 하나의 조직에서 축적된 균일한 데이터를 획득하여 단위 연산별 가중치에 대한 분석을 수행할 예정이다.
참고문헌 (10)
B. Anda, H. Dreiem, D. Sjoberg and M. Jorgensen. Estimating software development effort based on use cases - Experiences from industry. In Proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, pp.487-502, 2001.
B. Anda. Comparing effort estimates based on use cases with expert estimates. In Proceedings of Empirical Assessment in Software Engineering, pp.8-10, 2002.
G. Karner. Resource estimation for Objectory projects. Objectory systems, 1993.
J. Smith. The estimation of effort based on Use cases. Rational Software, White paper, 1999.
B. Boehm, B. Clark, E. Horowitz, C. Westland, R. Madachy and R. Selby. Cost models for future software life cycle processes : COCOMO 2.0. Annals of Software Engineering, volume 1, number 1, 1995.
C.R. Symons. Software Sizing and Estimating MKII FPA (Function Point Analysis). Wiley-Interscience, 1991.
A.J. Albrecht. Measuring application development productivity. In Proceedings of the IBMApplic. Dev. Joint SHARE/GUIDE Symposium, Monterey, pp.83-92, 1979.
Mohagheghi, B. Anda and R. Conradi. Effort Estimation of Use Cases for Incremental Large-Scale Software Development. In Proceedings of the 27th International Conference on Software Engineering, pp.303-311, 2005.
M. R. Braz and S.R. Vergilio. Software Effort Estimation Based on Use cases. In Proceedings of the 30th Annual International Computer Software and Applications Conference, vol.1, pp.221-228, 2006.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.