5.3 軟件維護(hù).ppt_第1頁
5.3 軟件維護(hù).ppt_第2頁
5.3 軟件維護(hù).ppt_第3頁
5.3 軟件維護(hù).ppt_第4頁
5.3 軟件維護(hù).ppt_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1,5.3 軟件維護(hù),軟件維護(hù)概念 軟件維護(hù)的步驟 軟件的可維護(hù)性 軟件維護(hù)的最新方法,要求理解: (1)面向缺陷維護(hù):程序級維護(hù) (2)面向功能維護(hù):設(shè)計(jì)級維護(hù) (3)UML/CMMI對軟件維護(hù)的影響 (4)軟件維護(hù)文檔和維護(hù)管理文檔 要求關(guān)注: (1)軟件維護(hù)的最新方法 (2)軟件維護(hù)與軟件產(chǎn)品版本升級的關(guān)系,軟件零維護(hù)是IT企業(yè)追求的目標(biāo),該目標(biāo)至今仍沒有實(shí)現(xiàn)。隨著軟件開發(fā)技術(shù)、軟件管理技術(shù)和軟件支持工具的發(fā)展,軟件維護(hù)中的許多觀念正在發(fā)生變化。,3,1、軟件維護(hù)的基本概念,4,軟件維護(hù)定義,所謂軟件維護(hù),就是在軟件產(chǎn)品安裝、運(yùn)行并交付給用戶使用后,在新版本產(chǎn)品升級之前這段時(shí)間里軟件廠商

2、向客戶提供的服務(wù)。 因?yàn)檐浖幱谶\(yùn)行變化狀態(tài):故障要排除,系統(tǒng)要改進(jìn)和優(yōu)化,版本要升級等。軟件維護(hù)階段是軟件生命期中時(shí)間最長、花費(fèi)精力和財(cái)力最多的階段。所以軟件工程方法學(xué)的一個(gè)主要目的就是如何減少維護(hù)的工作量。,5,軟件維護(hù)分類,糾錯性維護(hù); 適應(yīng)性維護(hù); 完善性維護(hù); 預(yù)防性維護(hù);,6,軟件維護(hù)過程,軟件維護(hù)過程是軟件開發(fā)過程的縮影。,7,所謂軟件的可維護(hù)性,就是維護(hù)人員理解、掌握和修改被維護(hù)軟件的難易程度。 可維護(hù)性包括可理解性、可測試性、可修改性和可移植性。,軟件的可維護(hù)性,8,軟件維護(hù)的特點(diǎn),在軟件維護(hù)過程中,工作量直接影響了軟件維護(hù)的成本。因此應(yīng)當(dāng)考慮有哪些因素影響軟件維護(hù)的工作量,

3、相應(yīng)應(yīng)該采取什么維護(hù)策略,才能有效地維護(hù)軟件并控制維護(hù)的成本。,9,軟件配置是否完整是影響維護(hù)工作量的重要因素; 修改別人的程序增加了維護(hù)的難度; 文檔不全的軟件,增加了修改后測試的工作量; 軟件結(jié)構(gòu)的不合理,增加了軟件修改的困難; 軟件經(jīng)過多個(gè)版本的演化,很難追蹤修改的過程; 軟件維護(hù)經(jīng)常受挫,降低了該項(xiàng)工作的吸引力。,影響軟件維護(hù)的因素,10,維護(hù)代價(jià)分為有形的代價(jià)和無形的代價(jià)。 有形的代價(jià)是指維護(hù)費(fèi)用的數(shù)目 無形的代價(jià)包括:,維護(hù)的代價(jià)昂貴:,在軟件維護(hù)過程中,引入潛伏的錯誤,造成軟 件質(zhì)量下降; 實(shí)施維護(hù)占用的一些資源,影響到其它開發(fā)工作的進(jìn)行; 軟件維護(hù)中部分工作沒有滿足用戶認(rèn)為合理

