2017.10.8 软件工程----总体设计
(1)經(jīng)過需求分析階段的工作,系統(tǒng)必須做什么已經(jīng)清楚了,現(xiàn)在是決定怎樣做的時候,總體設(shè)計的基本目的就是回答“概括地說,
系統(tǒng)應該如何實現(xiàn)”這個問題,因此,總體設(shè)計有稱為概要設(shè)計或初步設(shè)計。通過這個階段分為組成系統(tǒng)的物理元素-程序、文件、數(shù)據(jù)庫
人工過程文檔等。
(2)總體設(shè)計過程通常有兩個主要階段組成:系統(tǒng)設(shè)計階段,確定系統(tǒng)的具體實現(xiàn)方案;結(jié)構(gòu)設(shè)計階段,確定軟件結(jié)構(gòu)
(3)總體設(shè)計過程包括下述九個步驟:
·設(shè)想供選擇的方案
需求分析階段得出的數(shù)據(jù)流圖是總體設(shè)計的極好出發(fā)點;設(shè)想把數(shù)據(jù)流圖中的處理分組的各中可能。
·選取合理的方案
每份合理的方案,分析員都應該準備下列四份資料
1.系統(tǒng)流程圖;
2.組成系統(tǒng)的物理元素清單;
3.成本/效益分析;
4.實現(xiàn)這個系統(tǒng)的進度計劃。
·推薦最佳方案
·功能分解
為了完成系統(tǒng)系統(tǒng),必須設(shè)計出組成這個系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫)。對程序的設(shè)計,
通常分為兩個階段完成:首先進行結(jié)構(gòu)設(shè)計,然后進行過程設(shè)計,結(jié)構(gòu)設(shè)計是確定有哪些模塊組成,
以及這些模塊之間的關(guān)系;過程設(shè)計確定每個模塊的處理過程。結(jié)構(gòu)設(shè)計是總體設(shè)計階段的任務;
過程設(shè)計是詳細設(shè)計階段任務。
·設(shè)計軟件結(jié)構(gòu)
軟件結(jié)構(gòu)(由模塊組成的層次系統(tǒng))可以用層次圖或結(jié)構(gòu)圖來描繪
·設(shè)計數(shù)據(jù)庫
·制定測試計劃
·書寫文檔
1.系統(tǒng)說明 ?主要包含用系統(tǒng)流程圖描繪的系統(tǒng)構(gòu)成方案,組成系統(tǒng)的物理元素清單;精化的數(shù)據(jù)流圖;用層次圖或結(jié)構(gòu)圖描繪的軟件結(jié)構(gòu)
2.用戶手冊 ?根據(jù)總體設(shè)計階段的結(jié)果,修正在需求分析階段產(chǎn)生的初步的用戶手冊
3.測試計劃 ?包括測試策略、測試方案、預期的測試結(jié)果、測試進度計劃等;
4.詳細的實現(xiàn)計劃
5.數(shù)據(jù)庫設(shè)計結(jié)果
·審查和復查
(4)設(shè)計原理
·?模塊化
(1)模塊是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說明,可執(zhí)行語句)的序列,而且有一個總體標識符代表他;
(2)模塊化就是把程序劃分為獨立命名且可獨立訪問的模塊,每個模塊完一個子功能,把這些模塊集成起來構(gòu)成一個整體。可以完成指定的功能滿足用戶的需求。
(3)每個程序都相應地有一個最適當?shù)哪K數(shù)目M,使得系統(tǒng)的開發(fā)成本最小。
·抽象
(1)抽象就是抽出事物的本質(zhì)特性而暫時不考慮他們的細節(jié);
(2)把這些相似的方面集中和概括起來,暫時忽略他們之間的差異,這就是抽象
(3)處理復雜系統(tǒng)的唯一有效的方法是用層次的方法構(gòu)造和分析它
·逐步求精
(1)為了能集中精力要問題而盡量推遲對問題細節(jié)的考慮
(2)Miller法則:一個人在任何時候都只能把注意力集中在(7+-2)個知識塊土上
(3)求精實際上是細化過程
·信息隱藏和局部化
(1)信息隱藏原理指出:應該這樣設(shè)計確定模塊,使得一個模塊內(nèi)包含的信息對于不需要這些信息的模塊來說,是不能訪問的。
(2)所謂局部化是指把一些關(guān)系密切的軟件元素物理地放的很近。模塊中使用局部數(shù)據(jù)元素是局部化的一個例子,局部化有助于實現(xiàn)信息隱藏
(5)模塊獨立
·模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。
·模塊的獨立獨立程度可以由兩個定性標準度量,內(nèi)聚與耦合。
(1)耦合衡量不同模塊彼此間相互依賴的緊密程度;內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度
數(shù)據(jù)耦合:兩個模塊之間通過參數(shù)交換信息而且交換的信息僅僅是數(shù)據(jù)(低耦合)
控制耦合:如果傳遞的信息中有控制信息(盡管有時這種控制信息以數(shù)據(jù)的形式出現(xiàn))
特征耦合:當把整個數(shù)據(jù)結(jié)構(gòu)作為參數(shù)傳遞而被調(diào)用的模塊只需要使用其中一部分數(shù)據(jù)元素時
公共環(huán)境耦合:當兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用時,可以是全程變量、共享通信區(qū)
內(nèi)容耦合:一個模塊訪問另一個模塊的內(nèi)容;一個模塊不通過正常入口而轉(zhuǎn)到另一個模塊的內(nèi)部;
數(shù)據(jù)字典是信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。
數(shù)據(jù)字典的作用使軟件分析與設(shè)計的過程中給人提供關(guān)于數(shù)據(jù)的描述信息
數(shù)據(jù)字典有以下四個元素組成:
數(shù)據(jù)流;
數(shù)據(jù)流分量
數(shù)據(jù)存儲
處理
轉(zhuǎn)載于:https://www.cnblogs.com/qichunlin/p/7639014.html
總結(jié)
以上是生活随笔為你收集整理的2017.10.8 软件工程----总体设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有关前端的一点随笔
- 下一篇: File IO(NIO.2):路径类 和