需求分析解決系統(tǒng)做什么-總體設(shè)計(jì)解決系統(tǒng)怎樣做_第1頁
需求分析解決系統(tǒng)做什么-總體設(shè)計(jì)解決系統(tǒng)怎樣做_第2頁
需求分析解決系統(tǒng)做什么-總體設(shè)計(jì)解決系統(tǒng)怎樣做_第3頁
需求分析解決系統(tǒng)做什么-總體設(shè)計(jì)解決系統(tǒng)怎樣做_第4頁
需求分析解決系統(tǒng)做什么-總體設(shè)計(jì)解決系統(tǒng)怎樣做_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第五章總體設(shè)計(jì)軟件工程(SoftwareEngineering)2/5/20231總體設(shè)計(jì)需求分析解決:系統(tǒng)做什么?總體設(shè)計(jì)解決:系統(tǒng)怎樣做?2/5/20232總體設(shè)計(jì)總體設(shè)計(jì)(SummaryDesign)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。通過這個(gè)階段的工作將劃分出組成系統(tǒng)的物理元素——程序(Program)、文件(File)、數(shù)據(jù)庫(Dadabase)、人工過程和文檔(Document)等等,但是每個(gè)物理元素仍然處于黑盒子(BlackBox)級,這些黑盒子里的具體內(nèi)容將在以后仔細(xì)設(shè)計(jì)??傮w設(shè)計(jì)階段的另一項(xiàng)重要任務(wù)是:設(shè)計(jì)軟件的結(jié)構(gòu)確定系統(tǒng)中每個(gè)程序是由哪些模塊組成確定模塊相互間的關(guān)系

前一頁2/5/20233設(shè)計(jì)過程

設(shè)計(jì)原理

啟發(fā)式規(guī)則

描述軟件結(jié)構(gòu)的圖形工具

面向數(shù)據(jù)流的設(shè)計(jì)方法

本章主要內(nèi)容前一頁2/5/20234總體的設(shè)計(jì)過程總體設(shè)計(jì)過程分為兩個(gè)階段系統(tǒng)設(shè)計(jì)階段:確定系統(tǒng)的實(shí)現(xiàn)方案結(jié)構(gòu)設(shè)計(jì)階段:確定軟件結(jié)構(gòu)2/5/20235前一頁總體的設(shè)計(jì)過程設(shè)想供選擇的方案

選取合理的方案

推薦最佳方案

功能分解

設(shè)計(jì)軟件結(jié)構(gòu)

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

制定測試計(jì)劃

書寫文檔審核和復(fù)審

2/5/20236前一頁總體的設(shè)計(jì)過程設(shè)想供選擇的方案分析員考慮各種可能的實(shí)現(xiàn)方案(Project),并且力求從中選出最佳方案。在總體設(shè)計(jì)階段開始時(shí)只有系統(tǒng)的邏輯模型,分析員有充分的自由分析比較不同的物理實(shí)現(xiàn)方案,可以從需求分析得到的數(shù)據(jù)流圖入手。常用的方法是:設(shè)想在數(shù)據(jù)流圖中處理分組的各種可能的方法,拋棄在技術(shù)上行不通的方法,余下的方法作為可能實(shí)現(xiàn)的策略,并且可以啟發(fā)供選擇的物理系統(tǒng)。

2/5/20237前一頁總體的設(shè)計(jì)過程選取合理方案

從上一步提供的方案中選取,至少選取低成本、中等成本和高成本的三種方案。對每個(gè)合理的方案分析員都應(yīng)該準(zhǔn)備下列四份資料:

(1)系統(tǒng)流程圖(2)組成系統(tǒng)的物理元素的清單(3)成本/效益分析(4)實(shí)現(xiàn)這個(gè)系統(tǒng)的進(jìn)度計(jì)劃

2/5/20238前一頁總體的設(shè)計(jì)過程推薦最佳方案

分析員應(yīng)該綜合分析對比各種合理的方案,推薦一個(gè)最佳的方案,并且為推薦的方案制定詳細(xì)的實(shí)現(xiàn)計(jì)劃。用戶和有關(guān)的技術(shù)專家審查推薦的最佳系統(tǒng),如果確定該系統(tǒng)符合用戶的需要,并且是在現(xiàn)有條件下完全能夠?qū)崿F(xiàn)的,則請使用部門負(fù)責(zé)人進(jìn)一步審批。在接受分析員所推薦的方案之后,系統(tǒng)設(shè)計(jì)完成,進(jìn)入總體設(shè)計(jì)過程的下一個(gè)重要階段——結(jié)構(gòu)設(shè)計(jì)。

