技術 > 模塊化準則
  把軟件劃分為一些單獨命名和編程的元素,這些元素稱為模塊。劃分模塊的過程就稱為模塊化。
  一個軟件劃分為多少個模塊為好呢?這是一個模塊化程度的問題。我們從求解問題的復雜性與工作量的關係出發,研究軟件係統劃分模塊個數的最佳值。
  設c(x)是關於問題x的復雜性,e(x)是完成問題x的工作量,設有問題p1和p2:
  若 c(p1)>c(p2),即p1比p2復雜
  則 e(p1)>e(p2),即p1比p2用的工作量多
  而 c(p1+p2)>c(p1)+c(p2),組合問題比單個問題復雜
  所以 e(p1+p2)>e(p1)+e(p2),組合問題工作量大於單個問題的工作量之和。
  可以看出,軟件分解成若幹模塊,則工作量減少。但分解的模塊越多,工作量不一定越少,因為分解到一定程度,模塊之間的接口工作量就上升,從而使總代價上升,從圖可看出,描述總代價的麯綫呈馬鞍形。一個軟件係統劃分模塊數的最佳值是m。從心理學角度研究表明,一個模塊的大小最好在30~50個語句之間,即能全部寫在一頁打印紙上為限。