4、的需求,引起用戶的不滿等。,11,維護(hù)工作量的一個(gè)模型,MP十Ke(cd),以上模型表明,如果軟件開發(fā)途徑不當(dāng),原開發(fā)人員不參加維護(hù)工作,都將使維護(hù)工作量呈指數(shù)級增加。,M:維護(hù)工作總量 P:生產(chǎn)性工作量 K:經(jīng)驗(yàn)常數(shù) c:軟件復(fù)雜程度(非結(jié)構(gòu)化設(shè)計(jì)和缺少文檔都會增加軟件的復(fù)雜程度) d: 維護(hù)人員對軟件的熟悉程度。,12,結(jié)構(gòu)化維護(hù)的前提是:軟件產(chǎn)品或軟件項(xiàng)目必須有完善的文檔,并且文檔與程序代碼互相匹配。反之為非結(jié)構(gòu)化維護(hù)。人們常說維護(hù)費(fèi)用很高,是因?yàn)榉墙Y(jié)構(gòu)化維護(hù)的比重太大。,結(jié)構(gòu)化維護(hù)和非結(jié)構(gòu)化維護(hù),13,修改編碼:使編碼更加混亂,程序結(jié)構(gòu)更不清晰,可讀性更差,而且有連鎖反應(yīng)。 修改數(shù)據(jù)結(jié)

5、構(gòu):數(shù)據(jù)結(jié)構(gòu)是系統(tǒng)的骨架,修改數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)傷筋動骨的大手術(shù),在數(shù)據(jù)冗余與數(shù)據(jù)不一致方面,可能顧此失彼。 修改用戶數(shù)據(jù):需要與用戶協(xié)商,一旦有疏忽,可使系統(tǒng)發(fā)生意外。 修改文檔:對非結(jié)構(gòu)化維護(hù)不適應(yīng),對結(jié)構(gòu)化維護(hù)要嚴(yán)防程序與文檔的不匹配。,維護(hù)的副作用,14,總之,維護(hù)的副作用可能表現(xiàn)在: 4個(gè)副作用加在一起,很容易出現(xiàn)打補(bǔ)丁現(xiàn)象,造成維護(hù)一次,就追加一個(gè)補(bǔ)丁,最后補(bǔ)丁越打越多,隱含的問題也會越來越多。 由于考慮不周,或?qū)ο到y(tǒng)消化不透,可能在維護(hù)中出現(xiàn)連鎖反應(yīng)現(xiàn)象:此處的錯誤改了,彼處的錯誤又冒出來了。,副作用的表現(xiàn),15,軟件維護(hù)工作的難處,軟件維護(hù)令軟件人員頭痛的原因主要有三個(gè):,非結(jié)構(gòu)

6、化的維護(hù)太難。 維護(hù)費(fèi)用開銷太大。 維護(hù)工作沒有創(chuàng)新,學(xué)不到新知識。,成熟的IT企業(yè)有專門的維護(hù)部門,維護(hù)工作井然有序,隨著軟件過程的不斷改善,維護(hù)工作量占軟件總工作量的比例應(yīng)當(dāng)逐漸下降。,16,用SW-CMM框架體系的思想來改善軟件企業(yè)的軟件過程管理。 在開發(fā)和維護(hù)中,盡量使用CASE工具。 維護(hù)完成后,一定要進(jìn)行回歸測試。,為了減少維護(hù)的工作量,防止維護(hù)的副作用,人們在長期的實(shí)踐中積累了如下的經(jīng)驗(yàn):,防止副作用的建議,17,維護(hù)文檔,對于結(jié)構(gòu)化維護(hù)來說,軟件維護(hù)文檔,就是對原來已有的分析文檔、設(shè)計(jì)文檔、實(shí)現(xiàn)文檔、測試文檔、用戶指南進(jìn)行修改,形成新的開發(fā)文檔。新的開發(fā)文檔的組織方式有兩種格式