2/5/20239前一頁總體的設(shè)計(jì)過程功能分解

為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須設(shè)計(jì)出組成這個(gè)系統(tǒng)的所有程序和文件(或數(shù)據(jù)庫)。對程序(特別是復(fù)雜的大型程序)的設(shè)計(jì),通常分為兩個(gè)階段完成:結(jié)構(gòu)設(shè)計(jì)(StructureDesign):是總體設(shè)計(jì)階段的任務(wù),確定程序由那些模塊組成,以及這些模塊之間的關(guān)系。

過程設(shè)計(jì)(ProcessDesign):是詳細(xì)設(shè)計(jì)階段的任務(wù),確定每個(gè)模塊的處理過程。2/5/202310功能分解

為確定軟件結(jié)構(gòu),首先需要從實(shí)現(xiàn)角度把復(fù)雜的功能進(jìn)一步分解。功能分解導(dǎo)致數(shù)據(jù)流圖進(jìn)一步細(xì)化,同時(shí)使用圖形工具描述算法。2/5/202311前一頁總體的設(shè)計(jì)過程設(shè)計(jì)軟件結(jié)構(gòu)即結(jié)構(gòu)設(shè)計(jì),包括確定系統(tǒng)各模塊間的關(guān)系。通常程序中的一個(gè)模塊完成一個(gè)適當(dāng)?shù)淖庸δ?,而一個(gè)程序包含若干個(gè)模塊,因此考慮把模塊組織成良好的層次系統(tǒng)。頂層模塊調(diào)用它下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能。2/5/202312設(shè)計(jì)軟件結(jié)構(gòu)頂層模塊調(diào)用它下層模塊以實(shí)現(xiàn)程序的完整功能,每個(gè)下層模塊再調(diào)用更下層的模塊,從而完成程序的一個(gè)子功能,最下層的模塊完成最具體的功能。軟件結(jié)構(gòu)可以用層次圖或結(jié)構(gòu)圖表示。有些軟件的結(jié)構(gòu)可以通過細(xì)化的數(shù)據(jù)流圖映射得到。2/5/202313前一頁總體的設(shè)計(jì)過程數(shù)據(jù)庫設(shè)計(jì)對于需要使用數(shù)據(jù)庫的系統(tǒng),工程師需要對數(shù)據(jù)庫進(jìn)行設(shè)計(jì)。2/5/202314前一頁總體的設(shè)計(jì)過程制定測試計(jì)劃在軟件開發(fā)的早期階段考慮測試(Testing)問題,能促使軟件設(shè)計(jì)人員在設(shè)計(jì)時(shí)注意提高軟件的可測試性。2/5/202315前一頁總體的設(shè)計(jì)過程書寫文檔

1.系統(tǒng)說明2.用戶手冊3.測試計(jì)劃4.詳細(xì)的實(shí)現(xiàn)計(jì)劃5.數(shù)據(jù)庫設(shè)計(jì)結(jié)果

2/5/202316前一頁總體的設(shè)計(jì)過程審核和復(fù)審

最后應(yīng)該對總體設(shè)計(jì)的結(jié)果進(jìn)行嚴(yán)格的技術(shù)審查,通過之后再由使用部門從管理和應(yīng)用的角度進(jìn)行復(fù)審。2/5/202317軟件設(shè)計(jì)的概念和原理模塊化

抽象

逐步求精信息隱蔽和局部化

模塊獨(dú)立

前一頁主要內(nèi)容2/5/202318前一頁軟件設(shè)計(jì)的概念和原理模塊化

模塊(Modular)是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募希菃为?dú)命名的而且可通過名字來訪問。模塊化就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集總起來組成一個(gè)整體,可以完成指定的功能滿足問題的要求。

2/5/202319前一頁軟件設(shè)計(jì)的概念和原理模塊化

設(shè)函數(shù)C(x)定義問題x的復(fù)雜程度,函數(shù)E(x)確定解決問題x需要的工作量(時(shí)間),對于兩個(gè)問題p1和p2,IfC(p1)>C(p2)ThenE(p1)>E(p2)C(p1+p2)>C(P1)+C(p2)E(p1+p2)>E(p1)+E(p2)

