第4章-軟件系統(tǒng)設(shè)計(jì)課件_第1頁(yè)
第4章-軟件系統(tǒng)設(shè)計(jì)課件_第2頁(yè)
第4章-軟件系統(tǒng)設(shè)計(jì)課件_第3頁(yè)
第4章-軟件系統(tǒng)設(shè)計(jì)課件_第4頁(yè)
第4章-軟件系統(tǒng)設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩225頁(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)介

1.3軟件生存期(softwarelifecycle)圖1.14概要設(shè)計(jì)規(guī)格說(shuō)明書詳細(xì)設(shè)計(jì)規(guī)格說(shuō)明書軟件生存期軟件定義部分軟件開發(fā)部分軟件運(yùn)行維護(hù)部分退役軟件維護(hù)運(yùn)行軟件需求分析可行性研究問(wèn)題定義綜合測(cè)試編碼與單元測(cè)試詳細(xì)設(shè)計(jì)概要設(shè)計(jì)系統(tǒng)分析報(bào)告可行性分析報(bào)告初步項(xiàng)目計(jì)劃需求規(guī)格說(shuō)明書源程序代碼測(cè)試報(bào)告用戶手冊(cè)維護(hù)報(bào)告

第1章軟件工程引論引言軟件生存期2023/12/5

2結(jié)束返回圖3.6需求分析模型3.1軟件需求分析3.1.5需求分析模型引言2023/12/5

3結(jié)束返回第4章軟件概要設(shè)計(jì)4.1軟件設(shè)計(jì)過(guò)程4.2軟件設(shè)計(jì)的基本概念4.3面向數(shù)據(jù)流的設(shè)計(jì)方法4.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法4.5軟件概要設(shè)計(jì)規(guī)格說(shuō)明與評(píng)審第4章軟件概要設(shè)計(jì)2023/12/5

4結(jié)束返回【學(xué)習(xí)目的】1.掌握解軟件概要設(shè)計(jì)的原則和過(guò)程。2.掌握模塊劃分的評(píng)價(jià)準(zhǔn)則―模塊獨(dú)立性的判別。3.掌握結(jié)構(gòu)化設(shè)計(jì)方法。4.掌握數(shù)據(jù)設(shè)計(jì)和文件設(shè)計(jì)的原則。5.了解軟件概要設(shè)計(jì)規(guī)格說(shuō)明和設(shè)計(jì)評(píng)審的主要內(nèi)容。6.了解Jackson系統(tǒng)開發(fā)方法和Jackson程序設(shè)計(jì)方法。第4章軟件概要設(shè)計(jì)2023/12/5

5結(jié)束返回【難重點(diǎn)】軟件設(shè)計(jì)從技術(shù)上的體系結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、接口設(shè)計(jì)和過(guò)程設(shè)計(jì)。

第4章軟件概要設(shè)計(jì)2023/12/5

6結(jié)束返回4.1軟件設(shè)計(jì)的過(guò)程Who為誰(shuí)設(shè)計(jì),用戶是誰(shuí)?What要解決哪些問(wèn)題?Why為什么要解決這些問(wèn)題

3W圖4.1軟件設(shè)計(jì)前需要考慮的問(wèn)題軟件設(shè)計(jì)前要考慮的問(wèn)題:第4章軟件概要設(shè)計(jì)2023/12/5

7結(jié)束返回編碼測(cè)試設(shè)計(jì)信息描述功能描述行為描述其他需求總體結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)過(guò)程設(shè)計(jì)

程序模塊集成并確認(rèn)的軟件圖4.2軟件開發(fā)部分的信息流4.1軟件設(shè)計(jì)的過(guò)程軟件開發(fā)部分包括:軟件設(shè)計(jì)、編碼和測(cè)試階段。第4章軟件概要設(shè)計(jì)2023/12/5

8結(jié)束返回4.1.1軟件設(shè)計(jì)的重要性

軟件需求分析軟件設(shè)計(jì)做什么怎么做圖4.3軟件設(shè)計(jì)的作用任務(wù)任務(wù)第4章軟件概要設(shè)計(jì)2023/12/5

9結(jié)束返回4.1.2軟件設(shè)計(jì)的方法圖4.4軟件設(shè)計(jì)的方法結(jié)構(gòu)化設(shè)計(jì)方法

面向?qū)ο笤O(shè)計(jì)

(OOD)面向數(shù)據(jù)流的設(shè)計(jì)SD面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)Jackson軟件設(shè)計(jì)方法結(jié)構(gòu)化設(shè)計(jì)(SD,StructureDesign)面向?qū)ο笤O(shè)計(jì)(OOD,ObjectOrientedDesign)第4章軟件概要設(shè)計(jì)2023/12/5

10結(jié)束返回4.1.3軟件設(shè)計(jì)的過(guò)程概述

軟件設(shè)計(jì)是一個(gè)把軟件需求變換成軟件表示的過(guò)程。

最初這種表示只是描繪出軟件的總的框架;

然后進(jìn)一步細(xì)化,在此框架中填入細(xì)節(jié);

最后把它加工成在程序細(xì)節(jié)上非常接近于源程序的軟件表示。

第4章軟件概要設(shè)計(jì)2023/12/5

11結(jié)束返回4.1.3軟件設(shè)計(jì)的過(guò)程概述圖4.5從技術(shù)和管理的角度看設(shè)計(jì)的關(guān)系

從管理和技術(shù)兩個(gè)不同的角度對(duì)軟件設(shè)計(jì)的認(rèn)識(shí),可以用下圖表示。首先做概要設(shè)計(jì),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。然后是詳細(xì)設(shè)計(jì),即過(guò)程設(shè)計(jì)。通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步完成。從技術(shù)觀點(diǎn)來(lái)看,軟件設(shè)計(jì)包括:軟件結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)接口設(shè)計(jì)過(guò)程設(shè)計(jì)第4章軟件概要設(shè)計(jì)2023/12/5

12結(jié)束返回4.1.3軟件設(shè)計(jì)的過(guò)程概述軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù)。即軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。將需求分析模型轉(zhuǎn)換為軟件設(shè)計(jì)

請(qǐng)見圖4.6第4章軟件概要設(shè)計(jì)2023/12/5

13結(jié)束返回圖4.6將分析模型轉(zhuǎn)換為設(shè)計(jì)數(shù)據(jù)字典數(shù)據(jù)流圖實(shí)體關(guān)系圖狀態(tài)轉(zhuǎn)換圖加工規(guī)格說(shuō)明控制規(guī)格說(shuō)明數(shù)據(jù)對(duì)象描述過(guò)程設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)將分析模型轉(zhuǎn)換為設(shè)計(jì)第4章軟件概要設(shè)計(jì)2023/12/5

14結(jié)束返回工資計(jì)算系統(tǒng)ER圖圖3.12數(shù)據(jù)設(shè)計(jì)將實(shí)體–關(guān)系圖中描述的對(duì)象和關(guān)系,以及數(shù)據(jù)字典中描述的詳細(xì)數(shù)據(jù)內(nèi)容轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。例如:

表4-1職工基本信息表結(jié)構(gòu)列名(字段名)屬性數(shù)據(jù)類型及長(zhǎng)度說(shuō)明及是否為空id職工號(hào)(主鍵)char(10)Nname姓名varChar(50)Ngender性別nChar(1)Nage年齡IntNwages工資intnduty職稱/職務(wù)varChar(15)ndid部門代號(hào)(外鍵)Char(10)N第4章軟件概要設(shè)計(jì)2023/12/5

