활용 사례
Use case pointsUse Case Points(UCP 또는 UCP)는 소프트웨어 개발 프로젝트의 소프트웨어 크기를 예측하기 위해 사용되는 소프트웨어 평가 기법입니다.UCP는 소프트웨어 설계 및 개발에 Unified Modeling Language(UML) 및 Rational Unified Process(RUP) 방법론을 사용할 때 사용됩니다.UCP의 개념은 UML 모델링 기술 세트의 일부인 사용 사례를 사용하여 작성되는 시스템의 요구 사항을 기반으로 합니다.소프트웨어 크기(UCP)는 기술적 고려사항과 환경적 고려사항을 고려하여 시스템 사용 사례의 요소를 기반으로 계산됩니다.그런 다음 프로젝트의 UCP를 사용하여 프로젝트의 예상 작업량을 계산할 수 있습니다.
역사
UCP 기술은 1993년 Gustav Karner에 의해 개발되었으며, 당시 Objectory Systems로 알려진 곳에서 사용되었으며, 이후 Rational Software와 IBM에 합병되었습니다.UCP 방법은 객체 지향 시스템의 소프트웨어 크기를 추정하기 위해 작성되었습니다.FP(Function Point) 추정 방법과 유사한 원리를 기반으로 하지만 객체 지향 시스템의 특정 요구 및 사용 [1][2][3]사례에 기반한 시스템 요구 사항을 위해 설계되었습니다.
방법
시스템 개발을 위한 크기 추정치를 결정하는 방법은 다음과 같은 요소를 사용한 계산에 기초한다.
- UUCW(Unadjusted Use Case Weight) – 사용 사례의 수와 복잡성을 설명하는 소프트웨어의 포인트 크기.
- Unadjusted Actor Weight (UAW; 조정되지 않은 액터 무게)– 액터의 수와 복잡성을 설명하는 소프트웨어의 포인트 크기.
- 테크니컬 복잡도 계수(TCF)– 기술적 고려사항에 따라 크기를 조정하기 위해 사용되는 계수입니다.
- 환경 복잡도 계수(ECF)– 환경 고려 사항에 따라 크기를 조정하기 위해 사용되는 계수입니다.
앞의 4가지 요소가 계산되면 최종 크기 견적을 계산할 수 있습니다.이 최종 수치는 소프트웨어 개발 프로젝트의 사용 사례 포인트 또는 UCP로 알려져 있습니다.
다음 섹션에서는 프로젝트의 UCP를 결정하기 위한 다양한 계산에 대해 설명합니다.
미조정 유스케이스 웨이트(UUCW)
UUCW는 개발 중인 소프트웨어의 크기에 영향을 미치는 요인 중 하나입니다.시스템 사용 사례의 수와 복잡도에 따라 계산됩니다.시스템의 UUCW를 찾으려면 사용 사례에 포함된 트랜잭션 수에 따라 각 사용 사례를 단순, 평균 또는 복합으로 식별하고 분류해야 합니다.각 분류에는 미리 정의된 무게가 할당됩니다.모든 사용 사례가 단순, 평균 또는 복합으로 분류되면 총 가중치(UUCW)는 각 사용 사례에 대응하는 가중치를 합산하여 결정됩니다.다음 차트는 트랜잭션 수와 분류 내 각 사용 사례에 할당된 가중치에 따라 다양한 사용 사례 분류를 보여 줍니다.
유스케이스 분류 | 거래 건수 | 체중 |
---|---|---|
간단하죠. | 1 ~ 3 트랜잭션 | 5 |
평균 | 4 ~ 7 트랜잭션 | 10 |
복잡한 | 8개 이상의 트랜잭션 | 15 |
- UUCW = (단순 사용 사례의 총 수 x 5) + (총 수)평균 사용 사례 x 10) + (합계 수)복잡한 사용 사례 x 15)
조정되지 않은 배우 체중(UAW)
UAW는 개발 중인 소프트웨어의 크기에 기여하는 또 다른 요인이다.시스템의 행위자 수와 복잡도에 따라 계산됩니다.UUCW를 찾는 것과 마찬가지로, 각 배우를 배우의 유형에 따라 단순, 평균 또는 복합으로 식별하고 분류해야 합니다.각 분류에는 미리 정의된 가중치도 할당되어 있습니다.UAW는 각 배우들의 몸무게의 합계이다.다음 차트는 액터의 다양한 분류와 할당된 체중 값을 보여 줍니다.
배우 분류 | 배우의 종류 | 체중 |
---|---|---|
간단하죠. | 잘 정의된 API를 사용하여 시스템과 상호 작용해야 하는 외부 시스템 | 1 |
평균 | 표준 통신 프로토콜(TCP/IP, FTP, HTTP, 데이터베이스 등)을 사용하여 시스템과 상호 작용해야 하는 외부 시스템 | 2 |
복잡한 | GUI 어플리케이션인터페이스를 사용하는 Human Actor | 3 |
- UAW = (단순 배우의 총수 x 1) + (총수)평균 배우 x 2) + (합계 번호)복잡한 행위자×3)
기술적 복잡성 요인(TCF)
TCF는 시스템의 기술적 고려사항을 설명하기 위해 소프트웨어의 예상 크기에 적용되는 요인 중 하나입니다.이 값은 아래 표에 나열된 13가지 기술적 요소에 각각 0(요소는 무관함)에서 5(요소는 필수) 사이의 점수를 할당함으로써 결정됩니다.그런 다음 이 점수는 각 요인에 대해 정의된 가중치에 곱됩니다.계산된 모든 값의 합계가 Technical Factor(TF; 기술 계수)입니다.다음으로 TF를 사용하여 다음 공식으로 TCF를 계산합니다.
- TCF = 0.6 + (TF/100)
요인 | 묘사 | 체중 |
---|---|---|
T1 | 분산 시스템 | 2.0 |
T2 | 응답 시간/성능 목표 | 1.0 |
T3 | 최종 사용자의 효율성 | 1.0 |
T4 | 내부 처리의 복잡성 | 1.0 |
T5 | 코드 재사용 가능성 | 1.0 |
T6 | 설치가 간단함 | 0.5 |
T7 | 사용하기 쉽다 | 0.5 |
T8 | 다른 플랫폼으로의 이식성 | 2.0 |
T9 | 시스템 유지보수 | 1.0 |
T10 | 동시/병렬 처리 | 1.0 |
T11 | 보안 기능 | 1.0 |
T12 | 서드파티 접근 | 1.0 |
T13 | 최종 사용자 훈련 | 1.0 |
환경 복잡도 계수(ECF)
ECF는 시스템의 환경적 고려사항을 설명하기 위해 소프트웨어의 예상 크기에 적용되는 또 다른 요소입니다.아래 표에 기재된 8가지 환경요인에 각각 0(경험 없음)에서 5(전문가) 사이의 점수를 할당하여 결정합니다.그런 다음 이 점수는 각 요인에 대해 정의된 가중치에 곱됩니다.계산된 모든 값의 합계는 환경 계수(EF)입니다.그런 다음 EF를 사용하여 다음 공식으로 ECF를 계산합니다.
- ECF = 1.4 + (-0.03 x EF)
요인 | 묘사 | 체중 |
---|---|---|
E1 | 사용되는 개발 프로세스에 대한 지식 | 1.5 |
E2 | 응용 프로그램 경험 | 0.5 |
E3 | 팀의 객체 지향적 경험 | 1.0 |
E4 | 수석 분석가 역량 | 0.5 |
E5 | 팀의 동기 부여 | 1.0 |
E6 | 요건의 안정성 | 2.0 |
E7 | 파트타임 스탭 | -1.0 |
E8 | 어려운 프로그래밍 언어 | -1.0 |
사용 사례 포인트(UCP)
마지막으로 조정되지 않은 프로젝트 규모(UUCW 및 UAW), 기술적 요인(TCF) 및 환경적 요인(ECF)이 결정되면 UCP를 계산할 수 있습니다.UCP는 다음 공식에 따라 계산됩니다.
- UCP = (UUCW + UAW) x TCF x ECF
예
UCP 계산 프로세스를 설명하기 위해 온라인 쇼핑 시스템을 사용합니다.다음 그림은 개발하는 시스템의 사용 사례도를 나타내고 있습니다.
미조정 유스케이스 웨이트(UUCW)
UUCW를 계산하려면 사용 사례를 정의하고 각 사용 사례에 대한 트랜잭션 수를 식별해야 합니다.온라인 쇼핑 시스템의 사용 사례 다이어그램은 시스템에 9개의 사용 사례가 존재하는 것을 나타냅니다.이러한 사용 사례 중 2개가 단순, 3개가 평균, 4개가 복잡하다고 가정하면 UUCW의 계산은 다음과 같습니다.
- UUCW = (단순 사용 사례의 총 수 x 5) + (총 수)평균 사용 사례 x 10) + (합계 수)복잡한 사용 사례 x 15)
- 온라인 쇼핑 시스템의 경우 UUCW = (2 x 5) + (3 x 10) + (4 x 15) = 100
- UUCW = 100
조정되지 않은 배우 체중(UAW)
UAW를 계산하려면 행위자를 식별해야 한다.온라인 쇼핑 시스템의 사용 사례 다이어그램에는 지불 처리 시스템을 위한 간단한 작업 1개, 인간 사용자 각 작업자를 위한 작업 4개(즉, 온라인 고객, 마케팅 관리자, 창고 관리자, 창고 관리자)의 작업자가 나와 있습니다.UAW의 계산은 다음과 같습니다.
- UAW = (단순 배우의 총수 x 1) + (총수)평균 배우 수 x 2) + (합계 수)복잡한 행위자 x 3)
- 온라인 쇼핑 시스템의 경우 UAW = (1 x 1) + (0 x 2) + (4 x 3) = 13
- UAW = 13
기술적 복잡성 요인(TCF)
TCF를 계산하기 위해 각 기술적 요소에 기술적 측면이 개발 중인 시스템에 얼마나 중요한지에 따라 값이 할당됩니다.다음 그림은 온라인 쇼핑 시스템에 할당된 값을 보여 줍니다.값에는 가중치를 곱하여 TF의 합계가 결정됩니다.
요인 | 묘사 | 체중 | 할당된 값 | 무게 x 할당된 값 |
---|---|---|---|---|
T1 | 분산 시스템 | 2.0 | 5 | 10 |
T2 | 응답 시간/성능 목표 | 1.0 | 5 | 5 |
T3 | 최종 사용자의 효율성 | 1.0 | 3 | 3 |
T4 | 내부 처리의 복잡성 | 1.0 | 2 | 2 |
T5 | 코드 재사용 가능성 | 1.0 | 3 | 3 |
T6 | 설치가 간단함 | 0.5 | 1 | 0.5 |
T7 | 사용하기 쉽다 | 0.5 | 5 | 2.5 |
T8 | 다른 플랫폼으로의 이식성 | 2.0 | 2 | 4 |
T9 | 시스템 유지보수 | 1.0 | 2 | 2 |
T10 | 동시/병렬 처리 | 1.0 | 3 | 3 |
T11 | 보안 기능 | 1.0 | 5 | 5 |
T12 | 서드파티 접근 | 1.0 | 1 | 1 |
T13 | 최종 사용자 훈련 | 1.0 | 1 | 1 |
합계(TF): | 42 |
다음으로 TCF가 계산됩니다.
- TCF = 0.6 + (TF/100)
- 온라인 쇼핑 시스템의 경우 TCF = 0.6 + (42/100) = 1.02
- TCF = 1.02
환경 복잡도 계수(ECF)
ECF를 계산하기 위해 팀 경험 수준에 따라 각 환경 요소에 값을 할당합니다.다음 그림은 온라인 쇼핑 시스템에 할당된 값을 보여 줍니다.값에는 가중치를 곱하여 총 EF가 결정됩니다.
요인 | 묘사 | 체중 | 할당된 값 | 무게 x 할당된 값 |
---|---|---|---|---|
E1 | 사용되는 개발 프로세스에 대한 지식 | 1.5 | 3 | 4.5 |
E2 | 응용 프로그램 경험 | 0.5 | 3 | 1.5 |
E3 | 팀의 객체 지향적 경험 | 1.0 | 2 | 2 |
E4 | 수석 분석가 역량 | 0.5 | 5 | 2.5 |
E5 | 팀의 동기 부여 | 1.0 | 2 | 2 |
E6 | 요건의 안정성 | 2.0 | 1 | 2 |
E7 | 파트타임 스탭 | -1.0 | 0 | 0 |
E8 | 어려운 프로그래밍 언어 | -1.0 | 4 | -4 |
합계(EF): | 10.5 |
다음으로 ECF가 계산됩니다.
- ECF = 1.4 + (-0.03 x EF)
- 온라인 쇼핑 시스템의 경우 ECF = 1.4 + (-0.03 * 10.5) = 1.085
- ECF = 1.085
사용 사례 포인트(UCP)
UCCW(Unadjusted Use Case Weight), UAW(Unadjusted Actor Weight), TCF(Technical Complexity Factor) 및 ECF(Environmental Complexity Factor)가 결정되면 다음 공식으로 UCP(Use Case Points)를 계산할 수 있습니다.
- UCP = (UUCW + UAW) x TCF x ECF
- 온라인 쇼핑 시스템의 경우 UCP = (100 + 13) x 1.02 x 1.085 = 125.06
- UCP = 125.06
온라인 쇼핑 시스템의 경우 소프트웨어 개발 예상 크기는 125.06 Use Case Points입니다.
이제 프로젝트의 규모가 알려졌으므로 프로젝트의 총 노력을 추정할 수 있습니다.Online Shopping System의 예에서는 사용 사례 포인트당 28시간의 공수가 사용됩니다.
- 예상 작업량 = UCP x 시간/UCP
- 온라인 쇼핑 시스템의 경우 예상 노력 = 125.06 x 28
- 예상 작업 = 3501시간
추가 개발
Use Case Points 방법의 주요 약점 중 하나는 통계적으로 충분한 수의 프로젝트가 없기 때문에 회귀 분석을 사용하여 철저히 보정된 적이 없다는 것입니다.더욱이, 카너스 접근법의 선형 모델은 소프트웨어 [4]개발 프로젝트에서 발생하는 규모의 비경제성을 고려하지 않는다.그러나 쉽게 적용할 수 있는 크기 조정 접근법과 계수 규칙은 초기 단계의 견적에 많은 이점을 제공하므로 애플리케이션 또는 IT 제품의 FSM(기능 크기 측정, 이 경우 UUCW + UAW)을 신속하게 산출할 수 있습니다.그런 다음 이 FSM을 COCOMO II와 같은 통계적으로 검증된 추정 모델과 결합하여 보다 신뢰할 수 있는 추정 [4]결과를 얻을 수 있다.
「 」를 참조해 주세요.
레퍼런스
- ^ Murali Chemuturi, Software Estimation Best Practices, Tool and Technics for Software Project Estimators, J.Ross Publishing, 2009, 84-87페이지
- ^ 데니스, 앨런 R. 바바라 헤일리 윅섬, 데이비드 테가든.UML 버전 2.0을 사용한 시스템 분석 및 설계: 객체 지향 접근법, 제3판, John Wiley & Sons, 2009, 제5장 - 기능 모델링
- ^ 데니스, 앨런 R. 바바라 헤일리 윅섬, 데이비드 테가든.UML 버전 2.0을 사용한 시스템 분석 및 설계: 객체 지향 접근법, 제4판, John Wiley & Sons, 2012, 제2장 - 프로젝트 관리
- ^ a b Carl Friedrich Kress, Olivier Hummel, Mahmudul Huq: 신뢰성 있는 프로젝트 전 작업 평가의 실용적인 접근법.인: CEUR 워크숍 진행, Vol. 1138, 페이지 23, 2014