1. 程式人生 > >軟體的設計書、空間圖和時間圖的思考

軟體的設計書、空間圖和時間圖的思考

軟體的設計書、空間圖和時間圖 產品的軟體開發,首先應有需求書,需求書裡有各種技術要求,功能要求。然後有需求應答書,根據需求進行功能設計(概設),介紹實現需求的方法原理、設計方案,然後有詳設,介紹具體的控制方法、演算法, 各個功能模組的具體內容(如保護的內容、響應時間,取樣的通道與晶片引腳的對應關係,取樣範圍)、模擬結果等。 軟體的設計書應該對整個project內所有變數、函式、c檔案、h檔案進行詳細說明,對DSP平臺,還包括各外設的配置、CMD檔案、庫檔案的說明。 對整個工程的變數,應介紹清楚該變數的含義(與硬體原理圖的對應關係)、宣告、定義、型別、有效範圍、初值、可能的賦值及意義、呼叫該變數的函式(變量出現在哪些檔案中)。 對整個工程內的函式,應介紹清楚該函式的功能、宣告、定義、呼叫(頻率、條件)、有效範圍、形參、實參、返回值及中間變數的型別、含義,函式的流程圖。 對一個.c檔案,應該說明其對應的功能,包含的h檔案,該.c檔案內出現的變數、函式。可以用超連結定位。 對一個.h檔案,應該說明其被包含的c檔案,該.h檔案內宣告的變數、函式。 以元件為.c檔案的工程,應該對工程內的每個元件進行說明,元件(或是產生的例項)的功能,元件的輸入、輸出變數和引數的列表,元件的呼叫頻率。 空間圖包括了全部模組(元件或函式)和變數,直觀地表明變數的傳遞過程,模組之間的相互關係,從晶片的輸入引腳到輸出引腳。這張圖不會給出模組自身的流程圖,不會給出任何演算法、控制原理的內容。在空間圖上可以圈出屬於各個.c檔案的函式,從而也包含了所有的.c檔案。 時間圖表示全部模組的執行頻次與執行順序(對序列架構),分別給出主中斷、主迴圈內函式的先後執行順序、定時執行的週期、(條件執行的條件)等。 這樣寫出的軟體設計書,嚴格意義上應該叫做程式設計書,優點是與源程式對應關係非常直接、準確,缺點是難以快速找到某一個功能是用哪個函式實現的,從空間圖上也不容易看出,可能需要對《軟體功能詳設書》增加一個函式名的註釋。 軟體功能詳設書是在紙面上說明了產品的軟體包括哪些功能,如取樣、資料處理、保護、控制、脈衝等。 看到現有的軟體設計報告是按功能模組進行章節編排的,有利於快速弄清產品的功能特點,但對模組的介紹中沒有分清元件和例項,可能不容易跟源程式對的上,也沒有對模組的功能進行文字說明,不清楚功能需求和控制演算法的話難以理解。