15結(jié)束返回圖4.7工資計(jì)算系統(tǒng)的層次結(jié)構(gòu)圖體系結(jié)構(gòu)設(shè)計(jì)定義軟件系統(tǒng)各主要成份之間的關(guān)系,如圖4.7

過(guò)程設(shè)計(jì)則是把結(jié)構(gòu)成份轉(zhuǎn)換成軟件的過(guò)程性描述。第4章軟件概要設(shè)計(jì)2023/12/5

16結(jié)束返回圖4.8精品課程網(wǎng)站首頁(yè)

例如:系統(tǒng)首頁(yè)及登錄界面如圖4.8

。接口設(shè)計(jì)根據(jù)數(shù)據(jù)流圖定義軟件內(nèi)部各成份之間、軟件與其它協(xié)同系統(tǒng)之間及軟件與用戶之間的交互機(jī)制。第4章軟件概要設(shè)計(jì)2023/12/5

17結(jié)束返回圖4.9系統(tǒng)管理界面

管理員登錄后,系統(tǒng)管理界面請(qǐng)見圖4.9

第4章軟件概要設(shè)計(jì)2023/12/5

18結(jié)束返回4.1.3軟件設(shè)計(jì)的過(guò)程概述

從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步完成:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)要完成的任務(wù):詳細(xì)設(shè)計(jì)確立每個(gè)模塊的實(shí)現(xiàn)算法局部數(shù)據(jù)結(jié)構(gòu)用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。概要設(shè)計(jì)將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)確定系統(tǒng)級(jí)接口全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫(kù)模式。圖3.19工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖圖4.7工資計(jì)算系統(tǒng)的層次結(jié)構(gòu)圖第4章軟件概要設(shè)計(jì)2023/12/5

19結(jié)束返回4.1.4衡量軟件設(shè)計(jì)的技術(shù)標(biāo)準(zhǔn)

(1)

設(shè)計(jì)出來(lái)的結(jié)構(gòu)應(yīng)是分層結(jié)構(gòu),從而建立軟件成份之間的控制。(2)

設(shè)計(jì)應(yīng)當(dāng)模塊化,從邏輯上將軟件劃分為完成特定功能或子功能的構(gòu)件。衡量設(shè)計(jì)的技術(shù)標(biāo)準(zhǔn)如下:(3)

設(shè)計(jì)應(yīng)當(dāng)既包含數(shù)據(jù)抽象,也包含過(guò)程抽象。(4)

設(shè)計(jì)應(yīng)當(dāng)建立具有獨(dú)立功能特征的模塊。(5)

設(shè)計(jì)應(yīng)當(dāng)建立能夠降低模塊與外部環(huán)境之間復(fù)雜連接的接口。(6)

設(shè)計(jì)應(yīng)能根據(jù)軟件需求分析獲取的信息,建立可驅(qū)動(dòng)可重復(fù)的方法。圖4.7工資計(jì)算系統(tǒng)的層次結(jié)構(gòu)圖第4章軟件概要設(shè)計(jì)2023/12/5

20結(jié)束返回4.1.5軟件概要設(shè)計(jì)的步驟

在軟件概要設(shè)計(jì)過(guò)程中需要完成的工作:

(1)分析需求、制定規(guī)范

(2)

軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)

(3)

處理方式設(shè)計(jì)

(4)

數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的設(shè)計(jì)

(5)

可靠性和安全性的設(shè)計(jì)

(6)

編寫概要設(shè)計(jì)階段的文檔

(7)

概要設(shè)計(jì)評(píng)審第4章軟件概要設(shè)計(jì)2023/12/5

21結(jié)束返回4.1.5軟件概要設(shè)計(jì)的任務(wù)

思考題:從管理和技術(shù)兩個(gè)不同的角度分析理解軟件設(shè)計(jì),兩者之間有啥聯(lián)系?第4章軟件概要設(shè)計(jì)2023/12/5

22結(jié)束返回

①閱讀和理解軟件需求說(shuō)明書,在給定預(yù)算范圍內(nèi)和技術(shù)現(xiàn)狀下,確認(rèn)用戶的要求能否實(shí)現(xiàn)。若不能實(shí)現(xiàn),則需明確實(shí)現(xiàn)的條件,從而確定設(shè)計(jì)的目標(biāo),以及它們的優(yōu)先順序。

②根據(jù)目標(biāo)確定最合適的設(shè)計(jì)方法。

③規(guī)定設(shè)計(jì)文檔的編制標(biāo)準(zhǔn),包括文檔體系,用紙及樣式,記述的詳細(xì)程度,圖形的畫法等。

④規(guī)定編碼的信息形式(代碼體系),與硬件,操作系統(tǒng)的接口規(guī)約,命名規(guī)則等。(1)評(píng)審需求與制定規(guī)范4.1.6軟件概要設(shè)計(jì)過(guò)程

第4章軟件概要設(shè)計(jì)2023/12/5

23結(jié)束返回在需求分析階段,已經(jīng)從系統(tǒng)開發(fā)的角度,把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),使每一部分完成簡(jiǎn)單的功能且各個(gè)部分之間又保持一定的聯(lián)系,這就是所謂的功能設(shè)計(jì)。在設(shè)計(jì)階段,基于這個(gè)功能的層次結(jié)構(gòu)把各個(gè)部分組合起來(lái)成為系統(tǒng)。它包括:(2)軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)4.1.6軟件概要設(shè)計(jì)過(guò)程

第4章軟件概要設(shè)計(jì)2023/12/5

24結(jié)束返回①

采用某種設(shè)計(jì)方法,將一個(gè)復(fù)雜的系統(tǒng)按功能劃分成模塊的層次結(jié)構(gòu)。②

確定每個(gè)模塊的功能,建立與已確定的軟件需求的對(duì)應(yīng)關(guān)系。③

確定模塊間的調(diào)用關(guān)系。④

確定模塊間的接口,即模塊間傳遞的信息。設(shè)計(jì)接口的信息結(jié)構(gòu)。⑤

評(píng)估模塊劃分的質(zhì)量及導(dǎo)出模塊結(jié)構(gòu)的規(guī)則。4.1.6軟件概要設(shè)計(jì)過(guò)程

第4章軟件概要設(shè)計(jì)2023/12/5

25結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

(3)處理方式設(shè)計(jì)①確定為實(shí)現(xiàn)軟件系統(tǒng)的功能需求所必需的算法,評(píng)估算法的性能。②確定為滿足軟件系統(tǒng)的性能需求所必需的算法和模塊間的控制方式(性能設(shè)計(jì))。③確定外部信號(hào)的接收發(fā)送形式(接口設(shè)計(jì))。

第4章軟件概要設(shè)計(jì)2023/12/5

26結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

處理方式設(shè)計(jì)技術(shù)指標(biāo):周轉(zhuǎn)時(shí)間:即一旦向計(jì)算機(jī)發(fā)出要求處理的請(qǐng)求之后,從輸入開始,經(jīng)過(guò)處理直到輸出結(jié)果為止的整個(gè)時(shí)間。響應(yīng)時(shí)間:這是對(duì)于實(shí)時(shí)聯(lián)機(jī)系統(tǒng)的性能需求。當(dāng)終端用戶向計(jì)算機(jī)發(fā)出處理請(qǐng)求之后,從輸入開始到輸出最終結(jié)果中間的一段時(shí)間內(nèi),用戶需要多次對(duì)計(jì)算機(jī)進(jìn)行輸入輸出,而一次輸入輸出的時(shí)間就是響應(yīng)時(shí)間。吞吐量:?jiǎn)挝粫r(shí)間內(nèi)能夠處理的數(shù)據(jù)量叫做吞吐量。這是表示系統(tǒng)能力的指標(biāo)。精度:在進(jìn)行科學(xué)計(jì)算或工程計(jì)算時(shí),運(yùn)算精確度的要求。第4章軟件概要設(shè)計(jì)2023/12/5

