專題講座資料(2021-2022年)概要設(shè)計(jì)_第1頁(yè)
專題講座資料(2021-2022年)概要設(shè)計(jì)_第2頁(yè)
專題講座資料(2021-2022年)概要設(shè)計(jì)_第3頁(yè)
專題講座資料(2021-2022年)概要設(shè)計(jì)_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第四章 概要設(shè)計(jì)一、概要設(shè)計(jì)任務(wù)1系統(tǒng)分析員審查軟件計(jì)劃、軟件需求分析提供的文檔,提出候選的最佳推薦方案,用系統(tǒng)流程圖,組成系統(tǒng)物理元素清單,成本效益分析,系統(tǒng)的進(jìn)度計(jì)劃,供專家審定,審定后進(jìn)入設(shè)計(jì)。2確定模塊結(jié)構(gòu),劃分功能模塊,將軟件功能需求分配給所劃分的最小單元模塊。確定模塊間的聯(lián)系,確定數(shù)據(jù)結(jié)構(gòu)、文件結(jié)構(gòu)、數(shù)據(jù)庫(kù)模式,確定測(cè)試方法與策略。3編寫概要設(shè)計(jì)說明書,用戶手冊(cè),測(cè)試計(jì)劃,選用相關(guān)的軟件工具來描述軟件結(jié)構(gòu),結(jié)構(gòu)圖是經(jīng)常使用的軟件描述工具。選擇分解功能與劃分模塊的設(shè)計(jì)原則,例如模塊劃分獨(dú)立性原則,信息隱蔽原則等。4概要設(shè)計(jì)后轉(zhuǎn)入詳細(xì)設(shè)計(jì)(又稱過程設(shè)計(jì),算法設(shè)計(jì)),其主要任務(wù),根據(jù)概要

2、設(shè)計(jì)提供的文檔,確定每一個(gè)模塊的算法,內(nèi)部的數(shù)據(jù)組織,選定工具清晰正確表達(dá)算法。編寫詳細(xì)設(shè)計(jì)說明書,詳細(xì)測(cè)試用例與計(jì)劃用到如何確定程序的復(fù)雜程度的程序圖,算法流程圖的表述工具,如PAD圖,N-S圖等。二、概要設(shè)計(jì)的過程在概要設(shè)計(jì)過程中要先進(jìn)行系統(tǒng)設(shè)計(jì),復(fù)審系統(tǒng)計(jì)劃與需求分析,確定系統(tǒng)具體的實(shí)施方案;然后進(jìn)行結(jié)構(gòu)設(shè)計(jì),確定軟件結(jié)構(gòu)。一般步驟如下:S1:設(shè)計(jì)系統(tǒng)方案S2:選取一組合理的方案S3:推薦最佳實(shí)施方案S4:功能分解S5:軟件結(jié)構(gòu)設(shè)計(jì)S6:數(shù)據(jù)庫(kù)設(shè)計(jì)、文件結(jié)構(gòu)的設(shè)計(jì)S7:制定測(cè)試計(jì)劃S8:編寫概要設(shè)計(jì)文檔S9:審查與復(fù)審概要設(shè)計(jì)文檔。三、軟件設(shè)計(jì)的概念與原則主要內(nèi)容包括有:(1) 將軟件劃

3、分成若干獨(dú)立成分的依據(jù)。(2) 怎樣表示不同的成分內(nèi)的功能細(xì)節(jié)和數(shù)據(jù)結(jié)構(gòu)。(3) 怎樣統(tǒng)一衡量軟件設(shè)計(jì)的技術(shù)質(zhì)量。四、模塊化與模塊獨(dú)立性模塊化模塊是數(shù)據(jù)說明、可執(zhí)行語(yǔ)句等程序?qū)ο蟮募希K可以單獨(dú)被命名的而且可通過名字來訪問,例如,過程、函數(shù)、子程序、宏等等都可作為模塊。抽象與逐步求精軟件工程過程的每一步都是對(duì)軟件解法的抽象層次的一次精化。逐步求精與抽象是緊密相關(guān)的。信息隱蔽和局部化模塊獨(dú)立性模塊獨(dú)立性是軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體子功能,而和軟件系統(tǒng)中其他的模塊接口是簡(jiǎn)單的。模塊獨(dú)立的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。1模塊獨(dú)立性的重要性(1)具有獨(dú)立的模塊的軟