7、:,18,維護(hù)文檔的格式,格式1:在先保存好原有的開發(fā)文檔之后,直接在原來已有的文檔上面修改,修改后形成新的小版本號文檔,即在原來版本號中小圓點(diǎn)的右一位或右二位上加1。 格式2:不直接在原來已有的文檔上面修改,而是將修改的內(nèi)容單獨(dú)作為一個(gè)附錄,放在被修改文檔的最后面,形成一份新的小版本號文檔,即在原來版本號中小圓點(diǎn)的右一位或右二位上加1。,19,維護(hù)管理文檔,用戶意見反饋表 用戶意見分類整理表 維護(hù)申請單 維護(hù)文檔評審報(bào)告 產(chǎn)品缺陷統(tǒng)計(jì)表 功能擴(kuò)充統(tǒng)計(jì)表 未答復(fù)問題匯總表 未驗(yàn)證問題匯總表 已修改問題匯總表 已驗(yàn)證問題匯總表 維護(hù)費(fèi)用統(tǒng)計(jì)表,20,維護(hù)機(jī)構(gòu),2、軟件維護(hù)的步驟,21,第一步:軟

8、件維護(hù)申請報(bào)告,為了有效地進(jìn)行軟件維護(hù),應(yīng)在維護(hù)前先做組織工作,建立維護(hù)機(jī)構(gòu),申明提出維護(hù)申請報(bào)告的過程和評價(jià)的過程;為每一個(gè)維護(hù)申請規(guī)定標(biāo)準(zhǔn)的處理步驟;同時(shí)還必須建立維護(hù)活動的登記制度以及規(guī)定評價(jià)和評審的標(biāo)準(zhǔn)。,22,軟件維護(hù)工作流程:,第二步:維護(hù)工作的實(shí)施,23,源程序修改的步驟:,24,分析程序結(jié)構(gòu)圖; 跟蹤數(shù)據(jù); 控制跟蹤; 充分閱讀和源程序清單和文檔,分析現(xiàn)有文檔的合理性; 充分使用由編譯程序或匯編程序提供的交叉引用表、符號表及其它信息;,分析和理解程序:,25,人員和資源的安排 根據(jù)修改的內(nèi)容及因修改影響的內(nèi)容設(shè)計(jì)修改方案:,研究程序的各個(gè)模塊、模塊接口及數(shù)據(jù)庫等,按全局觀點(diǎn)提出

9、修改計(jì)劃; 依次將要修改的、以及受修改影響的模塊和數(shù)據(jù)結(jié)構(gòu)分離出來; 詳細(xì)分析將要修改的、以及受修改影響的模塊和數(shù)據(jù)結(jié)構(gòu)的內(nèi)部細(xì)節(jié),標(biāo)明新邏輯及要修改的現(xiàn)有邏輯;,設(shè)計(jì)程序的修改計(jì)劃,26,正確、有效、謹(jǐn)慎地修改程序代碼,盡量保持程序的原有風(fēng)格; 修改過程中,要隨時(shí)保存前一次調(diào)試正確的源程序代碼; 保持詳細(xì)的維護(hù)活動和維護(hù)結(jié)果記錄,保證維護(hù)工作的可追蹤性; 如果修改較大,程序原有架構(gòu)不符合要求,可拋棄原有程序重新編寫。,修改代碼,以適應(yīng)變化,修改時(shí)應(yīng)遵循的原則:,27,修改程序的副作用,副作用是指因修改軟件而造成的錯誤或其它不希望發(fā)生的情況。,28,在使用程序設(shè)計(jì)語言修改源代碼時(shí)可能引起的錯誤

