《軟件工程》課件-第11章 面向?qū)ο缶幋a與測(cè)試_第1頁
《軟件工程》課件-第11章 面向?qū)ο缶幋a與測(cè)試_第2頁
《軟件工程》課件-第11章 面向?qū)ο缶幋a與測(cè)試_第3頁
《軟件工程》課件-第11章 面向?qū)ο缶幋a與測(cè)試_第4頁
《軟件工程》課件-第11章 面向?qū)ο缶幋a與測(cè)試_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第11章

面向?qū)ο缶幋a與測(cè)試XX大學(xué)XX系XXX軟件工程教程電子科技大學(xué)出版社學(xué)習(xí)目標(biāo)l

理解面向?qū)ο缶幋a和面向?qū)ο鬁y(cè)試的定義;l

理解面向?qū)ο鬁y(cè)試用例的定義;l

掌握常見面向?qū)ο鬁y(cè)試策略;l

掌握良好的面向?qū)ο笤O(shè)計(jì)風(fēng)格;l

了解面向?qū)ο笤O(shè)計(jì)語言的優(yōu)點(diǎn)和技術(shù)特點(diǎn);l

了解設(shè)計(jì)面向?qū)ο鬁y(cè)試用例的要點(diǎn)。目錄01020304面向?qū)ο笤O(shè)計(jì)語言面向?qū)ο笤O(shè)計(jì)風(fēng)格面向?qū)ο鬁y(cè)試策略面向?qū)ο鬁y(cè)試用例設(shè)計(jì)05本章小結(jié)面向?qū)ο笤O(shè)計(jì)語言01面向?qū)ο笤O(shè)計(jì)語言◆

面向?qū)ο蠹夹g(shù)與方法包括五個(gè)階段,分別是面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)、面向?qū)ο缶幋a、面向?qū)ο鬁y(cè)試和面向?qū)ο缶S護(hù)。以上的五個(gè)階段,都少不了使用面向?qū)ο笤O(shè)計(jì)語言?!?/p>

面向?qū)ο笤O(shè)計(jì)語言(Object-OrientedLanguage),它是以對(duì)象作為基本程序結(jié)構(gòu)單位的一類程序設(shè)計(jì)語言,它用于描述的是以對(duì)象為核心的設(shè)計(jì),而對(duì)象是程序運(yùn)行的基本成分。面向?qū)ο笤O(shè)計(jì)語言◆