27結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

(4)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)確定軟件涉及的文件系統(tǒng)的結(jié)構(gòu)以及數(shù)據(jù)庫(kù)的模式、子模式,進(jìn)行數(shù)據(jù)完整性和安全性的設(shè)計(jì)。

確定輸入,輸出文件的詳細(xì)的數(shù)據(jù)結(jié)構(gòu)。

結(jié)合算法設(shè)計(jì),確定算法所必需的邏輯數(shù)據(jù)結(jié)構(gòu)及其操作。

③確定對(duì)邏輯數(shù)據(jù)結(jié)構(gòu)所必需的那些操作的程序模塊(軟件包)。第4章軟件概要設(shè)計(jì)2023/12/5

28結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

④確定詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和使用規(guī)則。

數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)指數(shù)據(jù)存儲(chǔ)文件的設(shè)計(jì)。定義數(shù)據(jù)結(jié)構(gòu)所含的數(shù)據(jù)項(xiàng)、類型、長(zhǎng)度、它們之間的層次或相互關(guān)系的表格等。

⑥數(shù)據(jù)的保護(hù)性設(shè)計(jì)冗余性設(shè)計(jì):一致性設(shè)計(jì):防衛(wèi)性設(shè)計(jì):第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

29結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

(5)可靠性設(shè)計(jì)可靠性設(shè)計(jì)也叫做質(zhì)量設(shè)計(jì)。在計(jì)算機(jī)使用的過(guò)程中,可靠性是很重要的??煽啃圆桓叩能浖?huì)使得運(yùn)行結(jié)果不能使用而造成嚴(yán)重?fù)p失。

軟件可靠性簡(jiǎn)言之是指程序和文檔中的錯(cuò)誤少。

第4章軟件概要設(shè)計(jì)2023/12/5

30結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

(6)編寫概要設(shè)計(jì)階段的文檔概要設(shè)計(jì)階段完成時(shí)應(yīng)編寫以下文檔:

①概要設(shè)計(jì)說(shuō)明書:給出系統(tǒng)目標(biāo)、總體設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、處理方式設(shè)計(jì)、運(yùn)行設(shè)計(jì)、出錯(cuò)設(shè)計(jì)等。

②數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書:給出所使用數(shù)據(jù)庫(kù)簡(jiǎn)介、數(shù)據(jù)模式設(shè)計(jì)、物理設(shè)計(jì)等。

③用戶手冊(cè):對(duì)需求分析階段編寫的初步的用戶手冊(cè)進(jìn)行審訂。

④修訂測(cè)試計(jì)劃:對(duì)測(cè)試的策略、方法和步驟提出明確的要求。第4章軟件概要設(shè)計(jì)2023/12/5

31結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

(7)概要設(shè)計(jì)評(píng)審

可追溯性:即分析該軟件的系統(tǒng)結(jié)構(gòu)、子系統(tǒng)結(jié)構(gòu),確認(rèn)該軟件設(shè)計(jì)是否復(fù)蓋了所有已確定的軟件需求,軟件每一成份是否可追溯到某一項(xiàng)需求。

接口:即分析軟件各部分之間的聯(lián)系,確認(rèn)該軟件的內(nèi)部接口與外部接口是否已經(jīng)明確定義。模塊是否滿足高內(nèi)聚和低耦合的要求。模塊作用范圍是否在其控制范圍之內(nèi)。第4章軟件概要設(shè)計(jì)2023/12/5

32結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

風(fēng)險(xiǎn):即確認(rèn)該軟件設(shè)計(jì)在現(xiàn)有技術(shù)條件下和預(yù)算范圍內(nèi)是否能按時(shí)實(shí)現(xiàn)。

實(shí)用性:即確認(rèn)該軟件設(shè)計(jì)對(duì)于需求的解決方案是否實(shí)用。技術(shù)清晰度:即確認(rèn)該軟件設(shè)計(jì)是否以一種易于翻譯成代碼的形式表達(dá)。

可維護(hù)性:從軟件維護(hù)的角度出發(fā),確認(rèn)該軟件設(shè)計(jì)是否考慮了方便未來(lái)的維護(hù)。第4章軟件概要設(shè)計(jì)2023/12/5

33結(jié)束返回4.1.6軟件概要設(shè)計(jì)過(guò)程

質(zhì)量:即確認(rèn)該軟件設(shè)計(jì)是否表現(xiàn)出良好的質(zhì)量特征。

各種選擇方案:看是否考慮過(guò)其它方案,比較各種選擇方案的標(biāo)準(zhǔn)是什么。

限制:評(píng)估對(duì)該軟件的限制是否現(xiàn)實(shí),是否與需求一致。

其它具體問(wèn)題:對(duì)于文檔、可測(cè)試性、設(shè)計(jì)過(guò)程...等等進(jìn)行評(píng)估。第4章軟件概要設(shè)計(jì)2023/12/5

34結(jié)束返回4.1.7軟件詳細(xì)設(shè)計(jì)

在詳細(xì)設(shè)計(jì)過(guò)程中,需要完成的工作是:

(1)

確定軟件各個(gè)組成部分內(nèi)的算法以及各部分的內(nèi)部數(shù)據(jù)組織。

(2)

選定某種過(guò)程的表達(dá)形式來(lái)描述各種算法。

(3)

針對(duì)數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)進(jìn)行物理設(shè)計(jì),設(shè)計(jì)數(shù)據(jù)庫(kù)模式的一些物理細(xì)節(jié),如數(shù)據(jù)項(xiàng)存儲(chǔ)要求、存取方式、建立索引等。

(4)

進(jìn)行詳細(xì)設(shè)計(jì)的評(píng)審第4章軟件概要設(shè)計(jì)2023/12/5

35結(jié)束返回4.1.7軟件詳細(xì)設(shè)計(jì)

在將需求轉(zhuǎn)換為設(shè)計(jì)時(shí)判斷設(shè)計(jì)好壞的三個(gè)特征:設(shè)計(jì)必須實(shí)現(xiàn)分析模型中描述的所有顯式需求,必須滿足用戶希望的所有隱式需求。設(shè)計(jì)必須是可讀的、可理解的,使得將來(lái)易于編程、易于測(cè)試、易于維護(hù)。設(shè)計(jì)應(yīng)從實(shí)現(xiàn)角度出發(fā),給出與數(shù)據(jù)、功能、行為相關(guān)的軟件全貌。第4章軟件概要設(shè)計(jì)2023/12/5

36結(jié)束返回4.2軟件設(shè)計(jì)的基本概念在講述本章內(nèi)容時(shí),會(huì)涉及到軟件設(shè)計(jì)中的一些基本概念和基本原理,下面對(duì)這些基本概念和基本原理一一介紹。第4章軟件概要設(shè)計(jì)2023/12/5

37結(jié)束返回4.2.1抽象化

(1)過(guò)程抽象

在軟件工程過(guò)程中,從系統(tǒng)定義到實(shí)現(xiàn),每進(jìn)展一步都可以看做是對(duì)軟件解決方案的抽象化過(guò)程的一次細(xì)化。而在從概要設(shè)計(jì)到詳細(xì)設(shè)計(jì)的過(guò)程中,抽象化的層次逐次降低。當(dāng)產(chǎn)生源程序時(shí)到達(dá)最低的抽象層次。

