第3章 軟件設(shè)計_第1頁
第3章 軟件設(shè)計_第2頁
第3章 軟件設(shè)計_第3頁
第3章 軟件設(shè)計_第4頁
第3章 軟件設(shè)計_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 軟件設(shè)計是軟件開發(fā)的關(guān)鍵步驟,直接影響軟軟件設(shè)計是軟件開發(fā)的關(guān)鍵步驟,直接影響軟件質(zhì)量件質(zhì)量。軟件設(shè)計階段要解決軟件設(shè)計階段要解決“如何做如何做”的問題。的問題。 將分析階段獲得的需求說明轉(zhuǎn)換為計算機中可將分析階段獲得的需求說明轉(zhuǎn)換為計算機中可實現(xiàn)的系統(tǒng)。包括實現(xiàn)的系統(tǒng)。包括: :軟件體系結(jié)構(gòu)的設(shè)計軟件體系結(jié)構(gòu)的設(shè)計用戶界面的設(shè)計用戶界面的設(shè)計數(shù)據(jù)結(jié)構(gòu)的設(shè)計數(shù)據(jù)結(jié)構(gòu)的設(shè)計算法的設(shè)計算法的設(shè)計 即軟件設(shè)計的任務(wù)是通過多項設(shè)計,構(gòu)造一個即軟件設(shè)計的任務(wù)是通過多項設(shè)計,構(gòu)造一個高內(nèi)聚低耦合的軟件模型。高內(nèi)聚低耦合的軟件模型。過程設(shè)計過程設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計數(shù)據(jù)設(shè)計界面設(shè)計界面設(shè)計軟

2、件設(shè)計軟件設(shè)計 從工程管理的角度來看,軟件設(shè)計分兩步完成,分從工程管理的角度來看,軟件設(shè)計分兩步完成,分為總體設(shè)計(概要設(shè)計)和詳細設(shè)計兩個階段。為總體設(shè)計(概要設(shè)計)和詳細設(shè)計兩個階段。 概要設(shè)計。將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系概要設(shè)計。將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。統(tǒng)結(jié)構(gòu)。 詳細設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件詳詳細設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件詳細的數(shù)據(jù)結(jié)構(gòu)和算法。細的數(shù)據(jù)結(jié)構(gòu)和算法。軟件設(shè)計工作流程需求需求說明書說明書復(fù)復(fù)審審軟件結(jié)構(gòu)軟件結(jié)構(gòu)可接受可接受模塊描述復(fù)復(fù)審審修修 改改修修 改改總總體體設(shè)設(shè)計計詳細詳細設(shè)計設(shè)計 軟件設(shè)計的目標就是構(gòu)造一個高內(nèi)聚低

3、耦合的軟件設(shè)計的目標就是構(gòu)造一個高內(nèi)聚低耦合的軟件模型。軟件模型。軟件軟件高可靠高可靠性性高可維高可維護性護性高可理高可理解性解性高效率高效率軟件設(shè)計的目標衡量軟件設(shè)計的目標的衡量軟件設(shè)計的目標的準則準則: 軟件實體有明顯的層次結(jié)構(gòu),利于軟件元素間控制;軟件實體有明顯的層次結(jié)構(gòu),利于軟件元素間控制; 軟件實體應(yīng)該是模塊化的,模塊具有獨立功能;軟件實體應(yīng)該是模塊化的,模塊具有獨立功能; 設(shè)計規(guī)格說明清晰、簡潔、完整和無二義性。設(shè)計規(guī)格說明清晰、簡潔、完整和無二義性。 軟件實體與環(huán)境的界面清晰;軟件實體與環(huán)境的界面清晰;3.1.1 3.1.1 軟件體系結(jié)構(gòu)設(shè)計軟件體系結(jié)構(gòu)設(shè)計軟件體系結(jié)構(gòu)確定了系統(tǒng)

4、的組織結(jié)構(gòu)和拓撲結(jié)構(gòu)軟件體系結(jié)構(gòu)確定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)的元素之間的對應(yīng)關(guān)系,提供了一些設(shè)計決策的基本原理。,提供了一些設(shè)計決策的基本原理。 體系結(jié)構(gòu)的設(shè)計過程的主要活動:體系結(jié)構(gòu)的設(shè)計過程的主要活動:1. 1.系統(tǒng)分解系統(tǒng)分解將系統(tǒng)分解為若干相互作用的子系統(tǒng)。將系統(tǒng)分解為若干相互作用的子系統(tǒng)。2. 2.控制建??刂平=⑾到y(tǒng)各部分間控制關(guān)系的一般模型。建立系統(tǒng)各部分間控制關(guān)系的一般模型。3.3.模塊分解模塊分解 將子系統(tǒng)進一步劃分為模塊。將子系統(tǒng)進一步劃分為模塊。注意注意: :往往子系統(tǒng)與模塊之間沒有明顯界限往往

5、子系統(tǒng)與模塊之間沒有明顯界限. .體系結(jié)構(gòu)設(shè)計是軟件設(shè)計的第一個階段,該階段側(cè)體系結(jié)構(gòu)設(shè)計是軟件設(shè)計的第一個階段,該階段側(cè)重于系統(tǒng)宏觀結(jié)構(gòu)的設(shè)計,而不關(guān)心模塊的內(nèi)部算法。重于系統(tǒng)宏觀結(jié)構(gòu)的設(shè)計,而不關(guān)心模塊的內(nèi)部算法。分為集中式的倉庫模型、分布式結(jié)構(gòu)等分為集中式的倉庫模型、分布式結(jié)構(gòu)等 一、倉庫模型一、倉庫模型(The repository modelThe repository model) 也稱也稱“容器模型容器模型 ” ”,是一種集中式的模型。中央,是一種集中式的模型。中央數(shù)據(jù)倉庫存儲各個子系統(tǒng)共享的數(shù)據(jù),其它的子系統(tǒng)數(shù)據(jù)倉庫存儲各個子系統(tǒng)共享的數(shù)據(jù),其它的子系統(tǒng)可以直接訪問這些共享數(shù)據(jù)