10、,如刪除或修改一個(gè)標(biāo)號、標(biāo)識符、一個(gè)子程序,改變程序代碼的時(shí)序關(guān)系,改變邏輯運(yùn)算符,改進(jìn)程序的執(zhí)行效率,改變程序占用存儲的大小等,都很容易引入錯誤,應(yīng)特別小心。, 編碼副作用:,29,在修改數(shù)據(jù)結(jié)構(gòu)時(shí),有可能造成軟件設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)的不一致,而導(dǎo)致軟件錯誤。數(shù)據(jù)副作用是修改軟件信息結(jié)構(gòu)引起的,如重新定義全局或局部常量,重新初始化控制標(biāo)志或指針等,都容易產(chǎn)生設(shè)計(jì)與數(shù)據(jù)不相容的錯誤,可通過詳細(xì)設(shè)計(jì)文檔對數(shù)據(jù)副作用加以控制。, 數(shù)據(jù)副作用:,30,對數(shù)據(jù)流、軟件結(jié)構(gòu)、邏輯模塊等進(jìn)行修改時(shí),必須對相關(guān)技術(shù)文檔進(jìn)行修改,否則會導(dǎo)致文檔與程序功能不匹配,使文檔不能反映軟件當(dāng)前的狀態(tài)。, 文檔副作用:,31,

11、重新驗(yàn)證程序:,靜態(tài)確認(rèn); 計(jì)算機(jī)確認(rèn); 維護(hù)后的驗(yàn)收。,32,第三步:維護(hù)文檔整理,記錄一些與維護(hù)工作有關(guān)的數(shù)據(jù)信息,這些信息可作為估計(jì)軟件維護(hù)的有效程度,確定軟件產(chǎn)品的質(zhì)量,確定維護(hù)的實(shí)際開銷等工作的原始數(shù)據(jù)。,33,每次程序運(yùn)行時(shí)的平均出錯次數(shù); 花費(fèi)在每類維護(hù)活動上的總的“人時(shí)”數(shù); 每個(gè)程序、每種語言、每種維護(hù)類型程序的平均修改次數(shù); 維護(hù)中增加或刪除每個(gè)源程序語句所花費(fèi)的平均“人時(shí)”數(shù); 用于每種語言的平均“人時(shí)”數(shù); 維護(hù)申請報(bào)告的平均處理時(shí)間; 各類維護(hù)申請的百分比。,一方面,可判定此次維護(hù)活動開展是否順利、成功;另一方面,為今面的維護(hù)工作積累經(jīng)驗(yàn)。,第四步:維護(hù)活動評價(jià),34

12、,影響軟件可維護(hù)性的七個(gè)質(zhì)量特性及這些質(zhì)量特性在各類維護(hù)中的側(cè)重點(diǎn),3、軟件的可維護(hù)性,35,軟件能夠被理解、修改、壓縮、擴(kuò)充功能的容易程度。 軟件可維護(hù)性是軟件開發(fā)階段的關(guān)鍵目標(biāo)。影響軟件可維護(hù)性的因素很多,設(shè)計(jì)、編碼及測試中的疏忽和低劣的軟件配置、缺少文檔等都會對軟件的可維護(hù)性帶來不良影響。軟件的可維護(hù)性可用幾個(gè)質(zhì)量特性來衡量,對于不同的維護(hù)類型,這幾種特性的側(cè)重點(diǎn)也不同。,軟件可維護(hù)性的定義:,36,可從以下幾方面著手: 建立明確的軟件質(zhì)量目標(biāo); 選擇可維護(hù)的程序設(shè)計(jì)語言; 采用結(jié)構(gòu)化技術(shù)提高軟件質(zhì)量;,提高軟件可維護(hù)性的方法:,37,建立明確的軟件質(zhì)量目標(biāo),若要使程序滿足可維護(hù)性的七個(gè)

13、特性的全部要求是不現(xiàn)實(shí)的,為保證可維護(hù)性應(yīng)在一定程度上滿足可維護(hù)性的各個(gè)特性,各個(gè)特性的重要性也應(yīng)隨著程序用途的不同或計(jì)算機(jī)環(huán)境的不同而改變。,38,選擇可維護(hù)的程序設(shè)計(jì)語言,第4代語言,如查詢語言、圖形語言、報(bào)表生成語言、非常高級語言等,易使用,易理解,易修改,可維護(hù)性好。,程序設(shè)計(jì)語言對可維護(hù)性的影響,低,高,可維護(hù)性,第一代語言,第二代語言,第三代語言,第四代語言,39,模塊化 結(jié)構(gòu)化程序設(shè)計(jì) 整理完備的文檔資料,包括:,系統(tǒng)開發(fā)日志、 錯誤記載、 系統(tǒng)維護(hù)日志、 測試文檔,采用結(jié)構(gòu)化技術(shù)提高軟件質(zhì)量;,40,預(yù)防性維護(hù)工作主要針對一些多年前開發(fā)出來的“較老”的軟件,這些軟件的功能仍然能

