推定手法-ユースケースポイント
A Use-Case は、ユーザーとシステムの間の一連の関連する相互作用であり、ユーザーが目標を達成できるようにします。
ユースケースは、システムの機能要件を把握する方法です。システムのユーザーは「アクター」と呼ばれます。ユースケースは基本的にテキスト形式です。
ユースケースポイント–定義
Use-Case Points (UCP)は、ユースケースでソフトウェアサイズを測定するために使用されるソフトウェア推定手法です。UCPの概念はFPに似ています。
プロジェクト内のUCPの数は、以下に基づいています。
- システムのユースケースの数と複雑さ。
- システム上のアクターの数と複雑さ。
ユースケースとして記述されていないさまざまな非機能要件(移植性、パフォーマンス、保守性など)。
プロジェクトが開発される環境(言語、チームの動機など)
UCPを使用した見積もりでは、すべてのユースケースを目標を持ってほぼ同じレベルで記述し、同じ量の詳細を提供する必要があります。したがって、見積もりの前に、プロジェクトチームは、定義された目標を使用して詳細なレベルでユースケースを作成したことを確認する必要があります。ユースケースは通常、単一のセッション内で完了し、目標が達成された後、ユーザーは他のアクティビティに進むことができます。
使用履歴-ケースポイント
ユースケースポイントの推定方法は、1993年にGustav Karnerによって導入されました。この作業は、後にIBMに統合されたRationalSoftwareによってライセンス供与されました。
ユースケースポイントカウントプロセス
ユースケースポイントのカウントプロセスには、次の手順があります。
- 未調整のUCPを計算する
- 技術的な複雑さを調整する
- 環境の複雑さを調整する
- 調整されたUCPを計算する
ステップ1:未調整のユースケースポイントを計算します。
次の手順で、最初に未調整のユースケースポイントを計算します-
- 未調整のユースケースの重みを決定する
- 未調整のアクターの重みを決定する
- 未調整のユースケースポイントを計算する
Step 1.1 −未調整のユースケースの重みを決定します。
Step 1.1.1 −各ユースケースのトランザクション数を見つけます。
ユースケースがユーザー目標レベルで記述されている場合、トランザクションはユースケースのステップと同等です。ユースケースのステップを数えて、トランザクションの数を見つけます。
Step 1.1.2−ユースケース内のトランザクション数に基づいて、各ユースケースを単純、平均、または複雑に分類します。また、次の表に示すように、ユースケースの重みを割り当てます-
ユースケースの複雑さ | トランザクション数 | ユースケースの重み |
---|---|---|
シンプル | ≤3 | 5 |
平均 | 4から7 | 10 |
繁雑 | > 7 | 15 |
Step 1.1.3−ユースケースごとに繰り返し、すべてのユースケースの重みを取得します。未調整のユースケースの重み(UUCW)は、すべてのユースケースの重みの合計です。
Step 1.1.4 −次の表を使用して、未調整のユースケースの重み(UUCW)を見つけます−
ユースケースの複雑さ | ユースケースの重み | ユースケースの数 | 製品 |
---|---|---|---|
シンプル | 5 | NSUC | 5×NSUC |
平均 | 10 | NAUC | 10×NAUC |
繁雑 | 15 | NCUC | 15×NCUC |
Unadjusted Use-Case Weight (UUCW) | 5×NSUC + 10×NAUC + 15×NCUC |
どこ、
NSUCはありません。簡単な使用例-ケース。
NAUCはノーです。平均ユースケースの割合。
NCUCはありません。複雑なユースケースの例。
Step 1.2 −未調整のアクターの重みを決定します。
ユースケースのアクターは、人、別のプログラムなどです。APIが定義されたシステムなど、一部のアクターは非常に単純なニーズを持ち、ユースケースの複雑さをわずかに増加させます。
プロトコルを介して相互作用するシステムなどの一部のアクターは、より多くのニーズを持ち、ユースケースの複雑さをある程度増加させます。
GUIを介して対話するユーザーなど、他のアクターは、ユースケースの複雑さに大きな影響を与えます。これらの違いに基づいて、アクターを単純、平均、および複雑に分類できます。
Step 1.2.1 −次の表に示すように、アクターを単純、平均、および複雑に分類し、アクターの重みを割り当てます。
俳優の複雑さ | 例 | 俳優の体重 |
---|---|---|
シンプル | APIが定義されたシステム | 1 |
平均 | プロトコルを介して相互作用するシステム | 2 |
繁雑 | GUIを介して対話するユーザー | 3 |
Step 1.2.2−アクターごとに繰り返し、すべてのアクターの重みを取得します。未調整のアクターの重み(UAW)は、すべてのアクターの重みの合計です。
Step 1.2.3 −次の表を使用して未調整のアクターの重み(UAW)を見つけます−
俳優の複雑さ | 俳優の体重 | 俳優の数 | 製品 |
---|---|---|---|
シンプル | 1 | NSA | 1×NSA |
平均 | 2 | NAA | 2×NAA |
繁雑 | 3 | NCA | 3×NCA |
Unadjusted Actor Weight (UAW) | 1×NSA + 2×NAA + 3×NCA |
どこ、
NSAはノーです。単純な俳優の。
NAAはノーです。平均的な俳優の。
NCAはノーです。複雑な俳優の。
Step 1.3 −未調整のユースケースポイントを計算します。
未調整のユースケースの重み(UUCW)と未調整のアクターの重み(UAW)を合わせると、システムの未調整のサイズが得られます。これは、未調整のユースケースポイントと呼ばれます。
Unadjusted Use-Case Points (UUCP) = UUCW + UAW
次のステップは、技術的な複雑さと環境の複雑さのために未調整のユースケースポイント(UUCP)を調整することです。
ステップ2:技術的な複雑さを調整する
Step 2.1 −次の表に示すように、プロジェクトの技術的な複雑さがユースケースポイントに与える影響に寄与する13の要因とそれに対応する重みを考慮してください。
因子 | 説明 | 重量 |
---|---|---|
T1 | 分散システム | 2.0 |
T2 | 応答時間またはスループットパフォーマンスの目標 | 1.0 |
T3 | エンドユーザーの効率 | 1.0 |
T4 | 複雑な内部処理 | 1.0 |
T5 | コードは再利用可能でなければなりません | 1.0 |
T6 | インストールが簡単 | .5 |
T7 | 使いやすい | .5 |
T8 | ポータブル | 2.0 |
T9 | 変更が簡単 | 1.0 |
T10 | 同時 | 1.0 |
T11 | 特別なセキュリティ目標が含まれています | 1.0 |
T12 | サードパーティに直接アクセスを提供します | 1.0 |
T13 | 特別なユーザートレーニング施設が必要です | 1.0 |
これらの要因の多くは、プロジェクトの非機能要件を表しています。
Step 2.2 − 13の要素のそれぞれについて、プロジェクトを評価し、0(無関係)から5(非常に重要)まで評価します。
Step 2.3 −要因の影響の重みとプロジェクトの評価値から、要因の影響を次のように計算します。
Impact of the Factor = Impact Weight × Rated Value
Step (2.4)−すべての要因の影響の合計を計算します。これにより、以下の表に示すように、総技術係数(TFactor)が得られます。
因子 | 説明 | 重量(W) | 定格値(0〜5)(RV) | 影響(I = W×RV) |
---|---|---|---|---|
T1 | 分散システム | 2.0 | ||
T2 | 応答時間またはスループットパフォーマンスの目標 | 1.0 | ||
T3 | エンドユーザーの効率 | 1.0 | ||
T4 | 複雑な内部処理 | 1.0 | ||
T5 | コードは再利用可能でなければなりません | 1.0 | ||
T6 | インストールが簡単 | .5 | ||
T7 | 使いやすい | .5 | ||
T8 | ポータブル | 2.0 | ||
T9 | 変更が簡単 | 1.0 | ||
T10 | 同時 | 1.0 | ||
T11 | 特別なセキュリティ目標が含まれています | 1.0 | ||
T12 | サードパーティに直接アクセスを提供します | 1.0 | ||
T13 | 特別なユーザートレーニング施設が必要です | 1.0 | ||
Total Technical Factor (TFactor) |
Step 2.5 −技術的複雑度係数(TCF)を次のように計算します−
TCF = 0.6 + (0.01 × TFactor)
ステップ3:環境の複雑さを調整する
Step 3.1 −次の表に示すように、プロジェクトの実行に影響を与える可能性のある8つの環境要因とそれに対応する重みを考慮してください。
因子 | 説明 | 重量 |
---|---|---|
F1 | 使用されるプロジェクトモデルに精通している | 1.5 |
F2 | アプリケーションの経験 | .5 |
F3 | オブジェクト指向の経験 | 1.0 |
F4 | リードアナリストの能力 | .5 |
F5 | 動機 | 1.0 |
F6 | 安定した要件 | 2.0 |
F7 | 非常勤スタッフ | -1.0 |
F8 | 難しいプログラミング言語 | -1.0 |
Step 3.2 − 8つの要素のそれぞれについて、プロジェクトを評価し、0(無関係)から5(非常に重要)まで評価します。
Step 3.3 −要因の影響の重みとプロジェクトの評価値から、要因の影響を次のように計算します。
Impact of the Factor = Impact Weight × Rated Value
Step 3.4−すべての要因の影響の合計を計算します。これにより、次の表に示すように、総環境係数(EFactor)が得られます。
因子 | 説明 | 重量(W) | 定格値(0〜5)(RV) | 影響(I = W×RV) |
---|---|---|---|---|
F1 | 使用されるプロジェクトモデルに精通している | 1.5 | ||
F2 | アプリケーションの経験 | .5 | ||
F3 | オブジェクト指向の経験 | 1.0 | ||
F4 | リードアナリストの能力 | .5 | ||
F5 | 動機 | 1.0 | ||
F6 | 安定した要件 | 2.0 | ||
F7 | 非常勤スタッフ | -1.0 | ||
F8 | 難しいプログラミング言語 | -1.0 | ||
Total Environment Factor (EFactor) |
Step 3.5 −環境要因(EF)を次のように計算します−
1.4 + (-0.03 × EFactor)
ステップ4:調整されたユースケースポイント(UCP)を計算する
調整されたユースケースポイント(UCP)を次のように計算します-
UCP = UUCP × TCF × EF
ユースケースの長所と短所
ユースケースポイントの利点
UCPはユースケースに基づいており、プロジェクトのライフサイクルの非常に早い段階で測定できます。
UCP(サイズ見積もり)は、プロジェクトを実装するチームのサイズ、スキル、および経験とは無関係です。
経験豊富な人が見積もりを行うと、UCPベースの見積もりは実際に近いことがわかります。
UCPは使いやすく、追加の分析を必要としません。
ユースケースは、要件を説明するための選択方法として広く使用されています。このような場合、UCPが最適な推定手法です。
ユースケースのデメリット
UCPは、要件がユースケースの形式で記述されている場合にのみ使用できます。
目標指向の、よく書かれたユースケースに依存します。ユースケースが適切にまたは均一に構造化されていない場合、結果のUCPは正確でない可能性があります。
技術的および環境的要因はUCPに大きな影響を及ぼします。技術的および環境的要因に値を割り当てる際には注意が必要です。
UCPは、プロジェクト全体のサイズの初期見積もりには役立ちますが、チームの反復から反復への作業を推進するのにはあまり役立ちません。