软件工程(总体设计①设计过程)
經(jīng)過(guò)需求分析(https://blog.csdn.net/weixin_45626468/article/details/115324885)階段的工作,系統(tǒng)必選“做什么”已經(jīng)清楚了,現(xiàn)在是決定“怎樣做”的時(shí)候了。
總體設(shè)計(jì)的基本目的就是回答“概況地說(shuō),系統(tǒng)應(yīng)該如何實(shí)現(xiàn)”這個(gè)1問(wèn)題,因此,總體設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。
通過(guò)這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素——程序、文件、數(shù)據(jù)庫(kù)、人工過(guò)程和文檔等
但是每個(gè)物理元素仍然處于黑盒子級(jí),這些黑盒子里的具體內(nèi)容將在以后仔細(xì)設(shè)計(jì)。
總體設(shè)計(jì)階段的另一項(xiàng)主要任務(wù)是設(shè)計(jì)軟件的結(jié)構(gòu),也就是確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。
總體設(shè)計(jì)過(guò)程首先尋找實(shí)現(xiàn)目標(biāo)系統(tǒng)的各種不同的方案,需求分析階段得到的數(shù)據(jù)流圖(https://blog.csdn.net/weixin_45626468/article/details/115117900)是設(shè)想各種可能方案的基礎(chǔ)。
然后分析員從這些供選擇的方案中選取若干個(gè)合理的方案,為每個(gè)合理的方案準(zhǔn)備一份系統(tǒng)流程圖,列出組成系統(tǒng)的所有物理元素,進(jìn)行成本/效益分析(https://blog.csdn.net/weixin_45626468/article/details/115227014),并且制定實(shí)現(xiàn)這個(gè)方案的進(jìn)度計(jì)劃。
分析員應(yīng)該綜合分析比較這些合理的方案,從中選出最佳方案向用戶和使用部門(mén)負(fù)責(zé)人推薦。
如果用戶和使用部門(mén)負(fù)責(zé)人接受了推薦的方案,分析員應(yīng)該進(jìn)一步為這個(gè)最佳方案設(shè)計(jì)軟件結(jié)構(gòu),通常,設(shè)計(jì)出初步軟件結(jié)構(gòu)后還要多方改進(jìn),從而得到更合理的結(jié)構(gòu),進(jìn)行必要的數(shù)據(jù)庫(kù)設(shè)計(jì),確定測(cè)試要求并且制定測(cè)試計(jì)劃。
從上面的敘述當(dāng)中不難看出,在詳細(xì)設(shè)計(jì)之前先進(jìn)行總體設(shè)計(jì)的必要性;
可以站在全局高度上,花較少的成本,從較抽象的層次分析對(duì)比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的軟件結(jié)構(gòu),從而用較低成本開(kāi)發(fā)出較高質(zhì)量的軟件系統(tǒng)。
設(shè)計(jì)過(guò)程
總體設(shè)計(jì)過(guò)程通常由兩個(gè)主要階段組成:
系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)現(xiàn)方案
結(jié)構(gòu)設(shè)計(jì)階段,確定軟件結(jié)構(gòu)
典型的總體設(shè)計(jì)過(guò)程包括:
1.設(shè)想供選擇的方案
如何實(shí)現(xiàn)要求的系統(tǒng)呢?在總體設(shè)計(jì)階段分析員應(yīng)該考慮各種可能的實(shí)現(xiàn)方案,并且力求從中選出最佳方案。在總體設(shè)計(jì)階段開(kāi)始時(shí)只有系統(tǒng)的邏輯模型,分析員有充分的自由分析比較不同的物理實(shí)現(xiàn)方案,一且選出了最佳的方案,將能大大提高系統(tǒng)的性能/價(jià)格比。
需求分析階段得出的數(shù)據(jù)流圖是總體設(shè)計(jì)的極好的出發(fā)點(diǎn)。設(shè)想供選擇的方案的一種常用的方法是,設(shè)想把數(shù)據(jù)流圖中的處理分組的各種可能的方法,拋棄在技術(shù)上行不通的分組方法(例如,組內(nèi)不同處理的執(zhí)行時(shí)間不相容),余下的分組方法代表可能的實(shí)現(xiàn)策略,并且可以啟示供選擇的物理系統(tǒng)。
2.選取合理的方案
應(yīng)該從前一步得到的一 系列供選擇的方案中選取若干個(gè)合理的方案,通常至少選取低成本、中等成本和高成本的3種方案。在判斷哪些方案合理時(shí)應(yīng)該考慮在問(wèn)題定義和可行性研究階段確定的工程規(guī)模和目標(biāo),有時(shí)可能還需要進(jìn)一步征求用戶的意見(jiàn)。
對(duì)每個(gè)合理的方案,分析員都應(yīng)該準(zhǔn)備下列4份資料。
(1)系統(tǒng)流程圖。
(2)組成系統(tǒng)的物理元素清單。個(gè)
(3)成本/效益分析。
(4)實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃。
3.推薦最佳方案
分析員應(yīng)該綜合分析對(duì)比各種合理方案的利弊,推薦一個(gè)最佳的方案,并且為推薦的方案制定詳細(xì)的實(shí)現(xiàn)計(jì)劃。
用戶和有關(guān)的技術(shù)專家應(yīng)該認(rèn)真審查分析員所推薦的最佳系統(tǒng),如果該系統(tǒng)確實(shí)符合用戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)的,則應(yīng)該提請(qǐng)使用部門(mén)負(fù)責(zé)人進(jìn)一步審批。在使用部門(mén)的負(fù)責(zé)人也接受了分析員所推薦的方案之后,將進(jìn)人總體設(shè)計(jì)過(guò)程的下一個(gè)重要階段一結(jié)構(gòu)設(shè)計(jì)。
4.功能分解
為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫(kù))。對(duì)程序(特別是復(fù)雜的大型程序)的設(shè)計(jì),通常分為兩個(gè)階段完成:首先進(jìn)行結(jié)構(gòu)設(shè)計(jì),然后進(jìn)行過(guò)程設(shè)計(jì)。結(jié)構(gòu)設(shè)計(jì)確定程序由哪些模塊組成,以及這些模塊之間的關(guān)系;過(guò)程設(shè)計(jì)確定每個(gè)模塊的處理過(guò)程。結(jié)構(gòu)設(shè)計(jì)是總體設(shè)計(jì)階段的任務(wù),過(guò)程設(shè)計(jì)是詳細(xì)設(shè)計(jì)階段的任務(wù)。
為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。 分析員結(jié)合算法描述仔細(xì)分析數(shù)據(jù)流圖中的每個(gè)處理,如果一個(gè)處理的功能過(guò)分復(fù)雜,必須把它的功能適當(dāng)?shù)胤纸獬梢幌盗斜容^簡(jiǎn)單的功能。一般說(shuō)來(lái),經(jīng)過(guò)分解之后應(yīng)該使每個(gè)功能對(duì)大多數(shù)程序員而言都是明顯易懂的。功能分解導(dǎo)致數(shù)據(jù)流圖的進(jìn)一步細(xì)化,同時(shí)還應(yīng)該用IPO圖或其他適當(dāng)?shù)墓ぞ吆?jiǎn)要描述細(xì)化后每個(gè)處理的算法。
5.設(shè)計(jì)軟件結(jié)構(gòu)
通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ堋?yīng)該把模塊組織成良好的層次系統(tǒng)頂層模塊調(diào)用它的下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能。軟件結(jié)構(gòu)(即由模塊組成的層次系統(tǒng))可以用層次圖或結(jié)構(gòu)圖來(lái)描繪。如果數(shù)據(jù)流圖已經(jīng)細(xì)化到適當(dāng)?shù)膶哟?#xff0c;則可以直接從數(shù)據(jù)流圖映射出軟件結(jié)構(gòu)
6.設(shè)計(jì)數(shù)據(jù)庫(kù)
對(duì)于需要使用數(shù)據(jù)庫(kù)的那些應(yīng)用系統(tǒng),軟件工程師應(yīng)該在需求分析階段所確定的系統(tǒng)數(shù)據(jù)需求的基礎(chǔ)上,進(jìn)一步設(shè)計(jì)數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)課中已經(jīng)詳細(xì)講述了設(shè)計(jì)數(shù)據(jù)庫(kù)的方法,本書(shū)不再贅述。
7.制定測(cè)試計(jì)劃
在軟件開(kāi)發(fā)的早期階段考慮測(cè)試問(wèn)題,能促使軟件設(shè)計(jì)人員在設(shè)計(jì)時(shí)注意提高軟件的可測(cè)試性。本書(shū)第7章將仔細(xì)討論軟件測(cè)試的目的和設(shè)計(jì)測(cè)試方案的各種技術(shù)方法。
8.書(shū)寫(xiě)文檔
應(yīng)該用正式的文檔記錄總體設(shè)計(jì)的結(jié)果,在這個(gè)階段應(yīng)該完成的文檔通常有下述幾種。
(1)系統(tǒng)說(shuō)明主要內(nèi)容包括用系 統(tǒng)流程圖描繪的系統(tǒng)構(gòu)成方案,組成系統(tǒng)的物理元素清單,成本/效益分析;對(duì)最佳方案的概括描述,精化的數(shù)據(jù)流圖,用層次圖或結(jié)構(gòu)圖描繪的軟件結(jié)構(gòu),用IPO圖或其他工具(例如,PDL語(yǔ)言)簡(jiǎn)要描述的各個(gè)模塊的算法,模塊間的接口關(guān)系,以及需求、功能和模塊三者之間的交叉參照關(guān)系等。
(2)用戶手冊(cè)根據(jù)總體設(shè)計(jì)階段的結(jié)果 ,修改更正在需求分析階段產(chǎn)生的初步的用戶手冊(cè)。
(3)測(cè)試計(jì)劃包括測(cè)試策略,測(cè)試方案,預(yù)期的測(cè)試結(jié)果,測(cè)試進(jìn)度計(jì)劃等。
(4)詳細(xì)的實(shí)現(xiàn)計(jì)劃
(5)數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)果
9.審查和復(fù)審
最后應(yīng)該對(duì)總體設(shè)計(jì)的結(jié)果進(jìn)行嚴(yán)格的技術(shù)審查,在技術(shù)審查通過(guò)之后再由客戶從管理角度進(jìn)行復(fù)審。
總結(jié)
以上是生活随笔為你收集整理的软件工程(总体设计①设计过程)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苏大计算机学院在哪,苏州大学和扬州大学都
- 下一篇: 别克君威气门弹簧座固定座通用吗?