面向?qū)ο笤O(shè)計(jì)語言中提供了類、繼承等成分,有識(shí)認(rèn)性、多態(tài)性、類別性和繼承性四個(gè)主要特點(diǎn)。面向?qū)ο笤O(shè)計(jì)語言一般認(rèn)為,較典型的面向?qū)ο笤O(shè)計(jì)語言有如下五種:(1)Smalltalk語言支持單繼承、多態(tài)和動(dòng)態(tài)綁定。(2)EIFFEL語言支持多繼承、多態(tài)和動(dòng)態(tài)綁定。(3)C++,支持多繼承、多態(tài)和部分動(dòng)態(tài)綁定。(4)Java,支持單繼承、多態(tài)和部分動(dòng)態(tài)綁定。(5)C#,也支持單繼承,與Java和C++等有很多類似之處。面向?qū)ο笤O(shè)計(jì)語言的優(yōu)點(diǎn)(1)一致的表達(dá)方法面向?qū)ο蟮拈_發(fā)基于不隨時(shí)間變化的并且是一致的表示方法。(2)可重用性(3)可維護(hù)性面向?qū)ο笤O(shè)計(jì)語言的技術(shù)特點(diǎn)(1)面向?qū)ο笤O(shè)計(jì)語言具有支持類和對(duì)象概念的定義與實(shí)現(xiàn)機(jī)制。(2)面向?qū)ο笤O(shè)計(jì)語言具有實(shí)現(xiàn)繼承的語言機(jī)制。(3)面向?qū)ο笤O(shè)計(jì)語言具有實(shí)現(xiàn)屬性和服務(wù)的機(jī)制。(4)面向?qū)ο笤O(shè)計(jì)語言具有參數(shù)化類。面向?qū)ο笤O(shè)計(jì)語言的技術(shù)特點(diǎn)(5)面向?qū)ο笤O(shè)計(jì)語言提供類型檢查。(6)面向?qū)ο笤O(shè)計(jì)語言提供類庫(kù)。(7)面向?qū)ο笤O(shè)計(jì)語言提供持久對(duì)象的保存。(8)面向?qū)ο笤O(shè)計(jì)語言提供封裝與打包。(9)面向?qū)ο笤O(shè)計(jì)語言提供可視化開發(fā)環(huán)境。面向?qū)ο笤O(shè)計(jì)語言開發(fā)人員在選擇面向?qū)ο笤O(shè)計(jì)語言時(shí),還應(yīng)該著重考慮以下一些實(shí)際因素。(1)將來能否占主導(dǎo)地位。(2)可重用性。(3)類庫(kù)和開發(fā)環(huán)境。面向?qū)ο笤O(shè)計(jì)語言(4)其它因素。為用戶學(xué)習(xí)面向?qū)ο蟮姆治觥⒃O(shè)計(jì)和編碼技術(shù)提供的培訓(xùn)服務(wù);在使用面向?qū)ο笤O(shè)計(jì)語言期間提供技術(shù)支持;開發(fā)人員可以使用的開發(fā)工具、開發(fā)平臺(tái)和發(fā)布平臺(tái);機(jī)器性能和內(nèi)存要求;易于集成現(xiàn)有軟件等。面向?qū)ο笤O(shè)計(jì)風(fēng)格02面向?qū)ο笤O(shè)計(jì)風(fēng)格◆

程序設(shè)計(jì)風(fēng)格事關(guān)軟件的質(zhì)量和效率。在所有的程序設(shè)計(jì)應(yīng)用中,風(fēng)格好壞至關(guān)重要.這一點(diǎn)在面向?qū)ο笤O(shè)計(jì)和程序設(shè)計(jì)中表現(xiàn)尤為突出”,應(yīng)引起特別注意?!?/p>

從復(fù)用性、繼承機(jī)制、擴(kuò)充性、健壯性等幾方面論述面向?qū)ο蟪绦蛟O(shè)計(jì)風(fēng)格。面向?qū)ο笤O(shè)計(jì)風(fēng)格(1)復(fù)用性軟件復(fù)用是提高軟件生產(chǎn)力、提高軟件質(zhì)量和縮短軟件開發(fā)周期的一種有效的手段。1)代碼復(fù)用的種類”存在兩種代碼復(fù)用類型。一種是本項(xiàng)目之內(nèi)的代碼復(fù)用,另一種是新項(xiàng)目對(duì)舊項(xiàng)目的代碼復(fù)用(包括本項(xiàng)目復(fù)用以前項(xiàng)目的類部件及本項(xiàng)目為其它新項(xiàng)目復(fù)用本項(xiàng)目的部件做準(zhǔn)備)。面向?qū)ο笤O(shè)計(jì)風(fēng)格2)復(fù)用的設(shè)計(jì)準(zhǔn)則①

保持方法的耦合性(單純化):一種方法只能完成單個(gè)的功能或一組緊密相關(guān)的功能?!雹?/p>

盡量設(shè)計(jì)小方法:如果方法太大,應(yīng)把它分解成更小的方法。一般一個(gè)方法不要占用超過一頁紙。面向?qū)ο笤O(shè)計(jì)風(fēng)格③

方法的一致性:相似的方法應(yīng)該有一致的名稱、條件、參數(shù)次序、數(shù)據(jù)類型、返回值及出錯(cuò)條件等?!雹?/p>

分離的策略和實(shí)現(xiàn):策略方法制定決策,變換參數(shù),并且收集全局資源。策略方法常常是高度依賴應(yīng)用的,但很容易編寫和理解。面向?qū)ο笤O(shè)計(jì)風(fēng)格⑤