14、夠滿足人們的某些需求,但是,由于這些軟件所采用的體系結(jié)構(gòu)或數(shù)據(jù)結(jié)構(gòu)等方面較差,用戶在使用時(shí)存在一定困難,因此,需要對軟件進(jìn)行全面修改,以適應(yīng)用戶需求。 逆向工程與再生工程是目前預(yù)防性維護(hù)采用的主要技術(shù)。,什么是預(yù)防性維護(hù),41,所謂軟件的逆向工程就是分析已有的程序,尋求比源代碼更高級的抽象表現(xiàn)形式。逆向工程是對原有設(shè)計(jì)恢復(fù)的過程,使用逆向工程工具可以從已存在的程序中抽取數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)及各種有用的程序設(shè)計(jì)信息。,什么是逆向工程,42,再工程是在獲得程序設(shè)計(jì)信息的同時(shí),利用這些信息修改或重構(gòu)軟件系統(tǒng)的工作。根據(jù)用戶的需求,軟件人員利用再工程重新實(shí)現(xiàn)已有程序,同時(shí)增加新的功能或改進(jìn)性能。,什么是

15、再工程,43,4、軟件維護(hù)的最新方法,面向缺陷維護(hù)(程序級維護(hù)):軟件產(chǎn)品能夠正常運(yùn)轉(zhuǎn),可以滿足用戶的功能、性能、接口需求,只是個(gè)別地方存在缺陷,使用戶感到不便。缺陷發(fā)生在程序?qū)崿F(xiàn)的級別上??朔毕莸姆椒ㄊ切薷某绦?,而不是修改分析與設(shè)計(jì),也就是通常說的只修改編碼,不修改數(shù)據(jù)結(jié)構(gòu)。面向缺陷維護(hù)是較小的維護(hù)。 面向功能維護(hù)(設(shè)計(jì)級維護(hù)):軟件產(chǎn)品在功能、性能、接口上存在某些不足。不維護(hù)就不能正常運(yùn)轉(zhuǎn)。維護(hù)即要修改分析與設(shè)計(jì),又要修改程序,也就是既修改數(shù)據(jù)結(jié)構(gòu),又修改編碼。面向功能維護(hù)是較大的維護(hù)。,44,以客戶機(jī)/服務(wù)器兩層結(jié)構(gòu)來劃分軟件維護(hù)。,第1種方法:C/S法,對這種結(jié)構(gòu)的應(yīng)用軟件維護(hù)的方法

16、是,將客戶機(jī)和服務(wù)器上的兩部分軟件分開維護(hù)。 客戶機(jī)上的軟件修改后,制作成自動安裝的光盤,傳遞給用戶自己安裝,替換原來的軟件。 服務(wù)器上的軟件由維護(hù)人員直接在服務(wù)器上修改、測試、安裝、運(yùn)行。,45,第2種方法:遠(yuǎn)程更新法,以三層結(jié)構(gòu)來劃分軟件維護(hù)。,客戶機(jī)/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器的三層結(jié)構(gòu),是目前普遍采用的軟件結(jié)構(gòu)。 客戶機(jī)上的軟件維護(hù),不需到用戶現(xiàn)場去,只需在系統(tǒng)后臺服務(wù)器上借助網(wǎng)絡(luò)的運(yùn)行,使得軟件的安裝與升級,變成了一個(gè)完全透明的過程,再不用擔(dān)心光盤的安裝或軟盤的損傷。這就是三層結(jié)構(gòu)的優(yōu)點(diǎn)之一。這是網(wǎng)絡(luò)革命帶來的軟件維護(hù)革命,使用戶能享受簡單、方便、全面、及時(shí)的維護(hù)與升級服務(wù)。 殺病毒工

