估算技術 - 用例點



用例是一系列使用者與系統之間相關的互動,使使用者能夠實現目標。

用例是一種捕獲系統功能需求的方法。系統的使用者被稱為“參與者”。用例本質上是文字形式的。

用例點 – 定義

用例點 (UCP)是一種軟體估算技術,用於使用用例來衡量軟體規模。UCP 的概念類似於功能點。

專案中的 UCP 數量基於以下因素:

  • 系統中用例的數量和複雜性。
  • 系統中參與者的數量和複雜性。
    • 各種非功能性需求(例如可移植性、效能、可維護性),這些需求未以用例的形式編寫。

    • 專案將開發的環境(例如語言、團隊的積極性等)。

使用 UCP 進行估算要求所有用例都以目標編寫,並且大致處於同一級別,提供相同數量的細節。因此,在估算之前,專案團隊應確保他們編寫的用例具有明確的目標和詳細的級別。用例通常在一個會話內完成,並且在實現目標後,使用者可以繼續執行其他活動。

用例點歷史

用例點估算方法由 Gustav Karner 於 1993 年提出。這項工作後來被 Rational Software 授權,後者併入 IBM。

用例點計數過程

用例點計數過程包含以下步驟:

  • 計算未調整的 UCP
  • 根據技術複雜性進行調整
  • 根據環境複雜性進行調整
  • 計算調整後的 UCP

步驟 1:計算未調整的用例點。

首先,您可以透過以下步驟計算未調整的用例點:

  • 確定未調整的用例權重
  • 確定未調整的參與者權重
  • 計算未調整的用例點

步驟 1.1 – 確定未調整的用例權重。

步驟 1.1.1 – 查詢每個用例中的事務數量。

如果用例是用使用者目標級別編寫的,則事務相當於用例中的一個步驟。透過計算用例中的步驟數來查詢事務數。

步驟 1.1.2 – 根據用例中的事務數量,將每個用例分類為簡單型、平均型或複雜型。此外,分配用例權重,如下表所示:

用例複雜度 事務數量 用例權重
簡單型 ≤3 5
平均型 4 到 7 10
複雜型 >7 15

≥8

步驟 1.1.4 – 使用下表查詢未調整的用例權重 (UUCW):

用例複雜度 用例權重 用例數量 乘積
簡單型 5 NSUC(簡單用例數) 5 × NSUC
平均型 10 NAUC(平均用例數) 10 × NAUC
複雜型 15 NCUC(複雜用例數) 15 × NCUC
未調整的用例權重 (UUCW) 5 × NSUC + 10 × NAUC + 15 × NCUC

其中:

NSUC 是簡單用例的數量。

NAUC 是平均用例的數量。

NCUC 是複雜用例的數量。

步驟 1.2 – 確定未調整的參與者權重。

用例中的參與者可能是人、另一個程式等。某些參與者,例如具有已定義 API 的系統,需求非常簡單,只會稍微增加用例的複雜性。

某些參與者,例如透過協議互動的系統,需求更多,會在一定程度上增加用例的複雜性。

其他參與者,例如透過 GUI 互動的使用者,會對用例的複雜性產生重大影響。基於這些差異,您可以將參與者分類為簡單型、平均型和複雜型。

步驟 1.2.1 – 將參與者分類為簡單型、平均型和複雜型,並分配參與者權重,如下表所示:

參與者複雜度 示例 參與者權重
簡單型 具有已定義 API 的系統 1
平均型 1 2
複雜型 透過協議互動的系統 3

2

透過 GUI 互動的使用者

參與者複雜度 參與者權重 3 乘積
簡單型 1 步驟 1.2.2 – 對每個參與者重複此步驟,並獲取所有參與者權重。未調整的參與者權重 (UAW) 是所有參與者權重的總和。 步驟 1.2.3 – 使用下表查詢未調整的參與者權重 (UAW):
平均型 2 參與者數量 NSA(簡單參與者數)
複雜型 3 1 × NSA NAA(平均參與者數)
2 × NAA NCA(複雜參與者數)

其中:

3 × NCA

未調整的參與者權重 (UAW)

1 × NSA + 2 × NAA + 3 × NCA

NSA 是簡單參與者的數量。

NAA 是平均參與者的數量。

NCA 是複雜參與者的數量。

步驟 1.3 – 計算未調整的用例點。

