功能點計算的前兩步沒什麼可說的,我們直接從第三步開始:如何計算資料複雜度!
否現得確定那些資料檔案才能行。fpa中把檔案分成兩種:
使用者認可:就是經過使用者和開發人員共同認證的。不存在任何異議的資料;比如,金融系統中的支票帳戶就是乙個ilf
邏輯相關:就是資料塊中間要有邏輯關係,時邏輯相關的。比如:學生的姓名和年齡相關。 學生資訊與銀行支票號資訊就不想關
乙個ilf不能依賴於其他的ilf。如果發生依賴關係,就需要把兩個ilf合併。乙個ilf可以被多個應用程式當作ilf來計算
但是在同乙個應用中,乙個ilf只能被計算一次
eif【外部輸入檔案】:由其他的應用程式維護的。被本應用程式引用的檔案。乙個eif可以被多個應用當作eif引入,但是同乙個
應用中只能應用一次。
知道了有什麼檔案我們現在就要知道如何計算檔案的複雜度。檔案拿什麼來量化呢?這裡又是兩個概念:det,ret
det【資料元素型別】:簡單說就是類的屬性。比如:學生類的年齡,姓名等。乙個ret中的每個欄位都可以被看成det。
需要注意的是:一些因為技術實現的原因而引入的字段和一些重複的字段不計在內。比如id欄位
ret【記錄元素型別】:就是類了。可以把乙個ilf或者eif的子集【比如:乙個檔案的必填字段】作為乙個ret。如果沒有子集,那麼
乙個ilf或者eif可以被看作乙個ret。如果乙個ret還存在父子關係的ret,那麼父ret就不計在內。
通俗的說就是: 人 是乙個抽象物件, 教師和學生是例項物件。 在這裡人的屬性有:編號,姓名,年齡;教師的屬性有:姓名,
年齡,教齡;學生的屬性有:姓名,年齡,入學日期。
注意:上面的例子只是為了更好的項了解ooad的人來說明問題的。事實上,由於人這個概念並不是使用者識別的,也就是說使用者需求中
不會出現人這個概念。所以他不能作為乙個ilf。
在這裡認得det有:姓名,教齡,年齡,入學日期4個det,因為人有教師和學生兩個子物件。所以人不能計為ret。
ret有 教師,學生 兩個
現在我們考慮檔案的複雜性了,起始很簡單,只要確定了ilf、eif的det 、ret然後查表就行了
下面就是表:
-> det
1~19 20~50 >=51
|| 1 低 低 平均
// 2~5 低 平均 高
ret >5 平均 高 高
確定了複雜性,後面再查另乙個表就可以確定功能點了。注意這裡功能點時未調整的
複雜級別
低 平均 高
ilf 7 10 15
eif 5 7 10
ei 3 4 6
eo 4 5 7
eq 3 4 6
Python學習 抽屜框架分析 點讚功能分析
實際上就是多了乙個隱藏的span標籤,內容是 1,配合setinterval實現的動態效果 settings.py staticfiles dirs os.path.join base dir,statics 現新增的配置,這裡是元組,注意逗號 templates dirs os.path.join...
FPA 功能點分析模型
某日接近中午,莫名被產品經理拉入小黑屋,曰 做個專案估算。一看客戶發過來的估算模板,驚呆,how old are you!怎麼老是你!這不正是一年多前我在老東家總是沒空看完的ffpa fast function point analyse 晚上等娃入睡後繼續看了資料,總算理解得更透徹了。果然,壓力是...
Cocos2d x 音訊功能學習筆記
audioengine api的使用非常簡單。1 2 3 4 5 auto audio audioengine getinstance set the background music and continuously play it.audio playbackgroundmusic mymusi...