統(tǒng)一的覆蓋面:如果輸入條件在各種組合中出現(xiàn),則應(yīng)該針對(duì)所有組合卸除方法,而不能僅僅針對(duì)當(dāng)前用到的組合情況些方法。”⑥

應(yīng)該讓方法盡可能廣泛些,盡量歸納出參數(shù)類型、前提及約束。歸納出方法是如何執(zhí)行的假設(shè)及方法操作的內(nèi)容范疇等。面向?qū)ο笤O(shè)計(jì)風(fēng)格⑦避免全局信息:盡量少涉及外部事物?!雹?/p>

利用繼承機(jī)制:在面向?qū)ο蟪绦蛑校褂美^承機(jī)制是實(shí)現(xiàn)共享和提高重用程度的主要途徑。面向?qū)ο笤O(shè)計(jì)風(fēng)格(2)使用繼承機(jī)制◆

繼承是類與類之間的一種關(guān)系,繼承允許新的軟件模塊或類可定義對(duì)現(xiàn)存類的擴(kuò)充、專門化或合并。”◆

繼承是實(shí)現(xiàn)利用可復(fù)用軟件構(gòu)件構(gòu)造系統(tǒng)的有效機(jī)制.是面向?qū)ο筌浖_發(fā)的關(guān)鍵。◆

某些OOP語言允許多重繼承,即允許一個(gè)類具有一個(gè)以上的父類。面向?qū)ο笤O(shè)計(jì)風(fēng)格◆

下面幾種技術(shù)可以用來將方法分解以繼承某些代碼。①

子過程:最簡(jiǎn)單的方法是將共同代碼分解成”單個(gè)的能被其它方法調(diào)用的方法。②

分解因子:某些情況下,提高相似類的代碼復(fù)用性的最好的方法是在不同類的方法之間分解出其不同因子,將余下的代碼作為共享的方法。面向?qū)ο笤O(shè)計(jì)風(fēng)格③

委派:當(dāng)不存在實(shí)際的父類/子類關(guān)系時(shí),有時(shí)在一個(gè)程序內(nèi)使用繼承也會(huì)提高代碼重”用性。④

封裝內(nèi)部代碼:程序員都很希望能重用那些同一應(yīng)用中不同界面風(fēng)格的代碼。面向?qū)ο笤O(shè)計(jì)風(fēng)格(3)提高可擴(kuò)充性重用準(zhǔn)則提高了擴(kuò)充性。下面的面向?qū)ο蟮脑硪蔡岣邤U(kuò)充性。1)封裝類:如果某類的內(nèi)部結(jié)構(gòu)對(duì)其它類是隱藏的,則可以封裝該類?!?)封裝數(shù)據(jù)結(jié)構(gòu):不能從方法得到數(shù)據(jù)結(jié)構(gòu)。面向?qū)ο笤O(shè)計(jì)風(fēng)格3)避免遍歷多條鏈或方法:一種方法應(yīng)該只包含對(duì)象模型中有限的知識(shí)。4)避免對(duì)象類型上的情況語句:使用方法”來代替情況語句。5)區(qū)分公共操作和私有操作:公共操作是類外部可見的且具有明晰的接口。面向?qū)ο笤O(shè)計(jì)風(fēng)格◆

將操作分成公共和私有兩類,主要的原因如下。1)不必要使用戶卷入類的細(xì)節(jié)中。2)由于私有方法取決于內(nèi)部的實(shí)現(xiàn)策略,所以當(dāng)實(shí)現(xiàn)改變”時(shí),方法設(shè)計(jì)者可能改變參數(shù)的數(shù)目和類型。3)私有方法增加了模塊度。方法的內(nèi)部細(xì)節(jié)只影響該類中的方法,而不影響其它方法?!?/p>

