FPA筆記四 處理功能EI、EO、EQ

功能點分析法(FPA)定義的處理功能(Transactional Function)是指提供給用戶,用於數據的處理的功能。(筆者注:這定義等於沒說。呵呵。)處理功能分爲外部輸入EI、外部輸出EO、外部查詢EQ。顯然,完全在系統內部的處理功能不在FPA的考慮範圍內。
1.        處理功能的識別過程
處理功能的識別,包括五個步驟:將功能分解爲處理元;判斷處理元是EIEO還就EQ;檢查是否存在重複的EI/EO/EQ;確定EI/EO/EQ的複雜度;計算EI/EO/EQ的功能點數。本文介紹前三個步驟。

 

       

圖表 1 處理功能識別過程

 

2.        處理元的定義

要進行FPA分析,必須把處理功能分解爲處理元(Elementary Process)。自然,FPA中的處理元與計算機技術中的事務、處理等不是一回事。處理元有兩個識別標準:
l  它是對用戶有意義的最小活動單元。

l  它就自包含的,並使系統保持一致的行爲和狀態。

如果經過一段處理,系統的狀態或行爲不一致了,就說明這段處理不能構成處理元。同樣,如果在整個處理過程中,系統在行爲和狀態發生多次改變,且在多個點達到新的一致性行爲和狀態,則這段處理很可能包含多個處理元。
筆者以爲,實際情況下,正確的識別處理元非常困難。實際上也用不着在這上面鑽牛角尖。FPA的目的是計算出功能點數。如果處理元粒度較大,處理元的總數就少,單個處理元的功能點數就多。反之如果處理元粒度較小,處理元的總數就多少,單個處理元的功能點數就少。對計算整個系統的功能點數並無大礙。

 

3.        處理邏輯

處理元必然包含一種或多種的處理邏輯。處理邏輯(Processing Logic)是用戶爲完成後一個處理元而定義的特定需求。IFPUG CPM定義了13種處理邏輯。EIEO可以包含所有13種的處理邏輯,而且有一些種類必須包含。EQ則有4種處理邏輯不能包含。具體見下表。

 

表格 1 系統的13種處理邏輯
處理邏輯

EI

EO

EQ

1) 需要執行的校驗

 

 

 

2) 需要執行了數學公式和運算

 

M*

N

3) 等值轉換的算法,如貨幣轉換,單位轉換

 

 

 

4) 篩選數據的條件

 

 

 

5) 用於判斷是否適用的條件,也就是入口條件。

 

 

 

6) 一個或多個ILF的修改邏輯

M*

M*

N

7) 一個或多個被引用的ILFEIF

 

 

M

8) 從系統內獲取了數據或控制信息

 

 

M

9) 從已有數據衍生的額外數據

 

M*

N

10) 改變了系統的行爲或狀態

M*

M*

N

11) 向邊界外準備或展現了信息

 

M

M

12) 從邊界外接收數據或控制信息的能力

M

 

 

13) 數據重排。注意:重排數據不能作爲處理功能唯一性的識別依據

 

 

 

表中符號說明:
l  空白:處理功能(EI,EO,EQ)可以包含對應的處理邏輯。
l  M:處理功能必須包含對應的處理邏輯。
l  M*:所有標M*的處理邏輯,對應的處理功能必須包含至少一種。
l  N:處理功能不得包含對應的處理邏輯。

4.        識別重複的處理功能

用戶提出的需求,往往是零亂的,存在很多重複的需求。在識別處理元時,要注意歸併重複的處理元。當多個處理元同時滿足如下三個條件時,應當把它們記爲一個處理元。
l  它們的處理邏輯相同,數據排序規則除外。
l  它們包含的數據元素集合相同。
l  它們引用的邏輯文件(ILF/EIF)集合相同。
IFPUG CPM把這段規則說得非常費解。它是在EI/EO/EQ的具體識別規則中分別說明的。大意是:一個EI/EO/EQ至少應滿足下列三個條件中的一個:
l  EI/EO/EQ的處理邏輯不同於系統中任何其它EI/EO/EQ的處理邏輯。
l  EI/EO/EQ包含的數據元素集不同於系統中任何其它EI/EO/EQ的數據元素集。
l  EI/EO/EQ引用的邏輯文件集(ILF/EIF)不同於系統中任何其它EI/EO/EQ引用的邏輯文件集。

 

在判斷處理邏輯是否相同時,第13種處理邏輯數據重排是個例外。比如對於員工的工作情況的查詢,人事經理要求按工時排序,財務經理要求按工資排序。這兩個需求應當放在同一個處理元中。
判斷數據元素集合,就是判斷是否包含相同的字段(又叫域),而不是數據本身的值是否相同。

5.        EIEOEQ的定義

IFPUG CPMEIEOEQ分別定義如下。
An external input (EI) is an elementary process that processes data or control information that comes from outside the application boundary. The primary intent of an EI is to maintain one or more ILFs and/or to alter the behavior of the system.
An external output (EO) is an elementary process that sends data or control information outside the application boundary. The primary intent of an external output is to present information to a user through processing logic other than, or in addition to, the retrieval of data or control information. The processing logic must contain at least one mathematical formula or calculation, create derived data, maintain one or more ILFs or alter the behavior of the system.
An external inquiry (EQ) is an elementary process that sends data or control information outside the application boundary. The primary intent of an external inquiry is to present information to a user through the retrieval of data or control information from an ILF of EIF. The processing logic contains no mathematical formulas or calculations, and creates no derived data. No ILF is maintained during the processing, nor is the behavior of the system altered.

 

6.        如何區別EIEO/EQ

EIEO/EQ之間的區別非常簡單和直觀。從它們的基本目的就可以看出。
l  EI的基本目的有兩個:維護ILF,或改變系統的行爲和狀態。
l  EO/EQ的基本目的是:向系統外展現或輸出數據,包括控制信息。

 

換而言之,只有同時符合如下兩條規則的處理纔是EI:
l  該處理從系統外接收了數據或控制信息。
l  該處理不是更新了ILF(至少一個),就是改變了系統的行爲或狀態。

 

7.        如何區別EOEQ

EOEQ的基本目地相同,它們的區別在於是否包含四種關鍵的處理邏輯。這四種處理邏輯,EO至少要包含一種,EQ一種也不能包含。
l  輸出了衍生數據。
l  就否包含數學運算。等值轉換不算。
l  是否包含對至少一個ILF的維護。
l  是否改變了系統的行爲或狀態。
此外,EQ還必須包含一種處理邏輯:從系統內獲取了數據或控制信息,也就是說至少引用了一個ILFEIF

 

8.        典型處理功能例析

功能例子

分析

從屏幕錄入的數據

EI

批處理輸入                                                 

EI

從磁帶等設備輸入                                            

EI

掃描輸入。                                                

EI

增,刪,改等事務處理。

EI

導航菜單           

EO?

登陸界面

EQ

ILF讀取列表的列表框或下拉框

EQ

篩選條件。         

不是完整的處理元

快捷鍵,命令鍵。

不是處理元?

導出報表

EO

在線報表

EQ

詳細報表中的統計字段

EQ?

由具體報表彙總得出的總結報表

EO

查看幫助

EQ

重複的幫助

重複的處理元

聯機文檔

不是EQ?

輸出文件

EO

處理的出錯或確認信息。

不是完整的處理元?

 

l  注意,增、刪、改應當作爲單獨的EI
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章