
概要設(shè)計(jì),即將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),一般包括數(shù)據(jù)設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。其中數(shù)據(jù)設(shè)計(jì)側(cè)重于數(shù)據(jù)結(jié)構(gòu)的定義,系統(tǒng)結(jié)構(gòu)設(shè)計(jì)定義軟件系統(tǒng)各主要成份之間的關(guān)系。
⑴、制定規(guī)范
在進(jìn)入軟件開發(fā)階段之初,首先應(yīng)為軟件開發(fā)組制定在設(shè)計(jì)時(shí)應(yīng)該共同遵守的標(biāo)準(zhǔn),以便協(xié)調(diào)組內(nèi)各成員的工作。包括:
*閱讀和理解軟件需求說明書,確認(rèn)用戶要求能否實(shí)現(xiàn),明確實(shí)現(xiàn)的條件,從而確定設(shè)計(jì)的目標(biāo),以及它們的優(yōu)先順序;
*根據(jù)目標(biāo)確定最合適的設(shè)計(jì)方法;
*規(guī)定設(shè)計(jì)文檔的編制標(biāo)準(zhǔn);
*規(guī)定編碼的信息形式,與硬件,操作系統(tǒng)的接口規(guī)約,命名規(guī)則。
⑵、軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)
根據(jù)需求分析,基于功能層次結(jié)構(gòu)建立系統(tǒng),其中包括采用某種設(shè)計(jì)方法,將系統(tǒng)按功能劃分成模塊的層次結(jié)構(gòu)、確定每個(gè)模塊的功能、建立與已確定的軟件需求的對應(yīng)關(guān)系、確定模塊間的調(diào)用關(guān)系、確定模塊間的接口、評估模塊劃分的質(zhì)量。
⑶、處理方式設(shè)計(jì)
處理方式設(shè)計(jì)要確定為實(shí)現(xiàn)系統(tǒng)的功能需求所必需的算法,評估算法的性能;確定為滿足系統(tǒng)的性能需求所必需的算法和模塊間的控制方式;確定外部信號的接收發(fā)送形式。
⑷、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
根據(jù)需求分析報(bào)告進(jìn)行數(shù)據(jù)庫設(shè)計(jì)。數(shù)據(jù)庫設(shè)計(jì)包括確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計(jì);確定輸入,輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu);結(jié)合算法設(shè)計(jì),確定算法所必--需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作;確定對邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包);限制和確定各個(gè)數(shù)據(jù)設(shè)計(jì)決策的影響范圍;
若需要與操作系統(tǒng)或調(diào)度程序接口所必須的控制表等數(shù)據(jù)時(shí),確定其詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則;數(shù)據(jù)的保護(hù)性設(shè)計(jì);數(shù)據(jù)的一致性設(shè)計(jì);冗余性設(shè)計(jì)等。
⑸、可靠性設(shè)計(jì)
可靠性設(shè)計(jì)也叫做質(zhì)量設(shè)計(jì)。在運(yùn)行過程中,為了適應(yīng)環(huán)境的變化和用戶新的要求,需經(jīng)常對軟件進(jìn)行改造和修正。在軟件開發(fā)的一開始就要確定軟件可靠性和其它質(zhì)量指標(biāo),
考慮相應(yīng)措施,以使得軟件易于修改和易于維護(hù)。
⑹、概要設(shè)計(jì)階段的文檔
概要設(shè)計(jì)階段完成時(shí)的文檔包括:概要設(shè)計(jì)說明書、數(shù)據(jù)庫設(shè)計(jì)說明書、用戶手冊、制定初步的測試計(jì)劃。要求:
*可追溯性:確認(rèn)該設(shè)計(jì)是否覆蓋了所有已確定的軟件需求,軟件每一成份是否可追溯到某一項(xiàng)需求;
*接口:確認(rèn)該軟件的內(nèi)部接口與外部接口是否已經(jīng)明確定義,模塊是否滿足高內(nèi)聚和低耦合的要求,模塊作用范圍是否在其控制范圍之內(nèi);
*風(fēng)險(xiǎn):確認(rèn)該設(shè)計(jì)在現(xiàn)有技術(shù)條件下和預(yù)算范圍內(nèi)是否能按時(shí)實(shí)現(xiàn);
*實(shí)用性:確認(rèn)該設(shè)計(jì)對于需求的解決方案是否實(shí)用;
*技術(shù)清晰度:確認(rèn)該設(shè)計(jì)是否以一種易于翻譯成代碼的形式表達(dá);
*可維護(hù)性:確認(rèn)該設(shè)計(jì)是否考慮了方便未來的維護(hù);
*質(zhì)量:確認(rèn)該設(shè)計(jì)是否表現(xiàn)出良好的質(zhì)量特征;
*各種選擇方案:看是否考慮過其它方案,比較各種選擇方案的標(biāo)準(zhǔn)是什么;
*限制:評估對該軟件的限制是否現(xiàn)實(shí),是否與需求一致;
*其它具體問題:對于文檔、可測試性、設(shè)計(jì)過程等進(jìn)行評估。
愛華網(wǎng)