屬性和聯(lián)系也可分成公有的與私有的。另外,公有屬性和聯(lián)系又可以具有只讀權(quán)限或只寫權(quán)限兩種。面向?qū)ο笤O(shè)計(jì)風(fēng)格(4)不容忽視健壯性在寫方法時(shí),在盡力考慮效率的同時(shí)不能忽視健壯性。健壯性(robustness,或稱魯棒性)是指在異常條件下,軟件系統(tǒng)仍能運(yùn)行的能力。”1)防止出錯(cuò)。軟件應(yīng)該能夠排除用戶輸入錯(cuò)誤的能力。用戶不正確的輸入錯(cuò)誤不應(yīng)該引起軟件的中斷。方法設(shè)計(jì)者必須考慮兩種出錯(cuò)情形:一是分析階段中應(yīng)用(用戶)錯(cuò)誤,二是問題陳述中存在的條件轉(zhuǎn)述。面向?qū)ο笤O(shè)計(jì)風(fēng)格2)優(yōu)化程序代碼。如果可以使用多種方法實(shí)現(xiàn)某個(gè)操作,就應(yīng)該從內(nèi)存、速度及實(shí)現(xiàn)的簡(jiǎn)單程度等來估計(jì)折衷?!?)參數(shù)合法性。對(duì)于那些用戶使用的外部操作,必須嚴(yán)格檢査它們的參數(shù)以防失敗。面向?qū)ο鬁y(cè)試策略03面向?qū)ο蟓h(huán)境中的單元測(cè)試◆

測(cè)試的目標(biāo)是在一個(gè)實(shí)際的時(shí)間框架內(nèi)盡可能多地查找錯(cuò)誤,并進(jìn)行可管理的工作量?!?/p>

面向?qū)ο蟓h(huán)境中的單元測(cè)試。不再孤立地對(duì)單個(gè)操作進(jìn)行測(cè)試(傳統(tǒng)的單元測(cè)試觀點(diǎn)),而是將其作為類的一部分。有必要在每個(gè)子類的環(huán)境中測(cè)試操作這意味著在面向?qū)ο蟓h(huán)境中,以獨(dú)立的方式測(cè)試操作(傳統(tǒng)的單元測(cè)試方法)往往是無效的。面向?qū)ο蟓h(huán)境中的集成測(cè)試◆

面向?qū)ο蟓h(huán)境中的集成測(cè)試面向?qū)ο笙到y(tǒng)的集成測(cè)試有兩種不同的策略:(1)基于線程的測(cè)試(thread-basedtesting)。對(duì)響應(yīng)系統(tǒng)的一個(gè)輸入或事件所需的一組類進(jìn)行集成。每個(gè)線程單獨(dú)地集成和測(cè)試。應(yīng)用回歸測(cè)試以確保沒有產(chǎn)生副作用。面向?qū)ο蟓h(huán)境中的集成測(cè)試(2)基于使用的測(cè)試(use-based

testing)。通過測(cè)試很少使用服務(wù)類(如果有的話)的那些類(稱為獨(dú)立類)開始系統(tǒng)的構(gòu)建。獨(dú)立類測(cè)試完成后,利用獨(dú)立類測(cè)試下一層次的類(稱為依賴類)。繼續(xù)依賴類的測(cè)試直到完成整個(gè)系統(tǒng)。面向?qū)ο蟓h(huán)境中的確認(rèn)測(cè)試◆

