軟件工程概論ch04-1課件_第1頁(yè)
軟件工程概論ch04-1課件_第2頁(yè)
軟件工程概論ch04-1課件_第3頁(yè)
軟件工程概論ch04-1課件_第4頁(yè)
軟件工程概論ch04-1課件_第5頁(yè)
已閱讀5頁(yè),還剩221頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章軟件設(shè)計(jì)第4章軟件設(shè)計(jì)前言需求分析明確了“做什么”的問(wèn)題。通過(guò)需求調(diào)查與分析,得到了由邏輯模型和相關(guān)需求規(guī)約組成的需求分析說(shuō)明書。需求分析說(shuō)明書是需求分析階段的里程碑性的階段性成果,也是設(shè)計(jì)階段的依據(jù)。進(jìn)入設(shè)計(jì)階段以后,要回答的問(wèn)題焦點(diǎn)是“怎么做”,要參照邏輯模型映射出軟件系統(tǒng)的功能結(jié)構(gòu),著手進(jìn)行軟件設(shè)計(jì)。前言需求分析明確了“做什么”的問(wèn)題。通過(guò)需求調(diào)查與分析,得到本章重點(diǎn)正確理解概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的任務(wù)和目標(biāo);掌握靈活運(yùn)用相關(guān)的工具和方法。軟件設(shè)計(jì)又進(jìn)一步分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)關(guān)心的是軟件功能結(jié)構(gòu),詳細(xì)設(shè)計(jì)則更多的是編程實(shí)現(xiàn)的細(xì)節(jié)。要深刻理解軟件結(jié)構(gòu)設(shè)計(jì)的原則及詳細(xì)設(shè)計(jì)的規(guī)范。本章重點(diǎn)正確理解概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的任務(wù)和目標(biāo);第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.1軟件設(shè)計(jì)概述

軟件

定義

系統(tǒng)分析

軟件

開(kāi)發(fā)

軟件

維護(hù)

問(wèn)題定義

可行性分析

需求分析

需求驗(yàn)證

回答

“做什么”

的問(wèn)題

系統(tǒng)設(shè)計(jì)

系統(tǒng)實(shí)施

概要設(shè)計(jì)

詳細(xì)設(shè)計(jì)

回答“怎么做”

的問(wèn)題。

概要描述系統(tǒng)如何實(shí)現(xiàn)。

功能目標(biāo)圖

功能結(jié)構(gòu)圖

結(jié)構(gòu)優(yōu)化

代碼設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)

輸入輸出設(shè)計(jì)

系統(tǒng)交互設(shè)計(jì)

系統(tǒng)測(cè)試計(jì)劃

編程

測(cè)試

單元測(cè)試

綜合測(cè)試

修正錯(cuò)誤

修改軟件

補(bǔ)充功能

圖4-1系統(tǒng)開(kāi)發(fā)任務(wù)規(guī)劃

系統(tǒng)調(diào)查

回答“如何實(shí)現(xiàn)”

的問(wèn)題。

