盡管GJB438B中對(duì)軟件設(shè)計(jì)說明的編寫已經(jīng)有了比較詳細(xì)的要求,但是,很多GJB5000成熟度較低的組織仍然不會(huì)編寫設(shè)計(jì)說明。 軟件設(shè)計(jì)說明的編寫有以下幾個(gè)難點(diǎn)——設(shè)計(jì)決策、執(zhí)行方案和詳細(xì)設(shè)計(jì),這里給出一些示例(PS:以下示例為嵌入式軟件),希望對(duì)這些內(nèi)容仍然存在疑惑的設(shè)計(jì)師有幫助。 設(shè)計(jì)決策
GJB438B中已經(jīng)明確了“CSCI級(jí)設(shè)計(jì)決策”這里的設(shè)計(jì)決策是指忽略軟件內(nèi)部單元的實(shí)現(xiàn)方法,直接描述如何實(shí)現(xiàn)軟件外部特性(如輸入/輸出,處理行為等)和非功能的關(guān)鍵需求(如安全性、保密性和可靠性等)的方法。
示例: 1)CSCI輸入/輸出的設(shè)計(jì)決策 這里應(yīng)描述軟件與外部接口的輸入/輸出方法。
軟件的輸入設(shè)計(jì)決策表見下圖: 軟件的輸出設(shè)計(jì)決策表見下圖:
2)CSCI對(duì)每個(gè)輸入的處理行為設(shè)計(jì)決策。
這里應(yīng)逐一描述CSCI對(duì)各輸入信息的處理方法。
CSCI處理行為設(shè)計(jì)決策表見下圖: 3)CSCI安全性設(shè)計(jì)決策。
軟件的安全性是指防止合法用戶使用該軟件時(shí)對(duì)系統(tǒng)或其中的信息造成不良影響,這里應(yīng)針對(duì)軟件需求規(guī)格說明中描述的安全性需求,逐一描述其采取的防護(hù)措施和方法。
軟件的安全性設(shè)計(jì)決策表見下圖; 4)CSCI保密性設(shè)計(jì)決策
軟件的保密性主要是防止非法用戶對(duì)軟件的攻擊。這里應(yīng)針對(duì)軟件需求規(guī)格說明中描述的保密性需求,逐一描述其采取的防護(hù)措施和方法。
軟件保密性設(shè)計(jì)決策表見下圖: 執(zhí)行方案
執(zhí)行方案是用來說明軟件單元間的動(dòng)態(tài)關(guān)系,即軟件運(yùn)行期間各單元間的相互作用情況,可以使用流程圖、數(shù)據(jù)流圖、狀態(tài)轉(zhuǎn)換圖、時(shí)序圖等來描述。
示例: 根據(jù)軟件的特點(diǎn),將本軟件的執(zhí)行方案按照以下幾個(gè)控制過程進(jìn)行描述:10ms定時(shí)器中斷、100ms定時(shí)器中斷、CAN接收中斷和主程序。 軟件的控制過程見下圖: 軟件的數(shù)據(jù)流圖見下圖:
各控制過程具體如下:……
詳細(xì)設(shè)計(jì)
在詳細(xì)設(shè)計(jì)中應(yīng)分小節(jié)對(duì)每個(gè)軟件單元進(jìn)行設(shè)計(jì)決策(如使用的算法)、處理流程、內(nèi)部數(shù)據(jù)和異常處理等的詳細(xì)說明。
示例: 1)設(shè)計(jì)決策 這里描述軟件單元的實(shí)現(xiàn)方法,如數(shù)據(jù)的輸入/輸出方法,數(shù)據(jù)處理的方法,使用的算法等。
軟件單元的輸入設(shè)計(jì)決策表見下圖: 軟件單元的輸出設(shè)計(jì)決策表見下圖:
2)處理流程
這里用流程圖和文字的形式描述軟件單元對(duì)每個(gè)輸入的處理流程。
電源控制器軟件CAN發(fā)送單元處理流程見下圖: 3)內(nèi)部數(shù)據(jù)
這里描述軟件單元內(nèi)部暫存的數(shù)據(jù),包括臨時(shí)數(shù)據(jù)、計(jì)算中間數(shù)據(jù)、接口緩存數(shù)據(jù)、數(shù)據(jù)庫數(shù)據(jù)等。表現(xiàn)形式是軟件單元內(nèi)部數(shù)據(jù)表,內(nèi)容應(yīng)包括軟件單元名稱、軟件單元標(biāo)識(shí)符、內(nèi)部數(shù)據(jù)元素說明、數(shù)據(jù)元素名稱、標(biāo)識(shí)符、數(shù)據(jù)類型、數(shù)據(jù)格式、值域范圍、暫存形式等。
4)異常與錯(cuò)誤處理 這里用流程圖和文字的形式描述軟件單元對(duì)每項(xiàng)異常與錯(cuò)誤的處理流程。
電源控制器軟件CAN發(fā)送單元接收到的系統(tǒng)復(fù)位信息0 XCF11527,總線數(shù)據(jù)應(yīng)滿足協(xié)議要求,0字節(jié)0~3位數(shù)據(jù)為0或1,超出范圍不做接收處理。 這正是: 設(shè)計(jì)說明不易寫,難點(diǎn)總是有幾個(gè) 他山之石可攻玉,給出示例去學(xué)習(xí) 參考書目:裝甲車輛嵌入式軟件開發(fā)方法,作者:劉勇,王英勝,陳中偉,出版社:北京理工大學(xué)出版社
|