6、。子系統(tǒng)之間緊密耦合。可以直接訪問這些共享數(shù)據(jù)。子系統(tǒng)之間緊密耦合。 中央數(shù)據(jù)倉庫中央數(shù)據(jù)倉庫(Repository)(Repository)子系統(tǒng)子系統(tǒng)1 1子系統(tǒng)子系統(tǒng)2 2子系統(tǒng)子系統(tǒng)n n 倉庫結(jié)構(gòu)一、倉庫模型一、倉庫模型(The repository modelThe repository model)設(shè)計編輯器設(shè)計編輯器代碼生成器代碼生成器設(shè)計分析器設(shè)計分析器報告生成器報告生成器設(shè)計轉(zhuǎn)換器設(shè)計轉(zhuǎn)換器項項 目目 存存 儲儲程序編輯器程序編輯器 集成CASE工具集的體系結(jié)構(gòu) 各子系統(tǒng)共享中央數(shù)據(jù)庫中的數(shù)據(jù)各子系統(tǒng)共享中央數(shù)據(jù)庫中的數(shù)據(jù)共享容器模型共享容器模型 各子系統(tǒng)有自己的數(shù)據(jù)庫,子

7、系統(tǒng)之間通過消息傳各子系統(tǒng)有自己的數(shù)據(jù)庫,子系統(tǒng)之間通過消息傳遞實現(xiàn)數(shù)據(jù)交換。遞實現(xiàn)數(shù)據(jù)交換。適宜命令控制系統(tǒng)、適宜命令控制系統(tǒng)、CADCAD系統(tǒng)系統(tǒng) 倉庫模型的主要優(yōu)缺點:倉庫模型的主要優(yōu)缺點:優(yōu)點:優(yōu)點: 1.共享大數(shù)據(jù)量的有效方法。共享大數(shù)據(jù)量的有效方法。 2.子系統(tǒng)不必關(guān)心其它的子系統(tǒng)如何使用它所產(chǎn)生的數(shù)子系統(tǒng)不必關(guān)心其它的子系統(tǒng)如何使用它所產(chǎn)生的數(shù)據(jù)。據(jù)。 3.易于將新子系統(tǒng)集成,若新子系統(tǒng)也采用相同規(guī)范易于將新子系統(tǒng)集成,若新子系統(tǒng)也采用相同規(guī)范 。 缺陷:缺陷: 1.為了共享數(shù)據(jù)為了共享數(shù)據(jù) ,各子系統(tǒng)必須有一致的數(shù)據(jù)視圖各子系統(tǒng)必須有一致的數(shù)據(jù)視圖 ,不,不可避免地會影響了整個

8、系統(tǒng)的性能??杀苊獾貢绊懥苏麄€系統(tǒng)的性能。 2.子系統(tǒng)的改變,使產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)也可能發(fā)生改變。子系統(tǒng)的改變,使產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)也可能發(fā)生改變。 3.統(tǒng)一的數(shù)據(jù)庫統(tǒng)一的數(shù)據(jù)庫 結(jié)構(gòu)結(jié)構(gòu)(備份、安全、訪問控制和恢復(fù)的備份、安全、訪問控制和恢復(fù)的策策 ),將影響子系統(tǒng)的效率將影響子系統(tǒng)的效率 。二、二、 客戶機客戶機/ /服務(wù)器模型服務(wù)器模型(Client/Server Architectural ModelClient/Server Architectural Model) C/S C/S結(jié)構(gòu)是一種結(jié)構(gòu)是一種分布式模型分布式模型,采用發(fā)請求、得結(jié),采用發(fā)請求、得結(jié)果的模式:果的模式:客戶機客戶機

9、向服務(wù)器發(fā)出請求向服務(wù)器發(fā)出請求( (數(shù)據(jù)請求、網(wǎng)頁請求、數(shù)據(jù)請求、網(wǎng)頁請求、文件傳輸請求等等文件傳輸請求等等) ),服務(wù)器服務(wù)器 響應(yīng)請求,進行相應(yīng)的操作,將結(jié)果回傳給響應(yīng)請求,進行相應(yīng)的操作,將結(jié)果回傳給客戶機,客戶機再將格式化后的結(jié)果呈現(xiàn)給用戶。客戶機,客戶機再將格式化后的結(jié)果呈現(xiàn)給用戶。C/SC/S結(jié)構(gòu)的應(yīng)用都由三個相對獨立的邏輯部分組成:結(jié)構(gòu)的應(yīng)用都由三個相對獨立的邏輯部分組成:用戶界面用戶界面應(yīng)用邏輯應(yīng)用邏輯數(shù)據(jù)訪問數(shù)據(jù)訪問三種邏輯之間的關(guān)系1. 兩層客戶機兩層客戶機/服務(wù)器模型服務(wù)器模型 Two Tier Client/Server Architectural Model服務(wù)器服

10、務(wù)器1 1網(wǎng)絡(luò)網(wǎng)絡(luò)服務(wù)器服務(wù)器2 2服務(wù)器服務(wù)器MM客戶客戶1 1客戶客戶2 2客戶客戶N N兩層兩層Client/ServerClient/Server結(jié)構(gòu)結(jié)構(gòu)請求請求結(jié)果結(jié)果請求請求C/SC/S的工作模式是一種遠程過程調(diào)用的工作模式是一種遠程過程調(diào)用(RPC(RPC,Remote Remote Procedure Call)Procedure Call)模式,允許客戶端和服務(wù)器端有不同的模式,允許客戶端和服務(wù)器端有不同的軟硬平臺。軟硬平臺。電影圖片庫的系統(tǒng)的體系結(jié)構(gòu)client1 1clientclient2 2clientclient4 4clientclient3 3Wide-band

