在COSMIC FPP中用戶功能需求(FUR)中并不包括技術與質量的需求,在實踐中有些需求很難界定是否是“功能需求”,比如“應該簡單易用”最基本的識別原則是:只要需要移動數據組,則應該識別為功能需求,并識別出功能處理,度量其規模。
3.5 識別數據組
一個數據組包含的每個數據屬性描述了感興趣的同一個對象的一個互補的側面。一個數據組可以是永久存儲的也可以是短期存儲的數據,它必須在系統中被具體化。通過它的唯一的數據屬性集合,每個被識別的數據組必須是唯一的和可區別的。每個數據組必須被直接的關聯到一個在軟件的FUR中描述的興趣對象上。在COSMIC-FFP中,采用術語“興趣對象”替代“實體類型”或“范式關系”,以避免使用特定的 軟件工程方法的術語。例如:在管理信息軟件領域,一個興趣對象可以是雇員(物理的)或訂單(概念的),在實時系統中,一個興趣對象可以是一個脫機文件。
3.6 識別數據屬性
一個數據屬性是已識別的數據組中最小的信息包,從軟件的用戶功能需求的角度表達了一定含義。一個數據屬性要么刻畫了用戶的現實世界,要么是一種記錄了環境信息,但不能是一種特定的實現技術所使用的信息,如臨時變量等。
識別數據屬性并非是必須的活動。COSMIC-FFP中基本的功能度量單位是一次數據移動,數據移動的對象是數據組,數據組是數據屬性的集合。在計算功能規模時沒有考慮數據屬性的多少,對于特定的度量目的,需要更加精確地度量規模時,可以對COSMIC-FFP方法進行擴展,度量數據屬性的個數即是其中的一種擴展方法。
3.7 識別數據移動
一個數據移動是一個功能處理的部件,它移動屬于一個單獨的數據組中一個或多個數據屬性。如果移動多個數據組的數據屬性,則應識別為多個數據移動。有四種子類型的數據移動:輸入、輸出、讀和寫。
在任何一個功能處理中,不要重復識別一個數據移動。例如:假定在FUR中要求一個數據組的移動,但是開發人員決定通過2個命令,在功能處理的不同地方,每次讀取不同數據子集,在考慮規模時,僅識別為1次讀。但是,本規則也有一些合法的例外,比如在實時軟件中, 如果FUR要求在某個處理停止之前,必須重復讀以檢查從第1次讀到現在的數據是否已經改變了,在這種情況下,如果有額外的和/或不同的數據操作與第2次讀相關聯,那么讀就應該識別為2次。
3.8 執行度量與匯總結果
在COSMIC FFP方法中,每一個有效的數據移動被看成為一個Cfsu。在為每一個功能處理都找到其應有的所有數據移動之后,將它們累加在一起便是這個功能處理的規模,如式(1所示)。
SizeCfsu (功能處理) = Size(輸入)+Size(輸出)+Size (讀 )+Size (寫 ) (1)
將所有的功能處理的規模累計在一起便是這個軟件系統的規模。如果是從不同觀點來度量的軟件規模,則不應該累加一起。從最終用戶的觀點和從開發者的觀點度量同一個軟件系統的規模,其結果是不相同的。除非有特別的需要,不同層的規模一般也不應該累加一起。
文章來源于領測軟件測試網 http://www.kjueaiud.com/