第4章軟件概要設(shè)計(jì)2023/12/5

38結(jié)束返回4.2.1抽象化(2)數(shù)據(jù)抽象

數(shù)據(jù)抽象與過(guò)程抽象一樣,允許設(shè)計(jì)人員在不同層次上描述數(shù)據(jù)對(duì)象的細(xì)節(jié)。(3)控制抽象

與過(guò)程抽象和數(shù)據(jù)抽象一樣,控制抽象可以包含一個(gè)程序控制機(jī)制而無(wú)須規(guī)定其內(nèi)部細(xì)節(jié)??刂瞥橄蟮睦泳褪窃诓僮飨到y(tǒng)中用以協(xié)調(diào)某些活動(dòng)的同步信號(hào)。

第4章軟件概要設(shè)計(jì)2023/12/5

39結(jié)束返回4.2.2自頂向下,逐步細(xì)化

將軟件的體系結(jié)構(gòu)按自頂向下方式,對(duì)各個(gè)層次的過(guò)程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語(yǔ)言的語(yǔ)句能夠?qū)崿F(xiàn)為止,從而最后確立整個(gè)的體系結(jié)構(gòu)。

第4章軟件概要設(shè)計(jì)2023/12/5

40結(jié)束返回4.2.3模塊化

軟件系統(tǒng)的層次結(jié)構(gòu)正是模塊化的具體體現(xiàn)。就是說(shuō),整個(gè)軟件被劃分成若干單獨(dú)命名和可編址的部分,稱之為模塊。這些模塊可以被組裝起來(lái)以滿足整個(gè)問(wèn)題的需求。

把一個(gè)大而復(fù)雜的軟件系統(tǒng)劃分成易于理解的比較單純的模塊結(jié)構(gòu)。第4章軟件概要設(shè)計(jì)2023/12/5

41結(jié)束返回4.2.3模塊化

問(wèn)題復(fù)雜性、開發(fā)工作量和模塊數(shù)之間的關(guān)系:我們?cè)O(shè)C(x)為問(wèn)題x所對(duì)應(yīng)的復(fù)雜度函數(shù),E(x)為解決問(wèn)題x所需要的工作量函數(shù)。對(duì)于兩個(gè)問(wèn)題P1和P2,如果:

C(P1)>C(P2)

即問(wèn)題P1的復(fù)雜度比P2高,則顯然有:

E(P1)>E(P2)

即解決問(wèn)題P1比P2所需的工作量大。第4章軟件概要設(shè)計(jì)2023/12/5

42結(jié)束返回4.2.3模塊化另一個(gè)有趣的規(guī)律,如果:C(P1+P2)>C(P1)+C(P2)即解決由多個(gè)問(wèn)題復(fù)合而成的大問(wèn)題的復(fù)雜度大于單獨(dú)解決各個(gè)問(wèn)題的復(fù)雜度之和,則:

E(P1+P2)>E(P1)+E(P2)即將復(fù)雜問(wèn)題分解成若干個(gè)小問(wèn)題,各個(gè)擊破,所需要的工作量小于直接解決復(fù)雜問(wèn)題所需的工作量。第4章軟件概要設(shè)計(jì)2023/12/5

43結(jié)束返回4.2.3模塊化如果模塊是相互獨(dú)立的,當(dāng)模塊變得越小,每個(gè)模塊花費(fèi)的工作量越低;但當(dāng)模塊數(shù)增加時(shí),模塊間的聯(lián)系也隨之增加,把這些模塊聯(lián)接起來(lái)的工作量也隨之增加。如圖4.10所示。因此,存在一個(gè)模塊個(gè)數(shù)M,它使得總的開發(fā)成本達(dá)到最小。第4章軟件概要設(shè)計(jì)2023/12/5

44結(jié)束返回4.2.3模塊化圖4.10模塊大小、模塊數(shù)目與費(fèi)用的關(guān)系

第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

45結(jié)束返回練習(xí)題:P1011,2第4章軟件概要設(shè)計(jì)2023/12/5

46結(jié)束返回4.2.4模塊獨(dú)立性模塊的基本屬性:功能:即指該模塊實(shí)現(xiàn)什么功能;邏輯:即描述模塊內(nèi)部怎么做;狀態(tài):即該模塊使用時(shí)的環(huán)境和條件。在描述一個(gè)模塊時(shí),還必須按模塊的外部特性與內(nèi)部特性分別描述。外部特性:模塊的模塊名、參數(shù)表、以及給程序以至整個(gè)系統(tǒng)造成的影響。內(nèi)部特性:完成其功能的程序代碼和僅供該模塊內(nèi)部使用的數(shù)據(jù)。第4章軟件概要設(shè)計(jì)2023/12/5

47結(jié)束返回4.2.4模塊獨(dú)立性軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其它的模塊的接口是簡(jiǎn)單的。見圖4.11。用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性。即模塊間的耦合和模塊的內(nèi)聚。內(nèi)聚性:內(nèi)聚是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量。耦合性:

耦合是模塊間互相連接的緊密程度的度量。它取決于各個(gè)模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過(guò)接口。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

48結(jié)束返回模塊的獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。耦合

模塊之間的相對(duì)獨(dú)立性的度量。

內(nèi)聚

模塊功能強(qiáng)度的度量。

4.2.4模塊獨(dú)立性圖4.11模塊獨(dú)立性第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

49結(jié)束返回(1)模塊內(nèi)聚低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過(guò)程內(nèi)聚時(shí)間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強(qiáng)弱

內(nèi)聚性模塊獨(dú)立性圖4.12內(nèi)聚性模塊內(nèi)聚分為7級(jí):第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

50結(jié)束返回MSTORERECN()TONREADMASTERFILEADD1TOX。。。。。。ABC

當(dāng)模塊內(nèi)各部之間沒有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散。則稱這種模塊為偶然內(nèi)聚模塊。

偶然性內(nèi)聚圖4.13偶然內(nèi)聚第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

51結(jié)束返回

這種模塊是把幾種功能組合在一起,每次調(diào)用時(shí),則由傳遞給模塊的判定參數(shù)來(lái)確定該模塊應(yīng)執(zhí)行哪一種功能。

調(diào)用模塊判定讀一個(gè)記錄寫一個(gè)記錄被調(diào)用模塊邏輯性內(nèi)聚圖4.14邏輯性內(nèi)聚第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

52結(jié)束返回

這種模塊能完成多個(gè)功能,各個(gè)功能都在同一數(shù)據(jù)結(jié)構(gòu)上操作,每一項(xiàng)功能有一個(gè)唯一的入口點(diǎn)。

數(shù)據(jù)表

查找登錄刪除修改信息性內(nèi)聚圖4.15邏輯性內(nèi)聚第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

53結(jié)束返回

如果一個(gè)模塊內(nèi)所有成分都完成一個(gè)功能則稱這樣的模塊為功能模塊。

主控模塊錄入查詢打印低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過(guò)程內(nèi)聚時(shí)間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強(qiáng)弱

內(nèi)聚性模塊獨(dú)立性功能性內(nèi)聚圖4.16功能性內(nèi)聚第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

54結(jié)束返回

耦合性是程序結(jié)構(gòu)中各個(gè)模塊之間相互關(guān)聯(lián)的度量它取決于各個(gè)模塊之間接口的復(fù)雜程度、調(diào)用模塊的方式以及那些信息通過(guò)接口。低非直接耦合數(shù)據(jù)耦合標(biāo)記耦合控制耦合外部耦合公共耦合內(nèi)容耦合高弱強(qiáng)耦合性模塊獨(dú)立性(2)模塊間的耦合圖4.17耦合性第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