4、件比較容易開發(fā)出來。這是由于能夠分割功能而且接口可以簡(jiǎn)化,當(dāng)許多人分工合作開發(fā)同一個(gè)軟件時(shí),這個(gè)優(yōu)點(diǎn)尤其重要。(2)獨(dú)立的模塊比較容易測(cè)試和維護(hù)。這是因?yàn)橄鄬?duì)說來,修改設(shè)計(jì)和程序需要的工作量比較小,錯(cuò)誤傳播范圍小,需要擴(kuò)充功能時(shí)能夠“插入”模塊。總之,模塊獨(dú)立是優(yōu)秀設(shè)計(jì)的關(guān)鍵,而設(shè)計(jì)又是決定軟件質(zhì)量的關(guān)鍵環(huán)節(jié)。模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。2耦合耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)各個(gè)模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,調(diào)用模塊的方式,以及通過接口的

5、信息。具體區(qū)分模塊間耦合程度的強(qiáng)弱的標(biāo)準(zhǔn)如下:(1) 非直接耦合(2)數(shù)據(jù)耦合(3)控制耦合(4)公共環(huán)境耦合(5)內(nèi)容耦合(6)標(biāo)記耦合(7)外部耦合總之,耦合是影響軟件復(fù)雜程度的一個(gè)重要因素。應(yīng)該采取的原則是:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。2內(nèi)聚內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱蔽和局部化概念的自然擴(kuò)展。簡(jiǎn)單地說,理想內(nèi)聚的模塊只做一件事情。(1)偶然內(nèi)聚(2)邏輯內(nèi)聚(3)時(shí)間內(nèi)聚(4)過程內(nèi)聚(5)通信內(nèi)聚(6)信息內(nèi)聚(7)功能內(nèi)聚五、結(jié)構(gòu)設(shè)計(jì)原則軟件概要設(shè)計(jì)包括模塊構(gòu)成的程序結(jié)構(gòu)和輸入輸出數(shù)據(jù)結(jié)構(gòu)。其目標(biāo)是產(chǎn)生一個(gè)模

6、塊化的程序結(jié)構(gòu),并明確模塊間的控制關(guān)系,以及定義界面、說明程序的數(shù)據(jù)進(jìn)一步調(diào)整程序結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。改進(jìn)軟件設(shè)計(jì)、提高軟件質(zhì)量的原則。1顯著改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性2模塊規(guī)模應(yīng)該適中3適當(dāng)選擇深度、寬度、扇出和扇入4 模塊的作用域應(yīng)該在控制域之內(nèi)5力爭(zhēng)降低模塊接口的復(fù)雜程度6設(shè)計(jì)單入口單出口的模塊7模塊功能應(yīng)該可以預(yù)測(cè)六、面向數(shù)據(jù)流的設(shè)計(jì)方法基本概念1變換流2事物流3設(shè)計(jì)過程系統(tǒng)結(jié)構(gòu)圖(SC圖)的組成變換分析事務(wù)分析設(shè)計(jì)優(yōu)化Jackson系統(tǒng)開發(fā)方法(JSD)Jackson系統(tǒng)開發(fā)方法(JSD,Jackson System Development)是一種典型的面向數(shù)據(jù)結(jié)構(gòu)的分析設(shè)計(jì)方法。Jac