11、width netwokWide-bandwidth netwokCatalogueCatalogueserverservercataloguecataloguevideovideoserverserverFilm clipFilm clipfilesfilespicturepictureserverserverdigitiseddigitisedphotographsphotographshypertexthypertextserverserverhypertexthypertextwebweb例:例:Two Tier Client/Server Architectural ModelTwo

12、 Tier Client/Server Architectural Model 完整的應(yīng)用包含三個相對獨立的邏輯部分,而兩層的完整的應(yīng)用包含三個相對獨立的邏輯部分,而兩層的C/SC/S結(jié)構(gòu)只有兩個端應(yīng)用。應(yīng)用邏輯應(yīng)該映射到哪一端上結(jié)構(gòu)只有兩個端應(yīng)用。應(yīng)用邏輯應(yīng)該映射到哪一端上呢?呢? 三種情況:三種情況:網(wǎng)網(wǎng) 絡(luò)絡(luò)用戶界面用戶界面客戶端邏客戶端邏輯應(yīng)用輯應(yīng)用服務(wù)端邏輯服務(wù)端邏輯應(yīng)用應(yīng)用客戶端客戶端用戶界面用戶界面邏輯應(yīng)用邏輯應(yīng)用數(shù)據(jù)訪問數(shù)據(jù)訪問用戶界面用戶界面邏輯應(yīng)用邏輯應(yīng)用數(shù)據(jù)訪問數(shù)據(jù)訪問服務(wù)器服務(wù)器應(yīng)用邏輯層的映射情況數(shù)據(jù)訪問數(shù)據(jù)訪問C/SC/S應(yīng)用應(yīng)用3 3C/SC/S應(yīng)用應(yīng)用1 1C/

13、SC/S應(yīng)用應(yīng)用2 2 兩層兩層C/SC/S架構(gòu)將數(shù)據(jù)表示和處理邏輯分開架構(gòu)將數(shù)據(jù)表示和處理邏輯分開 ,但應(yīng)用邏,但應(yīng)用邏輯和兩端之一是緊耦合的輯和兩端之一是緊耦合的 ,不適宜多用戶、多數(shù)據(jù)庫、,不適宜多用戶、多數(shù)據(jù)庫、非安全的網(wǎng)絡(luò)環(huán)境。非安全的網(wǎng)絡(luò)環(huán)境。 2.三層三層/多層應(yīng)用模型多層應(yīng)用模型(Three/Multi Tier Model) 第一級是數(shù)據(jù)庫管理結(jié)點第一級是數(shù)據(jù)庫管理結(jié)點(database management node)(database management node)。第二級或中間級是第二級或中間級是“商業(yè)邏輯結(jié)點商業(yè)邏輯結(jié)點” ” (business logic nod

14、e),(business logic node),是指具是指具體應(yīng)用中實施的體應(yīng)用中實施的 程序邏輯和法則。程序邏輯和法則。第三級是用戶界面級,強調(diào)高效、方便易用的用戶界面。第三級是用戶界面級,強調(diào)高效、方便易用的用戶界面。Database management nodeDatabase management node(數(shù)據(jù)庫管理結(jié)點)(數(shù)據(jù)庫管理結(jié)點)business logic nodebusiness logic node(商業(yè)邏輯結(jié)點)商業(yè)邏輯結(jié)點)SecuritySecurity(安全)(安全)EventEvent(事件)(事件)SearchSearch(搜索)(搜索)ClientA

15、ClientAClientDClientDClientBClientBClientCClientC服服務(wù)務(wù)器器客客戶戶機機第一級第一級第二級第二級第三級第三級客戶端客戶端用戶界面用戶界面服務(wù)器服務(wù)器數(shù)據(jù)訪問數(shù)據(jù)訪問多層應(yīng)用模型網(wǎng)網(wǎng) 絡(luò)絡(luò)應(yīng)用服務(wù)器應(yīng)用服務(wù)器1 1應(yīng)用邏輯應(yīng)用邏輯應(yīng)用服務(wù)器應(yīng)用服務(wù)器n n應(yīng)用邏輯應(yīng)用邏輯 在多層模型中,中間層會用到應(yīng)用服務(wù),包括事在多層模型中,中間層會用到應(yīng)用服務(wù),包括事務(wù)服務(wù)、消息服務(wù)等等。常見的事務(wù)服務(wù)器有務(wù)服務(wù)、消息服務(wù)等等。常見的事務(wù)服務(wù)器有Microsoft Microsoft Transaction ServerTransaction Server,

16、消息服務(wù)器有,消息服務(wù)器有Microsoft Message QueueMicrosoft Message Queue。三、分布式對象結(jié)構(gòu)三、分布式對象結(jié)構(gòu)(Distributed Objects Architecture) 在在C/SC/S模型中,客戶和服務(wù)器在服務(wù)模型中,客戶和服務(wù)器在服務(wù)/ /請求上的請求上的差別,在一定程度上限制了系統(tǒng)的靈活性和可擴展性差別,在一定程度上限制了系統(tǒng)的靈活性和可擴展性。 采用分布式對象結(jié)構(gòu)采用分布式對象結(jié)構(gòu) : “ “對象對象(Object)”(Object)”提供服務(wù)的系統(tǒng)組件提供服務(wù)的系統(tǒng)組件(System (System Component)Comp

17、onent)。 每個對象在邏輯上是平等的,它們可以互相為對每個對象在邏輯上是平等的,它們可以互相為對方提供所需的服務(wù)。方提供所需的服務(wù)。 提供服務(wù)的對象就是服務(wù)器,而提出服務(wù)請求提供服務(wù)的對象就是服務(wù)器,而提出服務(wù)請求的對象就是客戶。的對象就是客戶。 “ “軟件總線軟件總線(Software Bus)”(Software Bus)”的中間件的中間件(Middleware) (Middleware) 即即對象請求代理對象請求代理(Object Request Broker(Object Request Broker,簡稱,簡稱ORBORB) ) 分布式對象結(jié)構(gòu)具有很好的開放性和透明性,用分布式對