55結(jié)束返回(2)模塊間的耦合非直接耦合

兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的。非直接耦合的模塊獨(dú)立性最強(qiáng)。主模塊ABCEFGXYZ圖4.18非直接耦合第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

56結(jié)束返回(2)模塊間的耦合數(shù)據(jù)耦合:一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)單數(shù)據(jù)參數(shù)

(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來(lái)交換輸入、輸出信息的。標(biāo)記耦合:一組模塊通過(guò)參數(shù)表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

57結(jié)束返回(2)模塊間的耦合控制耦合如果一個(gè)模塊通過(guò)傳送開關(guān)、標(biāo)志、名字等控制參數(shù),明顯地控制選擇另一模塊的功能,就是控制耦合。FlagFlagf1f2fn圖4.19控制耦合第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

58結(jié)束返回(2)模塊間的耦合外部耦合:一組模塊都訪問(wèn)同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過(guò)參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。公共耦合:若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

59結(jié)束返回(2)模塊間的耦合公共耦合的復(fù)雜程度隨耦合模塊的個(gè)數(shù)增加而顯著增加。若只是兩模塊間有公共數(shù)據(jù)環(huán)境,則公共耦合有兩種情況。松散公共耦合和緊密公共耦合。common公共數(shù)據(jù)區(qū)ABcommon公共數(shù)據(jù)區(qū)AB松散的公共耦合緊密的公共耦合圖4.20第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

60結(jié)束返回(2)模塊間的耦合內(nèi)容耦合如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合:

一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù)一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部?jī)蓚€(gè)模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語(yǔ)言中)

一個(gè)模塊有多個(gè)入口第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

61結(jié)束返回4.2.5控制層次

控制層次也叫做程序結(jié)構(gòu),它表明了程序構(gòu)件(模塊)的組織情況??刂茖哟瓮贸绦虻膶哟危湫位蚓W(wǎng)狀)結(jié)構(gòu)來(lái)表示。位于最上層根部是頂層模塊,它是程序的主模塊。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可以進(jìn)一步引出更下一層的下屬模塊。如下圖所示。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

62結(jié)束返回圖4.21程序的層次結(jié)構(gòu)圖示例

4.2.5控制層次

(1)程序結(jié)構(gòu)的深度程序結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)的深度。結(jié)構(gòu)的深度在一定意義上反映了程序結(jié)構(gòu)的規(guī)模和復(fù)雜程度。

(2)程序結(jié)構(gòu)的寬度層次結(jié)構(gòu)中同一層模塊的最大模塊個(gè)數(shù)稱為結(jié)構(gòu)的寬度。

(3)模塊的扇入和扇出

扇出表示一個(gè)模塊直接調(diào)用(或控制)的其它模塊數(shù)目。

扇入則定義為調(diào)用(或控制)一個(gè)給定模塊的模塊個(gè)數(shù)。

多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

63結(jié)束返回4.2.5控制層次

(4)結(jié)構(gòu)劃分程序結(jié)構(gòu)可以按水平方向或垂直方向進(jìn)行劃分。水平劃分按主要的程序功能來(lái)定義模塊結(jié)構(gòu)的各個(gè)分支。頂層模塊是控制模塊,用來(lái)協(xié)調(diào)程序各個(gè)功能之間的通信和運(yùn)行。其下級(jí)模塊的最簡(jiǎn)單的水平劃分方法是建立三個(gè)分支:輸入、處理(數(shù)據(jù)變換)和輸出。垂直劃分也叫做因子劃分。主要用在程序的體系結(jié)構(gòu)中,且工作自頂向下逐層分布:頂層模塊執(zhí)行控制功能,少做實(shí)際處理工作,而低層模塊是實(shí)際輸入、計(jì)算和輸出的具體執(zhí)行者。

第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

64結(jié)束返回4.2.6數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)的各個(gè)元素之間的邏輯關(guān)系的一種表示。

數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)應(yīng)確定數(shù)據(jù)的組織、存取方式、相關(guān)程度、以及信息的不同處理方法。

數(shù)據(jù)結(jié)構(gòu)的組織方法和復(fù)雜程度可以靈活多樣,但典型的數(shù)據(jù)結(jié)構(gòu)種類是有限的,它們是構(gòu)成一些更復(fù)雜結(jié)構(gòu)的基本構(gòu)件塊。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

65結(jié)束返回4.2.6數(shù)據(jù)結(jié)構(gòu)

圖4.22典型的數(shù)據(jù)結(jié)構(gòu)

第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

66結(jié)束返回4.2.7軟件過(guò)程

軟件過(guò)程著重描述各個(gè)模塊的處理細(xì)節(jié)。軟件過(guò)程必須提供精確的處理說(shuō)明,包括事件的順序、正確的判定點(diǎn)、重復(fù)的操作直至數(shù)據(jù)的組織和結(jié)構(gòu)等等。

程序結(jié)構(gòu)與軟件過(guò)程是有關(guān)系的。對(duì)每個(gè)模塊的處理必須指明該模塊所在的上下級(jí)環(huán)境。軟件過(guò)程遵從程序結(jié)構(gòu)的主從關(guān)系,因此它也是層次化的。下圖是一個(gè)模塊內(nèi)的軟件過(guò)程。

第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

67結(jié)束返回4.2.7軟件過(guò)程

圖4.23一個(gè)模塊內(nèi)的軟件過(guò)程第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

68結(jié)束返回4.2.8信息隱蔽

信息隱蔽是指,每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其它模塊來(lái)說(shuō)是隱蔽的。就是說(shuō),模塊中所包含的信息(包括數(shù)據(jù)和過(guò)程)不允許其它不需要這些信息的模塊使用。

通過(guò)信息隱蔽,則可定義和實(shí)施對(duì)模塊的過(guò)程細(xì)節(jié)和局部數(shù)據(jù)結(jié)構(gòu)的存取限制。

第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

69結(jié)束返回4.3體系結(jié)構(gòu)設(shè)計(jì)

4.3.1體系結(jié)構(gòu)設(shè)計(jì)的工具

HIPO(HierarchyPlusInput/Processing/Output)圖是IBM公司在20世紀(jì)70年代發(fā)展起來(lái)的用于描述軟件結(jié)構(gòu)的圖形工具。它實(shí)質(zhì)上是在描述軟件總體模塊結(jié)構(gòu)的層次圖(H圖)的基礎(chǔ)上,加入了用于描述每個(gè)模塊輸入/輸出數(shù)據(jù)和處理功能的IPO圖,因此它的中文全名為層次圖加輸入/處理/輸出圖。(1)HIPO圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

70結(jié)束返回圖4.24工資計(jì)算系統(tǒng)的H圖①HIPO圖中的H圖

H圖用于在體系結(jié)構(gòu)設(shè)計(jì)過(guò)程中描繪軟件的層次結(jié)構(gòu)。在H圖中,每一個(gè)矩形框代表一個(gè)模塊,圖中最頂層的矩形框表示系統(tǒng)中的主控模塊,矩形框之間的連線用于表示模塊之間的調(diào)用關(guān)系。為了使H圖更具有可追蹤性,可以為除頂層矩形框以外的其他矩形框加上能反映層次關(guān)系的編號(hào)。

H圖比較適用于自頂向下進(jìn)行分解的軟件結(jié)構(gòu)設(shè)計(jì)方法。工資計(jì)算系統(tǒng)的H圖如圖4.24所示。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

71結(jié)束返回4.3.1體系結(jié)構(gòu)設(shè)計(jì)的工具②IPO圖