未調整的用例權重 (UUCW) 和未調整的參與者權重 (UAW) 一起給出系統的未調整大小,稱為未調整的用例點。

未調整的用例點 (UUCP) = UUCW + UAW

接下來的步驟是根據技術複雜性和環境複雜性調整未調整的用例點 (UUCP)。 步驟 2:根據技術複雜性進行調整 步驟 2.1 – 考慮 13 個影響專案技術複雜性對用例點的影響的因素及其相應的權重,如下表所示:
因素 描述 2.0
權重 T1 1.0
分散式系統 5 1.0
T2 響應時間或吞吐量效能目標 1.0
4 T3 1.0
終端使用者效率 4 .5
T4 複雜的內部處理 .5
3 T5 2.0
程式碼必須可重用 3 1.0
T6 易於安裝 1.0
2 T7 1.0
易於使用 2 1.0
T8 可移植性 1.0

2

T9

易於更改

2

T10

接下來的步驟是根據技術複雜性和環境複雜性調整未調整的用例點 (UUCP)。 步驟 2:根據技術複雜性進行調整 併發 2 T11
因素 描述 2.0
權重 T1 1.0
分散式系統 5 1.0
T2 響應時間或吞吐量效能目標 1.0
4 T3 1.0
終端使用者效率 4 .5
T4 複雜的內部處理 .5
3 T5 2.0
程式碼必須可重用 3 1.0
T6 易於安裝 1.0
2 T7 1.0
易於使用 2 1.0
T8 可移植性 1.0
包含特殊安全目標

3

T12

為第三方提供直接訪問

3

接下來的步驟是根據技術複雜性和環境複雜性調整未調整的用例點 (UUCP)。 步驟 2:根據技術複雜性進行調整 步驟 2.1 – 考慮 13 個影響專案技術複雜性對用例點的影響的因素及其相應的權重,如下表所示:
T13 需要特殊的使用者培訓設施 1.5
3 這些因素中的許多都代表專案的非功能性需求。 .5
步驟 2.2 – 對這 13 個因素中的每一個,評估專案並從 0(無關)到 5(非常重要)進行評分。 步驟 2.3 – 根據因素的影響權重和專案的評分值計算因素的影響: 1.0
因素的影響 = 影響權重 × 評分值 步驟 (2.4) – 計算所有因素影響的總和。這將得出總技術因素 (TFactor),如下表所示: .5
權重 (W) 評分值 (0 到 5) (RV) 1.0
影響 (I = W × RV) 總技術因素 (TFactor) 2.0
步驟 2.5 – 計算技術複雜性因素 (TCF): TCF = 0.6 + (0.01 × TFactor) -1.0
步驟 3:根據環境複雜性進行調整 步驟 3.1 – 考慮 8 個可能影響專案執行的環境因素及其相應的權重,如下表所示: -1.0

F1

熟悉所使用的專案模型

2

4

接下來的步驟是根據技術複雜性和環境複雜性調整未調整的用例點 (UUCP)。 步驟 2:根據技術複雜性進行調整 併發 2 T11
T13 需要特殊的使用者培訓設施 1.5
3 這些因素中的許多都代表專案的非功能性需求。 .5
步驟 2.2 – 對這 13 個因素中的每一個,評估專案並從 0(無關)到 5(非常重要)進行評分。 步驟 2.3 – 根據因素的影響權重和專案的評分值計算因素的影響: 1.0
因素的影響 = 影響權重 × 評分值 步驟 (2.4) – 計算所有因素影響的總和。這將得出總技術因素 (TFactor),如下表所示: .5
權重 (W) 評分值 (0 到 5) (RV) 1.0
影響 (I = W × RV) 總技術因素 (TFactor) 2.0
步驟 2.5 – 計算技術複雜性因素 (TCF): TCF = 0.6 + (0.01 × TFactor) -1.0
步驟 3:根據環境複雜性進行調整 步驟 3.1 – 考慮 8 個可能影響專案執行的環境因素及其相應的權重,如下表所示: -1.0
F2

應用程式經驗

4

F3

面向物件經驗

3

F4

首席分析師的能力

  • 3

  • F5

  • 積極性

  • 3

  • F6

穩定的需求

  • 2

  • F7

  • 兼職員工

  • 2

複雜的程式語言
2
© . All rights reserved.