18、象結(jié)構(gòu)具有很好的開放性和透明性,用戶可以非常方便地在總線上添加、更新或刪除組件對戶可以非常方便地在總線上添加、更新或刪除組件對象。象。 軟件總線軟件總線(ORB)(ORB)O O1 1S(OS(O1 1) )O O2 2S(OS(O2 2) )O On nS(OS(On n) )分布式對象結(jié)構(gòu)流行的流行的ORB技術(shù)標準有:技術(shù)標準有:1.CORBA(Common Object Request Broker Architecture) 公共對象請求代理體系結(jié)構(gòu)公共對象請求代理體系結(jié)構(gòu)。由對象管理組織由對象管理組織OMG (Object Management Group)提出的應(yīng)用軟件體系結(jié)構(gòu)和)

19、提出的應(yīng)用軟件體系結(jié)構(gòu)和對象技術(shù)規(guī)范。對象技術(shù)規(guī)范。2.COM(Distributed Component Object Model) 組件對象模型組件對象模型。為組件之間、組件與應(yīng)用程序之間的。為組件之間、組件與應(yīng)用程序之間的通信和互操作提供了統(tǒng)一的標準和技術(shù)規(guī)范,使不同語言通信和互操作提供了統(tǒng)一的標準和技術(shù)規(guī)范,使不同語言開發(fā)的組件可進行基于組件的軟件開發(fā)。開發(fā)的組件可進行基于組件的軟件開發(fā)。 3. EJB(Enterprise Java Bean) 由由Sun公司定義的規(guī)范,公司定義的規(guī)范,EJB構(gòu)件是實現(xiàn)構(gòu)件是實現(xiàn)EJB規(guī)范的規(guī)范的Java構(gòu)件,構(gòu)件,完成企業(yè)級應(yīng)用中的業(yè)務(wù)邏輯。完成企

20、業(yè)級應(yīng)用中的業(yè)務(wù)邏輯。EJB構(gòu)件駐留構(gòu)件駐留在在EJB容器中。容器中。 四、四、 抽象機模型抽象機模型又稱為又稱為分層模型分層模型,通常用于建立子系統(tǒng)的接口模型。每,通常用于建立子系統(tǒng)的接口模型。每層提供一組服務(wù),每層定義一個層提供一組服務(wù),每層定義一個抽象機。抽象機。典型的例子:典型的例子:應(yīng)用層協(xié)議應(yīng)用層協(xié)議表示層協(xié)議表示層協(xié)議會晤層協(xié)議會晤層協(xié)議傳輸層協(xié)議傳輸層協(xié)議 物物 理理 介介 質(zhì)質(zhì)應(yīng)用層應(yīng)用層表示層表示層會晤層會晤層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層應(yīng)用層應(yīng)用層表示層表示層會晤層會晤層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈

21、路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層中繼系統(tǒng)中繼系統(tǒng) 中繼系統(tǒng)中繼系統(tǒng)主機系統(tǒng)主機系統(tǒng)主機系統(tǒng)主機系統(tǒng)優(yōu)點:支持增量式開發(fā)。優(yōu)點:支持增量式開發(fā)。缺點:系統(tǒng)構(gòu)成,性能保證較困難。缺點:系統(tǒng)構(gòu)成,性能保證較困難。五、控制摸型五、控制摸型 考慮子系統(tǒng)之間的控制流??刂品绞椒譃椋嚎紤]子系統(tǒng)之間的控制流??刂品绞椒譃椋?. 1.集中式控制集中式控制主程序主程序程序程序1 1程序程序2 2程序程序3 3程序程序11 11程序程序12 12程序程序31 31程序程序3232控制的調(diào)用返回模型2. 2.事件驅(qū)動系統(tǒng)事件驅(qū)動系統(tǒng) 由外部產(chǎn)生的事件來驅(qū)動系統(tǒng)由外部產(chǎn)生的事件來驅(qū)

22、動系統(tǒng)分為:分為: 廣播模型廣播模型 中斷驅(qū)動的模型中斷驅(qū)動的模型系統(tǒng)控制器系統(tǒng)控制器計算進程計算進程用戶界面用戶界面故障處理器故障處理器傳感器進程傳感器進程傳動裝置進程傳動裝置進程實時系統(tǒng)的集中式模型1.1.軟件結(jié)構(gòu)的準則軟件結(jié)構(gòu)的準則2. 2. 模塊化準則模塊化準則3.3.軟件獨立性準則軟件獨立性準則 軟件設(shè)計是軟件開發(fā)過程的重要階段,對保軟件設(shè)計是軟件開發(fā)過程的重要階段,對保證軟件系統(tǒng)的質(zhì)量起著關(guān)鍵作用。但是如何保證軟證軟件系統(tǒng)的質(zhì)量起著關(guān)鍵作用。但是如何保證軟件設(shè)計的質(zhì)量呢?有以下經(jīng)過長期考驗的設(shè)計準則件設(shè)計的質(zhì)量呢?有以下經(jīng)過長期考驗的設(shè)計準則: 這些設(shè)計準則直接影響到體系結(jié)構(gòu)的設(shè)計