IPO圖能夠方便、清晰地描繪出模塊的輸入數(shù)據(jù)、加工和輸出數(shù)據(jù)之間的關(guān)系。與層次圖中每個(gè)矩形框相對(duì)應(yīng),應(yīng)該有一張IPO圖描述該矩形框所代表的模塊的具體處理過(guò)程,作為對(duì)層次圖中內(nèi)容的補(bǔ)充說(shuō)明。第5章軟件系統(tǒng)設(shè)計(jì)2023/12/5

72結(jié)束返回5.3.1體系結(jié)構(gòu)設(shè)計(jì)的工具②IPO圖圖4.25計(jì)算工資模塊的IPO圖

IPO圖的基本形式為:在圖中左邊的框中列出模塊涉及的所有輸入數(shù)據(jù),在中間的框中列出主要的加工,在右邊的框中列出處理后產(chǎn)生的輸出數(shù)據(jù);圖中的箭頭用于指明輸入數(shù)據(jù)、加工和輸出結(jié)果之間的關(guān)系。工資計(jì)算系統(tǒng)中的計(jì)算工資模塊的IPO圖如圖4.25所示。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

73結(jié)束返回4.3.1體系結(jié)構(gòu)設(shè)計(jì)的工具(2)結(jié)構(gòu)圖在軟件工程中,軟件結(jié)構(gòu)經(jīng)常采用20世紀(jì)70年代中期由Yourdon等人提出的結(jié)構(gòu)圖(SC,StructureChart)這種圖形工具來(lái)表示。

結(jié)構(gòu)圖能夠描述出軟件系統(tǒng)的模塊層次結(jié)構(gòu),清楚地反映出程序中各模塊之間的調(diào)用關(guān)系和聯(lián)系。結(jié)構(gòu)圖中的基本符號(hào)及其含義見表4.1。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

74結(jié)束返回表4.1結(jié)構(gòu)圖中的基本符號(hào)ABCABC符號(hào)含義用于表示模塊,方框中標(biāo)明模塊的名稱用于描述模塊之間的調(diào)用關(guān)系用于表示模塊調(diào)用過(guò)程中傳遞的信息,箭頭上標(biāo)明信息的名稱;箭頭尾部為空心圓表示傳遞的信息是數(shù)據(jù),若為實(shí)心圓則表示傳遞的是控制信息

表示模塊A選擇調(diào)用模塊B或模塊C表示模塊A循環(huán)調(diào)用模塊B和模塊C第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

75結(jié)束返回4.3.3體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書是體系結(jié)構(gòu)設(shè)計(jì)階段中最重要的技術(shù)文檔,其主要內(nèi)容應(yīng)包括:

(1)引言:用于說(shuō)明編寫本說(shuō)明書的目的、背景,定義所用到的術(shù)語(yǔ)和縮略語(yǔ),以及列出文檔中所引用的參考資料等。

(2)總體設(shè)計(jì):用于說(shuō)明軟件的需求規(guī)定、運(yùn)行環(huán)境要求、處理流程及軟件體系結(jié)構(gòu)等。

(3)運(yùn)行設(shè)計(jì):用于說(shuō)明軟件的運(yùn)行模塊組合、運(yùn)行控制方式及運(yùn)行時(shí)間等。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

76結(jié)束返回4.3.3體系結(jié)構(gòu)設(shè)計(jì)說(shuō)明書

(4)模塊設(shè)計(jì):用于說(shuō)明軟件中各模塊的功能、性能及接口等。

(5)數(shù)據(jù)設(shè)計(jì):用于說(shuō)明軟件系統(tǒng)所涉及的數(shù)據(jù)對(duì)象的邏輯數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。

(6)出錯(cuò)處理設(shè)計(jì):用于說(shuō)明軟件系統(tǒng)可能出現(xiàn)的各種錯(cuò)誤及可采取的處理措施。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

77結(jié)束返回結(jié)構(gòu)化設(shè)計(jì)(SD,StructureDesign)方法是基于模塊化、自頂向下細(xì)化、結(jié)構(gòu)化程序設(shè)計(jì)等程序設(shè)計(jì)技術(shù)基礎(chǔ)發(fā)展起來(lái)的。它所提供的方法和原則,主要是用來(lái)指導(dǎo)軟件的概要設(shè)計(jì)。它還提供了一種“結(jié)構(gòu)圖”的描述工具,是專門用來(lái)描述軟件的總體結(jié)構(gòu)的。4.4面向數(shù)據(jù)流設(shè)計(jì)方法(SD)結(jié)構(gòu)化設(shè)計(jì)方法第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

78結(jié)束返回該方法實(shí)施的步驟是:首先研究、分析和審查數(shù)據(jù)流圖。從軟件的需求規(guī)格說(shuō)明中弄清數(shù)據(jù)流加工的過(guò)程,對(duì)于發(fā)現(xiàn)的問(wèn)題及時(shí)解決。然后根據(jù)數(shù)據(jù)流圖確定數(shù)據(jù)處理的類型。典型的類型有兩種:變換型和事務(wù)型。針對(duì)兩種不同類型分別進(jìn)行分析處理。結(jié)構(gòu)化設(shè)計(jì)方法第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

79結(jié)束返回由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖。利用一些啟發(fā)式原則改進(jìn)系統(tǒng)初始結(jié)構(gòu)圖,直到得到符合要求的結(jié)構(gòu)圖為止。修改和補(bǔ)充數(shù)據(jù)詞典。制定測(cè)試計(jì)劃。結(jié)構(gòu)化設(shè)計(jì)方法第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

80結(jié)束返回4.4面向數(shù)據(jù)流設(shè)計(jì)方法(SD)

面向數(shù)據(jù)流屬于結(jié)構(gòu)化設(shè)計(jì)的設(shè)計(jì)方法。在軟件的需求分析階段,數(shù)據(jù)流是軟件開發(fā)人員考慮問(wèn)題的出發(fā)點(diǎn)和基礎(chǔ)。數(shù)據(jù)流從系統(tǒng)的輸入端到輸出端,要經(jīng)歷一系列的變換或處理。用來(lái)表現(xiàn)這個(gè)過(guò)程的數(shù)據(jù)流圖(DFD)實(shí)際上就是軟件系統(tǒng)的邏輯模型。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

81結(jié)束返回面向數(shù)據(jù)流的設(shè)計(jì)要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將DFD圖

映射成軟件系統(tǒng)結(jié)構(gòu)圖-SC圖。

換句話說(shuō),這類設(shè)計(jì)方法,允許把用DFD圖表示的系統(tǒng)邏輯模型,很方便地轉(zhuǎn)換成對(duì)于軟件結(jié)構(gòu)的初始設(shè)計(jì)描述。

在結(jié)構(gòu)化設(shè)計(jì)方法中,我們一律用SC圖來(lái)描述軟件系統(tǒng)的結(jié)構(gòu)。4.4面向數(shù)據(jù)流設(shè)計(jì)方法(SD)第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

82結(jié)束返回目標(biāo)系統(tǒng)的DFDSC圖---StructuredChart

該圖常用來(lái)表示系統(tǒng)的軟件結(jié)構(gòu)。利用它可以清楚地表達(dá)軟件結(jié)構(gòu)中模塊間的層次調(diào)用關(guān)系和模塊之間的聯(lián)系。

SD目標(biāo)系統(tǒng)的SC圖4.21面向數(shù)據(jù)流設(shè)計(jì)4.4面向數(shù)據(jù)流設(shè)計(jì)方法(SD)第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