面向?qū)ο蟓h(huán)境中的確認(rèn)測(cè)試。確認(rèn)測(cè)試在集成測(cè)試結(jié)束時(shí)開始,當(dāng)單個(gè)構(gòu)件被測(cè)試后,軟件被組裝成一個(gè)完整的包,并且發(fā)現(xiàn)并糾正了接口錯(cuò)誤。(1)確認(rèn)測(cè)試準(zhǔn)則軟件驗(yàn)證是通過一系列測(cè)試來實(shí)現(xiàn)的,這些測(cè)試表明軟件功能滿足軟件要求。如果發(fā)現(xiàn)與規(guī)范的偏差,將創(chuàng)建缺陷列表。并且必須確定(利益相關(guān)者可以接受的)解決缺陷的方法。面向?qū)ο蟓h(huán)境中的確認(rèn)測(cè)試(2)配置評(píng)審確認(rèn)過程的一個(gè)重要成分是配置評(píng)審。評(píng)審的目的是確保所有的軟件配置元素已正確開發(fā)、編目,且具有改善支持活動(dòng)的必要細(xì)節(jié)。有時(shí)將配置評(píng)審稱為審核(audit)。面向?qū)ο鬁y(cè)試用例設(shè)計(jì)04面向?qū)ο鬁y(cè)試用例設(shè)計(jì)◆

面向?qū)ο鬁y(cè)試更關(guān)注于設(shè)計(jì)適當(dāng)?shù)牟僮餍蛄幸詸z查類的狀態(tài)。◆設(shè)計(jì)測(cè)試用例的要點(diǎn)(1)

應(yīng)該唯一標(biāo)識(shí)每一個(gè)測(cè)試案例,

并且與被測(cè)試的類明顯地建立關(guān)聯(lián);(2)陳述測(cè)試對(duì)象的一組特定狀態(tài);面向?qū)ο鬁y(cè)試用例設(shè)計(jì)(3)

為每個(gè)測(cè)試建立一套測(cè)試步驟,要考慮或識(shí)別的問題包括:測(cè)試對(duì)象的一組特定狀態(tài)、一組消息和操作、測(cè)試對(duì)象時(shí)可能發(fā)生的一組異常、一組外部條件和輔助信息,以幫助理解和實(shí)施測(cè)試。設(shè)計(jì)類測(cè)試用例(1)類級(jí)隨機(jī)測(cè)試隨機(jī)測(cè)試是針對(duì)軟件在使用過程中隨機(jī)產(chǎn)生的一系列不同的操作序列設(shè)計(jì)的測(cè)試案例,可以測(cè)試不同的類實(shí)例生存歷史。設(shè)計(jì)類測(cè)試用例(2)類級(jí)劃分測(cè)試劃分測(cè)試方法與傳統(tǒng)軟件測(cè)試采用的等價(jià)劃分方法類似,減少了測(cè)試類所需要的測(cè)試用例的數(shù)量。首先,用不同的劃分方法(包括基于狀態(tài)的劃分方法、基于屬性的劃分方法、基于功能的劃分方法),把輸入和輸出分類,然后把劃分出來的每個(gè)類別設(shè)計(jì)測(cè)試用例。設(shè)計(jì)類測(cè)試用例(3)類級(jí)基于故障的測(cè)試基于故障的測(cè)試與傳統(tǒng)的錯(cuò)誤測(cè)試推測(cè)法類似。首先,推測(cè)軟件中可能有的錯(cuò)誤,然后,設(shè)計(jì)出最可能發(fā)現(xiàn)這些錯(cuò)誤的測(cè)試案例,這大程度上要依靠測(cè)試人員的經(jīng)驗(yàn)。測(cè)試類間測(cè)試用例類間測(cè)試方法包括隨機(jī)測(cè)試方法、分區(qū)測(cè)試方法、基于場(chǎng)景的測(cè)試和行為測(cè)試。隨機(jī)測(cè)試方法和分區(qū)測(cè)試方法類似于類級(jí)隨機(jī)測(cè)試和類級(jí)分區(qū)測(cè)試,主要研究基于場(chǎng)景的測(cè)試和行為測(cè)試。測(cè)試類間測(cè)試用例(1)基于場(chǎng)景的測(cè)試基于場(chǎng)景的測(cè)試關(guān)注用戶所做的事情,而這正是錯(cuò)誤測(cè)試所忽略的,即不正確的規(guī)范和子系統(tǒng)之間的交互。(2)行為測(cè)試行為測(cè)試即從動(dòng)態(tài)模型導(dǎo)出測(cè)試用例;用狀態(tài)轉(zhuǎn)換圖作為表示類的動(dòng)態(tài)行為模型,類的狀態(tài)圖可以導(dǎo)出測(cè)試該類的動(dòng)態(tài)行為的測(cè)試用例。本章小結(jié)05本章小結(jié)◆