23、過程這些設(shè)計準則直接影響到體系結(jié)構(gòu)的設(shè)計過程的主要活動的主要活動系統(tǒng)分解和模塊分解。系統(tǒng)分解和模塊分解。 軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模軟件結(jié)構(gòu)表示軟件的系統(tǒng)結(jié)構(gòu),它是軟件模塊間關(guān)系的表示,均表示為層次關(guān)系塊間關(guān)系的表示,均表示為層次關(guān)系。軟 件 結(jié) 構(gòu) 示 意 圖頂層頂層1 1層層2 2層層ABCDEFGHIJKLMN深度寬度扇入為扇入為2 2扇出為扇出為3 3扇入為扇入為3 3寬度深度寬度3 3層層4 4層層一、軟件結(jié)構(gòu)的準則一、軟件結(jié)構(gòu)的準則 深度深度:表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊表示軟件結(jié)構(gòu)中從頂層模塊到最底層模塊的層數(shù)的層數(shù); 寬度寬度:表示控制的總分布;表示控制的總

24、分布; 扇出數(shù)扇出數(shù):指一個模塊直接控制下屬的模塊個數(shù);指一個模塊直接控制下屬的模塊個數(shù); 扇入數(shù)扇入數(shù):指一個模塊的直接上屬模塊個數(shù)。指一個模塊的直接上屬模塊個數(shù)。 一個好的軟件結(jié)構(gòu)的形態(tài)準則是:頂部寬度小,一個好的軟件結(jié)構(gòu)的形態(tài)準則是:頂部寬度小,中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的中部寬度最大,底部寬度次之;在結(jié)構(gòu)頂部有較高的扇出數(shù),扇出數(shù), 在底部有較高的扇入數(shù)。在底部有較高的扇入數(shù)。有有 關(guān)關(guān) 指指 標標 所謂所謂模塊化模塊化就是將系統(tǒng)劃分成若干模塊,每個模就是將系統(tǒng)劃分成若干模塊,每個模塊完成一個子功能,把這些模塊集中起來組成一個整塊完成一個子功能,把這些模塊集中起來組成

25、一個整體,以滿足所要求的整個系統(tǒng)的功能體,以滿足所要求的整個系統(tǒng)的功能。 我們利用模塊化來降低軟件復(fù)雜度。注意選擇分我們利用模塊化來降低軟件復(fù)雜度。注意選擇分解的最佳模塊數(shù)。解的最佳模塊數(shù)。二、二、模塊化準則模塊化準則三、軟件獨立性準則三、軟件獨立性準則 軟件獨立性的含義是指開發(fā)具有功能專一,模軟件獨立性的含義是指開發(fā)具有功能專一,模塊之間無過多相互作用的模塊。又稱為塊之間無過多相互作用的模塊。又稱為模塊獨立性模塊獨立性準則。準則。 這種類型的模塊可以并行開發(fā),開發(fā)容易,能這種類型的模塊可以并行開發(fā),開發(fā)容易,能減少錯誤的影響,使模塊容易組合、修改及測試。減少錯誤的影響,使模塊容易組合、修改及

26、測試。 耦合性耦合性 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。內(nèi)聚性內(nèi)聚性 用于描述模塊內(nèi)部聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。軟件獨立性的度量標準是兩個定性指標:軟件獨立性的度量標準是兩個定性指標:內(nèi)容耦合內(nèi)容耦合公共耦合公共耦合控制耦合控制耦合復(fù)合耦合復(fù)合耦合數(shù)據(jù)耦合數(shù)據(jù)耦合偶然型偶然型邏輯型邏輯型瞬時型瞬時型通訊型通訊型順序型順序型功能型功能型3.3 3.3 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 SDSD(Structured DesignStructured Design)法與法與SASA、SPSP法前后銜接,法前后銜接,是結(jié)構(gòu)化開發(fā)方法的核心。是結(jié)構(gòu)化開發(fā)

27、方法的核心。一、一、SD SD 法的基本概念法的基本概念1 1、SD SD 法的兩個階段法的兩個階段 總體設(shè)計總體設(shè)計 任務(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)圖及其模塊功能說明。 詳細設(shè)計詳細設(shè)計 對模塊圖中每個模塊的過程進行描述,常用的對模塊圖中每個模塊的過程進行描述,常用的描述的方式有:偽代碼,流程圖,描述的方式有:偽代碼,流程圖,N-SN-S圖,圖,PADPAD圖圖等。等。2 2、SD SD 法的設(shè)計步驟法的設(shè)計步驟 從從DFDDF

28、D圖導(dǎo)出初始的模塊結(jié)構(gòu)圖圖導(dǎo)出初始的模塊結(jié)構(gòu)圖(SC)(SC)。 按照按照SDSD法設(shè)計總則,改進模塊結(jié)構(gòu)圖。法設(shè)計總則,改進模塊結(jié)構(gòu)圖。注意:注意:模塊結(jié)構(gòu)圖不同于模塊結(jié)構(gòu)圖不同于“框圖框圖”。軟件軟件層次性層次性 : : 反映軟件整體的性質(zhì)反映軟件整體的性質(zhì) ( (結(jié)構(gòu)圖結(jié)構(gòu)圖) )過程性過程性 : : 反映局部的性質(zhì)反映局部的性質(zhì) ( (框圖框圖) )3 3、DFDDFD圖的分類圖的分類 中心變換型中心變換型(transform center) _ (transform center) _ 變換分析變換分析 事務(wù)處理型事務(wù)處理型(transaction) _ (transaction)

