2、軟體設計規劃
(1)設計方法與工具:
C#、SQL SERVER、電腦和ERP。
說明系統設計將採用的方法,例如:分散式、主從式(Client-Server)、即時(Real-Time)架構或物件導向,及系統設計的細節,例如:由下而上(Bottom-up)、由上而下(Top-down)、瀑布式(Waterfall)或重復式(Iteration),以及所使用的工具,如Rational-Rose, Visio 2002等。
(2) 軟體組織架構
A.物件模式
B.利用物件模式(Object Models)圖說明軟體組織架構中有那些物件,內含那些功能,及物件之間的關係。
C.控制模式
利用控制模式(Control Models)說明程式運作中各模組之間呼叫和回復的關係。
(3)系統流程圖 一般可再分為下列幾種項目表示:
A.循序圖 利用循序圖(Sequence Diagram)說明程式/模組之間呼叫和回復的秩序關係,
B.狀態圖
利用狀態圖(State Diagram)說明程式執行中狀態的變化,
C.流程圖
以流程圖(Data Flow Diagram, DFD)說明程式執行中,各軟體元件/模組之間資料流關係。
(4)軟體元件設計
可再分為下列幾個項目說明:
A.元件之功能
描述軟體各元件之功能,例如:A元件若輸入參數x,執行時則會在螢幕上顯示x*x之值。
B.元件之輸入
描述軟體各元件輸入的資料型態、範圍(例如,1~150)及角色/意義(例如,要求Process Sleep之時間)等相關資料。
C.元件之輸出
描述軟體各元件輸出的資料型態、範圍及用途(例如,當作下一次呼叫時之輸入參數值,假設該功能為遞迴函式;另一個例子是輸出等於0代表輸入之參數正確,否則為不正確)等相關資料。
D.演算法
介紹有助於瞭解程式及其處理過程之重要演算法,例如,快速排序或二元搜尋等演算法。
(5) 使用者介面設計
說明使用者各項介面的特徵,例如,以文字模式或圖形為介面,從檔案或鍵盤輸入,而輸出形式是螢幕或檔案;此外,並需說明各使用者介面之特色,例如,介面有那些選單(Menu),有那些按鈕,浮動選單(按滑鼠右鍵產生之選單),樹狀目錄,使用者可否做拖曳動作等。
(6) 資料結構設計
介紹有助於瞭解程式,或本軟體使用到的重要資料結構,例如:Hash,Stack,Link-list及一些程式設計人員自定的資料結構等。
(7) 資料庫設計
說明將採用那一種概念模式(Conceptual Model)來表示資料庫如ER模式,未來將採用那一種資料模式之資料庫,例如:物件導向、關聯式、階層式或網路式,及那一個廠牌、型號及版本之資料庫管理系統,如利用Oracle 9i來建立資料庫。
(8) 例外處理
透過文字、程式碼及流程圖說明在軟體程式中所採用的例外處理設計,例如,當程式中遇到分母為零、陣列索引值為負值、I/O中斷、檔案不正常結束、記憶體不足、找不到檔案、錯誤的數字格式或URL(Uniform Resource Locator),會有那些考量或設計處理方式。例如,可以產生一個新的畫面顯示錯誤訊息,並讓系統回覆到發生例外處理前之狀態。