![軟件工程導(dǎo)論考試復(fù)習(xí)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/055d4c07-df6a-4da1-b45b-329769230b24/055d4c07-df6a-4da1-b45b-329769230b241.gif)
![軟件工程導(dǎo)論考試復(fù)習(xí)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/055d4c07-df6a-4da1-b45b-329769230b24/055d4c07-df6a-4da1-b45b-329769230b242.gif)
![軟件工程導(dǎo)論考試復(fù)習(xí)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/055d4c07-df6a-4da1-b45b-329769230b24/055d4c07-df6a-4da1-b45b-329769230b243.gif)
![軟件工程導(dǎo)論考試復(fù)習(xí)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/055d4c07-df6a-4da1-b45b-329769230b24/055d4c07-df6a-4da1-b45b-329769230b244.gif)
![軟件工程導(dǎo)論考試復(fù)習(xí)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/30/055d4c07-df6a-4da1-b45b-329769230b24/055d4c07-df6a-4da1-b45b-329769230b245.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件工程復(fù)習(xí)軟件工程復(fù)習(xí) Teacher: Teacher: xieyxieyi i12334 43512334 4345第一章1軟軟件危機(jī)的概概念 “ “軟件危機(jī)軟件危機(jī)”(Software crisisSoftware crisis)是指在計(jì)算機(jī)軟件的是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些問題絕開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些問題絕不僅僅是不能正常運(yùn)行的軟件才具有的,實(shí)際上,幾乎所不僅僅是不能正常運(yùn)行的軟件才具有的,實(shí)際上,幾乎所有軟件都不同程度地存在這些問題。有軟件都不同程度地存在這些問題。軟件危機(jī)包含下述兩方面的問題:軟件危機(jī)包含下述兩方面的問題:(
2、1)(1)如何開發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求;如何開發(fā)軟件,以滿足對(duì)軟件日益增長(zhǎng)的需求;(2)(2)如何維護(hù)數(shù)量不斷膨脹的已有軟件。如何維護(hù)數(shù)量不斷膨脹的已有軟件。 為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工業(yè)化為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工業(yè)化生產(chǎn)得到啟示,于是在生產(chǎn)得到啟示,于是在68年北大西洋公約的軟件可年北大西洋公約的軟件可靠性會(huì)議(靠性會(huì)議(NATO)上,首次提出了上,首次提出了“軟件工程軟件工程”的概念的概念。提出了在軟件生產(chǎn)中采用工程化的方法,。提出了在軟件生產(chǎn)中采用工程化的方法,采用一系列科學(xué)的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。采用一系列科學(xué)的、現(xiàn)代化的方法技術(shù)來開發(fā)軟件。這
3、種工程化的思想貫穿到軟件開發(fā)和維護(hù)的全過程。這種工程化的思想貫穿到軟件開發(fā)和維護(hù)的全過程。“軟件工程軟件工程”的概念的概念1.3軟件開發(fā)方法軟件開發(fā)的目標(biāo)是要在規(guī)定的投資和時(shí)間內(nèi),軟件開發(fā)的目標(biāo)是要在規(guī)定的投資和時(shí)間內(nèi),開發(fā)出符合用戶的需求,高質(zhì)量的軟件,為此需開發(fā)出符合用戶的需求,高質(zhì)量的軟件,為此需要有成功的開發(fā)方法。要有成功的開發(fā)方法。 面向過程的開發(fā)方法面向過程的開發(fā)方法 面向?qū)ο蟮拈_發(fā)方法面向?qū)ο蟮拈_發(fā)方法是現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的是現(xiàn)有的軟件開發(fā)方法中最成熟,應(yīng)用最廣泛的方法,主要特點(diǎn)是快速,自然和方便。方法,主要特點(diǎn)是快速,自然和方便。結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向
4、下、逐步求精。結(jié)構(gòu)化方法總的指導(dǎo)思想自頂向下、逐步求精。它的基本原則是功能的分解與抽象。它的基本原則是功能的分解與抽象。 它采用結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn)來它采用結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化實(shí)現(xiàn)來完成軟件開發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蛲瓿绍浖_發(fā)的各項(xiàng)任務(wù),并使用適當(dāng)?shù)能浖ぞ呋蜍浖こ汰h(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。軟件工程環(huán)境來支持結(jié)構(gòu)化技術(shù)的運(yùn)用。這種方法學(xué)這種方法學(xué)把軟件生命周期的全過程依次劃分為若干個(gè)階段,然把軟件生命周期的全過程依次劃分為若干個(gè)階段,然后順序地完成每個(gè)階段的任務(wù)。后順序地完成每個(gè)階段的任務(wù)。采用這種方法學(xué)開發(fā)采用這種方法學(xué)開發(fā)軟件的時(shí)候,一個(gè)階段一個(gè)階
5、段地進(jìn)行開發(fā)。軟件的時(shí)候,一個(gè)階段一個(gè)階段地進(jìn)行開發(fā)。 結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)方法 SP法(法(Structured Program) 結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法 SD法(法(Structured Design) 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法 SA法(法(Structured Analysis) SA,SD,SP 法相互銜接,形成了法相互銜接,形成了一整套開發(fā)方法。一整套開發(fā)方法。 代表有瀑布模型代表有瀑布模型, ,螺旋模型和原型法螺旋模型和原型法結(jié)構(gòu)結(jié)構(gòu)化方法及瀑布模型 結(jié)構(gòu)化分析(結(jié)構(gòu)化分析(SA):在可行性分析的基礎(chǔ)上,進(jìn)一步了解:在可行性分析的基礎(chǔ)上,進(jìn)一步了解確定用戶需求
6、,準(zhǔn)確地回答確定用戶需求,準(zhǔn)確地回答 “系統(tǒng)必須做什么?系統(tǒng)必須做什么?”的問題,的問題,獲得需求規(guī)格說明書。描述方法為獲得需求規(guī)格說明書。描述方法為DFD 圖、數(shù)據(jù)詞典及加圖、數(shù)據(jù)詞典及加工說明。工說明。 結(jié)構(gòu)化設(shè)計(jì)(結(jié)構(gòu)化設(shè)計(jì)(SD):將分析階段獲得的需求說明轉(zhuǎn)換為計(jì):將分析階段獲得的需求說明轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),完成系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),包括數(shù)據(jù)結(jié)算機(jī)中可實(shí)現(xiàn)的系統(tǒng),完成系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),包括數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu),最后得到軟件設(shè)計(jì)說明書。描述方式:模構(gòu)和程序結(jié)構(gòu),最后得到軟件設(shè)計(jì)說明書。描述方式:模塊圖、流程圖及塊圖、流程圖及PAD 圖等。圖等。 結(jié)構(gòu)化程序設(shè)計(jì)(結(jié)構(gòu)化程序設(shè)計(jì)(SP):根據(jù)
7、軟件設(shè)計(jì),選擇程序設(shè)計(jì)語:根據(jù)軟件設(shè)計(jì),選擇程序設(shè)計(jì)語言,編碼實(shí)現(xiàn)具有良好風(fēng)格的軟件系統(tǒng)。言,編碼實(shí)現(xiàn)具有良好風(fēng)格的軟件系統(tǒng)。OOSD(Object-Oriented Software Development)是)是80年代推出的一種年代推出的一種全新的軟件開發(fā)方法。非常實(shí)用而強(qiáng)有力,被譽(yù)全新的軟件開發(fā)方法。非常實(shí)用而強(qiáng)有力,被譽(yù)為為90年代軟件的核心技術(shù)之一。年代軟件的核心技術(shù)之一。面向?qū)?duì)象方法及其工作模型 其基本思想是:對(duì)問題領(lǐng)域進(jìn)行自然的分割,其基本思想是:對(duì)問題領(lǐng)域進(jìn)行自然的分割,以更接近人類通常思維的方式建立問題領(lǐng)域的模以更接近人類通常思維的方式建立問題領(lǐng)域的模型,以便對(duì)客觀的信息
8、實(shí)體進(jìn)行結(jié)構(gòu)和行為的模型,以便對(duì)客觀的信息實(shí)體進(jìn)行結(jié)構(gòu)和行為的模擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問題的求解擬,從而使設(shè)計(jì)的軟件更直接地表現(xiàn)問題的求解過程。過程。面向?qū)ο蟮拈_發(fā)方法以對(duì)象作為最基本的面向?qū)ο蟮拈_發(fā)方法以對(duì)象作為最基本的元素,是分析和解決問題的核心。元素,是分析和解決問題的核心。面向?qū)ο箝_發(fā)方法的組成 OOSD由三部分組成:由三部分組成: OOA(Object-Oriented Analysis)面向?qū)ο蟮姆治雒嫦驅(qū)ο蟮姆治?OOD(Object-Oriented Design)面向?qū)ο蟮脑O(shè)計(jì)面向?qū)ο蟮脑O(shè)計(jì) OOP (Object-Oriented Program)面向?qū)ο蟮某绦蛟O(shè)
9、計(jì)面向?qū)ο蟮某绦蛟O(shè)計(jì)OOAOOA強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行強(qiáng)調(diào)的是對(duì)一個(gè)系統(tǒng)中的對(duì)象特征和行為的定義。建立系統(tǒng)的三類模型。為的定義。建立系統(tǒng)的三類模型。OODOODOOD與與OOAOOA密切配合順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的進(jìn)密切配合順序?qū)崿F(xiàn)對(duì)現(xiàn)實(shí)世界的進(jìn)一步建模。一步建模。OOPOOPOOP是面向?qū)ο蟮募夹g(shù)中發(fā)展最快的,使用是面向?qū)ο蟮募夹g(shù)中發(fā)展最快的,使用面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,進(jìn)行編碼。面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,進(jìn)行編碼。面向?qū)ο蠓椒ǖ哪P痛硎菄娙P兔嫦驅(qū)ο蠓椒ǖ哪P痛硎菄娙P?.4 軟件過程軟件開發(fā)模型是描述軟件開發(fā)過程中各種活動(dòng)如軟件開發(fā)模型是描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的
10、模型。因此又稱為何執(zhí)行的模型。因此又稱為軟件過程模型軟件過程模型。軟件過程模型是對(duì)軟件開發(fā)實(shí)際過程的抽象和軟件過程模型是對(duì)軟件開發(fā)實(shí)際過程的抽象和簡(jiǎn)化。簡(jiǎn)化。 目前典型的軟件開發(fā)模型有:目前典型的軟件開發(fā)模型有:瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、模型、rationalrational統(tǒng)一過程、敏捷過程與極限編程、微軟過程統(tǒng)一過程、敏捷過程與極限編程、微軟過程等。等。 不同的開發(fā)方法有不同的軟件過程模型。不同的開發(fā)方法有不同的軟件過程模型。開發(fā)開發(fā)時(shí)期時(shí)期運(yùn)行運(yùn)行時(shí)期時(shí)期計(jì)劃計(jì)劃時(shí)期時(shí)期( (目標(biāo)與范圍說明書目標(biāo)與范圍說明書)
11、)( (可行性論證論告可行性論證論告) )( (維護(hù)報(bào)告維護(hù)報(bào)告) )( (測(cè)試報(bào)告測(cè)試報(bào)告) )( (程序程序) )( (設(shè)計(jì)文檔設(shè)計(jì)文檔) )( (需求說明書需求說明書) )軟軟件生命周期(SDLD)瀑布模型瀑布模型瀑布模型的優(yōu)點(diǎn)瀑布模型的優(yōu)點(diǎn)v可以強(qiáng)迫開發(fā)人員采用規(guī)范的方法;可以強(qiáng)迫開發(fā)人員采用規(guī)范的方法;v嚴(yán)格規(guī)定了每個(gè)階段必須提交的文檔;嚴(yán)格規(guī)定了每個(gè)階段必須提交的文檔;v要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。仔細(xì)驗(yàn)證。瀑布模型的缺點(diǎn)瀑布模型的缺點(diǎn)v在軟件開發(fā)的初期階段就要求做出正確、全面、完整的需在軟件開發(fā)的初
12、期階段就要求做出正確、全面、完整的需求分析對(duì)許多應(yīng)用軟件來說是極其困難的。求分析對(duì)許多應(yīng)用軟件來說是極其困難的。v在需求分析階段,當(dāng)需求確定后,無法及時(shí)驗(yàn)證需求是否在需求分析階段,當(dāng)需求確定后,無法及時(shí)驗(yàn)證需求是否正確、完整。正確、完整。v作為整體開發(fā)的瀑布模型,由于不支持產(chǎn)品的演化,缺乏作為整體開發(fā)的瀑布模型,由于不支持產(chǎn)品的演化,缺乏靈活性,對(duì)開發(fā)過程中很難發(fā)現(xiàn)的錯(cuò)誤,只有在最終產(chǎn)品靈活性,對(duì)開發(fā)過程中很難發(fā)現(xiàn)的錯(cuò)誤,只有在最終產(chǎn)品運(yùn)行時(shí)才能暴露出來,從而使軟件產(chǎn)品難以維護(hù)。運(yùn)行時(shí)才能暴露出來,從而使軟件產(chǎn)品難以維護(hù)??焖僭涂焖僭万?yàn)證驗(yàn)證編碼編碼驗(yàn)證驗(yàn)證規(guī)格說明規(guī)格說明驗(yàn)證驗(yàn)證設(shè)計(jì)設(shè)計(jì)
13、驗(yàn)證驗(yàn)證綜合測(cè)試綜合測(cè)試維護(hù)維護(hù)變化的需求變化的需求驗(yàn)證驗(yàn)證快速原型模型快速原型模型快速原型模型適用的場(chǎng)合快速原型模型適用的場(chǎng)合v原型模型比瀑布模型更符合人們認(rèn)識(shí)事物的過程和規(guī)律,原型模型比瀑布模型更符合人們認(rèn)識(shí)事物的過程和規(guī)律,是一種較實(shí)用的開發(fā)框架。是一種較實(shí)用的開發(fā)框架。v它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),它適合于那些不能預(yù)先確切定義需求的軟件系統(tǒng)的開發(fā),更適合于那些項(xiàng)目組成員(包括分析員、設(shè)計(jì)員、程序員更適合于那些項(xiàng)目組成員(包括分析員、設(shè)計(jì)員、程序員和用戶)不能很好交流或通信有困難的情況。和用戶)不能很好交流或通信有困難的情況。需求分析需求分析驗(yàn)證驗(yàn)證規(guī)格說明規(guī)格說明
14、驗(yàn)證驗(yàn)證設(shè)計(jì)設(shè)計(jì)驗(yàn)證驗(yàn)證維護(hù)維護(hù)針對(duì)每個(gè)構(gòu)件,完成針對(duì)每個(gè)構(gòu)件,完成詳細(xì)設(shè)計(jì)、編碼和集詳細(xì)設(shè)計(jì)、編碼和集成,經(jīng)測(cè)試后交付給成,經(jīng)測(cè)試后交付給用戶用戶增量模型增量模型增量模型的優(yōu)點(diǎn)增量模型的優(yōu)點(diǎn)v能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。能在較短時(shí)間內(nèi)向用戶提交可完成部分工作的產(chǎn)品。v逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)逐步增加產(chǎn)品功能可以使用戶有較充裕的時(shí)間學(xué)習(xí)和適應(yīng)新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的新產(chǎn)品,從而減少一個(gè)全新的軟件可能給客戶組織帶來的沖擊。沖擊。增量模型的缺點(diǎn)增量模型的缺點(diǎn)v在把每個(gè)新的增量構(gòu)件集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必在把每個(gè)新的增量構(gòu)件
15、集成到現(xiàn)有軟件體系結(jié)構(gòu)中時(shí),必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結(jié)構(gòu)設(shè)計(jì)的便于按照這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中系結(jié)構(gòu)設(shè)計(jì)的便于按照這種方式進(jìn)行擴(kuò)充,向現(xiàn)有產(chǎn)品中加入新構(gòu)件的過程必須簡(jiǎn)單、方便,加入新構(gòu)件的過程必須簡(jiǎn)單、方便,這就意味著需要更精這就意味著需要更精心的設(shè)計(jì)心的設(shè)計(jì)。 對(duì)大型軟件對(duì)大型軟件,需要多個(gè)原型描述系統(tǒng)的生存期,需要多個(gè)原型描述系統(tǒng)的生存期,螺旋模型將瀑布模型與原型化模型結(jié)合起來螺旋模型將瀑布模型與原型化模型結(jié)合起來, ,并加入了風(fēng)險(xiǎn)分析并加入了風(fēng)險(xiǎn)分析。螺旋模型螺旋模型 螺旋模型將開發(fā)過程螺旋模型將開發(fā)過
16、程分為幾個(gè)螺旋周期,每分為幾個(gè)螺旋周期,每個(gè)螺旋周期可分為個(gè)螺旋周期可分為4 4個(gè)工個(gè)工作步驟:作步驟: 第一,確定目標(biāo)、方案第一,確定目標(biāo)、方案和限制條件;和限制條件; 第二,評(píng)估方案、標(biāo)識(shí)第二,評(píng)估方案、標(biāo)識(shí)風(fēng)險(xiǎn)和解決風(fēng)險(xiǎn);風(fēng)險(xiǎn)和解決風(fēng)險(xiǎn); 第三,開發(fā)確認(rèn)產(chǎn)品;第三,開發(fā)確認(rèn)產(chǎn)品; 第四,計(jì)劃下一周期工第四,計(jì)劃下一周期工作。作。螺旋模型的優(yōu)點(diǎn)螺旋模型的優(yōu)點(diǎn)v對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo)。有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo)。v減少了過多測(cè)試或測(cè)試不足所帶來的風(fēng)險(xiǎn)。減少了
17、過多測(cè)試或測(cè)試不足所帶來的風(fēng)險(xiǎn)。v在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開發(fā)在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開發(fā)之間并沒有本質(zhì)區(qū)別。之間并沒有本質(zhì)區(qū)別。螺旋模型的缺點(diǎn)螺旋模型的缺點(diǎn)v如果每次迭代的效率不高,致使迭代次數(shù)過多,將會(huì)增加如果每次迭代的效率不高,致使迭代次數(shù)過多,將會(huì)增加成本并推遲提交時(shí)間。成本并推遲提交時(shí)間。v使用該模型需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),使用該模型需要有相當(dāng)豐富的風(fēng)險(xiǎn)評(píng)估經(jīng)驗(yàn)和專門知識(shí),要求開發(fā)隊(duì)伍水平較高。要求開發(fā)隊(duì)伍水平較高。螺旋模型適用的場(chǎng)合螺旋模型適用的場(chǎng)合 支持需求不明確、特別是大型軟件系統(tǒng)的開發(fā),并支持支持需求不明確、特別是大
18、型軟件系統(tǒng)的開發(fā),并支持面向規(guī)格說明、面向過程、面向?qū)ο蟮榷喾N軟件開發(fā)方法,面向規(guī)格說明、面向過程、面向?qū)ο蟮榷喾N軟件開發(fā)方法,是一種具有廣闊前景的模型。是一種具有廣闊前景的模型。1.4.5噴噴泉模型1.4.6 Rational統(tǒng)一過程圖圖1.10 RUP1.10 RUP軟件開發(fā)生命周期軟件開發(fā)生命周期1.4.7敏捷過程與極限編程 圖圖1.11 XP1.11 XP項(xiàng)目的整體開發(fā)過程項(xiàng)目的整體開發(fā)過程1.4.8微軟過程 圖圖1.131.13微軟軟件生命周期階段劃分和主要里程碑微軟軟件生命周期階段劃分和主要里程碑 圖圖1.141.14微軟過程的生命周期模型微軟過程的生命周期模型 掌握各大模型的概概
19、念及適應(yīng)場(chǎng)應(yīng)場(chǎng)合等. 2第二 章v可行性研究的目的:可行性研究的目的:用最小的代價(jià),在盡可能短的時(shí)間內(nèi)用最小的代價(jià),在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。確定問題是否能夠解決。v可行性研究的實(shí)質(zhì):可行性研究的實(shí)質(zhì):進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析進(jìn)行一次大大壓縮簡(jiǎn)化了的系統(tǒng)分析和設(shè)計(jì)的過程。和設(shè)計(jì)的過程??尚行匝醒芯康娜蝿?wù)務(wù) 技術(shù)術(shù)可行性 使用現(xiàn)現(xiàn)有的技術(shù)術(shù)能實(shí)現(xiàn)這個(gè)實(shí)現(xiàn)這個(gè)系統(tǒng)嗎統(tǒng)嗎? 經(jīng)濟(jì)經(jīng)濟(jì)可行性 這個(gè)這個(gè)系統(tǒng)統(tǒng)的經(jīng)濟(jì)經(jīng)濟(jì)效益能超過它過它的開發(fā)開發(fā)成本嗎嗎? 操作可行性 系統(tǒng)統(tǒng)的操作方式在這個(gè)這個(gè)用戶組織內(nèi)戶組織內(nèi)行得通嗎嗎?系統(tǒng)流程圖系統(tǒng)流程圖:一種種物理模型,描繪繪物理數(shù)數(shù)據(jù)流圖圖
20、.數(shù)據(jù)流圖(數(shù)據(jù)流圖(Data Flow Diagram,DFD)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它描是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它描述了將系統(tǒng)的邏輯輸入轉(zhuǎn)換為邏輯輸出所需述了將系統(tǒng)的邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理過程。的加工處理過程。2.4.1 符號(hào)號(hào) 基本符號(hào)基本符號(hào) 附加符號(hào)附加符號(hào)* 與與 + 或或互斥+數(shù)據(jù)流圖的畫法(一) 由外向里:由外向里:不分層,一次性畫出完整的數(shù)據(jù)流圖不分層,一次性畫出完整的數(shù)據(jù)流圖)先確定系統(tǒng)邊界,再確定總的輸入和輸出)先確定系統(tǒng)邊界,再確定總的輸入和輸出)畫系統(tǒng)內(nèi)部,即畫加工用若干個(gè)加工把輸)畫系統(tǒng)內(nèi)部,即畫加工用若干個(gè)加工把輸入和輸出聯(lián)系起來在
21、數(shù)據(jù)流每次發(fā)生改變?nèi)牒洼敵雎?lián)系起來在數(shù)據(jù)流每次發(fā)生改變的地方畫上一個(gè)加工,在數(shù)據(jù)要存儲(chǔ)的地方的地方畫上一個(gè)加工,在數(shù)據(jù)要存儲(chǔ)的地方畫上一個(gè)文件畫上一個(gè)文件)加工如果還有新的數(shù)據(jù)流產(chǎn)生,則加工還需)加工如果還有新的數(shù)據(jù)流產(chǎn)生,則加工還需要進(jìn)一步分解成更細(xì)的加工,叫基本加工要進(jìn)一步分解成更細(xì)的加工,叫基本加工數(shù)數(shù)據(jù)流圖圖的畫畫法(二) 分層數(shù)據(jù)流圖:分層數(shù)據(jù)流圖:自頂向下畫,對(duì)系統(tǒng)進(jìn)行逐層分解,可以自頂向下畫,對(duì)系統(tǒng)進(jìn)行逐層分解,可以控制每一層的復(fù)雜度控制每一層的復(fù)雜度 頂層:頂層:實(shí)體輸入一個(gè)加工輸出實(shí)體輸入一個(gè)加工輸出 中間層:中間層:加工子加工子加工加工子加工子加工 底層:底層:由基本加工組
22、成由基本加工組成X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1頂頂層層中中 間間 層層底底 層層先全局后局部先全局后局部, ,先整體后細(xì)節(jié)先整體后細(xì)節(jié), ,先抽象后具體先抽象后具體. .0圖1圖2圖1.1圖2.1圖2.2圖分層層DFD 圖圖分層數(shù)層數(shù)據(jù)流圖圖的作圖圖步驟驟:先畫畫出頂層頂層的DFD圖圖,即確定實(shí)實(shí)體和輸輸入輸輸出逐層層分解頂層頂層DFD圖圖,獲獲得若干中間層間層DFD圖圖畫畫出底層層的DFD圖圖合理使用文件合理使用文件 當(dāng)文件作為某些加工之間的交界面時(shí),文件必當(dāng)文件作為某些加工之間的交界面時(shí),文件必須
23、畫出來,一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成須畫出來,一旦文件作為數(shù)據(jù)流圖中的一個(gè)獨(dú)立成份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同份畫出來了,那么他同其他成份之間的聯(lián)系也應(yīng)同時(shí)表達(dá)出來。時(shí)表達(dá)出來。加工分解的原則加工分解的原則 自然性:概念上合理、清晰;自然性:概念上合理、清晰; 均勻性:均勻性:理想的分解是將一個(gè)問題分解成大小理想的分解是將一個(gè)問題分解成大小均勻的幾個(gè)部分;均勻的幾個(gè)部分; 分解度:一般每一個(gè)加工每次分解最多不要超分解度:一般每一個(gè)加工每次分解最多不要超過個(gè)子加工過個(gè)子加工,分解應(yīng)分解到基本加工為止。分解應(yīng)分解到基本加工為止。五、 分層DFD圖的改進(jìn) DFD圖須經(jīng)過圖須經(jīng)過反
24、復(fù)修改反復(fù)修改,才能獲得最終的目標(biāo)系統(tǒng),才能獲得最終的目標(biāo)系統(tǒng)的的DFD圖。從以下方面改進(jìn)圖。從以下方面改進(jìn)DFD圖:圖: 1 1、檢查數(shù)據(jù)流的正確性檢查數(shù)據(jù)流的正確性 數(shù)據(jù)數(shù)據(jù)守恒守恒 子圖、父圖的平衡子圖、父圖的平衡 文件使用是否合理。特別注意輸入文件使用是否合理。特別注意輸入/ /出文件的數(shù)出文件的數(shù)據(jù)流。據(jù)流。2、改進(jìn)、改進(jìn)DFD圖的易理解性圖的易理解性 簡(jiǎn)化加工之間的聯(lián)系(聯(lián)系越少,獨(dú)立性越強(qiáng),簡(jiǎn)化加工之間的聯(lián)系(聯(lián)系越少,獨(dú)立性越強(qiáng),易理解性越好)。易理解性越好)。 改進(jìn)分解的均勻性。改進(jìn)分解的均勻性。 適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、具體)適當(dāng)命名(各成分名稱無二義性,準(zhǔn)確、
25、具體)成本成本/效益分析效益分析的目的是要從經(jīng)濟(jì)角度分析開發(fā)一個(gè)特定的的目的是要從經(jīng)濟(jì)角度分析開發(fā)一個(gè)特定的新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出新系統(tǒng)是否劃算,從而幫助客戶組織的負(fù)責(zé)人正確地作出是否投資于這項(xiàng)開發(fā)工程的決定。是否投資于這項(xiàng)開發(fā)工程的決定。2.6.1 成本估計(jì)成本估計(jì)2.6.2 成本成本/效益分析的方法效益分析的方法2.6 成本/效益分析2.6.2 成本/效益分析的方法v成本成本/ /效益分析的第一步是估計(jì)開發(fā)成本、運(yùn)行費(fèi)用和效益分析的第一步是估計(jì)開發(fā)成本、運(yùn)行費(fèi)用和新系統(tǒng)將帶來的經(jīng)濟(jì)效益:新系統(tǒng)將帶來的經(jīng)濟(jì)效益:v應(yīng)該比較新系統(tǒng)的開發(fā)成本和經(jīng)濟(jì)效益,以便從經(jīng)濟(jì)應(yīng)該
26、比較新系統(tǒng)的開發(fā)成本和經(jīng)濟(jì)效益,以便從經(jīng)濟(jì)角度判斷這個(gè)系統(tǒng)是否值得投資。角度判斷這個(gè)系統(tǒng)是否值得投資。1. 貨幣的時(shí)間價(jià)值貨幣的時(shí)間價(jià)值 假設(shè)年利率為假設(shè)年利率為i,如果現(xiàn)在存入,如果現(xiàn)在存入P元,則元,則n年后可以得到年后可以得到的錢數(shù)為:的錢數(shù)為:F=P(1+i)n;反之,如果;反之,如果n年后能收入年后能收入F元錢,元錢,那么這些錢的現(xiàn)在價(jià)值是:那么這些錢的現(xiàn)在價(jià)值是:P=F/(1+i)n。2. 投資回收期投資回收期 投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需投資回收期就是使累計(jì)的經(jīng)濟(jì)效益等于最初投資所需要的時(shí)間。顯然,投資回收期越短就能越快獲得利潤(rùn),因要的時(shí)間。顯然,投資回收期越短
27、就能越快獲得利潤(rùn),因此這項(xiàng)工程也就越值得投資。此這項(xiàng)工程也就越值得投資。3. 純收入純收入 純收入指在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益純收入指在整個(gè)生命周期之內(nèi)系統(tǒng)的累計(jì)經(jīng)濟(jì)效益(折折合成現(xiàn)在值合成現(xiàn)在值)與投資之差。與投資之差。4. 投資回收率投資回收率 把資金存入銀行或貸給其他企業(yè)能夠獲得利息,把資金存入銀行或貸給其他企業(yè)能夠獲得利息,通常用通常用年利率衡量利息年利率衡量利息多少,類似地也可以計(jì)算多少,類似地也可以計(jì)算投資投資回收率回收率,用它衡量投資效益的大小,并且,用它衡量投資效益的大小,并且可以把它和可以把它和年利率相比較年利率相比較,在衡量工程的經(jīng)濟(jì)效益時(shí),它是最重,在衡量工程的
28、經(jīng)濟(jì)效益時(shí),它是最重要的參考數(shù)據(jù)。要的參考數(shù)據(jù)。 設(shè)設(shè)P是現(xiàn)在的投資額,是現(xiàn)在的投資額,F(xiàn)i是第是第i年年底的效益,年年底的效益,n是是系統(tǒng)使用壽命,系統(tǒng)使用壽命,j是投資回收率,則是投資回收率,則 P = F1/(1+j) + F2/(1+j)2 + + Fn/(1+j)n 掌握計(jì)計(jì)算一個(gè)項(xiàng)個(gè)項(xiàng)目各大經(jīng)濟(jì)經(jīng)濟(jì)指標(biāo)標(biāo)的方法. 需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本需求分析是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn)確地回答任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么系統(tǒng)必須做什么?”?”這個(gè)問題,也就這個(gè)問題,也就是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。是對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具
29、體的要求。 在需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫出在需求分析階段結(jié)束之前,系統(tǒng)分析員應(yīng)該寫出軟件軟件需求規(guī)格說明書需求規(guī)格說明書,以書面形式準(zhǔn)確地描述軟件需求。,以書面形式準(zhǔn)確地描述軟件需求。第第3 3章章 需求分析需求分析軟軟 件需件需 求求用用 戶需戶需 求求系系 統(tǒng)需統(tǒng)需 求求功能功能需求需求非功能非功能需求需求領(lǐng)域領(lǐng)域需求需求由客戶管理員、由客戶管理員、用戶等提出用戶等提出軟件需求的內(nèi)容軟件需求的內(nèi)容一、軟件需求內(nèi)容一、軟件需求內(nèi)容需求分析與建模需求分析與建模 需求分析和建模又包含三個(gè)層次的工作。需求分析和建模又包含三個(gè)層次的工作。1 1、需求分析、需求分析 2 2、需求建模(分為
30、企業(yè)、需求建模(分為企業(yè)建模建模、功能需求、功能需求建模建模和非和非功能需求功能需求建模建模等)等)3 3、需求規(guī)格說明需求規(guī)格說明不同的描述方式。不同的描述方式。 主要對(duì)收集到的需求進(jìn)行提煉、分析和認(rèn)真審主要對(duì)收集到的需求進(jìn)行提煉、分析和認(rèn)真審查,確保所有參加人員取得一致共識(shí)。找出錯(cuò)誤、查,確保所有參加人員取得一致共識(shí)。找出錯(cuò)誤、遺漏和不足,建立完整的分析模型。遺漏和不足,建立完整的分析模型。 需求規(guī)規(guī)格說說明書書的作用 -項(xiàng)項(xiàng)目開發(fā)開發(fā)合同 -設(shè)計(jì)編設(shè)計(jì)編程基礎(chǔ)礎(chǔ) -系統(tǒng)測(cè)試統(tǒng)測(cè)試指南 -竣工驗(yàn)驗(yàn)收依據(jù) 將系統(tǒng)看作若干功能模塊的集合,每個(gè)功能又可將系統(tǒng)看作若干功能模塊的集合,每個(gè)功能又可以
31、分解為子功能以分解為子功能, ,子功能還可繼續(xù)分解子功能還可繼續(xù)分解, ,分解的結(jié)果即分解的結(jié)果即是系統(tǒng)的雛形。是系統(tǒng)的雛形。存在問題存在問題1. 1. 需要人工完成需要人工完成2. 2. 無法對(duì)描述的準(zhǔn)確度進(jìn)行驗(yàn)證。無法對(duì)描述的準(zhǔn)確度進(jìn)行驗(yàn)證。3. 3. 難以適應(yīng)需求的變化。難以適應(yīng)需求的變化。問題空間問題空間功能功能子功能子功能映射映射 是一種以數(shù)據(jù)、數(shù)據(jù)的封閉性為基礎(chǔ),從問題是一種以數(shù)據(jù)、數(shù)據(jù)的封閉性為基礎(chǔ),從問題空空間到某種表示的映射方法間到某種表示的映射方法, ,由數(shù)據(jù)流圖由數(shù)據(jù)流圖( (DFDDFD圖圖) )表示表示。 面向?qū)ο蟮姆治龇椒嫦驅(qū)ο蟮姆治龇椒?面向?qū)ο蠓治龇椒嫦驅(qū)ο?/p>
32、分析方法( (OOA) )的關(guān)鍵是識(shí)別問題域內(nèi)的關(guān)鍵是識(shí)別問題域內(nèi)的對(duì)象的對(duì)象, ,分析它們之間的關(guān)系分析它們之間的關(guān)系, ,并建立起三類模型。并建立起三類模型。結(jié)構(gòu)化分析方法是最成熟和應(yīng)用最廣泛的方法結(jié)構(gòu)化分析方法是最成熟和應(yīng)用最廣泛的方法分解:分解:對(duì)于一個(gè)復(fù)雜的系統(tǒng),對(duì)于一個(gè)復(fù)雜的系統(tǒng),為了將復(fù)雜性降低到可以掌為了將復(fù)雜性降低到可以掌握的程度,可以把大問題分握的程度,可以把大問題分解成若干小問題,然后分別解成若干小問題,然后分別解決(如右圖)。解決(如右圖)?!胺纸夥纸狻焙秃汀俺橄蟪橄蟆薄3橄螅撼橄螅悍纸饪梢苑謱舆M(jìn)行,即先考慮問題最本質(zhì)的分解可以分層進(jìn)行,即先考慮問題最本質(zhì)的屬性,暫把細(xì)
33、節(jié)略去屬性,暫把細(xì)節(jié)略去, ,以后再逐層添加細(xì)節(jié),直至涉以后再逐層添加細(xì)節(jié),直至涉及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)系及到最詳細(xì)的內(nèi)容,這種用最本質(zhì)的屬性表示一個(gè)系統(tǒng)的方法就是統(tǒng)的方法就是“抽象抽象”。1.11.21.3x2132.12.22.31.11.3 基本思想與與步驟驟1 1、分層的數(shù)據(jù)流圖、分層的數(shù)據(jù)流圖( (DFDDFD圖圖) )2 2、數(shù)據(jù)詞典數(shù)據(jù)詞典3 3、描述加工邏輯的、描述加工邏輯的結(jié)構(gòu)化語言、判定表及判定樹結(jié)構(gòu)化語言、判定表及判定樹 SA方法的特點(diǎn) 由頂層頂層向下逐層層分解 圖圖形方式描述 SA法的局限性 與數(shù)與數(shù)據(jù)庫庫的銜銜接性差 人機(jī)交互方式不易表達(dá)達(dá) 不適
34、用于實(shí)時(shí)實(shí)時(shí)系統(tǒng)統(tǒng) 書書面模型(不能上機(jī)驗(yàn)證驗(yàn)證,不容易發(fā)現(xiàn)問題發(fā)現(xiàn)問題) 軟件設(shè)計(jì)是軟件開發(fā)的關(guān)鍵步驟,軟件設(shè)計(jì)是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件質(zhì)量直接影響軟件質(zhì)量。軟件設(shè)計(jì)階段要解決軟件設(shè)計(jì)階段要解決“如何做如何做”的問題。的問題。 將需求階段獲得的需求說明(模型)將需求階段獲得的需求說明(模型)轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng)轉(zhuǎn)換為計(jì)算機(jī)中可實(shí)現(xiàn)的系統(tǒng), ,即進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。即進(jìn)行系統(tǒng)結(jié)構(gòu)設(shè)計(jì)。 設(shè)計(jì)階段主要任務(wù)是設(shè)計(jì)階段主要任務(wù)是: :系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)用戶界面的設(shè)計(jì)用戶界面的設(shè)計(jì)算法的設(shè)計(jì)算法的設(shè)計(jì) 軟件軟件涉及多方面,可分為總體設(shè)計(jì)和涉及多方面,
35、可分為總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。詳細(xì)設(shè)計(jì)。過程設(shè)計(jì)過程設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)界面設(shè)計(jì)界面設(shè)計(jì)軟件設(shè)計(jì)軟件設(shè)計(jì)任務(wù)任務(wù)軟件設(shè)計(jì)分為軟件設(shè)計(jì)分為總體設(shè)計(jì)總體設(shè)計(jì)和和詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)兩個(gè)階段兩個(gè)階段。 3.1.2 3.1.2 軟件設(shè)計(jì)階段軟件設(shè)計(jì)階段總體設(shè)計(jì)總體設(shè)計(jì)v總體設(shè)計(jì)的兩個(gè)重要任務(wù):總體設(shè)計(jì)的兩個(gè)重要任務(wù):v劃分出組成系統(tǒng)的物理元素;劃分出組成系統(tǒng)的物理元素;v設(shè)計(jì)軟件的結(jié)構(gòu),也就是確定系統(tǒng)中每個(gè)程序是設(shè)計(jì)軟件的結(jié)構(gòu),也就是確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,以及這些模塊相互間的關(guān)系。由哪些模塊組成的,以及這些模塊相互間的關(guān)系。2. 設(shè)計(jì)設(shè)計(jì)軟件結(jié)構(gòu)軟件結(jié)構(gòu) u指定了系統(tǒng)的
36、組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu)指定了系統(tǒng)的組織結(jié)構(gòu)和拓?fù)浣Y(jié)構(gòu).確定程序由哪些模確定程序由哪些模塊組成,以及這些模塊之間的關(guān)系塊組成,以及這些模塊之間的關(guān)系. 通常程序中的一個(gè)通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ堋0堰@些模塊自頂向下組模塊完成一個(gè)適當(dāng)?shù)淖庸δ?。把這些模塊自頂向下組成一種良好的層次調(diào)用關(guān)系,也就完成了軟件結(jié)構(gòu)設(shè)成一種良好的層次調(diào)用關(guān)系,也就完成了軟件結(jié)構(gòu)設(shè)計(jì)的任務(wù)。計(jì)的任務(wù)。u如果數(shù)據(jù)流圖已經(jīng)細(xì)化到適當(dāng)?shù)膶哟危瑒t可以直接從如果數(shù)據(jù)流圖已經(jīng)細(xì)化到適當(dāng)?shù)膶哟?,則可以直接從數(shù)據(jù)流圖映射出軟件結(jié)構(gòu)。數(shù)據(jù)流圖映射出軟件結(jié)構(gòu)。u 設(shè)計(jì)方法不同,確定軟件結(jié)構(gòu)的方法也不同。常用的設(shè)計(jì)方法不同,確定軟件結(jié)構(gòu)
37、的方法也不同。常用的設(shè)計(jì)方法有:設(shè)計(jì)方法有: SD法、法、Jackson法、法、OOD法、法、HIPO法、法、 Parnas法、法、 Warnier法等。法等。 軟件軟件就是構(gòu)造一個(gè)高內(nèi)聚低耦合就是構(gòu)造一個(gè)高內(nèi)聚低耦合的軟件模型。的軟件模型。軟件軟件高可靠高可靠性性高可維高可維護(hù)性護(hù)性高可理高可理解性解性高效率高效率軟件設(shè)計(jì)的目標(biāo)模塊分解模塊分解模塊模塊: :構(gòu)成系統(tǒng)的基本單元構(gòu)成系統(tǒng)的基本單元設(shè)計(jì)階段的基本任務(wù)設(shè)計(jì)階段的基本任務(wù):決定軟件系統(tǒng)的:決定軟件系統(tǒng)的模塊結(jié)構(gòu)模塊結(jié)構(gòu). .模塊化模塊化: :就是將系統(tǒng)劃分成若干模塊,就是將系統(tǒng)劃分成若干模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊每個(gè)模塊
38、完成一個(gè)子功能,把這些模塊集中起來組成一個(gè)整體,以滿足所要求集中起來組成一個(gè)整體,以滿足所要求的整個(gè)系統(tǒng)的功能的整個(gè)系統(tǒng)的功能。我們利用模塊化來降低軟件復(fù)雜度。注我們利用模塊化來降低軟件復(fù)雜度。注意選擇分解的最佳模塊數(shù)。意選擇分解的最佳模塊數(shù)。采用模塊化原理帶來的好處:采用模塊化原理帶來的好處:u模塊化使軟件結(jié)構(gòu)清晰,易于設(shè)模塊化使軟件結(jié)構(gòu)清晰,易于設(shè) 計(jì),也易于閱讀和理解;計(jì),也易于閱讀和理解;u模塊化使軟件容易測(cè)試和調(diào)試,模塊化使軟件容易測(cè)試和調(diào)試, 有助于提高軟件的可靠性;有助于提高軟件的可靠性;u模塊化能夠提高軟件的可修改性;模塊化能夠提高軟件的可修改性;u模塊化也有助于軟件開發(fā)工程的
39、組模塊化也有助于軟件開發(fā)工程的組 織管理。織管理。模塊分解模塊分解模塊的基本特征:模塊的基本特征: 外部特征(輸入輸出,功能)外部特征(輸入輸出,功能) 內(nèi)部特征(內(nèi)部數(shù)據(jù)、代碼)內(nèi)部特征(內(nèi)部數(shù)據(jù)、代碼)設(shè)計(jì)過程:由外向里設(shè)計(jì)過程:由外向里 先確定模塊的外部特征(概要設(shè)計(jì))先確定模塊的外部特征(概要設(shè)計(jì)) 再確定模塊的內(nèi)部特征(詳細(xì)設(shè)計(jì))再確定模塊的內(nèi)部特征(詳細(xì)設(shè)計(jì)) 模塊塊是否分解得越小越好? 軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表示,均表示為層次關(guān)系系的表示,均表示為層次關(guān)系。直線表示調(diào)用關(guān)系。直線表示調(diào)用關(guān)系. .軟 件 結(jié) 構(gòu)
40、 示 意 圖頂層頂層1層層2層層ABCDEFGHIJKLMN深度寬度扇入為扇入為2扇出為扇出為3扇入為扇入為3寬度深度寬度3層層4層層模塊結(jié)構(gòu)示意圖模塊結(jié)構(gòu)示意圖 深度深度:表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊的層數(shù)的層數(shù); 寬度寬度:表示控制的總分布;表示控制的總分布; 扇出數(shù)扇出數(shù):指一個(gè)模塊直接控制下屬的模塊個(gè)數(shù);指一個(gè)模塊直接控制下屬的模塊個(gè)數(shù); 扇入數(shù)扇入數(shù):指一個(gè)模塊的直接上屬模塊個(gè)數(shù)。反映指一個(gè)模塊的直接上屬模塊個(gè)數(shù)。反映了模塊的了模塊的重用率重用率. . 一個(gè)好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:頂部寬度小,一個(gè)好的軟件結(jié)構(gòu)的形態(tài)準(zhǔn)則是:頂部寬度小,中部
41、寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),在底部有較高的扇入數(shù)。扇出數(shù),在底部有較高的扇入數(shù)。 經(jīng)驗(yàn)表明,一個(gè)設(shè)計(jì)得好的典型系統(tǒng)的平均扇出經(jīng)驗(yàn)表明,一個(gè)設(shè)計(jì)得好的典型系統(tǒng)的平均扇出通常是通常是3 3或或4(4(扇出的上限通常是扇出的上限通常是5 59)9)。 有有 關(guān)關(guān) 指指 標(biāo)標(biāo) 模塊獨(dú)塊獨(dú)立性準(zhǔn)則則: 模塊獨(dú)塊獨(dú)立性的含義義是指開發(fā)開發(fā)具有功能專專一,模塊塊之間間無過過多相互作用的模塊塊。又稱為稱為模塊獨(dú)塊獨(dú)立性準(zhǔn)則則。這種類這種類型的模塊塊可以并并行開發(fā)開發(fā),開開發(fā)發(fā)容易,能減減少錯(cuò)誤錯(cuò)誤的影響響,使模塊塊容易組組合、修改及測(cè)試測(cè)試。
42、v模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合。v耦合耦合衡量不同模塊彼此間互相依賴衡量不同模塊彼此間互相依賴(連接連接)的緊密的緊密程度程度(塊間聯(lián)系塊間聯(lián)系);v內(nèi)聚內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度密程度(塊內(nèi)聯(lián)系塊內(nèi)聯(lián)系)。1.耦合耦合v耦合耦合是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。程度的度量。v耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度,進(jìn)入或訪問一個(gè)模塊的點(diǎn),以及通過接口的數(shù)
43、入或訪問一個(gè)模塊的點(diǎn),以及通過接口的數(shù)據(jù)。據(jù)。v在軟件設(shè)計(jì)中應(yīng)該追求盡可能松散耦合的系在軟件設(shè)計(jì)中應(yīng)該追求盡可能松散耦合的系統(tǒng)。統(tǒng)。 耦合性耦合性 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。軟件獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性指標(biāo):軟件獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性指標(biāo):內(nèi)容耦合內(nèi)容耦合公共耦合公共耦合控制耦合控制耦合復(fù)合耦合復(fù)合耦合數(shù)據(jù)耦合數(shù)據(jù)耦合應(yīng)該采取下述設(shè)計(jì)原則:應(yīng)該采取下述設(shè)計(jì)原則: 盡量使用數(shù)據(jù)耦合,少用控制耦合和特盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。用內(nèi)容耦合。2.內(nèi)聚內(nèi)聚v內(nèi)聚內(nèi)聚
44、標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然密程度,它是信息隱藏和局部化概念的自然擴(kuò)展。擴(kuò)展。v設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚,通常中等程度設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚,通常中等程度的內(nèi)聚也是可以采用的,不要使用低內(nèi)聚。的內(nèi)聚也是可以采用的,不要使用低內(nèi)聚。v內(nèi)聚和耦合是密切相關(guān)的,模塊內(nèi)的高內(nèi)聚內(nèi)聚和耦合是密切相關(guān)的,模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。往往意味著模塊間的松耦合。v實(shí)踐表明內(nèi)聚更重要,應(yīng)該把更多注意力集實(shí)踐表明內(nèi)聚更重要,應(yīng)該把更多注意力集中到提高模塊的內(nèi)聚程度上。中到提高模塊的內(nèi)聚程度上。內(nèi)聚性內(nèi)聚性 用于描述模塊內(nèi)部
45、聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。軟件獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性指標(biāo):軟件獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性指標(biāo): 耦合性耦合性 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。內(nèi)容耦合內(nèi)容耦合公共耦合公共耦合控制耦合控制耦合復(fù)合耦合復(fù)合耦合數(shù)據(jù)耦合數(shù)據(jù)耦合偶然型偶然型邏輯型邏輯型瞬時(shí)型瞬時(shí)型通訊型通訊型順序型順序型功能型功能型內(nèi)聚與耦合之間的關(guān)系內(nèi)聚與耦合之間的關(guān)系 高內(nèi)聚、低耦合是我們進(jìn)行軟件設(shè)計(jì)的一貫原則。高內(nèi)聚、低耦合是我們進(jìn)行軟件設(shè)計(jì)的一貫原則。 一般而言,模塊的內(nèi)聚越高,模塊間的耦合一般而言,模塊的內(nèi)聚越高,模塊間的耦合就越弱,模塊的獨(dú)立性也越好,因此我們要在
46、設(shè)就越弱,模塊的獨(dú)立性也越好,因此我們要在設(shè)計(jì)時(shí)力爭(zhēng)做到高內(nèi)聚,能夠辨認(rèn)出低內(nèi)聚的模塊,計(jì)時(shí)力爭(zhēng)做到高內(nèi)聚,能夠辨認(rèn)出低內(nèi)聚的模塊,并且通過修改設(shè)計(jì)提高模塊的內(nèi)聚程度降低模塊并且通過修改設(shè)計(jì)提高模塊的內(nèi)聚程度降低模塊間的耦合程度,從而獲得較高的模塊獨(dú)立性。間的耦合程度,從而獲得較高的模塊獨(dú)立性。描繪軟繪軟件結(jié)構(gòu)結(jié)構(gòu)的圖圖形工具1. 層次圖層次圖 2. HIPO圖圖 3. 結(jié)構(gòu)圖結(jié)構(gòu)圖1. 層層次圖圖 層次圖用來描繪軟件的層次結(jié)構(gòu),圖中的一層次圖用來描繪軟件的層次結(jié)構(gòu),圖中的一個(gè)矩形框代表一個(gè)模塊,方框間的連線表示調(diào)用個(gè)矩形框代表一個(gè)模塊,方框間的連線表示調(diào)用關(guān)系而不像層次方框圖那樣表示組成關(guān)系
47、。關(guān)系而不像層次方框圖那樣表示組成關(guān)系。圖圖 正文加工系統(tǒng)的層次圖正文加工系統(tǒng)的層次圖2. HIPO圖圖 HIPO圖是美國圖是美國IBM公司發(fā)明的公司發(fā)明的“層次圖加層次圖加輸入輸入/處理處理/輸出圖輸出圖”的英文縮寫,由一個(gè)的英文縮寫,由一個(gè)H圖(層圖(層次圖)和若干個(gè)次圖)和若干個(gè)IPO圖組成。和圖組成。和H圖中每個(gè)方框相圖中每個(gè)方框相對(duì)應(yīng),應(yīng)該有一張對(duì)應(yīng),應(yīng)該有一張IPO圖描繪這個(gè)方框代表的模塊圖描繪這個(gè)方框代表的模塊的處理過程。的處理過程。圖圖 帶編號(hào)的層次圖帶編號(hào)的層次圖(H圖圖)3. 結(jié)構(gòu)圖結(jié)構(gòu)圖 結(jié)構(gòu)圖描述了程序的模塊結(jié)構(gòu),表示了一個(gè)系統(tǒng)結(jié)構(gòu)圖描述了程序的模塊結(jié)構(gòu),表示了一個(gè)系統(tǒng)
48、的層次分解關(guān)系,反映了塊間聯(lián)系和塊內(nèi)聯(lián)系等的層次分解關(guān)系,反映了塊間聯(lián)系和塊內(nèi)聯(lián)系等特征及控制信息的傳遞關(guān)系。特征及控制信息的傳遞關(guān)系。圖圖 結(jié)構(gòu)圖的例子結(jié)構(gòu)圖的例子產(chǎn)生最佳解的一般結(jié)構(gòu)產(chǎn)生最佳解的一般結(jié)構(gòu)結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法 SD(Structured Design)法與與 SA、SP法前后銜銜接,是結(jié)構(gòu)結(jié)構(gòu)化開發(fā)開發(fā)方法的核心。SDSD方法的基本思想方法的基本思想:整個(gè)系統(tǒng)由相對(duì)獨(dú)立、:整個(gè)系統(tǒng)由相對(duì)獨(dú)立、功能單一的模塊構(gòu)成。模塊之間的相對(duì)性由功能單一的模塊構(gòu)成。模塊之間的相對(duì)性由塊間聯(lián)系或塊內(nèi)聯(lián)系來衡量。塊間聯(lián)系或塊內(nèi)聯(lián)系來衡量。SDSD方法是根據(jù)一些固定的規(guī)則,從分層的方法是根
49、據(jù)一些固定的規(guī)則,從分層的DFDDFD圖導(dǎo)出初始的模塊圖。再對(duì)初始的模塊圖進(jìn)圖導(dǎo)出初始的模塊圖。再對(duì)初始的模塊圖進(jìn)行改進(jìn),獲得最終的結(jié)構(gòu)圖。行改進(jìn),獲得最終的結(jié)構(gòu)圖。結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法 1. SD SD 法的兩個(gè)階段法的兩個(gè)階段 總體設(shè)計(jì)總體設(shè)計(jì) 任務(wù):任務(wù): 解決系統(tǒng)的模塊結(jié)構(gòu),即分解模塊,解決系統(tǒng)的模塊結(jié)構(gòu),即分解模塊,確定確定模塊功能模塊功能及系統(tǒng)模塊的層次結(jié)構(gòu)。及系統(tǒng)模塊的層次結(jié)構(gòu)。 文檔:文檔:模塊結(jié)構(gòu)圖及其模塊功能說明。模塊結(jié)構(gòu)圖及其模塊功能說明。 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 對(duì)模塊圖中每個(gè)模塊的過程進(jìn)行描述,常用的對(duì)模塊圖中每個(gè)模塊的過程進(jìn)行描述,常用的描述的方式有:偽代碼,流程
50、圖,描述的方式有:偽代碼,流程圖,N-S圖,圖,PAD圖圖等。等。SD方法的設(shè)計(jì)設(shè)計(jì)步驟驟 1 1)從)從DFDDFD圖導(dǎo)出初始的模塊結(jié)構(gòu)圖圖導(dǎo)出初始的模塊結(jié)構(gòu)圖 2 2)按照)按照SDSD方法的設(shè)計(jì)總則,改進(jìn)模塊結(jié)構(gòu)方法的設(shè)計(jì)總則,改進(jìn)模塊結(jié)構(gòu)圖圖 注意:模塊結(jié)構(gòu)圖不同于程序流程圖。結(jié)構(gòu)注意:模塊結(jié)構(gòu)圖不同于程序流程圖。結(jié)構(gòu)圖反映軟件整體的性質(zhì),框圖反映的局部的圖反映軟件整體的性質(zhì),框圖反映的局部的內(nèi)容,過程性的。內(nèi)容,過程性的。 二、二、SD SD 法的設(shè)計(jì)步驟法的設(shè)計(jì)步驟從從DFDDFD圖導(dǎo)出初始的模塊結(jié)構(gòu)圖圖導(dǎo)出初始的模塊結(jié)構(gòu)圖(SC)(SC)。 中心變換型中心變換型(transfor
51、m center) _ 變換分析變換分析 事務(wù)處理型事務(wù)處理型(transaction) _ 事務(wù)分析事務(wù)分析按照按照SDSD法設(shè)計(jì)總則,改進(jìn)模塊結(jié)構(gòu)圖。法設(shè)計(jì)總則,改進(jìn)模塊結(jié)構(gòu)圖。注意:注意:模塊結(jié)構(gòu)圖不同于模塊結(jié)構(gòu)圖不同于“框圖框圖”。軟件軟件層次性:層次性:反映軟件整體的性質(zhì)反映軟件整體的性質(zhì) ( (結(jié)構(gòu)圖結(jié)構(gòu)圖) )過程性:反映局部的性質(zhì)過程性:反映局部的性質(zhì) ( (框圖框圖) )3.3 3.3 結(jié)構(gòu)化設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)方法( (續(xù))續(xù))變換變換分析 變換變換型結(jié)構(gòu)結(jié)構(gòu)的DFD圖圖特點(diǎn) 這類數(shù)這類數(shù)據(jù)流圖圖可看成是對(duì)輸對(duì)輸入數(shù)數(shù)據(jù)進(jìn)進(jìn)行轉(zhuǎn)換轉(zhuǎn)換而得到輸輸出數(shù)數(shù)據(jù)的處處理。 DFD圖圖可
52、以明顯顯分為為“輸輸入處處理輸輸出”三部分。邏輯輸入邏輯輸入邏輯輸出邏輯輸出主加工主加工變換變換分析 主加工:通常位于系統(tǒng)中幾股數(shù)據(jù)流的匯合處主加工:通常位于系統(tǒng)中幾股數(shù)據(jù)流的匯合處 確定邏輯輸入:離物理輸入端最遠(yuǎn)的、仍屬于系統(tǒng)輸入的確定邏輯輸入:離物理輸入端最遠(yuǎn)的、仍屬于系統(tǒng)輸入的數(shù)據(jù)流數(shù)據(jù)流 確定邏輯輸出:離物理輸出端最遠(yuǎn)的,仍屬于系統(tǒng)輸出的確定邏輯輸出:離物理輸出端最遠(yuǎn)的,仍屬于系統(tǒng)輸出的數(shù)據(jù)流數(shù)據(jù)流 有些系統(tǒng)沒有主加工的成分。有些系統(tǒng)沒有主加工的成分。 用變換變換分析法設(shè)計(jì)設(shè)計(jì)模塊塊 頂層:頂層:為主加工設(shè)計(jì)一個(gè)主模塊,功能是整個(gè)系統(tǒng)的為主加工設(shè)計(jì)一個(gè)主模塊,功能是整個(gè)系統(tǒng)的功能功能
53、一層:一層:為邏輯輸入中的每一個(gè)輸入數(shù)據(jù)流設(shè)計(jì)一個(gè)輸為邏輯輸入中的每一個(gè)輸入數(shù)據(jù)流設(shè)計(jì)一個(gè)輸入模塊,功能是向主模塊提供數(shù)據(jù);為邏輯輸出中的入模塊,功能是向主模塊提供數(shù)據(jù);為邏輯輸出中的每一個(gè)輸出數(shù)據(jù)流設(shè)計(jì)一個(gè)輸出模塊,功能是為主模每一個(gè)輸出數(shù)據(jù)流設(shè)計(jì)一個(gè)輸出模塊,功能是為主模塊提高輸出通道;為主模塊設(shè)計(jì)一個(gè)變換模塊,功能塊提高輸出通道;為主模塊設(shè)計(jì)一個(gè)變換模塊,功能是將邏輯輸入轉(zhuǎn)換為邏輯輸出。是將邏輯輸入轉(zhuǎn)換為邏輯輸出。 二層及以下:二層及以下:為上層的每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模為上層的每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)輸入模塊和一個(gè)變換模塊;為上層的每個(gè)輸塊:一個(gè)輸入模塊和一個(gè)變換模塊;為上
54、層的每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)變換模塊和一個(gè)輸出出模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)變換模塊和一個(gè)輸出模塊。上層的變換模塊若比較復(fù)雜的話,也要向下繼模塊。上層的變換模塊若比較復(fù)雜的話,也要向下繼續(xù)分變換模塊。續(xù)分變換模塊。 這類數(shù)據(jù)流圖可看成是對(duì)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換而得到這類數(shù)據(jù)流圖可看成是對(duì)輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理。輸出數(shù)據(jù)的處理。 DFDDFD圖可以明顯分為圖可以明顯分為“輸入輸入處理處理輸出輸出”三部分三部分。(物理輸入)(物理輸入)(邏輯輸入)(邏輯輸入)(邏輯輸出)(邏輯輸出)輸輸 入入主加工主加工輸輸 出出(物理輸出)(物理輸出)檢查檢查順序順序檢查檢查合理性合理性擴(kuò)充擴(kuò)充
55、代碼代碼核對(duì)核對(duì) 記錄記錄修改修改壓縮壓縮代碼代碼格式化格式化修改修改數(shù)據(jù)數(shù)據(jù) 舊文件舊文件新文件新文件中心變換型中心變換型 的 DFD DFD 圖圖簡(jiǎn)化的簡(jiǎn)化的DFD圖圖4號(hào)號(hào)加工加工1號(hào)號(hào)加工加工2號(hào)號(hào)加工加工中心中心加工加工3號(hào)號(hào)加工加工ABCDEF輸輸入入流流轉(zhuǎn)換流轉(zhuǎn)換流輸輸出出流流MMCICTCOCCDD進(jìn)行一級(jí)分解,設(shè)計(jì)上層模塊。進(jìn)行一級(jí)分解,設(shè)計(jì)上層模塊。為每個(gè)輸入設(shè)計(jì)一個(gè)輸入模塊,為每個(gè)輸入設(shè)計(jì)一個(gè)輸入模塊,為每個(gè)輸出設(shè)計(jì)一個(gè)輸出模塊,同時(shí)為每個(gè)主加工設(shè)計(jì)一為每個(gè)輸出設(shè)計(jì)一個(gè)輸出模塊,同時(shí)為每個(gè)主加工設(shè)計(jì)一個(gè)處理模塊。個(gè)處理模塊。進(jìn)行二級(jí)分解,設(shè)計(jì)中下層模塊:進(jìn)行二級(jí)分解,設(shè)計(jì)
56、中下層模塊:為上層的每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)輸入模為上層的每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)輸入模塊和一個(gè)變換模塊;為上層的每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下塊和一個(gè)變換模塊;為上層的每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下層模塊:一個(gè)變換模塊和一個(gè)輸出模塊。層模塊:一個(gè)變換模塊和一個(gè)輸出模塊。 4號(hào)號(hào)加工加工1號(hào)號(hào)加工加工2號(hào)號(hào)加工加工中心中心加工加工3號(hào)號(hào)加工加工ABCDEF輸輸入入流流轉(zhuǎn)換流轉(zhuǎn)換流輸輸出出流流EMCICTCOCCDD取取B轉(zhuǎn)換轉(zhuǎn)換B轉(zhuǎn)換轉(zhuǎn)換D送送EBBCDEMCICTCOCCDD取取B轉(zhuǎn)換轉(zhuǎn)換B轉(zhuǎn)換轉(zhuǎn)換D送送EBBCDEE繼續(xù)向下分解繼續(xù)向下分解 取取A轉(zhuǎn)換轉(zhuǎn)換A轉(zhuǎn)換轉(zhuǎn)換E送送FAABEFF
57、 這類數(shù)據(jù)流圖有一個(gè)數(shù)據(jù)處理中心,這類數(shù)據(jù)流圖有一個(gè)數(shù)據(jù)處理中心,按加工的結(jié)果選擇一個(gè)輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。按加工的結(jié)果選擇一個(gè)輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。 如下圖所示:如下圖所示:分類分類報(bào)名報(bào)名付款付款注銷注銷查詢查詢復(fù)審復(fù)審采用采用“事務(wù)分析事務(wù)分析”(transaction Analysis)技術(shù)技術(shù)事務(wù)處理型事務(wù)處理型 的的 DFD 圖圖用事務(wù)務(wù)分析方法設(shè)計(jì)設(shè)計(jì)模塊圖塊圖 頂層:為主加工設(shè)計(jì)一個(gè)主模塊,功能是整個(gè)系頂層:為主加工設(shè)計(jì)一個(gè)主模塊,功能是整個(gè)系統(tǒng)的功能;統(tǒng)的功能; 一層:為邏輯輸入中的每一個(gè)輸入數(shù)據(jù)流設(shè)計(jì)一一層:為邏輯輸入中的每一個(gè)輸入數(shù)據(jù)流設(shè)計(jì)一個(gè)輸入模塊,功能是向主
58、模塊提供數(shù)據(jù);為邏輯個(gè)輸入模塊,功能是向主模塊提供數(shù)據(jù);為邏輯輸出中的每一個(gè)輸出數(shù)據(jù)流設(shè)計(jì)一個(gè)輸出模塊,輸出中的每一個(gè)輸出數(shù)據(jù)流設(shè)計(jì)一個(gè)輸出模塊,功能是為主模塊提供輸出通道;為每種類型的事功能是為主模塊提供輸出通道;為每種類型的事務(wù)設(shè)計(jì)一個(gè)事務(wù)處理模塊(變換模塊)務(wù)設(shè)計(jì)一個(gè)事務(wù)處理模塊(變換模塊) 二層及以下:與變換分析類似。二層及以下:與變換分析類似。 原始的數(shù)據(jù)流圖IP1 1P2 2P3 3輸入流輸入流事務(wù)中心事務(wù)中心加工路徑加工路徑事務(wù)控制事務(wù)控制接受事務(wù)接受事務(wù)發(fā)送事務(wù)發(fā)送事務(wù)P1P2P3對(duì)應(yīng)模塊圖 幾點(diǎn)補(bǔ)補(bǔ)充: 實(shí)際應(yīng)實(shí)際應(yīng)用中系統(tǒng)統(tǒng)通常是兩種類兩種類型的混合結(jié)構(gòu)結(jié)構(gòu),需要以變換變換
59、分析為為主、事務(wù)務(wù)分析為輔進(jìn)為輔進(jìn)行設(shè)計(jì)設(shè)計(jì); 在多任務(wù)環(huán)務(wù)環(huán)境下,將將系統(tǒng)統(tǒng)中可以并并行處處理的部分設(shè)計(jì)設(shè)計(jì)成許許多子任務(wù)務(wù),彼此間間用通訊訊方式進(jìn)進(jìn)行聯(lián)聯(lián)系;程序結(jié)構(gòu)與問題結(jié)構(gòu)與問題結(jié)構(gòu)結(jié)構(gòu)相對(duì)應(yīng)對(duì)應(yīng)。 簡(jiǎn)單的轉(zhuǎn)換方法如書上p109和p112所示.SD方法小結(jié)結(jié) SDSD方法設(shè)計(jì)軟件系統(tǒng)的特點(diǎn):方法設(shè)計(jì)軟件系統(tǒng)的特點(diǎn):由問題的結(jié)構(gòu)(數(shù)據(jù)流圖)導(dǎo)出軟件系統(tǒng)的模塊結(jié)由問題的結(jié)構(gòu)(數(shù)據(jù)流圖)導(dǎo)出軟件系統(tǒng)的模塊結(jié)構(gòu)圖;構(gòu)圖;將系統(tǒng)先分解再組合,有效地控制系統(tǒng)復(fù)雜性;提將系統(tǒng)先分解再組合,有效地控制系統(tǒng)復(fù)雜性;提出了軟件系統(tǒng)質(zhì)量評(píng)價(jià)標(biāo)(塊間聯(lián)系和塊內(nèi)聯(lián)系);出了軟件系統(tǒng)質(zhì)量評(píng)價(jià)標(biāo)(塊間聯(lián)系和塊內(nèi)聯(lián)系
60、);提出了一組設(shè)計(jì)技巧;圖形描述直觀明了;提出了一組設(shè)計(jì)技巧;圖形描述直觀明了;SDSD方法設(shè)計(jì)軟件系統(tǒng)的缺點(diǎn):方法設(shè)計(jì)軟件系統(tǒng)的缺點(diǎn):對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)未做考慮;對(duì)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)未做考慮;塊間聯(lián)系和塊內(nèi)聯(lián)系無嚴(yán)格定義;塊間聯(lián)系和塊內(nèi)聯(lián)系無嚴(yán)格定義; 從需求階段到設(shè)計(jì)階段的圖轉(zhuǎn)換復(fù)雜從需求階段到設(shè)計(jì)階段的圖轉(zhuǎn)換復(fù)雜第第6 6章章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 總體設(shè)計(jì)是軟件結(jié)構(gòu)的建立過程總體設(shè)計(jì)是軟件結(jié)構(gòu)的建立過程 詳細(xì)設(shè)計(jì)是對(duì)上述過程細(xì)節(jié)的完善,給出軟件結(jié)詳細(xì)設(shè)計(jì)是對(duì)上述過程細(xì)節(jié)的完善,給出軟件結(jié)構(gòu)中各個(gè)模塊的內(nèi)部過程描述,從而在編碼階段構(gòu)中各個(gè)模塊的內(nèi)部過程描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 1 Growing up 單元說課稿-2024-2025學(xué)年高中英語外研版(2019)選擇性必修第二冊(cè)
- 下城區(qū)汽車租賃合同范本
- 保安獎(jiǎng)罰合同范例
- 醫(yī)用耗材寄售合同范例
- 加貿(mào)合同范本
- 專利注冊(cè)合同范本
- 人工智能購銷合同范例
- 農(nóng)膜質(zhì)保期限合同范例
- 2024年01月江蘇2024年邳州農(nóng)商銀行大學(xué)生寒假社會(huì)實(shí)踐活動(dòng)招募筆試歷年參考題庫附帶答案詳解
- 人工防水合同范例
- JCT796-2013 回彈儀評(píng)定燒結(jié)普通磚強(qiáng)度等級(jí)的方法
- 物業(yè)客服培訓(xùn)課件PPT模板
- 火力發(fā)電廠節(jié)能管理制度實(shí)施細(xì)則
- 2003年版勞動(dòng)合同范本
- 全名校北師大版數(shù)學(xué)五年級(jí)下冊(cè)第三單元達(dá)標(biāo)測(cè)試卷(含答案)
- 新員工入職通識(shí)考試(中軟國際)
- 四星級(jí)酒店工程樣板房裝修施工匯報(bào)
- 華為攜手深圳國際會(huì)展中心創(chuàng)建世界一流展館
- 2023版思想道德與法治專題2 領(lǐng)悟人生真諦 把握人生方向 第3講 創(chuàng)造有意義的人生
- 全過程工程咨詢服務(wù)技術(shù)方案
- GB/T 41509-2022綠色制造干式切削工藝性能評(píng)價(jià)規(guī)范
評(píng)論
0/150
提交評(píng)論