2/5/202320前一頁模塊化與軟件成本2/5/202321前一頁軟件設(shè)計(jì)的概念和原理抽象

人類在認(rèn)識復(fù)雜現(xiàn)象的過程中使用的最強(qiáng)有力的思維工具抽象(Abstract)。人們在實(shí)踐中認(rèn)識到,在現(xiàn)實(shí)世界中一定事物、狀態(tài)或過程之間總存在著某些相似的方面(共性)。把這些相似的方面集中和概括起來,暫時(shí)忽略它們之間的差異,這就是抽象。2/5/202322抽象處理復(fù)雜系統(tǒng)的唯一有效的方法是用層次的方式構(gòu)造和分析它。2/5/202323逐步求精逐步求精和模塊化的概念,與抽象是密切相關(guān)的。如軟件工程的每一步都是對軟件解法的抽象層次的一次精化??尚行苑治鲭A段,軟件作為完整的部件;需求階段,軟件解法使用熟悉的問題描述;從總體設(shè)計(jì)到詳細(xì)設(shè)計(jì),抽象程度降低,逐步精化。抽象與求精互補(bǔ)。2/5/202324逐步求精定義:為了能集中精力解決主要問題而盡量推遲對問題細(xì)節(jié)的考慮。原因:人類認(rèn)知過程的局限——Miller法則

一個(gè)人在任何時(shí)候都只能把注意力集中在(7+2)個(gè)知識塊上。

逐步求精的效果,把注意力集中在與當(dāng)前開發(fā)最相關(guān)的問題上,忽略暫時(shí)不需要考慮的細(xì)節(jié)。2/5/202325前一頁軟件設(shè)計(jì)的概念和原理信息的隱蔽和局部化

信息隱藏:使得一個(gè)模塊內(nèi)包括的信息(過程和數(shù)據(jù))對于不需要這些信息的模塊來說,是不能訪問的。局部化:把一些關(guān)系密切的軟件元素物理地放得彼此靠近。

“隱蔽”(Hiding)意味著有效的模塊化可以通過定義一組獨(dú)立的模塊而實(shí)現(xiàn),這些獨(dú)立的模塊彼此間僅僅交換那些為了完成系統(tǒng)功能而必須交換的信息。2/5/202326前一頁模塊獨(dú)立

模塊獨(dú)立(Independence)的概念是模塊化、抽象、信息隱蔽和局部化概念的直接結(jié)果。開發(fā)具有獨(dú)立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可以做到模塊獨(dú)立。模塊獨(dú)立性的優(yōu)點(diǎn):第一,有效的模塊化(即具有獨(dú)立的模塊)的軟件比較容易開發(fā)出來。第二,獨(dú)立的模塊比較容易測試和維護(hù)。2/5/202327模塊獨(dú)立模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)度量,這兩個(gè)標(biāo)準(zhǔn)分別稱為內(nèi)聚和耦合,內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度;耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度。

2/5/202328前一頁軟件設(shè)計(jì)的概念和原理模塊獨(dú)立–耦合耦合

(Coupling)耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互聯(lián)程度的度量。在軟件設(shè)計(jì)時(shí)應(yīng)該追求松散耦合的系統(tǒng)。如果兩個(gè)模塊中的每一個(gè)都能獨(dú)立地工作而不需要另一個(gè)模塊地存在,那么它們彼此完全獨(dú)立,這意味著模塊間無任何連接,耦合程度最低。2/5/202329前一頁幾種類型的耦合模塊獨(dú)立–耦合數(shù)據(jù)耦合

(DataCoupling):如果兩個(gè)模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù),那么這種耦合稱為數(shù)據(jù)耦合。控制耦合(ControlCoupling):如果傳遞的信息中有控制信息,則這種耦合稱為控制耦合。

數(shù)據(jù)耦合是低耦合。系統(tǒng)必須存在這種耦合,因?yàn)橹挥挟?dāng)某些模塊的輸出數(shù)據(jù)作為另一些模塊的輸入數(shù)據(jù)時(shí),系統(tǒng)才能完成有價(jià)值的功能。

2/5/202330前一頁模塊獨(dú)立–耦合公共環(huán)境耦合