29、_ 事務(wù)分析事務(wù)分析3.3 3.3 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法( (續(xù))續(xù)) 這類數(shù)據(jù)流圖可看成是對輸入數(shù)據(jù)進行轉(zhuǎn)換而得這類數(shù)據(jù)流圖可看成是對輸入數(shù)據(jù)進行轉(zhuǎn)換而得到輸出數(shù)據(jù)的處理。到輸出數(shù)據(jù)的處理。 DFDDFD圖可以明顯分為圖可以明顯分為 “輸入輸入處理處理輸出輸出 ”三部分三部分。(物理輸入)(物理輸入)(邏輯輸入)(邏輯輸入)(邏輯輸出)(邏輯輸出)輸輸 入入主加工主加工輸輸 出出(物理輸出)(物理輸出)檢查檢查順序順序檢查檢查合理性合理性擴充擴充代碼代碼核對核對 記錄記錄修改修改壓縮壓縮代碼代碼格式化格式化修改修改數(shù)據(jù)數(shù)據(jù) 舊文件舊文件新文件新文件中心變換型中心變換型 的的 DFD

30、DFD 圖圖 這類數(shù)據(jù)流圖有一個數(shù)據(jù)處理中心,按加工的結(jié)這類數(shù)據(jù)流圖有一個數(shù)據(jù)處理中心,按加工的結(jié)果選擇一個輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。果選擇一個輸出數(shù)據(jù)流繼續(xù)執(zhí)行的處理。 如下圖所示:如下圖所示:分類分類報名報名付款付款注銷注銷查詢查詢復(fù)審復(fù)審采用采用“事務(wù)分析事務(wù)分析”(transaction Analysis)技術(shù)技術(shù)事務(wù)處理型事務(wù)處理型 的的 DFD 圖圖序號序號內(nèi)內(nèi) 容容長度(字節(jié))長度(字節(jié))數(shù)據(jù)類型數(shù)據(jù)類型可否修改可否修改1帳號帳號5數(shù)字數(shù)字否否2戶名戶名30數(shù)字字母數(shù)字字母可可3地址地址30數(shù)字字母數(shù)字字母可可4省省10字母字母可可5市市15字母字母可可6郵政編碼郵政編碼5數(shù)字數(shù)

31、字可可7電話電話7數(shù)字數(shù)字可可8類型類型1字母字母否否9信貸員號信貸員號5數(shù)字數(shù)字可可10最近一次業(yè)務(wù)日期最近一次業(yè)務(wù)日期6數(shù)字數(shù)字否否11最近一次付息日期最近一次付息日期6數(shù)字數(shù)字否否12余額余額8數(shù)字數(shù)字否否13業(yè)務(wù)總量業(yè)務(wù)總量8數(shù)字數(shù)字否否14限額限額6數(shù)字數(shù)字否否 要求對貸款文件進行修改,修改信息由卡片輸要求對貸款文件進行修改,修改信息由卡片輸入,卡片上的修改信息格式如下:入,卡片上的修改信息格式如下: 15 15位位 6969位位 10 10位起位起 帳號帳號 空空 修改值修改值1 1* * 修改值修改值2 2* * . .* * * ( (序號)序號) 分析分析: :1.1. 貸款

32、文件的記錄格式(如前表)貸款文件的記錄格式(如前表)2.2. 修改記錄(卡片)格式修改記錄(卡片)格式3. 3. 需求分析結(jié)果需求分析結(jié)果DFD DFD 圖圖, ,是一種混合的是一種混合的 DFD DFD 圖。圖。修修改改記記錄錄寫寫記記錄錄卡片卡片編編輯輯卡卡片片檢檢查查順順序序檢檢查查次次序序帳帳號號相相等等錯誤順序卡片順序卡片修改信息修改信息舊記錄舊記錄順序記錄順序記錄要修改要修改的記錄的記錄不修改不修改的記錄的記錄已修改已修改的記錄的記錄新記錄新記錄修修改改分分類類抽抽出出修修改改順序順序卡片卡片修改修改信息信息2 23 34 45 56 67 79 9需求分析結(jié)果需求分析結(jié)果 DFD

33、 DFD 圖圖編輯卡片加工分解編輯卡片加工分解主加工是主加工是?報告報告報告報告修改信息修改信息順序記錄順序記錄新記錄新記錄將將DFDDFD圖轉(zhuǎn)換為圖轉(zhuǎn)換為模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖貸款文件貸款文件管理系統(tǒng)管理系統(tǒng)取順序取順序記錄記錄修改修改記錄記錄打印打印報告報告打印打印記錄記錄比較比較帳號帳號取修改取修改信息信息讀舊讀舊記錄記錄檢查檢查順序順序取取卡片卡片編輯編輯卡片卡片讀卡片讀卡片檢查順序檢查順序卡片卡片順序卡片舊記錄舊記錄順序記錄順序記錄順序卡片順序卡片已修改“編輯卡片編輯卡片”應(yīng)繼應(yīng)繼續(xù)向下分解,是典續(xù)向下分解,是典型的型的“事務(wù)處理事務(wù)處理”型的型的DFDDFD圖。圖。寫寫記錄記錄修修改

34、改記記錄錄寫寫記記錄錄卡片卡片編編輯輯卡卡片片檢檢查查順順序序檢檢查查次次序序帳帳號號相相等等錯誤順序卡片順序卡片修改信息修改信息舊記錄舊記錄順序記錄順序記錄要修改要修改的記錄的記錄不修改不修改的記錄的記錄已修改已修改的記錄的記錄新記錄新記錄報告報告已編輯卡片 按照按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計總則的設(shè)計總則進行修改,完善系統(tǒng)的模塊圖,寫出模塊的功能說明進行修改,完善系統(tǒng)的模塊圖,寫出模塊的功能說明。四、模塊結(jié)構(gòu)圖的改進四、模塊結(jié)構(gòu)圖的改進功能模塊的組成:功能模塊的組成: 執(zhí)行某項任務(wù)的部分執(zhí)行某項任務(wù)的部分 出錯處理部分出錯處理部分 返回結(jié)束標志返回結(jié)束標