7、kson系統(tǒng)開發(fā)方法的系統(tǒng)模型就是相互通訊的一組進(jìn)程的集合。進(jìn)程間的通訊方式有以下三種:(1)進(jìn)程同步發(fā)生。(2)通過數(shù)據(jù)通道發(fā)送/接收活動(dòng)發(fā)生。(3)訪問公用存儲(chǔ)信息。1Jackson圖(1)表達(dá)基本結(jié)構(gòu)對(duì)于種類繁多的程序中使用的數(shù)據(jù)結(jié)構(gòu),各數(shù)據(jù)元素之間的邏輯關(guān)系只有順序、選擇、重復(fù)三種,所以邏輯數(shù)據(jù)結(jié)構(gòu)也只有三種。順序結(jié)構(gòu)選擇結(jié)構(gòu)重復(fù)結(jié)構(gòu)(2)改進(jìn)的Jackson圖Jackson圖的缺點(diǎn)是:用這種圖形工具表示選擇或重復(fù)結(jié)構(gòu)時(shí),選擇條件或循環(huán)結(jié)束條件不能直接在圖上表示出來,影響了圖的表達(dá)能力,也不易直接把圖翻譯成程序,此外,框間連線為斜線,不易在行式打印機(jī)上輸出。(3)如何使用Jackson

8、圖表示數(shù)據(jù)結(jié)構(gòu)用Jackson圖表示下表所示的二維表格:表學(xué)生名冊(cè)表頭姓 名性 別班 級(jí)學(xué) 號(hào)表體.這個(gè)Jackson圖首先聲明了該學(xué)生名冊(cè)表格由表頭和表體兩部分組成。其中表頭又順序包括表名和字段名。而表體可由任意行(0行或多行)組成,每行包括學(xué)生的姓名、性別、班級(jí)和學(xué)號(hào)。班級(jí)是本科的,學(xué)號(hào)項(xiàng)是本科生學(xué)號(hào);班級(jí)是研究生的,學(xué)號(hào)項(xiàng)是研究生學(xué)號(hào)。表示程序結(jié)構(gòu)例如要用Jackson圖表示產(chǎn)生上面的學(xué)生名冊(cè)文件的程序的程序結(jié)構(gòu):把學(xué)生名冊(cè)生成為一個(gè)計(jì)算機(jī)文件,則該程序結(jié)構(gòu)可以用下圖的Jackson圖來表示。學(xué)生名冊(cè)表 頭表 體表 名字段名 行*姓 名學(xué) 號(hào)性 別班 級(jí)本科生學(xué)號(hào)0研究生學(xué)號(hào)0Jacks

9、on偽代碼順序結(jié)構(gòu)順序結(jié)構(gòu)的偽碼如下,其中seq和end是關(guān)鍵字:A seqBCDA end選擇結(jié)構(gòu)select、or,和end是關(guān)鍵字,cond1、cond2和cond3分別是執(zhí)行B、C或D的條件:選擇結(jié)構(gòu)對(duì)應(yīng)的偽碼如下:A select condIBA or cond2CA or cond3DA end重復(fù)結(jié)構(gòu)iter、until、while和end是關(guān)鍵字(重復(fù)結(jié)構(gòu)有until和while兩種形式),cond是條件,重復(fù)結(jié)構(gòu)對(duì)應(yīng)的偽碼圖象:A iter until(或while) condBA end2 Jackson系統(tǒng)開發(fā)方法步驟與實(shí)現(xiàn)Warnier方法Warnier程序設(shè)計(jì)方法另一種面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,又稱為邏輯地構(gòu)造程序的方法,簡(jiǎn)稱LCP(Logical Construction of Programs)方法。Warnier方法的原理和Jackson方法類似,也是從數(shù)據(jù)結(jié)構(gòu)出發(fā)設(shè)計(jì)程序,但是這種方法的邏輯更嚴(yán)格。Warnier圖在Warnier方法中使用的一種專用表達(dá)工具。1Wa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論