4.1軟件設(shè)計(jì)概述軟件定義系統(tǒng)分析軟件開(kāi)發(fā)4.1軟件設(shè)計(jì)概述軟件開(kāi)發(fā)包括設(shè)計(jì)和實(shí)施兩個(gè)環(huán)節(jié);其中軟件設(shè)計(jì)分為:“概要設(shè)計(jì)”——仍然是面向邏輯的活動(dòng),實(shí)現(xiàn)由邏輯模型到軟件框架結(jié)構(gòu)的轉(zhuǎn)變或映射;“詳細(xì)設(shè)計(jì)”——是面向物理實(shí)現(xiàn)的活動(dòng),使得新系統(tǒng)能夠借助于計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。4.1軟件設(shè)計(jì)概述軟件開(kāi)發(fā)包括設(shè)計(jì)和實(shí)施兩個(gè)環(huán)節(jié);4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程1.軟件結(jié)構(gòu)設(shè)計(jì)2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)3.編寫概要設(shè)計(jì)文檔4.評(píng)審4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程1.軟件結(jié)構(gòu)設(shè)計(jì)軟件工程概論ch04-1課件 1.軟件(功能)結(jié)構(gòu)設(shè)計(jì)(1)采用某種設(shè)計(jì)方法,將軟件按功能劃分成模塊。 (2)確定每個(gè)模塊的功能。(3)確定模塊之間的層次(調(diào)用)關(guān)系。(4)考查模塊的獨(dú)立性,分解優(yōu)化。 1.軟件(功能)結(jié)構(gòu)設(shè)計(jì)(1)采用某種設(shè)計(jì)方法,將軟件2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)(2)數(shù)據(jù)庫(kù)的設(shè)計(jì)2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)3.編寫概要設(shè)計(jì)文檔(1)概要設(shè)計(jì)說(shuō)明書(2)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明(3)用戶手冊(cè)(4)修訂測(cè)試計(jì)劃3.編寫概要設(shè)計(jì)文檔(1)概要設(shè)計(jì)說(shuō)明書4.評(píng)審概要設(shè)計(jì)是否完整地實(shí)現(xiàn)了需求規(guī)約(功能、性能等要求);設(shè)計(jì)方案的可行性、關(guān)鍵的處理及內(nèi)外部接口定義的正確性、有效性以及各部分之間的一致性等,都要一一進(jìn)行評(píng)審。4.評(píng)審概要設(shè)計(jì)是否完整地實(shí)現(xiàn)了需求規(guī)約(功能、性能等要4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔概要設(shè)計(jì)說(shuō)明書是概要設(shè)計(jì)階段結(jié)束時(shí)提交的技術(shù)文檔。按國(guó)標(biāo)GB8576-88《計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南》規(guī)定,軟件設(shè)計(jì)文檔可分為“概要設(shè)計(jì)說(shuō)明書”;“詳細(xì)設(shè)計(jì)說(shuō)明書”;“數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書”4.1.2概要設(shè)計(jì)文檔概要設(shè)計(jì)說(shuō)明書是概要設(shè)計(jì)階段結(jié)束時(shí)概要設(shè)計(jì)說(shuō)明書的主要內(nèi)容如下(1)引言:編寫目的、背景、定義、參考資料。(2)總體設(shè)計(jì):需求規(guī)定,運(yùn)行環(huán)境,基本設(shè)計(jì)概念和處理流程,結(jié)構(gòu)。(3)接口設(shè)計(jì):用戶接口,外部接口,內(nèi)部接口。(4)運(yùn)行設(shè)計(jì):運(yùn)行模塊組合,運(yùn)行控制,運(yùn)行時(shí)間。(5)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):軟件結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系。(6)系統(tǒng)出錯(cuò)處理設(shè)計(jì):出錯(cuò)信息,補(bǔ)救措施,系統(tǒng)恢復(fù)設(shè)計(jì)。概要設(shè)計(jì)說(shuō)明書的主要內(nèi)容如下(1)引言:編寫目的、背景、定第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.1模塊化1.模塊的概念2.模塊化的思想4.2.1模塊化1.模塊的概念1.模塊的概念模塊,在程序中是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序內(nèi)容的集合。該集合一般是由于某種原因包裝在一起的,最主要的是為了完成一個(gè)功能。在形式上,它可以是高級(jí)語(yǔ)言中的一個(gè)過(guò)程、函數(shù)和子程序等。1.模塊的概念模塊,在程序中是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序內(nèi)容1.模塊的概念在軟件的構(gòu)架中,模塊是可以組合、分解和更換的單元。模塊具有以下幾種基本特點(diǎn):(1)接口:指模塊輸入與輸出。(2)功能:是模塊存在的必要條件,模塊必然是為實(shí)現(xiàn)某個(gè)功能而延生的。(3)邏輯:指該模塊的運(yùn)行環(huán)境,即模塊的調(diào)用與被調(diào)用關(guān)系。功能、狀態(tài)與接口反映模塊的外部特性,邏輯反映它的內(nèi)部特性。1.模塊的概念在軟件的構(gòu)架中,模塊是可以組合、分解和更換的2.模塊化的思想軟件工程解決復(fù)雜問(wèn)題的手法包括:“分解”、”抽象”的應(yīng)用。模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)分解成若干模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。2.模塊化的思想軟件工程解決復(fù)雜問(wèn)題的手法包括:“分解”2.模塊化的思想模塊化是軟件工程中解決復(fù)雜問(wèn)題的一種有效手段,它不僅可以使問(wèn)題簡(jiǎn)化,而且也可以降低工作量。為了說(shuō)明這一點(diǎn),可將問(wèn)題的復(fù)雜性和工作量的關(guān)系進(jìn)行推理。2.模塊化的思想模塊化是軟件工程中解決復(fù)雜問(wèn)題的一種有效手2.模塊化的思想2.模塊化的思想2.模塊化的思想設(shè)某個(gè)問(wèn)題X,它的復(fù)雜性函數(shù)為C(X),解決它所需的工作量為E(X)對(duì)于問(wèn)題P1和P2,如果C(P1)>C(P2),即P1比P2復(fù)雜,那么E(P1)>E(P2),即問(wèn)題越復(fù)雜,所需要的工作量越大。 根據(jù)解決一般問(wèn)題的經(jīng)驗(yàn),規(guī)律是:C(P1+P2)>C(P1)+C(P2)即一個(gè)問(wèn)題由兩個(gè)問(wèn)題組合而成的復(fù)雜度大于分別考慮每個(gè)問(wèn)題的復(fù)雜度之和。這樣可以推出:E(P1+P2)>E(P1)+E(P2) 2.模塊化的思想設(shè)某個(gè)問(wèn)題X,它的復(fù)雜性函數(shù)為C(X),解2.模塊化的思想2.模塊化的思想3.軟件結(jié)構(gòu)中的模塊模塊是對(duì)一個(gè)或一部分相對(duì)獨(dú)立的系統(tǒng)功能的定義,用矩形框表示,并用模塊的名字標(biāo)記它。模塊的名稱一般使用一個(gè)動(dòng)賓結(jié)構(gòu)的短語(yǔ)描述其功能,如“計(jì)算每月利息”、“計(jì)算月銷售額”等。對(duì)于一些現(xiàn)有的或語(yǔ)言環(huán)境自身內(nèi)嵌不需要編程實(shí)現(xiàn)功能,用兩邊帶雙線的特殊方框符號(hào)表示,這樣的功能模塊被稱為“已定義的??臁薄?.軟件結(jié)構(gòu)中的模塊模塊是對(duì)一個(gè)或一部分相對(duì)獨(dú)立的系統(tǒng)功4.模塊化的優(yōu)點(diǎn)模塊化的優(yōu)點(diǎn)可以歸納為:可以使軟件結(jié)構(gòu)清晰,易于閱讀和理解;使用模塊化結(jié)構(gòu)建造的軟件便于修改、維護(hù)和調(diào)試;模塊化可獲得較高的軟件可靠性;模塊化便于工程化協(xié)作。4.模塊化的優(yōu)點(diǎn)模塊化的優(yōu)點(diǎn)可以歸納為:4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象所謂抽象,就是高度概括事物的主要的或本質(zhì)的特性,暫時(shí)忽略或不考慮它們的細(xì)節(jié)。抽象,應(yīng)把握級(jí)別或?qū)哟?。在?duì)軟件系統(tǒng)進(jìn)行模塊設(shè)計(jì)的時(shí)候,可以有不同的抽象級(jí)別或?qū)哟巍?.2.2抽象所謂抽象,就是高度概括事物的主要的或本質(zhì)的模塊化和抽象層次模塊化和抽象層次思想相結(jié)合,使我們可以從不同角度來(lái)看系統(tǒng)。最高層次的模塊反映了整體的解決方案,它隱藏了那些可能擾亂視線的細(xì)節(jié),使我們能夠看到一個(gè)系統(tǒng)所要完成的主要功能。當(dāng)需要了解某部分更多的細(xì)節(jié)時(shí),轉(zhuǎn)向更低的抽象層次即可。模塊化和抽象層次模塊化和抽象層次思想相結(jié)合,使我們可以從不同模塊化和抽象的思想綜合模塊化和抽象的思想,我們可以這樣理解這兩個(gè)軟件工程的概念:抽象是一種處理復(fù)雜問(wèn)題的軟件工程思想,而模塊化是抽象思想運(yùn)用的具體化或是工具;抽象的思想方法具體體現(xiàn)在軟件設(shè)計(jì)過(guò)程中模塊化的方法上。模塊化和抽象的思想綜合模塊化和抽象的思想,我們可以這樣理解這在軟件工程實(shí)踐中,人們將抽象化思想和模塊化方法運(yùn)用于軟件設(shè)計(jì)的不同方面得到了成功的經(jīng)驗(yàn)。(1)功能分解法(2)面向數(shù)據(jù)的分解法(3)面向事件的分解法(4)由外向內(nèi)的設(shè)計(jì)(5)面向?qū)ο蟮脑O(shè)計(jì)在軟件工程實(shí)踐中,人們將抽象化思想和模塊化方法運(yùn)用于軟件設(shè)計(jì)(1)功能分解法它的核心是將功能分配到各個(gè)軟件模塊上。分解活動(dòng)是從頂層開(kāi)始的,頂層是控制層,反映整個(gè)系統(tǒng)的全貌,具體功能實(shí)現(xiàn)在較低的層次上展開(kāi)。一個(gè)系統(tǒng)的功能越多,軟件結(jié)構(gòu)的橫向?qū)挾染驮綄挘还δ茉綇?fù)雜,軟件結(jié)構(gòu)圖的縱向?qū)哟尉蜁?huì)越多。(1)功能分解法它的核心是將功能分配到各個(gè)軟件模塊上。(2)面向數(shù)據(jù)的分解法(Jekson方法)這種設(shè)計(jì)方法是基于數(shù)據(jù)結(jié)構(gòu)的。頂層描述總體的數(shù)據(jù)結(jié)構(gòu),而底層描述具體的數(shù)據(jù)元素及元素之間的關(guān)系。(2)面向數(shù)據(jù)的分解法(Jekson方法)這種設(shè)計(jì)方法是基于(3)面向事件的分解法這種設(shè)計(jì)是基于系統(tǒng)必須處理的事件的。討論觸發(fā)事件的條件、事件發(fā)生后引起的系統(tǒng)狀態(tài)變化、新的狀態(tài)觸發(fā)的事件……循環(huán)往復(fù),使系統(tǒng)實(shí)現(xiàn)全部任務(wù)。(3)面向事件的分解法這種設(shè)計(jì)是基于系統(tǒng)必須處理的事件的。討(4)由外向內(nèi)的設(shè)計(jì)這種黑盒法是基于用戶對(duì)系統(tǒng)的輸入、輸出信息的。也就是說(shuō),頂層列出所有可能的用戶輸入和輸出,而較低層次描述的是對(duì)于這些輸入及可能產(chǎn)生的輸出。(4)由外向內(nèi)的設(shè)計(jì)這種黑盒法是基于用戶對(duì)系統(tǒng)的輸入、輸出信(5)面向?qū)ο蟮脑O(shè)計(jì)將現(xiàn)實(shí)系統(tǒng)的一個(gè)實(shí)體或事物,抽象為一個(gè)對(duì)象或類,將現(xiàn)實(shí)世界中的復(fù)雜關(guān)系,映射為對(duì)象及它們之間的相互關(guān)聯(lián)關(guān)系。(5)面向?qū)ο蟮脑O(shè)計(jì)將現(xiàn)實(shí)系統(tǒng)的一個(gè)實(shí)體或事物,抽象為一個(gè)對(duì)不論什么方法,其目的都是相同的,即由抽象到具體,逐步求精,通過(guò)分析與設(shè)計(jì)構(gòu)造出軟件的結(jié)構(gòu),提高軟件的可理解性和易實(shí)現(xiàn)性,降低軟件設(shè)計(jì)和實(shí)現(xiàn)的難度??傊?,綜合理解抽象的概念和思想,可以從以下幾方面理解:不論什么方法,其目的都是相同的,即由抽象到具體,逐步求精,通1)對(duì)于復(fù)雜的問(wèn)題,經(jīng)過(guò)抽象、概括,可以把握主要問(wèn)題,暫時(shí)忽略事務(wù)的細(xì)微差別。主要精力集中在把主要的、關(guān)鍵的問(wèn)題理解、設(shè)計(jì)的更加合理。2)不同的抽象層次,對(duì)問(wèn)題的概括程度不同,使用的語(yǔ)言的專業(yè)程度也不一樣。高抽象層用高級(jí)語(yǔ)言,低抽象層則用軟件具體的專業(yè)語(yǔ)言。3)軟件工程中階段性的工作成果及方法,正是抽象的思想的具體運(yùn)用,是逐步趨于具體化,逐步求精的過(guò)程。1)對(duì)于復(fù)雜的問(wèn)題,經(jīng)過(guò)抽象、概括,可以把握主要問(wèn)題,暫時(shí)忽4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.3信息隱蔽和局部化的指導(dǎo)思想在設(shè)計(jì)和確定模塊時(shí),使一個(gè)模塊內(nèi)包含的信息,對(duì)于其他模塊來(lái)說(shuō),是不能訪問(wèn)的,這即是信息隱蔽“隱蔽”的意思是,通過(guò)定義一組相互獨(dú)立的模塊,這些獨(dú)立的模塊彼此之間僅僅交換那些必需的信息,而將那些自身的實(shí)現(xiàn)細(xì)節(jié)與數(shù)據(jù)“隱藏”起來(lái)。4.2.3信息隱蔽和局部化的指導(dǎo)思想在設(shè)計(jì)和確定模塊時(shí),4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)信息隱蔽和局部化,可以定義和實(shí)施對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取的限制。一個(gè)軟件系統(tǒng)在整個(gè)生存期內(nèi)要經(jīng)過(guò)多次修改,信息隱蔽保證了軟件系統(tǒng)在修改時(shí),錯(cuò)誤的衍射面最小,為軟件的測(cè)試、修改和維護(hù)帶來(lái)好處。因此,在劃分模塊時(shí),要盡量采取措施,如采用局部數(shù)據(jù)結(jié)構(gòu),使得大多數(shù)過(guò)程(即實(shí)現(xiàn)細(xì)節(jié))和數(shù)據(jù)對(duì)軟件的其他部分是隱藏的,這樣,修改軟件時(shí)偶爾引入的錯(cuò)誤所造成的影響只局限在一個(gè)或小量幾個(gè)模塊內(nèi)部,不波及其它部分。4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)信息隱蔽和局部化4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)定義模塊的接口來(lái)實(shí)現(xiàn)在編程實(shí)現(xiàn)時(shí),具體體現(xiàn)為內(nèi)容數(shù)據(jù)的可見(jiàn)性;公共、私有、受保護(hù)4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)定義模塊的接口4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.4模塊獨(dú)立性模塊的獨(dú)立性模塊的獨(dú)立性判定準(zhǔn)則4.2.4模塊獨(dú)立性模塊的獨(dú)立性模塊的獨(dú)立性模塊獨(dú)立性,是指每個(gè)模塊只完成獨(dú)立的功能,與其他模塊的聯(lián)系盡量少且接口簡(jiǎn)單。由于模塊獨(dú)立性強(qiáng),信息陷蔽性好,并完成獨(dú)立的功能,所有具有可理解性、可維護(hù)性及可測(cè)試性好的特性,這必然導(dǎo)致軟件的高可靠性。另外,接口簡(jiǎn)單、功能獨(dú)立的模塊易開(kāi)發(fā),可分工協(xié)作,提高軟件生產(chǎn)率。 模塊的獨(dú)立性模塊獨(dú)立性,是指每個(gè)模塊只完成獨(dú)立的功能,與其他模塊獨(dú)立性的判定準(zhǔn)則獨(dú)立性好的模塊,從內(nèi)部看,必然是功能緊湊,聚合度高的模塊;從外部看,必然是跟其他模塊聯(lián)系簡(jiǎn)單的模塊。這其實(shí)是一個(gè)問(wèn)題的兩個(gè)方面,“高內(nèi)聚、低藕合”的是模塊獨(dú)立性的表現(xiàn)因此,判定模塊的獨(dú)立性,可以從以下兩方面考查模塊之間的藕合度模塊的功能的內(nèi)聚性模塊獨(dú)立性的判定準(zhǔn)則獨(dú)立性好的模塊,從內(nèi)部看,必然是功能緊湊1.模塊之間的藕合模塊之間耦合度的高低,可以通過(guò)分析模塊之間的聯(lián)結(jié)形式來(lái)判斷模塊間常見(jiàn)的聯(lián)結(jié)類型有5種:1.模塊之間的藕合模塊之間耦合度的高低,可以通過(guò)分析模塊軟件工程概論ch04-1課件(1)數(shù)據(jù)聯(lián)結(jié)(1)數(shù)據(jù)聯(lián)結(jié)(2)特征聯(lián)結(jié)(2)特征聯(lián)結(jié)避免捆綁避免捆綁(3)控制聯(lián)結(jié)(3)控制聯(lián)結(jié)(4)公共聯(lián)結(jié)(4)公共聯(lián)結(jié)(5)內(nèi)容聯(lián)結(jié)(5)內(nèi)容聯(lián)結(jié)結(jié)論:以數(shù)據(jù)聯(lián)結(jié)為主,特征聯(lián)結(jié)為輔;必要時(shí)建立控制聯(lián)結(jié);堅(jiān)決消除公共聯(lián)結(jié)和內(nèi)容聯(lián)結(jié)建立數(shù)據(jù)聯(lián)結(jié)時(shí),要避免“游離數(shù)據(jù)”結(jié)論:以數(shù)據(jù)聯(lián)結(jié)為主,特征聯(lián)結(jié)為輔;“游離數(shù)據(jù)”“游離數(shù)據(jù)”2.模塊的內(nèi)聚模塊內(nèi)部功能的聚合度的高低,也可以通過(guò)分析模塊內(nèi)部功能的組合形式來(lái)判斷常見(jiàn)的模塊內(nèi)功能的組合類型有7種:聚合度高功能組合順序組合通訊組合過(guò)程組合時(shí)間組合邏輯組合偶然組合低2.模塊的內(nèi)聚模塊內(nèi)部功能的聚合度的高低,也可以通過(guò)分析(1)功能組合“計(jì)算實(shí)發(fā)工資”“讀庫(kù)存記錄”(1)功能組合“計(jì)算實(shí)發(fā)工資”(2)順序組合(2)順序組合(3)通訊組合(3)通訊組合軟件工程概論ch04-1課件(4)過(guò)程組合(4)過(guò)程組合(5)時(shí)間組合初始化模塊(5)時(shí)間組合初始化模塊(6)邏輯組合(6)邏輯組合(7)偶然組合(7)偶然組合第三節(jié)第三節(jié)第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略4.2.3以事務(wù)為中心的設(shè)計(jì)策略4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理目標(biāo),是得到軟件的模塊化結(jié)構(gòu);任務(wù),從數(shù)據(jù)流圖出發(fā),映射出軟件的模塊化結(jié)構(gòu);原理,研究數(shù)據(jù)流圖,找出設(shè)計(jì)策略.4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理目標(biāo),是得到軟件的模塊化結(jié)以數(shù)據(jù)流圖為基礎(chǔ),設(shè)計(jì)軟件的模塊化結(jié)構(gòu)以數(shù)據(jù)流圖為基礎(chǔ),設(shè)計(jì)軟件的模塊化結(jié)構(gòu)軟件工程概論ch04-1課件軟件工程概論ch04-1課件兩個(gè)重要的設(shè)計(jì)策略1.變換型數(shù)據(jù)流2.事務(wù)型數(shù)據(jù)流兩個(gè)重要的設(shè)計(jì)策略1.變換型數(shù)據(jù)流1.變換型數(shù)據(jù)流圖1.變換型數(shù)據(jù)流圖軟件工程概論ch04-1課件軟件工程概論ch04-1課件軟件工程概論ch04-1課件2.事務(wù)型數(shù)據(jù)流2.事務(wù)型數(shù)據(jù)流軟件工程概論ch04-1課件軟件工程概論ch04-1課件軟件工程概論ch04-1課件3.設(shè)計(jì)過(guò)程分析數(shù)據(jù)流圖類型映射出第一張結(jié)構(gòu)圖參照數(shù)據(jù)流圖,對(duì)結(jié)構(gòu)圖分解\細(xì)化運(yùn)用模塊化設(shè)計(jì)原則,分解\優(yōu)化3.設(shè)計(jì)過(guò)程分析數(shù)據(jù)流圖類型4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略4.2.3以事務(wù)為中心的設(shè)計(jì)策略4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略1.確定變換中心2.確定主控模塊,產(chǎn)生第1張圖3.分解\優(yōu)化4.2.2以變換為中心的設(shè)計(jì)策略1.確定變換中心1.確定變換中心1.確定變換中心2.確定主控模塊,產(chǎn)生第1張圖2.確定主控模塊,產(chǎn)生第1張圖3.分解\優(yōu)化對(duì)產(chǎn)生的第一張圖分析評(píng)價(jià),用模塊的設(shè)計(jì)原則進(jìn)行分析與優(yōu)化。這些原則包括:模塊間的聯(lián)結(jié)、模塊內(nèi)的緊湊性、分解、扇入/扇出、控制范圍與判斷作用范圍。。3.分解\優(yōu)化對(duì)產(chǎn)生的第一張圖分析評(píng)價(jià),用模塊的設(shè)計(jì)原則進(jìn)行3.分解\優(yōu)化進(jìn)行分解優(yōu)化時(shí)注意如下幾條:(1)分解和重組“傳入子系統(tǒng)”和“傳出子系統(tǒng)”的模塊,要保持系統(tǒng)結(jié)構(gòu)的勻稱。(2)分解變換中心,尤其要使用各層次的數(shù)據(jù)流,它有助于對(duì)模塊的分解。(3)確保每個(gè)模塊的名稱的概括抽象程度符合它所處的層次地位和作用。(4)必要時(shí),適當(dāng)增加讀、寫、初始化、終止、出錯(cuò)和例外處理模塊。(5)對(duì)于由數(shù)據(jù)流圖直接轉(zhuǎn)過(guò)來(lái)又不符合模塊設(shè)計(jì)原則的模塊,試著進(jìn)行重新分解,反復(fù)修改,綜合動(dòng)用各項(xiàng)結(jié)構(gòu)化設(shè)計(jì)原則3.分解\優(yōu)化進(jìn)行分解優(yōu)化時(shí)注意如下幾條:3.分解\優(yōu)化3.分解\優(yōu)化(1)考察“傳入子系統(tǒng)考察傳入分支的第一個(gè)模塊“獲得合格事務(wù)記錄和主文件記錄”,發(fā)現(xiàn)它有以下特點(diǎn):①它是“順序組合”模塊:先獲得合格事務(wù)記錄,再據(jù)事務(wù)記錄中包含的主文件的“關(guān)鍵字”檢索主文件。②此模塊與上下級(jí)模塊存在“控制聯(lián)結(jié)”。當(dāng)事務(wù)記錄讀完,或經(jīng)檢索事務(wù)記錄不存在或不合格,都會(huì)傳遞“標(biāo)志”。優(yōu)化過(guò)程:分離功能,變一個(gè)順序組合模塊為兩個(gè)功能組合模塊。進(jìn)一步分解功能,產(chǎn)生下層模塊。結(jié)果如圖4-30輸入分支所示。(1)考察“傳入子系統(tǒng)考察傳入分支的第一個(gè)模塊“獲得合格事軟件工程概論ch04-1課件(2)考察傳出子系統(tǒng)“寫主文件記錄和打印事務(wù)記錄”包含兩個(gè)互不相干的功能,僅僅是因?yàn)樗鼈兌际禽敵龉δ?,把它們放在一起了,因此,此模塊為邏輯組合模塊。優(yōu)化辦法同樣是分離。結(jié)構(gòu)如圖4-30傳出分支所示。(2)考察傳出子系統(tǒng)“寫主文件記錄和打印事務(wù)記錄”包含兩個(gè)互4.抽象的例子4.抽象的例子(1)步驟1:跟蹤數(shù)據(jù)流,尋找變換中心(1)步驟1:跟蹤數(shù)據(jù)流,尋找變換中心(2)步驟2:確定主控模塊,映射軟件結(jié)構(gòu)(2)步驟2:確定主控模塊,映射軟件結(jié)構(gòu)(3)步驟3:分解與優(yōu)化(3)步驟3:分解與優(yōu)化軟件工程概論ch04-1課件軟件工程概論ch04-1課件軟件工程概論ch04-1課件EndEnd第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.5系統(tǒng)包裝4.5.1把系統(tǒng)定義成若干個(gè)作業(yè)4.5.2把作業(yè)定義成若干個(gè)作業(yè)步4.5.3定義程序和裝配單元4.5系統(tǒng)包裝4.5.1把系統(tǒng)定義成若干個(gè)作業(yè)4.5.1把系統(tǒng)定義成若干個(gè)作業(yè)分析確定數(shù)據(jù)流圖的分界線,把系統(tǒng)定義成若干個(gè)作業(yè),每個(gè)作業(yè)與共同的應(yīng)用有關(guān),分界線內(nèi)的部分,就是一個(gè)作業(yè)。4.5.1把系統(tǒng)定義成若干個(gè)作業(yè)分析確定數(shù)據(jù)流圖的分界線,在劃分單元分界線時(shí),下面三種分界線可以作為參考:(1)硬件分界線(反映了系統(tǒng)分布性)系統(tǒng)的不同部分由不同的計(jì)算機(jī)完成,即系統(tǒng)在物理位置上是一種分布結(jié)構(gòu)。(2)處理方式分界線(反映了系統(tǒng)的交互特性)處理方式包括:批處理,如修改庫(kù)存量。聯(lián)機(jī)處理,如在線處理,對(duì)話方式等。(3)周期分界線:據(jù)數(shù)據(jù)處理業(yè)務(wù)的周期性劃分。如月度、年度等。在劃分單元分界線時(shí),下面三種分界線可以作為參考:4.5.2把作業(yè)定義成若干個(gè)作業(yè)步依據(jù)數(shù)據(jù)流圖,就可以把一個(gè)作業(yè)再定義成若干作業(yè)步劃分作業(yè)步要考慮的因素有:(1)利用現(xiàn)有的軟件包;(2)由于安全和保密的需要,如財(cái)務(wù)系統(tǒng)中,從原始憑證開(kāi)發(fā),到記帳憑證、科目匯總、記明細(xì)帳、記帳等數(shù)據(jù)處理業(yè)務(wù),用計(jì)算機(jī)完成可以連續(xù)進(jìn)行,一步完成,但由于財(cái)務(wù)制度的原因,必須劃分為幾個(gè)作業(yè)步。(3)資源的限制等。4.5.2把作業(yè)定義成若干個(gè)作業(yè)步依據(jù)數(shù)據(jù)流圖,就可以把一4.5.3定義程序和裝配單元這一步可得到子系統(tǒng)和程序的劃分。據(jù)結(jié)構(gòu)圖定義程序。一個(gè)程序中包含哪些模塊,主要考慮模塊的如下特性:(1)通過(guò)閱讀模塊分解過(guò)程,了解若干模塊協(xié)作完成的總體目標(biāo)。(2)模塊間的聯(lián)結(jié)情況。(3)模塊的調(diào)用形式和調(diào)用頻度。4.5.3定義程序和裝配單元這一步可得到子系統(tǒng)和程序的劃分模塊的調(diào)用形式和調(diào)用頻度往往是一個(gè)問(wèn)題的兩個(gè)側(cè)面,舉例如下:在汽車配件銷售公司的業(yè)務(wù)中,每月底都要對(duì)銷售情況進(jìn)行統(tǒng)計(jì)。若每天發(fā)生4000張單據(jù),售出200種配件,每單據(jù)含10個(gè)數(shù)據(jù)項(xiàng)。模塊的調(diào)用形式和調(diào)用頻度往往是一個(gè)問(wèn)題的兩個(gè)側(cè)面,舉例如下:軟件工程概論ch04-1課件按如圖4-36的結(jié)構(gòu)圖進(jìn)行軟件設(shè)計(jì),則模塊的調(diào)用頻度為:A1B200C4000D40000即模塊A運(yùn)行一次,模塊D就反復(fù)被調(diào)用40000次。按如圖4-36的結(jié)構(gòu)圖進(jìn)行軟件設(shè)計(jì),則模塊的調(diào)用頻度為:針對(duì)這種軟件結(jié)構(gòu),在定義程序和裝配單元時(shí)有兩種不同的實(shí)現(xiàn)方案,一種是“靜態(tài)調(diào)用”另一種是“動(dòng)態(tài)調(diào)用”。如果在定義程序時(shí)把上述循環(huán)調(diào)用的若干模塊定義到一個(gè)程序中,那么在運(yùn)行時(shí),將會(huì)一次性裝入計(jì)算機(jī)內(nèi)存中,這時(shí)模塊間的調(diào)用是一種內(nèi)存中調(diào)用,效率會(huì)很高,稱為“靜態(tài)調(diào)用”。反之若將循環(huán)調(diào)用的各功能模塊裝配到不同的子程序中,那么,每循環(huán)調(diào)用一次,就必須到外存中讀入程序代碼,再運(yùn)行。這種調(diào)用方式稱為“動(dòng)態(tài)調(diào)用”,由于要與外存交互,效率會(huì)很低。針對(duì)這種軟件結(jié)構(gòu),在定義程序和裝配單元時(shí)有兩種不同的實(shí)現(xiàn)方案軟件工程概論ch04-1課件第4章軟件設(shè)計(jì)第4章軟件設(shè)計(jì)前言需求分析明確了“做什么”的問(wèn)題。通過(guò)需求調(diào)查與分析,得到了由邏輯模型和相關(guān)需求規(guī)約組成的需求分析說(shuō)明書。需求分析說(shuō)明書是需求分析階段的里程碑性的階段性成果,也是設(shè)計(jì)階段的依據(jù)。進(jìn)入設(shè)計(jì)階段以后,要回答的問(wèn)題焦點(diǎn)是“怎么做”,要參照邏輯模型映射出軟件系統(tǒng)的功能結(jié)構(gòu),著手進(jìn)行軟件設(shè)計(jì)。前言需求分析明確了“做什么”的問(wèn)題。通過(guò)需求調(diào)查與分析,得到本章重點(diǎn)正確理解概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的任務(wù)和目標(biāo);掌握靈活運(yùn)用相關(guān)的工具和方法。軟件設(shè)計(jì)又進(jìn)一步分為:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)關(guān)心的是軟件功能結(jié)構(gòu),詳細(xì)設(shè)計(jì)則更多的是編程實(shí)現(xiàn)的細(xì)節(jié)。要深刻理解軟件結(jié)構(gòu)設(shè)計(jì)的原則及詳細(xì)設(shè)計(jì)的規(guī)范。本章重點(diǎn)正確理解概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)的任務(wù)和目標(biāo);第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.1軟件設(shè)計(jì)概述

