軟件設計書怎麼寫?本條應描述本文檔所适用的系統、接口實體和接口的完整标識,适用時,包括其标識号、名稱、縮略名、版本号和發布号,現在小編就來說說關于軟件設計書怎麼寫?下面内容希望能幫助到你,我們來一起看看吧!
本條應描述本文檔所适用的系統、接口實體和接口的完整标識,适用時,包括其标識号、名稱、縮略名、版本号和發布号。
1.2 系統概述本條應概述本文檔所适用的系統和軟件的用途。它還應描述系統與軟件的一般特性;概述系統開發、運行和維護的曆史;标識項目的需方、用戶、開發方和保障機構等;标識當前和計劃的運行現場;列出其他有關文檔。
1.3 文檔概述本條應概述本文檔的用途和内容,并描述與它的使用有關的保密性方面的要求。
2 引用文檔本章應列出引用文檔的編号、标題、編寫單位、修訂版及日期,還應标識不能通過正常采購活動得到的文檔的來源。
3 CSCI級設計決策本章應根據需要分條給出CSCI級設計決策,即CSCI行為設計的決策(忽略其内部實現,從用戶角度出發描述系統将怎樣運轉以滿足需求)和其他影響組成該CSCI的軟件單元的選擇與設計的決策。如果在需求中所有這些決策是明确的,或者這些決策要推遲到CSCI的軟件單元的設計時指出,則本章應如實陳述。針對關鍵性需求(例如對安全性或保密性關鍵的需求)作出的設計決策,應在專門的章條申加以叙述。如果設計決策依賴于系統狀态或方式,則應指明這一依賴性。本條應給出或引用理解這些設計所需的設計約定。CSCI級設計決策的例子如下:
a) 關于CSCI将接收的輸入和将産生的輸出的設計決策,包括與其他系統、HWCI、CSCI和用戶的接口(本文檔的4.3.X條指出本說明要考慮的主題)。如果這一信息的全部或部分已在接口設計說明(IDD)中給出,則可以直接引用。
b) 有關響應每個輸入或條件的CSCI行為的設計決策,包括CSCI要執行的動作、響應時間和其他性能特性,模型化的物理系統的說明,選定的方程式/算法/規則,以及對不允許的輸入或條件進行的處理。
c) 有關數據庫,數據文件如何呈現給用戶的設計決策(本文檔的4.3.X條标識了本說明要考慮的主題)。如果這一信息的全部或部分在數據庫設計說明(DBDD)中給出,則可直接引用。
d) 為滿足安全性和保密性需求所選擇的方法。
e) 為滿足需求所做的其他CSCI級設計決策,例如為提供所需的靈活性、可用性和可維護性所選擇的方法。
4 CSCI體系結構設計本章應分為以下幾條描述CSCI體系結構設計。如果設計的全部或部分依賴于系統的狀态或方式,此依賴性應予指明。如果設計信息在多于一個條中出現,它隻需被提供一次,而在其他條中引用。本條應提供或引用為了理解設計所需要的設計約定。
4.1 CSCI部件本條應描述:
a) 構成該CSCI的所有軟件單元。應賦予每個軟件單元一個項目唯一的标識符。
注:軟件單元是CSCI設計中的一個元素;例如,CSCI的一個主要分支、該主要分支的一個組成部分,一個類、對象、模塊、函數、例程或數據庫。軟件單元可以出現在層次結構的不同層上,且又可以由其他軟件單元組成。在設計中,軟件單元與實現它們的代碼和數據實體(例程,過程,數據庫,數據文件等),或與包含這些實體的計算機文件之間,可以有、也可以沒有一對一的對應關系。一個數據庫可被處理為一個CSCI也可被處理為一個軟件單元。SDD可以采用與所使用設計方法相一緻的任何名字來稱呼軟件單元。
b) 軟件單元的靜态(如,由…組成)關系。根據所選擇的軟件設計方法學,可以給出多種關系(例如,采用面向對象的設計方法時,本條既可給出類和對象結構,也可給出CSCI的模塊和過程結構)。
) 每個軟件單元的用途,指明分配給它的CSCI需求和CSCI級設計決策(需求的分配也可在6a)中提供)。
d) 每個軟件單元的開發狀态/類型(如新開發、按原樣重用已有的設計或軟件、再工程的已有的設計或軟件、為重用而要開發的軟件等,為構建版N計劃的軟件)。針對現有的設計或軟件,本說明應提供标識信息,例如名字、版本、文檔引用、庫等。
e)CSCI(若适用,針對每個軟件單元)計劃使用的計算機硬件資源(例如處理機能力,内存能力,輸入/輸出設備能力,輔存能力以及通信/網絡設備能力)。本說明應覆蓋CSCI的資源使用需求中、影響該CSCI的系統級資源分配中、以及在軟件開發計劃(SDP)的資源使用測量策劃中包含的全部計算機硬件資源。如果針對指定計算機硬件資源的所有使用數據都在同一處提供,例如在SDD中提供,那麼本條可直接引用。對每個計算機硬件資源,應包括如下信息:
1) 得到滿足的CSC[需求或系統級資源分配;
2) 使用數據基于的假設和條件(例如,典型用法、最壞情況用法、特定事件的假定);
3) 影響使用的特殊考慮(例如,虛存、覆蓋、多處理器的使用情況,操作系統、庫軟件的開銷或其他實現開銷的影響);
4) 所使用的測度的單位(例如,處理器能力的百分比、周期/秒、内存字節數、千字節/ 秒);
5) 進行評估或測量酌級别(例如,軟件單元,CSCI或者可執行程序)。
f) 标識實現每個軟件單元的軟件放置在哪個程序庫中。
4.2 執行方案本條應說明軟件單元間的執行方案,可采用圖表和描述,來說明軟件單元間的動态關系,即CSCI運行期間軟件單元間的相互作用情況,(若适用)應包括執行控制流程、數據流、動态控制序列、狀态轉換圖、時序圖、單元間的優先關系、中斷處理、時序/排序關系、例外處理、并發執行、
動态分配與去除分配、對象/進程/任務的動态創建/删除、以及動态行為的其他方面。
4.3 接口設計4.3.1 接口标識和接口圖本條應說明賦予每個接口的項目唯一的标識符,(若适用)應通過名稱、編号、版本及文檔引用來标識接口實體(軟件單元、系統、配置項、用戶等)。該标識應說明哪些實體具有周定的接口特性(從而把接口需求分配給這些接口實體);說明哪些實體正在開發或修改(這些實體已有各自的接口需求)。(若适用)應通過接口圖來描述這些接口。
4.3.2 (接口的項目唯一的标識符)本條(從4.3.2開始)應通過項目唯一的标識符來标識接口,應簡要地标識接口實體,根據需要可分條描述單方或雙方接口實體的特性。如果一指定的接口實體未包含在本SDD中(例如,一個外部系統),而描述接口實體需要提到其接口特性時,這些特性應作為假設予以陳述、或以“當[未涵蓋的實體]這樣做時,[所指定的實體]将……”的形式描述。本條可引用其他文檔(例如數據字典、協議标準、用戶接口标準)代替在此所描述的信息。本設計說明應包括以下内容(若适用),以任何适合于所提供的信息的順序提供,并應從接口實體角度說明這些特性之間的區别(例如關于數據元素的大小、頻率或其他特性的不同期望值):
a) 接口實體分配給接口的優先級。
b) 要實現的接口類型(例如實時數據傳輸、數據的存儲和檢索等)。
c) 接口實體将提供、存儲、發送、訪問、接收的各個數據元素的特征,例如:
1) 名稱/标識符:
a.項目唯一的标識符;
b.非技術(自然語言)名稱;
c.數據元素名稱;
d.技術名稱(如在代碼或數據庫中的變量名或字段名):
e.縮略名或同義名。
2) 教據類型(字母、數字、整數等)。
3) 大小與格式(如:字符串的長度和标點符号)。
4) 計量單位(如:m等)。
5) 可能值的範圍或枚舉(如:0-99)。
6) 準确性(正确程度)和精度(有效數位數)。
7)優先級、定時、頻率、容量、序列以及其他約束條件(例如數據元素是否可以被更新、業務規則是否适用)。
8) 保密性約束。
9) 來源(建立/發送的實體)和接受者(使用/接收的實體)。
d) 接口實體将提供、存儲、發送、訪問、接收的數據元素組合體(記錄、消息、文件、數組、顯示、報表等)的特征,例如:
1) 名稱/标識符:
a.項目唯一的标識符; l
b.非技術(自然語言)名稱; :
c.技術名稱(如在代碼或數據庫中的記錄名或數據結構名):
d.縮略名或同義名。
2) 數據元素組合體中的數據元素及其結構(編号、順序和分組情況)。
3) 介質(例如磁盤)以及介質上數據元素/數據組合體的結構。
4) 顯示和其他輸出的視聽特性(例如顔色、布局、字體、圖标和其他顯示元素、峰嗚聲和亮度)。
5) 數據組合體之間的關系,如排序/存取特性。
6) 優先級、定時、頻率、容量、序列及其他約束,例如數據組合體是否可被更新、業務規則是否适用。
7) 保密性約束。
8) 來源(建立,發送的實體)和接受者(使用接受的實體)。
e) 接口實體用于接口的通信方法的特征。如:
1) 項目唯一的标識符;
2) 通信鍊接/帶寬/頻率/介質及其特征;
3) 消息格式;
4) 流控制(如:序列編号和緩沖區分配);
5) 數據傳輸率、周期或非周期、傳輸間隔;
6) 路由、尋址及命名約定;
7) 傳輸服務,包括:優先級和等級:
8) 安全性/保密性考慮,如:加密、用戶鑒别、隔離和審核。
f) 接口實體用于接口的協議的特征,如:
1) 項目唯一的标識符;
2) 協議的優先級别/層次;
3) 打包,包括分段與重組、路由和尋址;
4) 合法性檢查、錯誤控制和恢複過程;
5) 同步,包括連接的建立、保持和終止;
6) 狀态、标識和其他報告特性。
f) 其他特征,例如接口實體的物理兼容性(尺寸、公差、負荷、電壓和接插件的兼容性等)。
5 CSCI軟件詳細設計5.1 X(軟件單元的項目唯一的标識符,或者一組軟件單元的标志符)本條應通過項目唯一的标識符來标識軟件單元,并對該單元進行說明。(若适用)該說明應包括下列信息。本條也可以指定一組軟件單元,然後再分小條對它們分别進行标識和說明,包含其他軟件單元的軟件單元可引用那些軟件單元的說明,而無需在此重複。
a) (若有)單元設計決策,例如所使用的算法[如果此前尚未選定)。
b) 該軟件單元設計中的任何約束、限定或非常規特征。
c) 如果使用的編程語言不同于該CSCI所指定的語言,則應指出并說明使用它的理由。
d) 如果該軟件單元包含過程性命令或由過程性命令組成(例如數據庫管理系統(DBMS)中用于定義表單和報表的菜單選擇,用于數據庫訪問和操縱的在線DBMS查詢,用于代碼自動生成的圖形用戶接口(GUI)構造器的輸入,操作系統的命令或Shell腳本),應列出這些過程性命令,并引用解釋它們的用戶手冊或其他文檔。
e) 如果該軟件單元包含、接收或輸出數據,(若适用)應對它的輸入、輸出及其他數據元素和數據元素組合體進行說明。本文檔的4.3.X條提供了(若适用)應包括的主題。軟件單元的局部數據應與軟件單元的輸入或輸出數據分開來描述。如果該軟件單元是一個數據庫,應引用相應的數據庫設計說明(DBDD):接口特性可以在這裡提供、也可以引用第4章或相應的接口設計說明(IDD)。
f) 如果該軟件單元包含邏輯,則給出該軟件單元所用到的邏輯,(若适用)應包括:
1) 該軟件單元執行啟動時,其内部起作用的條件。
2) 将控制傳遞給其他軟件單元的條件。
3) 對每個輸入的響應以及響應時間,包括數據轉換、重命名以及數據傳輸操作。
4) 在軟件單元運行期間的操作順序和動态控制序列,包括:
a.順序控制的方法;
b.該方法的邏輯和輸入條件,例如時序變異、優先級分配等;
c.進出内存的數據傳輸;
d.對離散輸入信号的感知,以及該軟件單元内中斷操作之間的時序關系。
6 需求的可追蹤性本章應包含:
a.從本SDD所标識的每個軟件單元,到分配給他的CSCI需求的可追蹤性。
b.從每個CSCI需求,到分配這些需求的軟件單元的可追溯性。
7 注釋本章應包括有助于了解文檔的所有信息(例如:背景、術語、縮略語或公式)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!