10/09/2006

3.9 模組化設計

一般而言,程式均可以配合流程控制結構撰寫出所需的程式內容,而Matlab與其他電腦一樣,具備有結構化程式設計之能力。通常在這些程式設計中,不再使用goto這個指令,雖然這在Fortran與 Basic語言中,是常用的指令,但這種指令碼很容易產生秩序混亂的程式設計,容易使流程糾結不清。

一般結構化程式具有下列特色:

  1. 容易撰寫:先就問題內容瞭解後,再處理細節,較容易產生簡潔的大綱。
  2. 可重複使用模組:具有相同功能之程式模組可以一再使用。
  3. 容易除錯:流程簡單,容易除錯。
  4. 可以合作開發:在研發過程中可以將整個程式進行切割,最後再進行整合。
  5. 容易辨識及瞭解:程式寫作完成後,有如一篇完整脈絡的報告,容易按圖索驥。

結構化程式設計通常採用由上而下的設計,開始時才提綱要,然後再逐步進入細節。在文件說明上更容易利用結構圖及流程圖表示。前者為描述程式部份如何相互聯結,因此可以很清楚地顯示整個程式之架構。

例如一套乾燥系統之程式可以將整個程式作如下之分類:

  主程式
     。濕氣特性程式
。乾燥理論程式
     。乾燥機設備程式
。進料程式
。循環程式
。出料程式


流程圖對於特定程式之執行、判斷及分支之狀況有比較清晰的描述。如此,任何對程式有興趣的人,就流程之變換可以立即瞭解轉折點的位置及程式進行時所採取的步驟。結構圖及流程圖對解題上有也相當大的助益,在偵錯過程中,更能一目了然。





















在程式撰寫過程中,將程式文作作適當說明也是一件相當重要的步驟。對後來要對程式有深入瞭解時有相當大的幫助。在MATLAB中,可以充分利用%這個控制碼,因為在控制碼%後的文字程式並不執行,故可以用這個方式進行說明。在指令後面亦可加%進行個別說明,作為程式之註解。在程式文件中,亦可考慮下列動作,以協助程式清晰度:

  1. 為程式之函數、變數選取適當名稱,以反應該變數的量與意義。
  2. 在程式當中多加註解,並作變數之意義詳加定義。
  3. 配合結構圖加以說明及分區歸類。
  4. 配合流程圖說明判別功能點。
  5. 使用虛擬碼(Pseudocode)協助釐清程式的細節。配合文字及演算公式,使計算步驟清楚顯現。


有關於這些細節之運用將在未來章節中配合說明。