[quote]基本概念
1. 設計書描述 [如何] 實踐需求
2. 設計書應包含抽象的架構設計與細部的模組設計,並描述之間的關係
3. 應描述需求與設計的追蹤關係 -- 所有的需求都被設計了嗎?都被考量了嗎?
4. 設計必須考量模組化,每個模組是一個較獨立的單位,可以由一人或兩三個人完成
5. 只有做好模組切割,分工才有可能
6. 有模組切割意味著你日後要作整合 -- 所以你必須定義好模組的介面,而且不該將模組切的過細
7. 善用一些模組分析工具繪製你的模組設計:物件導向的方法,ER,HTA,DFD等。這些工具可以幫你思考 -- 我的設計對了嗎?
8. 設計後應仔細討論,越早發現錯誤,失敗的可能越低
9. 為你每一個子系統取個名字吧!例如 Online Student Testing 就取為 (OST)
設計的步驟
1. 架構設計:把系統的大部架構勾勒出來,描述每一個子系統的功能,規格。例如資料庫是一個子系統。
2. 介面設計:設計子系統與子系統之間的介面,作為日後整合之用
3. 元件設計:將每個子系統細分成模組。如果你是用物件的方法,在這裡你會切出很多的類別。
4. 元件細部設計:設計每個元件(模組)的細部,包含資料結構的設計,演算法的設計,資料庫的設計,每一個功能 (function) 的設計等。
設計書內容
1. 簡介
2. 架構設計
1. 架構圖 //以圖形表示,說明系統包含哪一些子系統
2. 設計方法 //整體性的設計方法,設計策略,設計理念 ,設計限制
3. 子系統說明 //子系統的大部說明,以功能為主
4. 子系統介面說明 //子系統的溝通方式
3. (子系統一) 設計說明
1. 功能說明 //說明此子系統負責的功能。原則上,這些功能是從 SRS 傳遞下來的
2. 環境圖 (context diagram) //說明此子系統的環境 -- 它和哪些子系統有溝通,環境的配置(網路,電腦)等
3. 設計方法 // 此子系統的設計方法,設計策略,設計理念,設計限制
4. 細部設計 //以下依照你的設計需要自行選
1. 資料庫設計
2. 物件設計
3. 網頁設計
4. 畫面設計
5. 報表設計
6. 資料結構設計
7. 演算法設計
5. 需求 - 設計追溯表 // 說明哪些需求被哪些設計所實踐
4. (子系統二) 設計說明
好的設計書
* 所有的需求都被考慮到了
* 說明設計緣由(為什麼我要這樣設計,其他方法也可以呀...)
* 描述系統靜態的,與動態的層面 (你不僅作 class diagram, 還作 sequence diagram)
from [url]http://140.134.26.20/~nien/CapStone/template/SDD_Guide.htm[/url]
[/quote]