35、志具體具體從以下方面改進:從以下方面改進:1 1)盡可能建立功能模塊)盡可能建立功能模塊 功能模塊具有最強的內(nèi)聚性,應(yīng)滿足信息屏蔽原功能模塊具有最強的內(nèi)聚性,應(yīng)滿足信息屏蔽原則:一個模塊內(nèi)所包含的信息(過程和數(shù)據(jù))對不則:一個模塊內(nèi)所包含的信息(過程和數(shù)據(jù))對不需要這些信息的模塊是不能訪問的(黑盒)。需要這些信息的模塊是不能訪問的(黑盒)。2 2)消除重復(fù)功能)消除重復(fù)功能 若兩模塊含有重復(fù)的部分,應(yīng)設(shè)法將重復(fù)的功能若兩模塊含有重復(fù)的部分,應(yīng)設(shè)法將重復(fù)的功能消去。消去。(a)XYQ1Q2YQ2QXQ(b)(c)(d)Q重復(fù)部分重復(fù)部分YYXQ1YQ2四、模塊結(jié)構(gòu)圖的改進四、模塊結(jié)構(gòu)圖的改進XX

36、控制范圍控制范圍 結(jié)構(gòu)方面的特點,結(jié)構(gòu)方面的特點,包括模塊及其所有下屬模塊。包括模塊及其所有下屬模塊。作用范圍作用范圍 判斷所涉及到的模判斷所涉及到的模塊,是從功能特點考慮的。塊,是從功能特點考慮的。3 3)模塊的作用范圍應(yīng)與控制范圍)模塊的作用范圍應(yīng)與控制范圍TOPTOPX XT TB BA AB1B1B2B2SD方法認為:方法認為:當作用范圍為控制范圍的子集時,才當作用范圍為控制范圍的子集時,才能獲得較低的塊間聯(lián)系能獲得較低的塊間聯(lián)系, 如圖中的設(shè)計,判定的作如圖中的設(shè)計,判定的作用范圍恰好在判定所在模塊的下一層。用范圍恰好在判定所在模塊的下一層。4 4)模塊的大小適當)模塊的大小適當 模

37、塊大小指其篇幅,一般模塊大小約模塊大小指其篇幅,一般模塊大小約50-10050-100行行為宜。為宜。5 5)模塊的扇入扇出數(shù)不宜太多)模塊的扇入扇出數(shù)不宜太多 扇出數(shù)扇出數(shù) 一個模塊調(diào)用其他模塊的個數(shù)。一個模塊調(diào)用其他模塊的個數(shù)。 扇入數(shù)扇入數(shù) 一個模塊被其他模塊調(diào)用的個數(shù)。一個模塊被其他模塊調(diào)用的個數(shù)。 除服務(wù)性模塊外,模塊的扇入扇出數(shù)不宜太除服務(wù)性模塊外,模塊的扇入扇出數(shù)不宜太多。否則塊間聯(lián)系增加。多。否則塊間聯(lián)系增加。 一、任務(wù)一、任務(wù) 詳細設(shè)計階段的任務(wù)是開發(fā)一個可以直接轉(zhuǎn)換為詳細設(shè)計階段的任務(wù)是開發(fā)一個可以直接轉(zhuǎn)換為程序的軟件表示,即對系統(tǒng)中每個模塊的內(nèi)部過程程序的軟件表示,即對系

38、統(tǒng)中每個模塊的內(nèi)部過程進行設(shè)計和描述。進行設(shè)計和描述。 二、常用的描述方法工具二、常用的描述方法工具 1 1、流程圖、流程圖 2 2、結(jié)構(gòu)化流程圖(、結(jié)構(gòu)化流程圖(N-SN-S圖)圖) 3 3、PADPAD圖圖問題分析圖問題分析圖 4 4、PDL PDL 語言語言3.4 3.4 詳細設(shè)計詳細設(shè)計結(jié)構(gòu)化流程圖(結(jié)構(gòu)化流程圖(N-SN-S圖)圖)由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成。由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成。順序結(jié)構(gòu)順序結(jié)構(gòu)塊塊1 1塊塊2 2塊塊3 3塊塊4 4條件條件T FT F塊塊1 1塊塊2 2選擇結(jié)構(gòu)選擇結(jié)構(gòu)Case I=1,2,3Case I=1,2,3T T塊塊1 1塊塊2

39、2多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)F F塊塊3 3塊塊當條件成立時當條件成立時當型循環(huán)當型循環(huán)塊塊直到條件成立時直到條件成立時直到型循環(huán)直到型循環(huán)結(jié)構(gòu)化流程圖(結(jié)構(gòu)化流程圖(N-SN-S圖)圖)a ab b條條 件件 1 1T TF F Case Case Xi, i=2,3,4Xi, i=2,3,4X2X2X3X3X4X4當條件當條件3 3成立成立條條 件件 2 2直到條件直到條件4 4成立成立直直 到到 條條 件件 成立成立c cd de ef fg gh hi ij j順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)

40、F FT TT TF FPADPAD圖圖問題分析圖(問題分析圖(problem Analysis Diagramproblem Analysis Diagram)其基本控制結(jié)構(gòu)如下:其基本控制結(jié)構(gòu)如下:條件條件thenthen部分部分elseelse部分部分選擇結(jié)構(gòu)選擇結(jié)構(gòu)T TF F任務(wù)任務(wù)1 1任務(wù)任務(wù)2 2任務(wù)任務(wù)3 3 順序結(jié)構(gòu)順序結(jié)構(gòu)WHILEWHILE型條件型條件循環(huán)體循環(huán)體先判定型循環(huán)結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)UNTILUNTIL型條件型條件循環(huán)體循環(huán)體后判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)控控制制變變量量 任務(wù)任務(wù)1 1任務(wù)任務(wù)2 2任務(wù)任務(wù)n n多分支選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)值值 1 1值

