任務:目標、環境、需求、侷限;
總體設計:
處理流程、總體結構與模組、功能與模組的關係;
介面設計:
總體說明外部使用者、軟、硬體介面;內部模組間介面(注:介面≈系統介面)
資料結構:
邏輯結構、物理結構,與程式結構的關係;
模組設計:
每個模組「做什麼」、簡要說明「怎麼做」(輸入、輸出、處理邏輯、與其它模組的介面,與其它系統或硬體的介面),處在什麼邏輯位置、物理位置;
執行設計:
執行模組組合、控制、時間;
出錯設計:
出錯資訊、處錯處理;
其他設計:
保密、維護;
軟體概要設計說明書結構
1 概述
系統簡述、軟體設計目標、參考資料、修訂版本記錄
這部分論述整個系統的設計目標,明確地說明哪些功能是系統決定實現而哪些時不準備實現的。同時,對於非功能性的需求例如效能、可用性等,亦需提及。需求規格說明書對於這部分的內容來說是很重要的參考,看看其中明確了的功能性以及非功能性的需求。
這部分必須說清楚設計的全貌如何,務必使讀者看後知道將實現的系統有什麼特點和功能。在隨後的文件部分,將解釋設計是怎麼來實現這些的。
2 術語表
對本文件中所使用的各種術語進行說明。如果一些術語在需求規格說明書中已經說明過了,此處不用再重複,可以指引讀者參考需求說明。
3 用例
此處要求系統用用例圖表述(uml),對每個用例(正常處理的情況)要有中文敘述。
4 設計概述
4.1 簡述
這部分要求突出整個設計所採用的方法(是物件導向設計還是結構化設計)、系統的體系結構(例如客戶/伺服器結構)以及使用到的相應技術和工具(例如omt、rose)
4.2 系統設計設計
這部分要求提供高層系統結構(頂層系統結構、各子系統結構)的描述,使用方框圖來顯示主要的元件及元件間的互動。最好是把邏輯結構同物理結構分離,對前者進行描述。別忘了說明圖中用到的俗語和符號。
4.3 系統介面
各種提供給使用者的介面以及外部系統在此處要予以說明。如果在需求規格說明書中已經對使用者介面有了敘述,此處不用再重複,可以指引讀者參考需求說明。如果系統提供了對其它系統的介面,比如說從其它軟體系統匯入/匯出資料,必須在此說明。
4.4 約束和假定
描述系統設計中最主要的約束,這些是由客戶強制要求並在需求說明書寫明的。說明系統是如何來適應這些約束的。
另外如果本系統跟其它外部系統互動或者依賴其它外部系統提供一些功能輔助,那麼系統可能還受到其它的約束。這種情況下,要求清楚地描述與本系統有互動的軟體型別以及這樣導致的約束。
實現的語言和平台也會對系統有約束,同樣在此予以說明。
對於因選擇具體的設計實現而導致對系統的約束,簡要地描述你的想法思路,經過怎麼樣的權衡,為什麼要採取這樣的設計等等。
5 物件模型
提供整個系統的物件模型,如果模型過大,按照可行的標準把 它劃分成小塊,例如可以把客戶端和伺服器端的物件模型分開成兩個圖表述。在其中應該包含所有的系統物件。這些物件都是從理解需求後得到的。要明確哪些應 該、哪些不應該被放進圖中。所有物件之間的關聯必須被確定並且必須指明聯絡的基數。聚合和繼承關係必須清楚地確定下來。每個圖必須附有簡單的說明。
6 物件描述
在這個部分敘述每個物件的細節,它的屬性、它的方法。在這之前必須從邏輯上對物件進行組織。你可能需要用結構圖把物件按子系統劃分好。
為每個物件做乙個條目。在系統物件模型中簡要的描述它的用途、約束(如只能有乙個例項),列出它的屬性和方法。如果物件是儲存在持久的資料容器中,標明它是持久物件,否則說明它是個臨時物件(transient object)。
對每個物件的每個屬性詳細說明:名字、型別,如果屬性不是很直觀或者有約束(例如,每個物件的該屬性必須有乙個唯一的值或者值域是有限正整數等)。
對每個物件的每個方法詳細說明:方法名,返回型別,返回值,引數,用途以及使用的演算法的簡要說明(如果不是特別簡單的話)。如果對變數或者返回值由什麼假定的話,pre-conditions和post-conditions必須在此說明。列出它或者被它呼叫的方法需要訪問或者修改的屬性。最後,提供可以驗證實現方法的測試案例。
7 動態模型
這部分的作用是描述系統如何響應各種事件。一般使用順序圖和狀態圖。
確定不同的場景是第一步,不需要確定所有可能的場景,但是必須至少要覆蓋典型的系統用例。不要自己去想當然地創造場景,通常的策略是描述那些客戶可以感受得到的場景。
7.1 場景
對每個場景做一則條目,包括以下內容:
場景名:給它乙個可以望文生義的名字
場景描述:簡要敘述場景是幹什麼的以及發生的動作的順序。
順序圖:描述各種事件及事件發生的相對時間順序。
7.2 狀態圖
這部分的內容包括系統動態模型重要的部分的狀態圖。可能你想為每個物件畫乙個狀態圖,但事實上會導致太多不期望的細節資訊,只需要確定系統中一些重要的物件並為之提供狀態圖即可。
概要設計該寫什麼
作為專案的初期文件 除了需求分析之外,概要設計恐怕是最重要的文件了,你的專案可能沒有詳細設計就直接開始開發了。但是沒有概要設計是無法進行的,為什麼這樣說呢。因為概要設計中你需要明確下面幾點,也就是概要設計中必須要寫的東西 1 總體架構 你的系統大致分為幾個部分。2 技術架構 準備採用的技術是什麼,用...
概要設計怎麼寫
概要設計怎麼寫 2009年11月06日 星期五 23 28 摘要 本文是在概要設計實踐和學習中的一些心得與學習筆記,希望與大家分享,如有不妥之處歡迎指正。關鍵字 概要設計,結構化,ood 正文 在需求明確 準備開始編碼之前,要做概要設計,而詳細設計可能大部分公司沒有做,有做的也大部分是和編碼同步進行...
如何寫概要設計
總結一下概要設計要做的任務 1.制定規範 體系 介面規約 命名規則。這是專案小組今後共同作戰的基礎,有了開發規範和程式模組之間和專案成員彼此之間的介面規則 方式方法,大家就有了共同的工作語言 共同的工作平台,使整個軟體開發工作可以協調有序地進行。2.總體結構設計 a 功能 加工 模組 每個功能用那些...