軟件

定義

系統(tǒng)分析

軟件

開(kāi)發(fā)

軟件

維護(hù)

問(wèn)題定義

可行性分析

需求分析

需求驗(yàn)證

回答

“做什么”

的問(wèn)題

系統(tǒng)設(shè)計(jì)

系統(tǒng)實(shí)施

概要設(shè)計(jì)

詳細(xì)設(shè)計(jì)

回答“怎么做”

的問(wèn)題。

概要描述系統(tǒng)如何實(shí)現(xiàn)。

功能目標(biāo)圖

功能結(jié)構(gòu)圖

結(jié)構(gòu)優(yōu)化

代碼設(shè)計(jì)

數(shù)據(jù)庫(kù)設(shè)計(jì)

輸入輸出設(shè)計(jì)

系統(tǒng)交互設(shè)計(jì)

系統(tǒng)測(cè)試計(jì)劃

編程

測(cè)試

單元測(cè)試

綜合測(cè)試

修正錯(cuò)誤

修改軟件

補(bǔ)充功能

圖4-1系統(tǒng)開(kāi)發(fā)任務(wù)規(guī)劃

系統(tǒng)調(diào)查

回答“如何實(shí)現(xiàn)”

的問(wèn)題。

4.1軟件設(shè)計(jì)概述軟件定義系統(tǒng)分析軟件開(kāi)發(fā)4.1軟件設(shè)計(jì)概述軟件開(kāi)發(fā)包括設(shè)計(jì)和實(shí)施兩個(gè)環(huán)節(jié);其中軟件設(shè)計(jì)分為:“概要設(shè)計(jì)”——仍然是面向邏輯的活動(dòng),實(shí)現(xiàn)由邏輯模型到軟件框架結(jié)構(gòu)的轉(zhuǎn)變或映射;“詳細(xì)設(shè)計(jì)”——是面向物理實(shí)現(xiàn)的活動(dòng),使得新系統(tǒng)能夠借助于計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn)設(shè)計(jì)目標(biāo)。4.1軟件設(shè)計(jì)概述軟件開(kāi)發(fā)包括設(shè)計(jì)和實(shí)施兩個(gè)環(huán)節(jié);4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程1.軟件結(jié)構(gòu)設(shè)計(jì)2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)3.編寫概要設(shè)計(jì)文檔4.評(píng)審4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程1.軟件結(jié)構(gòu)設(shè)計(jì)軟件工程概論ch04-1課件 1.軟件(功能)結(jié)構(gòu)設(shè)計(jì)(1)采用某種設(shè)計(jì)方法,將軟件按功能劃分成模塊。 (2)確定每個(gè)模塊的功能。(3)確定模塊之間的層次(調(diào)用)關(guān)系。(4)考查模塊的獨(dú)立性,分解優(yōu)化。 1.軟件(功能)結(jié)構(gòu)設(shè)計(jì)(1)采用某種設(shè)計(jì)方法,將軟件2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)(2)數(shù)據(jù)庫(kù)的設(shè)計(jì)2.數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)(1)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)3.編寫概要設(shè)計(jì)文檔(1)概要設(shè)計(jì)說(shuō)明書(2)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明(3)用戶手冊(cè)(4)修訂測(cè)試計(jì)劃3.編寫概要設(shè)計(jì)文檔(1)概要設(shè)計(jì)說(shuō)明書4.評(píng)審概要設(shè)計(jì)是否完整地實(shí)現(xiàn)了需求規(guī)約(功能、性能等要求);設(shè)計(jì)方案的可行性、關(guān)鍵的處理及內(nèi)外部接口定義的正確性、有效性以及各部分之間的一致性等,都要一一進(jìn)行評(píng)審。4.評(píng)審概要設(shè)計(jì)是否完整地實(shí)現(xiàn)了需求規(guī)約(功能、性能等要4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔4.1軟件設(shè)計(jì)概述4.1.1概要設(shè)計(jì)的基本任務(wù)與過(guò)程4.1.2概要設(shè)計(jì)文檔概要設(shè)計(jì)說(shuō)明書是概要設(shè)計(jì)階段結(jié)束時(shí)提交的技術(shù)文檔。按國(guó)標(biāo)GB8576-88《計(jì)算機(jī)軟件產(chǎn)品開(kāi)發(fā)文件編制指南》規(guī)定,軟件設(shè)計(jì)文檔可分為“概要設(shè)計(jì)說(shuō)明書”;“詳細(xì)設(shè)計(jì)說(shuō)明書”;“數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書”4.1.2概要設(shè)計(jì)文檔概要設(shè)計(jì)說(shuō)明書是概要設(shè)計(jì)階段結(jié)束時(shí)概要設(shè)計(jì)說(shuō)明書的主要內(nèi)容如下(1)引言:編寫目的、背景、定義、參考資料。(2)總體設(shè)計(jì):需求規(guī)定,運(yùn)行環(huán)境,基本設(shè)計(jì)概念和處理流程,結(jié)構(gòu)。(3)接口設(shè)計(jì):用戶接口,外部接口,內(nèi)部接口。(4)運(yùn)行設(shè)計(jì):運(yùn)行模塊組合,運(yùn)行控制,運(yùn)行時(shí)間。(5)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):軟件結(jié)構(gòu)設(shè)計(jì),物理結(jié)構(gòu)設(shè)計(jì),數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系。(6)系統(tǒng)出錯(cuò)處理設(shè)計(jì):出錯(cuò)信息,補(bǔ)救措施,系統(tǒng)恢復(fù)設(shè)計(jì)。概要設(shè)計(jì)說(shuō)明書的主要內(nèi)容如下(1)引言:編寫目的、背景、定第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.1模塊化1.模塊的概念2.模塊化的思想4.2.1模塊化1.模塊的概念1.模塊的概念模塊,在程序中是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序內(nèi)容的集合。該集合一般是由于某種原因包裝在一起的,最主要的是為了完成一個(gè)功能。在形式上,它可以是高級(jí)語(yǔ)言中的一個(gè)過(guò)程、函數(shù)和子程序等。1.模塊的概念模塊,在程序中是數(shù)據(jù)說(shuō)明、可執(zhí)行語(yǔ)句等程序內(nèi)容1.模塊的概念在軟件的構(gòu)架中,模塊是可以組合、分解和更換的單元。模塊具有以下幾種基本特點(diǎn):(1)接口:指模塊輸入與輸出。(2)功能:是模塊存在的必要條件,模塊必然是為實(shí)現(xiàn)某個(gè)功能而延生的。(3)邏輯:指該模塊的運(yùn)行環(huán)境,即模塊的調(diào)用與被調(diào)用關(guān)系。功能、狀態(tài)與接口反映模塊的外部特性,邏輯反映它的內(nèi)部特性。1.模塊的概念在軟件的構(gòu)架中,模塊是可以組合、分解和更換的2.模塊化的思想軟件工程解決復(fù)雜問(wèn)題的手法包括:“分解”、”抽象”的應(yīng)用。模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)分解成若干模塊的過(guò)程。每個(gè)模塊完成一個(gè)特定的子功能,所有的模塊按某種方法組裝起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。2.模塊化的思想軟件工程解決復(fù)雜問(wèn)題的手法包括:“分解”2.模塊化的思想模塊化是軟件工程中解決復(fù)雜問(wèn)題的一種有效手段,它不僅可以使問(wèn)題簡(jiǎn)化,而且也可以降低工作量。為了說(shuō)明這一點(diǎn),可將問(wèn)題的復(fù)雜性和工作量的關(guān)系進(jìn)行推理。2.模塊化的思想模塊化是軟件工程中解決復(fù)雜問(wèn)題的一種有效手2.模塊化的思想2.模塊化的思想2.模塊化的思想設(shè)某個(gè)問(wèn)題X,它的復(fù)雜性函數(shù)為C(X),解決它所需的工作量為E(X)對(duì)于問(wèn)題P1和P2,如果C(P1)>C(P2),即P1比P2復(fù)雜,那么E(P1)>E(P2),即問(wèn)題越復(fù)雜,所需要的工作量越大。 根據(jù)解決一般問(wèn)題的經(jīng)驗(yàn),規(guī)律是:C(P1+P2)>C(P1)+C(P2)即一個(gè)問(wèn)題由兩個(gè)問(wèn)題組合而成的復(fù)雜度大于分別考慮每個(gè)問(wèn)題的復(fù)雜度之和。這樣可以推出:E(P1+P2)>E(P1)+E(P2) 2.模塊化的思想設(shè)某個(gè)問(wèn)題X,它的復(fù)雜性函數(shù)為C(X),解2.模塊化的思想2.模塊化的思想3.軟件結(jié)構(gòu)中的模塊模塊是對(duì)一個(gè)或一部分相對(duì)獨(dú)立的系統(tǒng)功能的定義,用矩形框表示,并用模塊的名字標(biāo)記它。模塊的名稱一般使用一個(gè)動(dòng)賓結(jié)構(gòu)的短語(yǔ)描述其功能,如“計(jì)算每月利息”、“計(jì)算月銷售額”等。對(duì)于一些現(xiàn)有的或語(yǔ)言環(huán)境自身內(nèi)嵌不需要編程實(shí)現(xiàn)功能,用兩邊帶雙線的特殊方框符號(hào)表示,這樣的功能模塊被稱為“已定義的模快”。3.軟件結(jié)構(gòu)中的模塊模塊是對(duì)一個(gè)或一部分相對(duì)獨(dú)立的系統(tǒng)功4.模塊化的優(yōu)點(diǎn)模塊化的優(yōu)點(diǎn)可以歸納為:可以使軟件結(jié)構(gòu)清晰,易于閱讀和理解;使用模塊化結(jié)構(gòu)建造的軟件便于修改、維護(hù)和調(diào)試;模塊化可獲得較高的軟件可靠性;模塊化便于工程化協(xié)作。4.模塊化的優(yōu)點(diǎn)模塊化的優(yōu)點(diǎn)可以歸納為:4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象所謂抽象,就是高度概括事物的主要的或本質(zhì)的特性,暫時(shí)忽略或不考慮它們的細(xì)節(jié)。抽象,應(yīng)把握級(jí)別或?qū)哟?。在?duì)軟件系統(tǒng)進(jìn)行模塊設(shè)計(jì)的時(shí)候,可以有不同的抽象級(jí)別或?qū)哟巍?.2.2抽象所謂抽象,就是高度概括事物的主要的或本質(zhì)的模塊化和抽象層次模塊化和抽象層次思想相結(jié)合,使我們可以從不同角度來(lái)看系統(tǒng)。最高層次的模塊反映了整體的解決方案,它隱藏了那些可能擾亂視線的細(xì)節(jié),使我們能夠看到一個(gè)系統(tǒng)所要完成的主要功能。當(dāng)需要了解某部分更多的細(xì)節(jié)時(shí),轉(zhuǎn)向更低的抽象層次即可。模塊化和抽象層次模塊化和抽象層次思想相結(jié)合,使我們可以從不同模塊化和抽象的思想綜合模塊化和抽象的思想,我們可以這樣理解這兩個(gè)軟件工程的概念:抽象是一種處理復(fù)雜問(wèn)題的軟件工程思想,而模塊化是抽象思想運(yùn)用的具體化或是工具;抽象的思想方法具體體現(xiàn)在軟件設(shè)計(jì)過(guò)程中模塊化的方法上。模塊化和抽象的思想綜合模塊化和抽象的思想,我們可以這樣理解這在軟件工程實(shí)踐中,人們將抽象化思想和模塊化方法運(yùn)用于軟件設(shè)計(jì)的不同方面得到了成功的經(jīng)驗(yàn)。(1)功能分解法(2)面向數(shù)據(jù)的分解法(3)面向事件的分解法(4)由外向內(nèi)的設(shè)計(jì)(5)面向?qū)ο蟮脑O(shè)計(jì)在軟件工程實(shí)踐中,人們將抽象化思想和模塊化方法運(yùn)用于軟件設(shè)計(jì)(1)功能分解法它的核心是將功能分配到各個(gè)軟件模塊上。分解活動(dòng)是從頂層開(kāi)始的,頂層是控制層,反映整個(gè)系統(tǒng)的全貌,具體功能實(shí)現(xiàn)在較低的層次上展開(kāi)。一個(gè)系統(tǒng)的功能越多,軟件結(jié)構(gòu)的橫向?qū)挾染驮綄?;功能越?fù)雜,軟件結(jié)構(gòu)圖的縱向?qū)哟尉蜁?huì)越多。(1)功能分解法它的核心是將功能分配到各個(gè)軟件模塊上。(2)面向數(shù)據(jù)的分解法(Jekson方法)這種設(shè)計(jì)方法是基于數(shù)據(jù)結(jié)構(gòu)的。頂層描述總體的數(shù)據(jù)結(jié)構(gòu),而底層描述具體的數(shù)據(jù)元素及元素之間的關(guān)系。(2)面向數(shù)據(jù)的分解法(Jekson方法)這種設(shè)計(jì)方法是基于(3)面向事件的分解法這種設(shè)計(jì)是基于系統(tǒng)必須處理的事件的。討論觸發(fā)事件的條件、事件發(fā)生后引起的系統(tǒng)狀態(tài)變化、新的狀態(tài)觸發(fā)的事件……循環(huán)往復(fù),使系統(tǒng)實(shí)現(xiàn)全部任務(wù)。(3)面向事件的分解法這種設(shè)計(jì)是基于系統(tǒng)必須處理的事件的。討(4)由外向內(nèi)的設(shè)計(jì)這種黑盒法是基于用戶對(duì)系統(tǒng)的輸入、輸出信息的。也就是說(shuō),頂層列出所有可能的用戶輸入和輸出,而較低層次描述的是對(duì)于這些輸入及可能產(chǎn)生的輸出。(4)由外向內(nèi)的設(shè)計(jì)這種黑盒法是基于用戶對(duì)系統(tǒng)的輸入、輸出信(5)面向?qū)ο蟮脑O(shè)計(jì)將現(xiàn)實(shí)系統(tǒng)的一個(gè)實(shí)體或事物,抽象為一個(gè)對(duì)象或類,將現(xiàn)實(shí)世界中的復(fù)雜關(guān)系,映射為對(duì)象及它們之間的相互關(guān)聯(lián)關(guān)系。(5)面向?qū)ο蟮脑O(shè)計(jì)將現(xiàn)實(shí)系統(tǒng)的一個(gè)實(shí)體或事物,抽象為一個(gè)對(duì)不論什么方法,其目的都是相同的,即由抽象到具體,逐步求精,通過(guò)分析與設(shè)計(jì)構(gòu)造出軟件的結(jié)構(gòu),提高軟件的可理解性和易實(shí)現(xiàn)性,降低軟件設(shè)計(jì)和實(shí)現(xiàn)的難度??傊?,綜合理解抽象的概念和思想,可以從以下幾方面理解:不論什么方法,其目的都是相同的,即由抽象到具體,逐步求精,通1)對(duì)于復(fù)雜的問(wèn)題,經(jīng)過(guò)抽象、概括,可以把握主要問(wèn)題,暫時(shí)忽略事務(wù)的細(xì)微差別。主要精力集中在把主要的、關(guān)鍵的問(wèn)題理解、設(shè)計(jì)的更加合理。2)不同的抽象層次,對(duì)問(wèn)題的概括程度不同,使用的語(yǔ)言的專業(yè)程度也不一樣。高抽象層用高級(jí)語(yǔ)言,低抽象層則用軟件具體的專業(yè)語(yǔ)言。3)軟件工程中階段性的工作成果及方法,正是抽象的思想的具體運(yùn)用,是逐步趨于具體化,逐步求精的過(guò)程。1)對(duì)于復(fù)雜的問(wèn)題,經(jīng)過(guò)抽象、概括,可以把握主要問(wèn)題,暫時(shí)忽4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性的判定準(zhǔn)則4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.3信息隱蔽和局部化的指導(dǎo)思想在設(shè)計(jì)和確定模塊時(shí),使一個(gè)模塊內(nèi)包含的信息,對(duì)于其他模塊來(lái)說(shuō),是不能訪問(wèn)的,這即是信息隱蔽“隱蔽”的意思是,通過(guò)定義一組相互獨(dú)立的模塊,這些獨(dú)立的模塊彼此之間僅僅交換那些必需的信息,而將那些自身的實(shí)現(xiàn)細(xì)節(jié)與數(shù)據(jù)“隱藏”起來(lái)。4.2.3信息隱蔽和局部化的指導(dǎo)思想在設(shè)計(jì)和確定模塊時(shí),4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)信息隱蔽和局部化,可以定義和實(shí)施對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取的限制。一個(gè)軟件系統(tǒng)在整個(gè)生存期內(nèi)要經(jīng)過(guò)多次修改,信息隱蔽保證了軟件系統(tǒng)在修改時(shí),錯(cuò)誤的衍射面最小,為軟件的測(cè)試、修改和維護(hù)帶來(lái)好處。因此,在劃分模塊時(shí),要盡量采取措施,如采用局部數(shù)據(jù)結(jié)構(gòu),使得大多數(shù)過(guò)程(即實(shí)現(xiàn)細(xì)節(jié))和數(shù)據(jù)對(duì)軟件的其他部分是隱藏的,這樣,修改軟件時(shí)偶爾引入的錯(cuò)誤所造成的影響只局限在一個(gè)或小量幾個(gè)模塊內(nèi)部,不波及其它部分。4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)信息隱蔽和局部化4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)定義模塊的接口來(lái)實(shí)現(xiàn)在編程實(shí)現(xiàn)時(shí),具體體現(xiàn)為內(nèi)容數(shù)據(jù)的可見(jiàn)性;公共、私有、受保護(hù)4.2.3信息隱蔽和局部化的指導(dǎo)思想通過(guò)定義模塊的接口4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.2抽象4.2.3信息隱蔽和局部化的指導(dǎo)思想4.2.4模塊獨(dú)立性4.2軟件設(shè)計(jì)的概念和原理4.2.1模塊化4.2.4模塊獨(dú)立性模塊的獨(dú)立性模塊的獨(dú)立性判定準(zhǔn)則4.2.4模塊獨(dú)立性模塊的獨(dú)立性模塊的獨(dú)立性模塊獨(dú)立性,是指每個(gè)模塊只完成獨(dú)立的功能,與其他模塊的聯(lián)系盡量少且接口簡(jiǎn)單。由于模塊獨(dú)立性強(qiáng),信息陷蔽性好,并完成獨(dú)立的功能,所有具有可理解性、可維護(hù)性及可測(cè)試性好的特性,這必然導(dǎo)致軟件的高可靠性。另外,接口簡(jiǎn)單、功能獨(dú)立的模塊易開(kāi)發(fā),可分工協(xié)作,提高軟件生產(chǎn)率。 模塊的獨(dú)立性模塊獨(dú)立性,是指每個(gè)模塊只完成獨(dú)立的功能,與其他模塊獨(dú)立性的判定準(zhǔn)則獨(dú)立性好的模塊,從內(nèi)部看,必然是功能緊湊,聚合度高的模塊;從外部看,必然是跟其他模塊聯(lián)系簡(jiǎn)單的模塊。這其實(shí)是一個(gè)問(wèn)題的兩個(gè)方面,“高內(nèi)聚、低藕合”的是模塊獨(dú)立性的表現(xiàn)因此,判定模塊的獨(dú)立性,可以從以下兩方面考查模塊之間的藕合度模塊的功能的內(nèi)聚性模塊獨(dú)立性的判定準(zhǔn)則獨(dú)立性好的模塊,從內(nèi)部看,必然是功能緊湊1.模塊之間的藕合模塊之間耦合度的高低,可以通過(guò)分析模塊之間的聯(lián)結(jié)形式來(lái)判斷模塊間常見(jiàn)的聯(lián)結(jié)類型有5種:1.模塊之間的藕合模塊之間耦合度的高低,可以通過(guò)分析模塊軟件工程概論ch04-1課件(1)數(shù)據(jù)聯(lián)結(jié)(1)數(shù)據(jù)聯(lián)結(jié)(2)特征聯(lián)結(jié)(2)特征聯(lián)結(jié)避免捆綁避免捆綁(3)控制聯(lián)結(jié)(3)控制聯(lián)結(jié)(4)公共聯(lián)結(jié)(4)公共聯(lián)結(jié)(5)內(nèi)容聯(lián)結(jié)(5)內(nèi)容聯(lián)結(jié)結(jié)論:以數(shù)據(jù)聯(lián)結(jié)為主,特征聯(lián)結(jié)為輔;必要時(shí)建立控制聯(lián)結(jié);堅(jiān)決消除公共聯(lián)結(jié)和內(nèi)容聯(lián)結(jié)建立數(shù)據(jù)聯(lián)結(jié)時(shí),要避免“游離數(shù)據(jù)”結(jié)論:以數(shù)據(jù)聯(lián)結(jié)為主,特征聯(lián)結(jié)為輔;“游離數(shù)據(jù)”“游離數(shù)據(jù)”2.模塊的內(nèi)聚模塊內(nèi)部功能的聚合度的高低,也可以通過(guò)分析模塊內(nèi)部功能的組合形式來(lái)判斷常見(jiàn)的模塊內(nèi)功能的組合類型有7種:聚合度高功能組合順序組合通訊組合過(guò)程組合時(shí)間組合邏輯組合偶然組合低2.模塊的內(nèi)聚模塊內(nèi)部功能的聚合度的高低,也可以通過(guò)分析(1)功能組合“計(jì)算實(shí)發(fā)工資”“讀庫(kù)存記錄”(1)功能組合“計(jì)算實(shí)發(fā)工資”(2)順序組合(2)順序組合(3)通訊組合(3)通訊組合軟件工程概論ch04-1課件(4)過(guò)程組合(4)過(guò)程組合(5)時(shí)間組合初始化模塊(5)時(shí)間組合初始化模塊(6)邏輯組合(6)邏輯組合(7)偶然組合(7)偶然組合第三節(jié)第三節(jié)第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.2軟件設(shè)計(jì)的概念與原理4.3軟件設(shè)計(jì)的原則4.4結(jié)構(gòu)化設(shè)計(jì)方法4.5系統(tǒng)包裝4.6軟件詳細(xì)設(shè)計(jì)概述4.7詳細(xì)設(shè)計(jì)工具第4章軟件設(shè)計(jì)4.1軟件設(shè)計(jì)概述4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略4.2.3以事務(wù)為中心的設(shè)計(jì)策略4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理目標(biāo),是得到軟件的模塊化結(jié)構(gòu);任務(wù),從數(shù)據(jù)流圖出發(fā),映射出軟件的模塊化結(jié)構(gòu);原理,研究數(shù)據(jù)流圖,找出設(shè)計(jì)策略.4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理目標(biāo),是得到軟件的模塊化結(jié)以數(shù)據(jù)流圖為基礎(chǔ),設(shè)計(jì)軟件的模塊化結(jié)構(gòu)以數(shù)據(jù)流圖為基礎(chǔ),設(shè)計(jì)軟件的模塊化結(jié)構(gòu)軟件工程概論ch04-1課件軟件工程概論ch04-1課件兩個(gè)重要的設(shè)計(jì)策略1.變換型數(shù)據(jù)流2.事務(wù)型數(shù)據(jù)流兩個(gè)重要的設(shè)計(jì)策略1.變換型數(shù)據(jù)流1.變換型數(shù)據(jù)流圖1.變換型數(shù)據(jù)流圖軟件工程概論ch04-1課件軟件工程概論ch04-1課件軟件工程概論ch04-1課件2.事務(wù)型數(shù)據(jù)流2.事務(wù)型數(shù)據(jù)流軟件工程概論ch04-1課件軟件工程概論ch04-1課件軟件工程概論ch04-1課件3.設(shè)計(jì)過(guò)程分析數(shù)據(jù)流圖類型映射出第一張結(jié)構(gòu)圖參照數(shù)據(jù)流圖,對(duì)結(jié)構(gòu)圖分解\細(xì)化運(yùn)用模塊化設(shè)計(jì)原則,分解\優(yōu)化3.設(shè)計(jì)過(guò)程分析數(shù)據(jù)流圖類型4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略4.2.3以事務(wù)為中心的設(shè)計(jì)策略4.4結(jié)構(gòu)化設(shè)計(jì)方法4.4.1結(jié)構(gòu)化設(shè)計(jì)的概念與原理4.2.2以變換為中心的設(shè)計(jì)策略1.確定變換中心2.確定主控模塊,產(chǎn)生第1張圖3.分解\優(yōu)化4.2.2以變換為中心的設(shè)計(jì)策略1.確定變換中心1.確定變換中心1.確定變換中心2.確定主控模塊,產(chǎn)生第1張圖2.確定主控模塊,產(chǎn)生第1張圖3.分解\優(yōu)化對(duì)產(chǎn)生的第一張圖分析評(píng)價(jià),用模塊的設(shè)計(jì)原則進(jìn)行分析與優(yōu)化。這些原則包括:模塊間的聯(lián)結(jié)、模塊內(nèi)的緊湊性、分解、扇入/扇出、控制范圍與判斷作用范圍。。3.分解\優(yōu)化對(duì)產(chǎn)生的第一張圖分析評(píng)價(jià),用模塊的設(shè)計(jì)原則進(jìn)行3.分解\優(yōu)化進(jìn)行分解優(yōu)化時(shí)注意如下幾條:(1)分解和重組“傳入子系統(tǒng)”和“傳出子系統(tǒng)”的模塊,要保持系統(tǒng)結(jié)構(gòu)的勻稱。(2)分解變換中心,尤其要使用各層次的數(shù)據(jù)流,它有助于對(duì)模塊的分解。(3)確保每個(gè)模塊的名稱的概括抽象程度符合它所處的層次地位和作用。(4)必要時(shí),適當(dāng)增加讀、寫、初始化、終止、出錯(cuò)和例外處理模塊。(5)對(duì)于由數(shù)據(jù)流圖直接轉(zhuǎn)過(guò)來(lái)又不符合模塊設(shè)計(jì)原則的模塊,試著進(jìn)行重新分解,反復(fù)修改,綜合動(dòng)用各項(xiàng)結(jié)構(gòu)化設(shè)計(jì)原則3.分解\優(yōu)化進(jìn)行分解優(yōu)化時(shí)注意如下幾條

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論