使用快速功能點法進行軟件成本度量過程中,在明確了系統(tǒng)邊界后,便要進行邏輯文件(數據功能)的識別。那么,什么是邏輯文件?在度量軟件成本時如何正確區(qū)分哪些是邏輯文件?哪些不是邏輯文件呢?

  首先,我們來了解一下什么是邏輯文件。

  邏輯文件不是傳統(tǒng)數據處理意義上的文件,也不是實現意義上的物理的數據集合,即它與具體實現時設計出來的物理模型是無關的。邏輯文件是指一組用戶可識別的、邏輯上相互關聯(lián)的數據或者控制信息,對邏輯文件的操作為業(yè)務需求引起,用戶可以理解并識別。

  識別邏輯文件的步驟如下:

  a)    識別業(yè)務對象或業(yè)務規(guī)則。業(yè)務對象應該是用戶可以理解和識別的。業(yè)務對象包括業(yè)務數據或業(yè)務規(guī)則,如“企業(yè)黑名單”、“黑名單生成規(guī)則”等。而一些為了程序處理而維護的數據則屬于編碼數據,如國家/地區(qū)信息表。所有的編碼數據均不識別為邏輯文件,與之相關的操作也不識別為基本過程;

  b)    確定邏輯文件數量。需要根據業(yè)務上的邏輯差異及從屬關系確定邏輯文件的數量。何謂軟件差異?就是用戶可以感知其用途的明顯不同且有不同的維護方式。用戶是否可以明確感知業(yè)務對象的差異?不同實體之間是否具有依賴關系?只有存在邏輯差異且沒有依賴關系的業(yè)務數據或引用數據才記為獨立的邏輯文件。例如,對于人力資源管理中的“員工信息”,雖然“固定期限合同員工”與“無期限合同員工”的信息有所差異,但其維護方式基本一致,因此不識別為不同的邏輯文件;而對于公文管理中“收文信息”和“發(fā)文信息”,雖然物理特征類似,但這兩類信息有完全不同的業(yè)務行業(yè),與其相關的業(yè)務操作也不相同,因此可識別為不同的邏輯文件。

  c)    是否是ILF。即確定該邏輯文件是否在本系統(tǒng)內進行維護。如果是,則記為ILF;如果本系統(tǒng)僅為引用,而在其他系統(tǒng)維護,則為EIF。

  d)    任何邏輯文件在系統(tǒng)邊界之內僅被計數一次,若有時是ILF,有時是EIF,則計數為ILF。

  邏輯文件符合如下簡易識別規(guī)則:

  a)    ILF(內部邏輯文件)

  ——ILF指在待開發(fā)系統(tǒng)內部邏輯上的一組數據

  ——用戶可以理解和識別ILF,對ILF的操作是用戶的業(yè)務需求

  示例:根據如下需求從“邏輯”性上識別ILF

  會議管理系統(tǒng)……包括X局(信息中心)局、處(或公司)舉行的會議、會議計劃、安排、記錄、查詢、通知、紀要等功能均實現電子化,提高會議效率。

  從需求中識別的內部邏輯文件包括:會議信息、人員信息、單位信息。如會議紀要需要獨立記錄,如會議記錄刪除后會議紀要仍單獨保留,則會議紀要也要識別為邏輯數據。

  b)    EIF(外部接口文件)

  ——EIF指由本系統(tǒng)引用(即“讀”),在系統(tǒng)邊界外由其他系統(tǒng)進行維護的邏輯上的一組數據。這里的維護是指邏輯上而物理上的維護或存儲。引用的實現方式不影響計數結果。

  ——本系統(tǒng)的EIF一定是其他某系統(tǒng)的ILF。

  由此可知,我們在進行軟件成本度量時,識別為邏輯文件的有:業(yè)務數據或業(yè)務規(guī)則;內部維護(ILF);僅引用,其他系統(tǒng)維護(EIF)。而一些如:中間表、內部只讀信息、缺省值、數據編碼等不是邏輯文件。