




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第五章總體設(shè)計(jì)2教學(xué)內(nèi)容5.1設(shè)計(jì)過程5.2設(shè)計(jì)原理5.3啟發(fā)規(guī)則5.4描繪軟件結(jié)構(gòu)的圖形工具5.5面向數(shù)據(jù)流的設(shè)計(jì)方法5.6小結(jié)3學(xué)習(xí)目標(biāo)掌握:
1、軟件設(shè)計(jì)過程中應(yīng)遵循的基本原理和相關(guān)概念;
2、描繪軟件結(jié)構(gòu)的圖形工具的運(yùn)用;
3、面向數(shù)據(jù)流設(shè)計(jì)方法概念;變換分析、事務(wù)分析法過程和應(yīng)用。理解:
1、典型的總體設(shè)計(jì)過程包括的步驟;
2、設(shè)計(jì)中的啟發(fā)式規(guī)則;4重點(diǎn)和難點(diǎn)重點(diǎn):
軟件設(shè)計(jì)過程中應(yīng)遵循的基本原理;面向數(shù)據(jù)流的設(shè)計(jì)方法。難點(diǎn):
變換分析、事務(wù)分析法的過程和應(yīng)用。5前言軟件設(shè)計(jì)的目標(biāo)和任務(wù)
軟件需求:解決“做什么”
軟件設(shè)計(jì):解決“怎么做”
●軟件設(shè)計(jì)的任務(wù):以軟件需求規(guī)格說明書為依據(jù),著手實(shí)現(xiàn)軟件的需求,并將設(shè)計(jì)的結(jié)果反映在“設(shè)計(jì)規(guī)格說明書”文檔中?!褴浖O(shè)計(jì)的重要性:是軟件開發(fā)階段的第一步,最終影響軟件實(shí)現(xiàn)的成敗和軟件維護(hù)的難易程度。6軟件設(shè)計(jì)的兩個(gè)階段
第一階段:概要設(shè)計(jì)(總體設(shè)計(jì))
根據(jù)軟件需求,設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),確定程序的組成模塊及模塊之間的相互關(guān)系?;卮稹案爬ǖ卣f,系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”。其重要性是:站在全局高度,從較抽象的層次上分析對(duì)比多種可能的系統(tǒng)實(shí)現(xiàn)方案和軟件結(jié)構(gòu),從中選出最佳方案和最合理的軟件結(jié)構(gòu),從而用較低成本開發(fā)出較高質(zhì)量的軟件系統(tǒng)。7第二階段:詳細(xì)設(shè)計(jì)(過程設(shè)計(jì))
確定模塊內(nèi)部的算法和數(shù)據(jù)結(jié)構(gòu);選定某種過程的表達(dá)形式來描述各種算法;產(chǎn)生精確描述各模塊程序過程的詳細(xì)文檔,并進(jìn)行評(píng)審。8
軟件結(jié)構(gòu)設(shè)計(jì)以需求分析中得到的數(shù)據(jù)流圖為基礎(chǔ)而進(jìn)行。將需求分析模型轉(zhuǎn)換為軟件設(shè)計(jì)9SA與SD的關(guān)系10第一個(gè)階段總體設(shè)計(jì)的任務(wù)
①
制定規(guī)范②設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)(簡稱軟件結(jié)構(gòu))③處理方式設(shè)計(jì)④數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì)⑤可靠性設(shè)計(jì)⑥編寫概要設(shè)計(jì)文檔⑦概要設(shè)計(jì)評(píng)審前進(jìn)11①制定規(guī)范
為軟件開發(fā)小組制定在進(jìn)行軟件設(shè)計(jì)時(shí),應(yīng)該共同遵守的標(biāo)準(zhǔn),以便協(xié)調(diào)組內(nèi)各成員的工作。返回12②軟件結(jié)構(gòu)設(shè)計(jì)
包括:將系統(tǒng)按功能劃分成模塊確定每個(gè)模塊的功能確定模塊之間的調(diào)用關(guān)系確定模塊之間的接口,即模塊之間傳遞的信息評(píng)價(jià)模塊結(jié)構(gòu)的質(zhì)量返回13③處理方式設(shè)計(jì)包括:
●功能設(shè)計(jì):確定實(shí)現(xiàn)功能需求必須的算法,評(píng)估算法的性能
●性能設(shè)計(jì):確定實(shí)現(xiàn)性能需求必須的算法和模塊間的控制方式
返回14§5.1概要設(shè)計(jì)的過程
15§5.2設(shè)計(jì)遵循的基本原理
5.2.1模塊化5.2.2抽象5.2.3逐步求精5.2.4信息隱蔽和局部化5.2.5模塊獨(dú)立前進(jìn)16§5.2.1模塊化(Modularity)
①什么是模塊和模塊化思想?
采取自頂向下的方式,逐層把軟件系統(tǒng)劃分成若干可單獨(dú)命名和可編址的部分——“模塊”,每個(gè)模塊完成一個(gè)特定的子功能;所有模塊按某種方法組成一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。軟件系統(tǒng)就是通過這些模塊的組合來實(shí)現(xiàn)。17②模塊化的優(yōu)點(diǎn)
模塊化是軟件解決復(fù)雜問題所具備的手段,可降低軟件復(fù)雜性,減少開發(fā)工作量,從而降低開發(fā)成本,提高軟件生產(chǎn)率,是模塊化的依據(jù)。
設(shè),函數(shù)C(x)定義問題x的復(fù)雜程度;函數(shù)E(x)確定解決問題x需要的工作量(時(shí)間);設(shè)P1和P2為兩個(gè)問題;則,如果C(P1)>C(P2)E(P1)>E(P2);
根據(jù)解決一般問題的經(jīng)驗(yàn),存在
C(P1+P2)>C(P1)+C(P2)
因此,E(P1+P2)>E(P1)+E(P2)18③模塊化與軟件成本的關(guān)系
19④模塊的基本屬性接口:指模塊的輸入與輸出。功能:指模塊實(shí)現(xiàn)什么功能。邏輯:描述內(nèi)部如何實(shí)現(xiàn)要求的功能及所需的數(shù)據(jù)。狀態(tài):該模塊的運(yùn)行環(huán)境。返回20§5.2.2抽象(Abstraction)①什么是抽象?認(rèn)識(shí)復(fù)雜事物和現(xiàn)象時(shí),抽出事物本質(zhì)的共同特性而暫不考慮它們的細(xì)節(jié)。②軟件開發(fā)中的抽象過程的抽象數(shù)據(jù)的抽象
返回21§5.2.3逐步細(xì)化
由NiklausWirth提出的設(shè)計(jì)策略,適用于大而復(fù)雜的軟件系統(tǒng)開發(fā)。
Miller法則:一個(gè)人在任何時(shí)候都只能把注意力同時(shí)集中在(7±2)個(gè)知識(shí)塊上。但是,在開發(fā)軟件的過程中,軟件工程師在一段時(shí)間內(nèi)需要考慮的知識(shí)塊數(shù)遠(yuǎn)遠(yuǎn)多于7個(gè)。
22自頂向下,逐步細(xì)化的基本思想●將功能、信息的說明分為多個(gè)層次,最高層也最抽象——僅僅只是概念性地描述功能或信息,不提供功能的內(nèi)部工作情況或信息的內(nèi)部結(jié)構(gòu);●設(shè)計(jì)者從最高層開始,仔細(xì)推敲,進(jìn)行功能和信息的細(xì)化,給出下層實(shí)現(xiàn)的細(xì)節(jié);●隨著每個(gè)后續(xù)細(xì)化逐步的完成,提供越來越多的細(xì)節(jié),最終得出用程序設(shè)計(jì)語言表達(dá)的程序。23結(jié)合了模塊化和逐步細(xì)化思想建立的軟件結(jié)構(gòu)圖
返回24§5.2.4信息隱蔽和局部化
信息隱蔽:在設(shè)計(jì)和確定模塊時(shí),使得一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),不允許其它不需要這些信息的模塊訪問,獨(dú)立的模塊間僅僅交換為完成系統(tǒng)功能而必須交換的信息。局部化:將一些關(guān)系密切都軟件元素物理地放得彼此靠近。返回25§5.2.5模塊獨(dú)立
1、什么是模塊獨(dú)立性(moduleindependence)
●模塊只完成系統(tǒng)要求的相對(duì)獨(dú)立的功能●符合信息隱蔽原則●模塊間關(guān)連和依賴程度盡量小2、模塊獨(dú)立的優(yōu)點(diǎn)容易開發(fā)、測(cè)試和維護(hù)返回263、衡量模塊獨(dú)立性的兩個(gè)準(zhǔn)則
①耦合性(coupling)②內(nèi)聚性(cohesion)27①耦合性(coupling)
也稱塊間的聯(lián)系。是對(duì)軟件系統(tǒng)結(jié)構(gòu)中,各模塊間相互聯(lián)系緊密程度的一種度量。
設(shè)計(jì)目標(biāo):低耦合
圖形表示耦合關(guān)系28無直接耦合(NondirectCoupling)兩個(gè)模塊沒有直接關(guān)系,模塊獨(dú)立性最強(qiáng)。圖例:模塊1與模塊2;模塊3與模塊429
屬松散耦合。一模塊訪問另一模塊時(shí),通過數(shù)據(jù)參數(shù)交換輸入、輸出信息。數(shù)據(jù)耦合(DataCoupling)30控制耦合(ControlCoupling)
模塊之間傳遞的是控制信息(如開關(guān)、標(biāo)志、名字等),控制被調(diào)用模塊的內(nèi)部邏輯31控制耦合舉例
32去除模塊間控制耦合的方法
控制耦合增加了理解和編程的復(fù)雜性,調(diào)用模塊必須知道被調(diào)模塊的內(nèi)部邏輯,增加了相互依賴。解決方法:
(1)將被調(diào)用模塊內(nèi)的判定上移到調(diào)用模塊中進(jìn)行
(2)被調(diào)用模塊分解成若干單一功能模塊33模塊間耦合強(qiáng)度
34
?一模塊對(duì)另一模塊的引用?一模塊向另一模塊傳遞的數(shù)據(jù)量?一模塊施加到另一模塊的控制的數(shù)量?
模塊間接口的復(fù)雜程度耦合強(qiáng)度依賴的因素:35降低耦合度的設(shè)計(jì)原則
1、根據(jù)問題特點(diǎn),選擇合適的耦合類型。
盡量使用數(shù)據(jù)耦合,少用控制耦合和外部耦合,限制公共耦合的范圍,完全不用內(nèi)容耦合。
2、降低模塊接口的復(fù)雜性。
減少每個(gè)模塊的參數(shù)個(gè)數(shù);盡量使用標(biāo)準(zhǔn)過程調(diào)用方式,少用直接引用的方式;傳送的信息以標(biāo)準(zhǔn)、直接的方式提供。
3、把模塊的通信信息放在緩沖區(qū)中。返回36②內(nèi)聚性(cohesion)
又稱塊內(nèi)聯(lián)系。指一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。若一個(gè)模塊內(nèi)各元素(語句之間、程序段之間)聯(lián)系的越緊密,則它的內(nèi)聚性就越高。
設(shè)計(jì)目標(biāo):高內(nèi)聚37巧合內(nèi)聚(偶然內(nèi)聚,CoincidentalCohesion)
塊內(nèi)各組成成份在功能上是互不相關(guān)的。38邏輯內(nèi)聚(LogicalCohesion)
把幾種相關(guān)功能(邏輯上相似的功能)組合在一模塊內(nèi),每次調(diào)用由傳給模塊的參數(shù)確定執(zhí)行哪種功能。39邏輯內(nèi)聚模塊
40模塊間內(nèi)聚的類型
41總結(jié):耦合、內(nèi)聚與模塊獨(dú)立性關(guān)系
耦合與內(nèi)聚都是模塊獨(dú)立性的定性標(biāo)準(zhǔn),都反映模塊獨(dú)立性的良好程度。但耦合是直接的主導(dǎo)因素,內(nèi)聚則輔助耦合共同對(duì)模塊獨(dú)立性進(jìn)行衡量。
設(shè)計(jì)要求:低耦合,高內(nèi)聚
返回42§5.3啟發(fā)規(guī)則
改進(jìn)原則:高內(nèi)聚、低耦合①改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性②模塊規(guī)模適中③深度、寬度、扇出和扇入適中④將模塊的影響限制在控制范圍內(nèi)⑤降低模塊接口的復(fù)雜性⑥設(shè)計(jì)單入口單出口的模塊⑦模塊功能可預(yù)測(cè)43①改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性通過模塊分解或合并,降低耦合提高內(nèi)聚。44②模塊規(guī)模適中
模塊過大:可理解程度下降模塊過?。洪_銷大于有效操作系統(tǒng)接口復(fù)雜在考慮模塊的獨(dú)立性同時(shí),為了增加可理解性,模塊的大小最好在50-150條語句左右,可以用1-2頁打印紙打印,便于人們閱讀與研究。45③深度、寬度、扇出和扇入適中
46例:避免平鋪結(jié)構(gòu)47增加中間層降低扇出48§5.4描繪軟件結(jié)構(gòu)的圖形工具§5.4.1層次圖和HIPO圖
描述軟件的層次結(jié)構(gòu)。層次圖中,一個(gè)方框代表一個(gè)模塊,方框間的連線表示調(diào)用關(guān)系。
HIPO圖=層次圖+IPO圖49正文加工系統(tǒng)
50酒店管理信息系統(tǒng)功能結(jié)構(gòu)圖51§5.4.2結(jié)構(gòu)圖(SCStructureChart)
調(diào)用直線邊的小箭頭,表示調(diào)用時(shí)從一個(gè)模塊傳給另一個(gè)模塊的數(shù)據(jù),也指出了傳送方向。52§5.5面向數(shù)據(jù)流的設(shè)計(jì)方法§5.5.1概念
數(shù)據(jù)流可分為兩種類型:●變換型數(shù)據(jù)流●事務(wù)型數(shù)據(jù)流53變換型數(shù)據(jù)流基本模型特點(diǎn):具有明確的傳入、變換(或稱主加工)和傳出界面的DFD54另一種表示圖:55變換型數(shù)據(jù)流舉例
56●事務(wù)型數(shù)據(jù)流基本模型57例1:汽車數(shù)字儀表板功能(教材P96-101面)1)通過A/D轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理器接口,2)在發(fā)光二極管面板上顯示數(shù)據(jù),3)指示每小時(shí)英里數(shù)(mph),行駛的里程,每加倫油行駛的英里數(shù)(mpg)等等。4)指示加速或減速;5)超速警告:如果車速超過55英里/小時(shí),則發(fā)出超速警告鈴聲?!?.5.2變換分析5859§5.5.3事務(wù)分析適用情況:數(shù)據(jù)流具有明顯的事務(wù)中心。事務(wù)分析步驟
(1)在DFD上確定事務(wù)中心、接收部分和發(fā)送部分。(2)畫出SC框架,把DFD上的三部分分別映射為事務(wù)控制模塊、接收模塊和動(dòng)作發(fā)送模塊。(3)分解細(xì)化接收分支和發(fā)送分支,完成初始SC。60總結(jié):面向數(shù)據(jù)流方法的設(shè)計(jì)過程
61總結(jié):面向數(shù)據(jù)流設(shè)計(jì)方法的設(shè)計(jì)步驟
(1)精化DFD(2)確定DFD類型(3)把
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- apec商務(wù)旅行卡申請(qǐng)流程
- 2024-2025學(xué)年高中化學(xué) 第一章 化學(xué)反應(yīng)與能量 第1節(jié) 化學(xué)反應(yīng)與能量的變化教學(xué)實(shí)錄 新人教版選修4
- 航空工業(yè)無人機(jī)研發(fā)與應(yīng)用解決方案
- 27《一個(gè)粗瓷大碗》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年統(tǒng)編版語文三年級(jí)上冊(cè)
- 2024-2025學(xué)年高中化學(xué) 第一單元 走進(jìn)化學(xué)工業(yè) 1.3 純堿的生產(chǎn)教學(xué)實(shí)錄2 新人教版選修2
- 項(xiàng)目解決方案設(shè)計(jì)與實(shí)施計(jì)劃
- 14 圓明園的毀滅 教學(xué)設(shè)計(jì)-2024-2025學(xué)年語文五年級(jí)上冊(cè)統(tǒng)編版
- 本科畢業(yè)論文完整范文(滿足查重要求)基于科學(xué)發(fā)展觀的生態(tài)行政管理路徑研究
- 本科畢業(yè)論文完整范文(滿足查重要求)當(dāng)前人才流動(dòng)中的問題與對(duì)策研究
- 三農(nóng)技術(shù)支持與服務(wù)體系建設(shè)規(guī)劃
- 《臺(tái)海危機(jī)》課件
- 部編版小學(xué)語文一年級(jí)下冊(cè)第三單元大單元教學(xué)設(shè)計(jì)教材分析
- MOOC 數(shù)據(jù)庫系統(tǒng)(中):建模與設(shè)計(jì)-哈爾濱工業(yè)大學(xué) 中國大學(xué)慕課答案
- 2024年湖南食品藥品職業(yè)學(xué)院單招職業(yè)技能測(cè)試題庫及答案解析
- 2024年江蘇醫(yī)藥職業(yè)學(xué)院單招職業(yè)技能測(cè)試題庫及答案解析
- 2024年全國高考物理電學(xué)實(shí)驗(yàn)真題(附答案)
- 保育員基本素養(yǎng)知識(shí)講座
- 2024寧波樞智交通科技有限公司招聘筆試參考題庫附帶答案詳解
- 乳腺疏通課件
- 《5G無線網(wǎng)絡(luò)規(guī)劃與優(yōu)化》 課件 羅暉 第4-6章 5G行業(yè)應(yīng)用-5G無線網(wǎng)絡(luò)優(yōu)化
- 藥物指導(dǎo)健康宣教
評(píng)論
0/150
提交評(píng)論