(CommonCoupling):當(dāng)兩個(gè)或多個(gè)模塊通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用時(shí),它們之間的耦合稱為公共環(huán)境耦合。內(nèi)容耦合(ContainCoupling):最高程度的耦合是內(nèi)容耦合。原則:盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。幾種類型的耦合2/5/202331前一頁軟件設(shè)計(jì)的概念和原理模塊獨(dú)立–內(nèi)聚內(nèi)聚(Cohesion)

內(nèi)聚是一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚,通常中等程度的內(nèi)聚也是可以采用的。內(nèi)聚和耦合密切相關(guān),模塊內(nèi)的高內(nèi)聚意味著模塊間的松耦合。

按程度分類:低內(nèi)聚中內(nèi)聚高內(nèi)聚2/5/202332前一頁模塊獨(dú)立–內(nèi)聚低內(nèi)聚有如下幾類:偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚

偶然內(nèi)聚(CoincidentalCohesion):模塊中,元素之間沒有實(shí)質(zhì)的聯(lián)系,在不同的場合需要做不同的修改,導(dǎo)致出錯(cuò)概率高。

邏輯內(nèi)聚(LogicalCohesion):模塊中,不同功能混在一起,合用部分程序代碼,局部修改會影響全局,導(dǎo)致修改困難。時(shí)間內(nèi)聚(TemporalCohesion):模塊中,各處理單元必須在一個(gè)有限的時(shí)間間隔內(nèi)執(zhí)行完成。幾種類型的內(nèi)聚2/5/202333前一頁模塊獨(dú)立–內(nèi)聚中內(nèi)聚

主要有兩類:

過程內(nèi)聚(ProceduralCohesion)需要按特定順序執(zhí)行模塊內(nèi)的處理元素的稱為過程內(nèi)聚。

通信內(nèi)聚(CommunicationCohesion)模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)或輸出同一個(gè)數(shù)據(jù),稱為通信內(nèi)聚。

幾種類型的內(nèi)聚2/5/202334前一頁模塊獨(dú)立–內(nèi)聚高內(nèi)聚也有兩類:順序內(nèi)聚

功能內(nèi)聚

順序內(nèi)聚(SequentialCohesion)模塊中一個(gè)處理單元的輸出是另一個(gè)處理單元的輸入。

功能內(nèi)聚(FunctionalCohesion)模塊中所有處理單元共同完成同一功能。

功能內(nèi)聚是最高程度的內(nèi)聚。幾種類型的內(nèi)聚2/5/202335前一頁軟件設(shè)計(jì)的概念和原理模塊獨(dú)立–內(nèi)聚

高內(nèi)聚

也有兩類:順序內(nèi)聚、功能內(nèi)聚。對內(nèi)聚的參考評價(jià):

功能內(nèi)聚10分時(shí)間內(nèi)聚3分順序內(nèi)聚9分邏輯內(nèi)聚1分通信內(nèi)聚7分偶然內(nèi)聚0分過程內(nèi)聚5分

2/5/202336啟發(fā)式規(guī)則改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性模塊規(guī)模應(yīng)該適中深度、寬度、扇出和扇入應(yīng)適當(dāng)模塊的作用域應(yīng)在控制域之內(nèi)盡量降低模塊接口的復(fù)雜程度設(shè)計(jì)單入口出口的模塊模塊功能應(yīng)該可以預(yù)測前一頁主要內(nèi)容2/5/202337圖形工具層次圖和HIPO圖

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

前一頁主要內(nèi)容2/5/202338前一頁圖形工具層次圖

層次圖

用來描繪軟件的層次結(jié)構(gòu),層次圖適合于在自頂向下設(shè)計(jì)軟件的過程中使用。

2/5/202339層次圖層次圖和層次方框圖的區(qū)別層次圖中一個(gè)矩形表示一個(gè)模塊,矩形框之間的連線表示調(diào)用關(guān)系層次方框圖一個(gè)矩形表示一個(gè)數(shù)據(jù)集合,矩形框之間的連線表示數(shù)據(jù)的層次2/5/202340前一頁正文加工系統(tǒng)的層次圖2/5/202341HIPO圖HIPO圖