83結(jié)束返回SC圖中的主要內(nèi)容A

1、模塊--SC圖中用矩形框表示,并用名字來(lái)標(biāo)記

模塊調(diào)用關(guān)系

2、模塊的調(diào)用關(guān)系和接口B調(diào)用模塊調(diào)用模塊A(查詢學(xué)生)B(查找學(xué)生記錄)數(shù)據(jù)信號(hào)控制信號(hào)學(xué)號(hào)查找成功信號(hào)模塊間接口的表示圖4.22SC圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

84結(jié)束返回SC圖的一般格式產(chǎn)生最佳解得到好的輸入計(jì)算最佳解輸出結(jié)果讀輸入編輯輸入好輸入好輸入解解原始輸入原始輸入編輯結(jié)果結(jié)果格式化顯示結(jié)果解格式化的解圖4.23SC圖一般格式第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

85結(jié)束返回思考題:你的目標(biāo)系統(tǒng)中的體系結(jié)構(gòu)(系統(tǒng)層次結(jié)構(gòu))和數(shù)據(jù)庫(kù)如何設(shè)計(jì)。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

86結(jié)束返回4.4.1典型的系統(tǒng)結(jié)構(gòu)形式(1)系統(tǒng)結(jié)構(gòu)圖中的模塊原子模塊:

在系統(tǒng)結(jié)構(gòu)圖中通常是指不能再分割的底層模塊

完全因子分解系統(tǒng)

如果一個(gè)軟件系統(tǒng),它的全部實(shí)際加工

(即數(shù)據(jù)計(jì)算或處理)都是由底層的原子模塊來(lái)完成,而其它所有非原子模塊僅僅執(zhí)行控制或協(xié)調(diào)功能。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

87結(jié)束返回(1)系統(tǒng)結(jié)構(gòu)圖中的模塊

在系統(tǒng)結(jié)構(gòu)圖中有四種類型的模塊:傳入模塊成績(jī)處理成績(jī)錄入

從下屬模塊取得數(shù)據(jù),進(jìn)行某些處理,再將結(jié)果傳給上級(jí)模塊。將它傳送的數(shù)據(jù)流稱為邏輯輸入數(shù)據(jù)流。

傳入模塊AA邏輯輸入數(shù)據(jù)流圖4.24傳入模塊第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

88結(jié)束返回(1)系統(tǒng)結(jié)構(gòu)圖中的模塊傳出模塊從上級(jí)模塊獲得數(shù)據(jù),進(jìn)行某些處理,再將其結(jié)果傳給下屬模塊。在此,將它傳送的數(shù)據(jù)流稱為邏輯輸出數(shù)據(jù)流。成績(jī)處理成績(jī)輸出

傳出模塊D邏輯輸出數(shù)據(jù)流D圖4.25傳出模塊第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

89結(jié)束返回(1)系統(tǒng)結(jié)構(gòu)圖中的模塊變換模塊

也叫加工模塊。它是從上級(jí)模塊獲得數(shù)據(jù),進(jìn)行特定的處理,將其轉(zhuǎn)換為其他形式,再傳回上級(jí)模塊它所加工的數(shù)據(jù)流叫做變換數(shù)據(jù)流。

變換模塊CB變換數(shù)據(jù)流審查并開發(fā)票發(fā)票購(gòu)書單

圖4.26變換模塊第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

90結(jié)束返回(1)系統(tǒng)結(jié)構(gòu)圖中的模塊協(xié)調(diào)模塊對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。在一個(gè)好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)。協(xié)調(diào)模塊YXYX圖4.27協(xié)調(diào)模塊第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

91結(jié)束返回(2)變換型系統(tǒng)結(jié)構(gòu)圖變換型數(shù)據(jù)處理問(wèn)題的工作過(guò)程大致分為三步,即取得數(shù)據(jù),變換數(shù)據(jù)和給出數(shù)據(jù)。相應(yīng)于取得數(shù)據(jù)、變換數(shù)據(jù)、給出數(shù)據(jù),變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換和輸出等三部分組成。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

92結(jié)束返回(2)變換型系統(tǒng)結(jié)構(gòu)圖圖4.28

具有變換型數(shù)據(jù)流圖取得數(shù)據(jù)iaeo變換數(shù)據(jù)給出數(shù)據(jù)傳入部分變換中心傳出部分第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

93結(jié)束返回(2)變換型系統(tǒng)結(jié)構(gòu)圖取得數(shù)據(jù)CD變換數(shù)據(jù)給出數(shù)據(jù)DFD--SC第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

94結(jié)束返回(2)變換型系統(tǒng)結(jié)構(gòu)圖主模塊C變換成D取得C給出D取得BB變換成CD變換成E給出E取得AA變換成BAABBBCCDCDED協(xié)調(diào)模塊變換模塊傳出模塊圖4.29具有變換型系統(tǒng)結(jié)構(gòu)圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

95結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖它接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。在事務(wù)型系統(tǒng)結(jié)構(gòu)圖中,事務(wù)中心模塊按所接受的事務(wù)的類型,選擇某一事務(wù)處理模塊執(zhí)行。各事務(wù)處理模塊并列。每個(gè)事務(wù)處理模塊可能要調(diào)用若干個(gè)操作模塊,而操作模塊又可能調(diào)用若干細(xì)節(jié)模塊。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

96結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖“事務(wù)”引起、觸發(fā)或啟動(dòng)某一動(dòng)作或一串動(dòng)作的任何數(shù)據(jù)、控制信號(hào)、事件或狀態(tài)的變化。由它接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì)選擇分配一個(gè)適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

97結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖輸入1ABC3DEFGH24567中心變換輸出邏輯輸入物理輸入邏輯輸出物理輸出圖4.30事務(wù)型數(shù)據(jù)流圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

98結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖圖4.31事務(wù)型數(shù)據(jù)流圖(DFD)1ABC3DEFGH24567第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

99結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖圖4.32事務(wù)型數(shù)據(jù)流圖(SC)MT3邏輯輸入邏輯輸出CDCD,E,F456第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

100結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖事務(wù)中心輸入已分析的作業(yè)內(nèi)部表示的作業(yè)結(jié)果圖4.33事務(wù)型系統(tǒng)結(jié)構(gòu)(層次)圖輸出結(jié)果調(diào)度作業(yè)信息讀入作業(yè)分析作業(yè)事務(wù)1事務(wù)2事務(wù)3事務(wù)4操作2操作3操作4操作5操作6操作1細(xì)節(jié)2細(xì)節(jié)3細(xì)節(jié)4細(xì)節(jié)5細(xì)節(jié)6細(xì)節(jié)1細(xì)節(jié)7結(jié)果第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

101結(jié)束返回(3)事務(wù)型系統(tǒng)結(jié)構(gòu)圖圖4.34簡(jiǎn)化的事務(wù)型系統(tǒng)結(jié)構(gòu)圖

事務(wù)中心得到作業(yè)作業(yè)結(jié)果輸出結(jié)果分析調(diào)度事務(wù)1事務(wù)2事務(wù)3第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

102結(jié)束返回4.4.2從DFD圖導(dǎo)出SC圖的步驟開始細(xì)化修改SRS中的DFD圖判斷DFD圖的結(jié)構(gòu)類型是變換型嗎?F事務(wù)分析變換分析完善SC圖T對(duì)最終的SC圖進(jìn)行評(píng)審結(jié)束圖4.35DFD圖導(dǎo)出SC圖的流程圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

