一個系統有多大?

In General, flex   April 10, 2006 - 6:43 pm

這真是個好問題,我也經常被問到或被要求評估一個系統、專案、程式的規模有多大。

但要如何評估一個系統的大小呢?看檔案數量?看檔案體積?看程式碼行數?

這篇文章說明了他們使用的方法,但我覺得並不是很精準,但也可能是因為他們是在fuseaction framework的架構下決定用那些條件去計算。

通常我的計算方式是看 screen 數量,其次是看 dao 與 backend service的 public method。

screen數量指的是一個程式用到的畫面有多少,例如 login 算一個 screen, forget password 算一個screen,而主要操作畫面裏每個 tab 下面的mxml component也算一個獨立的 screen,從這樣的單位來計算有兩個好處:

1、可以明確的知道工作範圍,而且是一個可以量化的單位,例如這個案子有四十個screen,就大概可以估出要多少時間才能寫完。

2、可以借此抓出大概的預算,因為知道screen 與 dao 數量後,大概就可以知道整個專案要寫的程式有多少,需要幾個人分工,每個人可能要多少時間,把這些單位加加減減再乘上一個權數與安全系數,就可以得出報價了。

至於 dao指的是前端存取後端的 methods 與後端 app server / beans 裏面提供的服務,這部份通常很routine 重覆性也很高,但如果遇到一個沒寫過的功能,就會特別小心,要把安全時間拉長預算也提高。

因此通常被問到「專案有多大」這個問題時,我給的答案都是類似:50個screen、4個人、二兩個月之類的數字,這個方法經過這兩年的不斷失誤與修正後,現在準確度大概有75%左右 :P

你有什麼特別的估算方法嗎?

by admin

留言回應

hidden

您的留言會先經過站長認証後才刊登在網站上。
your comments will be approved by Administrator before appearing on the page.

Trackback this post  |  Subscribe to the comments via RSS Feed

mobile phone