軟件設計說明書
軟件設計說明書(software design description)也稱為軟件設計檔案(software design document)或軟件設計規格(Software Design Specification),是對軟件設計的呈現,可以紀錄設計資訊、處理各種設計上的考量,並且和設計的利益相關人傳達資訊,進行溝通[1]。軟件設計說明書會伴隨架構圖,其中也會針對較小的設計元件有具體的規格。在實務上,若要在大的團隊協作,需要透過此一檔案,有單一的檔案版面,是穩定的參考資料,簡述軟件的各部份,以及其運作原理。
組成
[編輯]軟件設計說明書會包括以下的內容:
- 資料驅動設計(Data-driven design)會說明軟件中的結構,對象的屬性以及彼此的關係也會影響其數據結構的選擇。
- 軟件架構會利用資訊流的特性,將其和程式的結構對應。會應用變換對映方法來顯示傳入資料和傳出之間的明顯邊界。資料流圖會分出三個獨立的模組,控制輸入、資料處理以及輸出。
- 介面會說明內部和外部的程式介面,也包括用戶介面設計。內部和外部的介面設計會以分析模型所得到的資訊為基礎。
- 程式設計會用圖形、表格或是文字來說明結構化程式的概念。
設計的目的是要讓設計者可以呈現程式的細節,以便轉換成程式碼。程式碼實現的藍圖是所有後續軟件工程工作的基礎。
IEEE 1016
[編輯]IEEE 1016-2009的名稱為IEEE Standard for Information Technology—Systems Design—Software Design Descriptions[2]是IEEE標準,其中有列出軟件設計說明書「需要的資訊內容以及組織」[3]。IEEE 1016沒有要求軟件設計說明書的媒介,「可以用自動化的資料庫以及設計敘述語言,不過也可以用紙本檔案以及其他的敘述方式。」[4]。
2009版本是IEEE 1016-1998之後的大改版,將其從推薦性的實務變成標準。此版本也是依照IEEE 1471 Recommended Practice for Architectural Description of Software-intensive Systems調整過,將view, viewpoint, stakeholder和concern的概念從架構敘述(architecture description)延伸到支援高階設計、細節設計以及軟件構建的檔案。
依照IEEE 1016的概念模型,軟件設計說明書可以分為一個或是數個設計視角(design view)。每個設計視角都依照其設計觀點(design viewpoint)的約定。IEEE 1016定義了以下的設計觀點[5]:
- 上下文觀點(Context viewpoint)
- 組成觀點(Composition viewpoint)
- 邏輯觀點(Logical viewpoint)
- 相依觀點(Dependency viewpoint)
- 資訊觀點(Information viewpoint)
- 模式使用觀點(Patterns use viewpoint)
- 介面觀點(Interface viewpoint)
- 結構觀點(Structure viewpoint)
- 互動觀點(Interaction viewpoint)
- 狀態動態觀點(State dynamics viewpoint)
- 演算法觀點(Algorithm viewpoint)
- 資源觀點(Resource viewpoint)
用戶不受限於上述的觀點,也可以定義自己的觀點[6]。
IEEE狀態
[編輯]IEEE 1016-2009目前的狀態是無效-保留(Inactive - Reserved)[7]。
相關條目
[編輯]參考資料
[編輯]- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009: 1–35. ISBN 978-0-7381-5925-6. doi:10.1109/ieeestd.2009.5167255.
- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE. 2009-07-20. ISBN 978-0-7381-5925-6. doi:10.1109/IEEESTD.2009.5167255.
- ^ IEEE 1016, Abstract.
- ^ IEEE 1016, Abstract.
- ^ IEEE 1016, Clause 5.
- ^ IEEE 1016, sub-clause 4.5.
- ^ IEEE Standard for Information Technology--Systems Design--Software Design Descriptions. IEEE STD 1016-2009. July 2009: 1–35. ISBN 978-0-7381-5925-6. doi:10.1109/IEEESTD.2009.5167255.