是美國IBM公司發(fā)明的層次圖加“輸入/處理/輸出圖”的英文縮寫為了能使HIPO圖具有可追蹤性,在H圖(層次圖)里除了最頂層的方框之外,每個(gè)方框都加了編號。和H圖中每個(gè)方框?qū)?yīng),有一張IPO圖描繪該模塊的處理過程。2/5/202342前一頁帶編號的層次圖(H圖)2/5/202343前一頁結(jié)構(gòu)圖

Yourdon提出的進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的有力工具。圖中方框代表模塊,方框之間的箭頭/連線表示模塊的調(diào)用關(guān)系。用帶注釋的箭頭表示模塊調(diào)用過程中傳遞的信息。并可以用箭頭尾部的形狀來區(qū)分傳遞信息的種類:尾部是空心圓表示傳遞的是數(shù)據(jù),實(shí)心圓表示傳遞的是控制信息。

2/5/202344前一頁產(chǎn)生最佳解的結(jié)構(gòu)圖2/5/202345前一頁判定為真時(shí)調(diào)用A為假時(shí)調(diào)用BM循環(huán)調(diào)用A、B、C2/5/202346層次圖和結(jié)構(gòu)圖層次圖和結(jié)構(gòu)圖并沒有表示出模塊的調(diào)用次序。同時(shí)兩種圖也沒有指明什么時(shí)候調(diào)用下層模塊。2/5/202347面向數(shù)據(jù)流的設(shè)計(jì)方法前一頁面向數(shù)據(jù)流的設(shè)計(jì)方法的目標(biāo)是給出設(shè)計(jì)軟件結(jié)構(gòu)的一個(gè)系統(tǒng)化的途徑。在軟件工程的需求分析階段,信息流是一個(gè)關(guān)鍵,通常用數(shù)據(jù)流圖描繪信息在系統(tǒng)中加工和流動(dòng)的情況。面向數(shù)據(jù)流的設(shè)計(jì)方法即把數(shù)據(jù)流圖變換成軟件結(jié)構(gòu)。通常所說的結(jié)構(gòu)化設(shè)計(jì)方法(簡稱SD方法),也就是基于數(shù)據(jù)流的設(shè)計(jì)方法。2/5/202348面向數(shù)據(jù)流的設(shè)計(jì)方法概念

變換分析事務(wù)分析設(shè)計(jì)優(yōu)化

前一頁主要內(nèi)容2/5/202349前一頁面向數(shù)據(jù)流的設(shè)計(jì)方法概念–變換流

根據(jù)基本系統(tǒng)模型,信息通常以“外部世界”的形式進(jìn)入軟件系統(tǒng),經(jīng)過處理以后再以“外部世界”的形式離開系統(tǒng)。2/5/202350前一頁變換流圖2/5/202351概念–變換流信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當(dāng)數(shù)據(jù)流圖具有這些特征時(shí),這種信息流就叫作變換流。2/5/202352前一頁概念–事務(wù)流

數(shù)據(jù)沿輸入通路到達(dá)一個(gè)處理T,這個(gè)處理根據(jù)輸入數(shù)據(jù)的類型再若干個(gè)動(dòng)作序列中選出一個(gè)來執(zhí)行。這類數(shù)據(jù)流應(yīng)該劃為一類特殊的數(shù)據(jù)流,稱為事務(wù)流。

(1)接收輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù));(2)分析每個(gè)事物以確定它的類型;(3)根據(jù)事物類型選取一條活動(dòng)通道。處理T稱為事務(wù)中心,完成的任務(wù):2/5/202353前一頁事務(wù)流2/5/202354前一頁概念設(shè)計(jì)過程2/5/202355前一頁面向數(shù)據(jù)流的設(shè)計(jì)方法變換分析設(shè)計(jì)

把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。2/5/202356前一頁面向數(shù)據(jù)流的設(shè)計(jì)方法變換流分析設(shè)計(jì)

設(shè)計(jì)一個(gè)安裝在汽車上的數(shù)字儀表板,功能如下:(1)通過模-數(shù)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口;(2)在發(fā)光二極管面板上顯示數(shù)據(jù);(3)指示每小時(shí)英里數(shù)(mph),行駛的英里數(shù)(mpg),總里程等等;(4)指示加速或減速;(5)超速報(bào)警。2/5/202357前一頁面向數(shù)據(jù)流的設(shè)計(jì)方法變換流分析設(shè)計(jì)第1步復(fù)查基本系統(tǒng)模型。第2步復(fù)查并精化數(shù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論