概要設(shè)計是軟件分析師或架構(gòu)師通過分析需求規(guī)格說明書,對軟件產(chǎn)品的結(jié)構(gòu)、邏輯進(jìn)行規(guī)劃,并給出設(shè)計說明書的過程。
概要設(shè)計的任務(wù)
(1)系統(tǒng)分析員審查軟件計劃、軟件需求分析提供的文檔,提出候選的最佳推薦方案,提交系統(tǒng)流程圖、系統(tǒng)物理元素清單、成本效益分析、系統(tǒng)的進(jìn)度計劃,供專家審定,審定后進(jìn)入設(shè)計。
(2)確定模塊結(jié)構(gòu),劃分功能模塊,將軟件功能需求分配給所劃分的最小單元模塊。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫模式,確定測試方法與策略。
(3)編寫概要設(shè)計說明書、用戶手冊、測試計劃,選用相關(guān)的軟件工具來描述軟件結(jié)構(gòu)。結(jié)構(gòu)圖是經(jīng)常使用的軟件描述工具。
概要設(shè)計的過程
在概要設(shè)計過程中要先進(jìn)行系統(tǒng)設(shè)計,復(fù)審系統(tǒng)計劃與需求分析,確定系統(tǒng)具體的實施方案;然后進(jìn)行結(jié)構(gòu)設(shè)計,確定軟件結(jié)構(gòu)。一般步驟如下所示:
1.設(shè)計系統(tǒng)方案;
2.選取一組合理的方案;
3.推薦最佳實施方案;
4.功能分解;
5.軟件結(jié)構(gòu)設(shè)計;
6.數(shù)據(jù)庫設(shè)計、文件結(jié)構(gòu)的設(shè)計;
7.制訂測試計劃;
8.編寫概要設(shè)計文檔;
9.審查與復(fù)審概要設(shè)計文檔。
模塊化與模塊獨立性
1.模塊化
模塊是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募稀DK可以單獨被命名,而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等都可作為模塊。
2.抽象與逐步求精
軟件工程的每一步都是對軟件解法的抽象層次的一次精化。抽象與逐步求精是緊密相關(guān)的。
3.信息隱蔽和局部化
信息隱蔽是指一個模塊將自身的內(nèi)部信息向其他模塊隱藏,以避免其他模塊不恰當(dāng)?shù)脑L問和修改。只有那些為了完成系統(tǒng)功能不可或缺的數(shù)據(jù)交換才被允許在模塊間進(jìn)行。
4.模塊獨立性
模塊獨立性是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體子功能。它具有如下優(yōu)點:
具有獨立模塊的軟件比較容易開發(fā)。這是由于能夠分割功能而且接口可以簡化。當(dāng)許多人分工合作開發(fā)同一個軟件時,這個優(yōu)點尤其重要。
獨立的模塊比較容易測試和維護(hù)。這是因為修改設(shè)計和程序的工作量相對較小,錯誤傳播范圍小,需要擴(kuò)充功能時只需調(diào)用模塊。
模塊的獨立程度可以由耦合和內(nèi)聚兩個定性標(biāo)準(zhǔn)度量,具體如下所示。
(1)耦合
耦合是對一個軟件結(jié)構(gòu)內(nèi)各個模塊之間互連程度的度量。耦合強弱取決于模塊間接口的復(fù)雜程度、調(diào)用模塊的方式,以及通過接口的信息。
根據(jù)耦合程度由弱到強,可以將耦合分為以下幾種:
非直接耦合;
數(shù)據(jù)耦合;
控制耦合;
公共環(huán)境耦合;
內(nèi)容耦合;
標(biāo)記耦合;
外部耦合。
總之,耦合是影響軟件復(fù)雜程度的一個重要因素。通常采用的原則是:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。
(2)內(nèi)聚
內(nèi)聚標(biāo)志一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展。理想內(nèi)聚的模塊只做一件事情。
根據(jù)內(nèi)聚程度由低到高,可以將內(nèi)聚分為以下幾種:
偶然內(nèi)聚;
邏輯內(nèi)聚;
時間內(nèi)聚;
過程內(nèi)聚;
通信內(nèi)聚;
信息內(nèi)聚;
功能內(nèi)聚。
概要設(shè)計的原則
軟件概要設(shè)計包括規(guī)劃模塊構(gòu)成的程序結(jié)構(gòu)和輸入輸出數(shù)據(jù)結(jié)構(gòu)。其目標(biāo)是產(chǎn)生一個模塊化的程序結(jié)構(gòu),并明確模塊間的控制關(guān)系,以及定義界面、說明程序的數(shù)據(jù),進(jìn)一步調(diào)整程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。
改進(jìn)概要設(shè)計、提高軟件質(zhì)量的原則如下:
顯著改進(jìn)軟件結(jié)構(gòu),提高模塊獨立性;
模塊規(guī)模應(yīng)該適中;
適當(dāng)選擇深度、寬度、扇出和扇入;
模塊的作用域應(yīng)該在控制域之內(nèi);
力爭降低模塊接口的復(fù)雜程度;
設(shè)計單入口單出口的模塊;
模塊功能應(yīng)該可以預(yù)測。
概要設(shè)計文檔
在概要設(shè)計階段,設(shè)計人員完成的主要文檔是概要設(shè)計說明書,它主要規(guī)定軟件的結(jié)構(gòu)。概要設(shè)計說明書的主要內(nèi)容及結(jié)構(gòu)如下:
1.引言;
2.任務(wù)概述;
3.總體設(shè)計;
4.接口設(shè)計;
5.數(shù)據(jù)結(jié)構(gòu)設(shè)計;
6.運行設(shè)計;
7.出錯處理設(shè)計;
8.安全保密設(shè)計;
9.維護(hù)設(shè)計。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。