103結(jié)束返回變換分析---將具有變換型的DFD圖導(dǎo)出為SC圖變換分析從物理輸入、物理輸出及變換中心進(jìn)行由頂向下的分解得出各個(gè)分支的所有組成模塊。在數(shù)據(jù)流圖上區(qū)分系統(tǒng)的邏輯輸入、邏輯輸出和變換中心部分,并標(biāo)出它們的分界。進(jìn)行一級(jí)分解,設(shè)計(jì)系統(tǒng)模塊結(jié)構(gòu)的頂層和第一層。進(jìn)行二級(jí)分解,設(shè)計(jì)中、下層模塊。(1)變換分析第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

104結(jié)束返回(1)變換分析①在DFD

圖上標(biāo)出邏輯輸入、邏輯輸出和變換中心的分界AeBaCbDcEdPQRwuvwuvrp變換中心c,e邏輯輸入w,u邏輯輸出圖4.36具有變換型數(shù)據(jù)流圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

105結(jié)束返回(1)變換分析②完成第一級(jí)分解AabcPwuvrpBCDdeEQRWUV變換中心圖4.36具有變換型數(shù)據(jù)流圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

106結(jié)束返回(1)變換分析McMAMTMEC,eC,eU,wU,w頂層第一層圖4.37第一級(jí)分解后的SC圖協(xié)調(diào)模塊YXYX第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

107結(jié)束返回(1)變換分析③完成第二級(jí)分解MA圖4.38對(duì)邏輯輸入的分解CEBADabdeccbaABCMAEDde圖4.39邏輯輸入模塊的調(diào)用與執(zhí)行過(guò)程第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

108結(jié)束返回(1)變換分析③完成第二級(jí)分解圖4.40對(duì)邏輯輸入的分解EDMACBAabdecMAGetCGetEBtoCAtoBDtoEaecReadDGetBReadAc,eabbbcde第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

109結(jié)束返回(1)變換分析③完成第二級(jí)分解ME圖4.41對(duì)輸出的分解WUVvuwMTQPR

eC,prU,w圖4.42對(duì)變換中心加工的分解

prw,u第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

110結(jié)束返回(1)變換分析④獲得完整的SC

圖MACBAEDMTQPR圖4.43從變換分析導(dǎo)出的初始SC圖MEWUVMCc,eW,uW,uC,e第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

111結(jié)束返回(1)變換分析運(yùn)用變換分析方法建立系統(tǒng)的SC時(shí)需注意以下幾點(diǎn):

模塊設(shè)計(jì)的次序時(shí),應(yīng)遵循對(duì)一個(gè)模塊的全部直接下屬模塊都設(shè)計(jì)完成后,再轉(zhuǎn)向另一個(gè)模塊的下層模塊的設(shè)計(jì)。在設(shè)計(jì)下層模塊時(shí),應(yīng)考慮模塊的耦合和內(nèi)聚問(wèn)題,以提高設(shè)計(jì)初始SC圖的質(zhì)量。注意“黑盒”技術(shù)的使用。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

112結(jié)束返回(1)變換分析運(yùn)用變換分析方法建立系統(tǒng)的SC時(shí)需注意以下幾點(diǎn):主模塊ABCA1A2A3A11A12A13圖4.44系統(tǒng)SC圖標(biāo)記模塊標(biāo)記第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

113結(jié)束返回(1)變換分析低功能內(nèi)聚信息內(nèi)聚通信內(nèi)聚過(guò)程內(nèi)聚時(shí)間內(nèi)聚邏輯內(nèi)聚巧合性內(nèi)聚高強(qiáng)弱內(nèi)聚性模塊獨(dú)立性低非直接耦合數(shù)據(jù)耦合標(biāo)記耦合控制耦合外部耦合公共耦合內(nèi)容耦合高弱強(qiáng)耦合性模塊獨(dú)立性具有高內(nèi)聚低耦合的模塊才是模塊獨(dú)立性比較強(qiáng)的模塊。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

114結(jié)束返回(1)變換分析模塊A模塊D模塊C模塊B非直接耦合通過(guò)參數(shù)表傳遞數(shù)據(jù)(數(shù)據(jù)耦合)通過(guò)參數(shù)表傳遞數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)耦合)圖4.45具有松散型

的耦合類型

具有松散型

的耦合度第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

115結(jié)束返回(2)事務(wù)分析事務(wù)分析在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能。這種數(shù)據(jù)流就叫做事務(wù)。

與變換分析一樣,事務(wù)分析也是從分析數(shù)據(jù)流圖開始,自頂向下,逐步分解,建立系統(tǒng)體系結(jié)構(gòu)圖。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

116結(jié)束返回(2)事務(wù)分析事務(wù)分析----將具有事務(wù)型的DFD圖導(dǎo)出為SC圖IALMNOBCDEFGH事務(wù)中心事務(wù)源圖4.46第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

117結(jié)束返回(2)事務(wù)分析IALMNOBCDEFGH主模塊給出H取得ALMNA

GHBECF

D圖4.47第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

118結(jié)束返回4.4.2從DFD圖導(dǎo)出SC圖的步驟變換分析是軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的主要方法。一般,一個(gè)大型的軟件系統(tǒng)是變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)的混合結(jié)構(gòu)。所以,我們通常利用以變換分析為主,事務(wù)分析為輔的方式進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

119結(jié)束返回4.4.2從DFD圖導(dǎo)出SC圖的步驟實(shí)例分析轉(zhuǎn)換:工資計(jì)算系統(tǒng)第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

120結(jié)束返回圖3.17工資計(jì)算系統(tǒng)的頂層(0層)數(shù)據(jù)流圖建立頂層數(shù)據(jù)流圖—系統(tǒng)基本模型第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

121結(jié)束返回圖3.19工資計(jì)算系統(tǒng)第一層數(shù)據(jù)流圖實(shí)例—分層細(xì)化例:工資計(jì)算系統(tǒng)第3章軟件需求分析與建模2023/12/5

122結(jié)束返回圖3.20工資計(jì)算系統(tǒng)的第二層數(shù)據(jù)流圖(a)“計(jì)算工資”子數(shù)據(jù)流圖;(b)“工資轉(zhuǎn)存”子數(shù)據(jù)流圖實(shí)例—分層細(xì)化第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

123結(jié)束返回圖3.21工資計(jì)算系統(tǒng)的第三層數(shù)據(jù)流圖實(shí)例—分層細(xì)化第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

124結(jié)束返回圖4.24工資計(jì)算系統(tǒng)的H圖第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

125結(jié)束返回再見!第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

126結(jié)束返回4.4.3軟件模塊結(jié)構(gòu)的改進(jìn)1、模塊功能的完善化執(zhí)行指定的功能部分出錯(cuò)處理的部分。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

127結(jié)束返回4.4.3軟件模塊結(jié)構(gòu)的改進(jìn)2、消除重復(fù)功能,改善軟件結(jié)構(gòu)。完全相似局部相似第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

128結(jié)束返回4.4.3軟件模塊結(jié)構(gòu)的改進(jìn)XYR1R2

物理輸入相似部分XYR1R2RX+R1

Y+R2R相似模塊的各種合并方案的示意圖圖4.48第4章軟件系統(tǒng)設(shè)計(jì)2023/12/5

129結(jié)束返回4.4.3軟件模塊結(jié)構(gòu)的改進(jìn)3、模塊的作用范圍應(yīng)在控制范圍之內(nèi)。作用范圍:是一個(gè)與條件判定相關(guān)聯(lián)的所有模塊??刂品秶?包括模塊本身及其所有的從屬模塊(即供它調(diào)用的模塊)。第4章軟件系統(tǒng)設(shè)計(jì)2023/12/

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論