41、值 2 2值值 n n例例1 1:對數(shù)組:對數(shù)組X X進行排序。進行排序。 “自頂而下,逐步求精自頂而下,逐步求精”J J:=h=hk k:=h+1=h+1,n nJ:=kJ:=kH H:=1=1,n-1n-1排好第排好第h h個個X X hhW:=XhW:=XhXh:=XjXh:=XjXj:=Xj:=w 1 1、循環(huán)一次,排好一個循環(huán)一次,排好一個XhXh排好第排好第H H個個X X hh找找 XJ= MAXXJ= MAX(X XhhX Xnn)交換交換 X XJ J 和和 X Xhh2 2、細細化化XkXk XJXJ(a)(a)(b)(b)(b)(b)(a)(a)3 3、連接各圖,構(gòu)成完整

42、連接各圖,構(gòu)成完整的的PADPAD圖圖H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-1H H:=1=1,n-1n-13.5 面向?qū)ο蟮脑O(shè)計方法 OOD(Object-Oriented Design)OrderLineOrderLine Quantity:IntegerQuantity:Integer isSatisfied isSatisfied1 1*1 1*1 1*CustomerCustomer namename address address CreditRatingCreditRating()()OrderOrd

43、er dataReceiveddataReceived isPrepaid isPrepaid number:String number:String dispatchdispatch()() close close() () Personal CustomerPersonal CustomercreditCardcreditCardCorporate CustomerCorporate Customer contactName contactName creditRating creditRating creditLimit creditLimit remindremind() () bil

44、lForMonth billForMonth() () EmployeeEmployeeProductProduct0.10.1+ +LineItem:Meeting:MeetingAdministrtionaAdministrtiona:Meeting:Meeting:MeetingMeetingAdministrtionaAdministrtionaDefineMeeting(meeting)DefineMeeting(meeting)IsMeetingExisted=.T.3:Fail(MeetingExisted)IsMeetingExisted=.T.3:Fail(MeetingEx

45、isted)2:new(meeting)2:new(meeting)順序圖順序圖電梯的狀態(tài)表示電梯的狀態(tài)表示狀態(tài)圖OnOn first floorfirst floorGo upGo up(floor)(floor)Moving upMoving updo/moving to do/moving to floorfloorGo upGo up(floor)(floor)IdleIdletimer=0timer=0do/increase timerdo/increase timerarrivedarrivedMoving downMoving downdo/moving todo/moving

46、to floor floorGo down (floor)Go down (floor)timer= timer-outtimer= timer-outMoving toMoving to first floor first floorarrivedarrivedarrivedarrived 隨著各種應(yīng)用軟件的面市,作為人機接口的用隨著各種應(yīng)用軟件的面市,作為人機接口的用戶界面具有越來越重要的作用,用戶界面是否友好直戶界面具有越來越重要的作用,用戶界面是否友好直接影響到軟件的壽命與競爭力。因此,對用戶界面的接影響到軟件的壽命與競爭力。因此,對用戶界面的設(shè)計必須予以足夠的重視。設(shè)計必須予以足夠的

47、重視。3.6 3.6 用戶界面設(shè)計用戶界面設(shè)計 用戶界面設(shè)計中的主要問題進行討論。用戶界面設(shè)計中的主要問題進行討論。 什么是友好的用戶界面。什么是友好的用戶界面。 用戶界面設(shè)計應(yīng)該完成的工用戶界面設(shè)計應(yīng)該完成的工 作。作??傊脩艚缑嬖O(shè)計要以人為本。總之,用戶界面設(shè)計要以人為本。用戶界面設(shè)計迭代過程用戶界面設(shè)計迭代過程分析和理解分析和理解用戶活動用戶活動在紙上設(shè)計在紙上設(shè)計原型原型與最終用戶與最終用戶一起評價一起評價設(shè)計原型設(shè)計原型產(chǎn)生動態(tài)產(chǎn)生動態(tài)設(shè)計原型設(shè)計原型與最終用戶與最終用戶一起評價一起評價實現(xiàn)最終的實現(xiàn)最終的用戶界面用戶界面可執(zhí)行原型可執(zhí)行原型 用戶界面設(shè)計原則:用戶界面設(shè)計原則:

48、 1. 1.可視性和可支付性可視性和可支付性(Visibility and Affordance)(Visibility and Affordance)。 2. 2.努力保持命令、菜單,顏色等統(tǒng)一(努力保持命令、菜單,顏色等統(tǒng)一(Strive for Strive for ConsistencyConsistency)。)。 3.3.為頻繁使用的用戶提供快捷方式(為頻繁使用的用戶提供快捷方式(Enable Frequent Users Enable Frequent Users to Use Short Cutsto Use Short Cuts)。)。 4. 4.提供信息反饋(提供信息反饋(

49、Offer Information FeedbackOffer Information Feedback)。)。 5. 5.提供簡單的錯誤處理(提供簡單的錯誤處理(Offer Simple Error HandlingOffer Simple Error Handling)。)。 6. 6.允許方便的進行操作回滾(允許方便的進行操作回滾(Permit Easy Reversal of ActionsPermit Easy Reversal of Actions)。)。 7. 7.降低短期記憶回憶(降低短期記憶回憶(Reduce Short-Term Memory LoadReduce Short-Term Memory Load)。)。 交互性是用戶界面最重要的特性,按照交互形交互性是用戶界面最重要的特性,按照交互形式分為式分為5 5類:類:主

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論