本章介紹了面向?qū)ο蟮脑O(shè)計(jì)語言和設(shè)計(jì)風(fēng)格,系統(tǒng)的概括了面向?qū)ο蟮臏y(cè)試策略,并闡述了面向?qū)ο鬁y(cè)試用例設(shè)計(jì)的相關(guān)重點(diǎn)?!?/p>

面向?qū)ο蠓椒▽W(xué)把分析、設(shè)計(jì)和實(shí)現(xiàn)很自然地聯(lián)系在一起了。雖然面向?qū)ο笤O(shè)計(jì)原則上不依賴于特定的實(shí)現(xiàn)環(huán)境,但是實(shí)現(xiàn)結(jié)果和實(shí)現(xiàn)成本卻在很大程度上取決于實(shí)現(xiàn)環(huán)境。因此,直接支持面向?qū)ο笤O(shè)計(jì)范式的面向?qū)ο蟪绦蛘Z言、開發(fā)環(huán)境及類庫(kù),對(duì)于面向?qū)ο髮?shí)現(xiàn)來說非常重要。本章小結(jié)◆

為了把面向?qū)ο笤O(shè)計(jì)結(jié)果順利地轉(zhuǎn)變成面向?qū)ο蟪绦?,首先?yīng)該選擇一種適當(dāng)?shù)某绦蛟O(shè)計(jì)語言。面向?qū)ο蟮某绦蛟O(shè)計(jì)語言非常適合用來實(shí)現(xiàn)面向?qū)ο笤O(shè)計(jì)結(jié)果。事實(shí)上,具有方便的開發(fā)環(huán)境和豐富的類庫(kù)的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,是實(shí)現(xiàn)面向?qū)ο笤O(shè)計(jì)的最佳選擇?!?/p>

良好的程序設(shè)計(jì)風(fēng)格對(duì)于面向?qū)ο髮?shí)現(xiàn)來說格外重要。它既包括傳統(tǒng)的程序設(shè)計(jì)風(fēng)格準(zhǔn)則,也包括與面向?qū)ο蠓椒ǖ奶攸c(diǎn)相適應(yīng)的一些新準(zhǔn)則。本章小結(jié)◆

面向?qū)ο蠓椒▽W(xué)使用獨(dú)特的概念和技術(shù)完成軟件開發(fā)工作,因此,在測(cè)試面向?qū)ο蟪绦虻臅r(shí)候,除了繼承傳統(tǒng)的測(cè)試技術(shù)之外,還必須研究與面向?qū)ο蟪绦蛱攸c(diǎn)相適應(yīng)的新的測(cè)試技術(shù)。◆

面向?qū)ο鬁y(cè)試的總目標(biāo)與傳統(tǒng)軟件測(cè)試的目標(biāo)相同,也是用最小的工作量發(fā)現(xiàn)最多的錯(cuò)誤。但是,面向?qū)ο鬁y(cè)試的策略和技術(shù)與傳統(tǒng)測(cè)試有所不同,測(cè)試的焦點(diǎn)從過程構(gòu)件(傳統(tǒng)模塊)移向了對(duì)象類。本章小結(jié)◆

一旦完成了面向?qū)ο蟪绦蛟O(shè)計(jì),就開始對(duì)每個(gè)類進(jìn)行單元測(cè)試。測(cè)試類時(shí)使用的方法主要有隨機(jī)測(cè)試、劃分測(cè)試和基于故障的測(cè)試。每種方法都測(cè)試類中封裝的操作。應(yīng)該設(shè)計(jì)測(cè)試序列以保證相關(guān)的操作受到充分測(cè)試。檢查對(duì)象的狀態(tài)(由對(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論