17、具升級辦法,就是這樣一種維護(hù)。,46,第3種方法:結(jié)構(gòu)化方法,與過程開發(fā)方法相對應(yīng)的面向過程維護(hù)方法。,面向數(shù)據(jù)開發(fā)方法對應(yīng)面向數(shù)據(jù)維護(hù)方法,就是從數(shù)據(jù)庫表的結(jié)構(gòu)入手,運(yùn)用視圖技術(shù)、事務(wù)處理技術(shù)、分布式數(shù)據(jù)庫技術(shù)、數(shù)據(jù)復(fù)制技術(shù)、數(shù)據(jù)發(fā)布和訂閱技術(shù),維護(hù)數(shù)據(jù)庫服務(wù)器上數(shù)據(jù)的完整性和一致性。 面向?qū)ο箝_發(fā)方法對應(yīng)面向?qū)ο缶S護(hù)方法,就是利用對象“繼承”的特性,維護(hù)類庫、構(gòu)件庫、組件庫、中間件庫。,47,第4種方法:五個(gè)面向法,站在“面向流程分析、面向數(shù)據(jù)設(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)、面向功能測試、面向過程管理”的角度上,來劃分軟件維護(hù)的方法。,需求分析的維護(hù),采取面向業(yè)務(wù)流程的方法。 軟件設(shè)計(jì)的維護(hù),采取面向

18、數(shù)據(jù)的方法。 軟件實(shí)現(xiàn)的維護(hù),采取面向?qū)ο蟮姆椒ā?軟件測試的維護(hù),采取面向功能的方法。 項(xiàng)目管理的維護(hù),采取面向過程管理的方法,48,軟件維護(hù)與軟件產(chǎn)品版本升級,軟件維護(hù)與軟件產(chǎn)品版本升級有一定關(guān)系: 若小維護(hù)前的版本號為V1.00,則小維護(hù)后的版本號為V1.01。若大維護(hù)前的版本號為V1.01,則大維護(hù)后的版本號為V1.11。 一般而言,版本號中小圓點(diǎn)的左一位,表示該軟件產(chǎn)品的第幾個(gè)版本。中小圓點(diǎn)的右一位,表示該版本的大修改次數(shù)。小圓點(diǎn)的右二位,表示該版本的小修改次數(shù)。 只有該軟件產(chǎn)品的運(yùn)行環(huán)境發(fā)生大改變時(shí),或者該軟件產(chǎn)品的功能變化超過30%時(shí),其版本才能升級,此時(shí),版本號中小圓點(diǎn)的左一位才能加1,由V1.11變?yōu)閂2.00。,49,軟件維護(hù)的工作流程,(1).分類整理用戶意見 (2).提出維護(hù)申請 (3).評審、審計(jì)、批準(zhǔn)維護(hù)申請 (4).修改需求文檔 (5).維護(hù)需求文檔評審 (6).修改設(shè)計(jì)文檔 (7).維護(hù)設(shè)計(jì)文檔評審 (8).修改源程序 (9).回歸測試 (10).修改軟件產(chǎn)品版本號 (11).交付用戶運(yùn)行 (12).進(jìn)行新一輪維護(hù),轉(zhuǎn)向流程(1).,50,UML對軟件維護(hù)的影響,UML把軟件生存周期定義為4個(gè)主要階段:初始、細(xì)化、構(gòu)造、移交。經(jīng)過這4個(gè)階段的歷程被稱為一個(gè)開發(fā)周期,自動產(chǎn)生一個(gè)周期內(nèi)的所有文檔,從而生成一個(gè)軟件產(chǎn)品。 首次經(jīng)歷這

溫馨提示

  • 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

提交評論