第1章 軟件工程概述_第1頁
第1章 軟件工程概述_第2頁
第1章 軟件工程概述_第3頁
第1章 軟件工程概述_第4頁
第1章 軟件工程概述_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章軟件(ruǎnjiàn)與軟件(ruǎnjiàn)工程馬偉鋒mawf@浙江科技學院(xuéyuàn)信息與電子工程學院(xuéyuàn)1共七十頁本章(běnzhānɡ)內(nèi)容1.1軟件基本概念軟件概念、軟件特點、軟件分類、軟件發(fā)展1.2軟件工程(ruǎnjiànɡōnɡchénɡ)“軟件危機”、軟件工程1.3軟件生命周期1.4軟件過程共七十頁31.1軟件(ruǎnjiàn)基本概念

1.1.1什么是軟件?軟件是:(1)指令的集合(計算機程序),通過執(zhí)行這些指令來滿足預期的特征、功能和性能需求;

(2)數(shù)據(jù)結構,使得程序可以(kěyǐ)合理的利用信息;(3)文檔描述,用來描述程序操作和使用。程序=?軟件共七十頁41.1.2軟件(ruǎnjiàn)的特點軟件是邏輯產(chǎn)品,不同于物理產(chǎn)品,軟件更新復雜,硬件簡單替換。硬件會磨損(浴缸曲線),軟件不會(失效曲線)。軟件本身復雜,設計開發(fā)復雜,如人員要求高,成本、進度難控制,風險(fēngxiǎn)大、維護困難等。

采用構件的構造模式發(fā)展,然而大多數(shù)軟件仍是根據(jù)實際的顧客需求定制的。共七十頁5磨損(mósǔn)vs.退化磨合調(diào)整磨損用壞修改點實際曲線理想曲線硬件失效率曲線時間失效率時間失效率軟件失效率曲線共七十頁61.1.3軟件(ruǎnjiàn)的分類系統(tǒng)軟件(xìtǒnɡruǎnjiàn)應用軟件工程/科學軟件嵌入式軟件產(chǎn)品線軟件Web應用軟件人工智能軟件共七十頁7軟件(ruǎnjiàn)新的分類開放計算—普遍的,分布式計算普適計算—無線網(wǎng)絡網(wǎng)絡資源—萬維網(wǎng)發(fā)展為一個計算引擎(yǐnqíng)開放源碼—“免費”

源代碼開放了計算機群體(它是一種福利,但也是一種潛在的威脅?。┢渌?/p>

(參見第31章)數(shù)據(jù)挖掘網(wǎng)格計算認知機納米技術軟件共七十頁1.1.4軟件(ruǎnjiàn)的發(fā)展共七十頁早期面向批處理有限(yǒuxiàn)的分布自定義軟件第二階段多用戶實時(shíshí)數(shù)據(jù)庫軟件產(chǎn)品第三階段分布式系統(tǒng)嵌入“智能”低成本硬件消費者的影響第四階段強大的桌面系統(tǒng)面向?qū)ο蠹夹g專家系統(tǒng)人工神經(jīng)網(wǎng)絡并行計算網(wǎng)路計算機195019601970198019902000角色轉(zhuǎn)變:程序–

工具–

服務–

知識共七十頁10遺留(yíliú)軟件軟件必須進行適應性調(diào)整,以滿足新的計算環(huán)境和技術的需求。軟件必須升級以實現(xiàn)新的商業(yè)需求。軟件必須擴展使之具有(jùyǒu)與更多現(xiàn)代系統(tǒng)和數(shù)據(jù)庫的互操作能力。軟件必須進行改建使之能適應多樣化的網(wǎng)絡環(huán)境。為什么一定要變更?共七十頁11軟件(ruǎnjiàn)發(fā)展面臨問題對軟件的質(zhì)量要求越來越高。軟件的體量變得越來越龐大,“個人英雄主義”很難在存在了。軟件企業(yè)面臨激烈(jīliè)的競爭。軟件必須進行改建使之能適應多樣化的網(wǎng)絡環(huán)境。軟件開發(fā)的方法嚴重落后?!?968年10月,北大西洋公約組織(NATO)的科學家在德國召開的學術會議上正式提出了軟件危機問題。共七十頁1.1.5軟件(ruǎnjiàn)危機

共七十頁一些實際(shíjì)例子80年代歐洲亞麗安娜火箭的發(fā)射失敗,原因是軟件錯誤(cuòwù)。美國阿托拉斯火箭的發(fā)射失敗,原因是軟件故障。日本第5代機因為軟件問題在投入50億美元后于1993年下馬。共七十頁一組統(tǒng)計數(shù)字共七十頁危機(wēijī)原因共七十頁軟件規(guī)模(guīmó)類別參加人員數(shù)研制期限源程序行數(shù)

微型 1 1~4周0.5k小型1 1~6月1k~2k中型2~5 1~2年5k~50k大型5~20 2~3年50k~100k甚大型100~10004~5年1M(=1000k)極大型2000~50005~10年1M~10M

共七十頁引入“工程(gōngchéng)”思想工程:以某組設想的目標為依據(jù),應用有關的科學知識和技術手段,通過一群人的有組織活動將某個(mǒuɡè)(或某些)現(xiàn)有實體(自然的或人造的)轉(zhuǎn)化為具有預期使用價值的人造產(chǎn)品過程。建筑工程機械工程共七十頁軟件工程:克服軟件(ruǎnjiàn)危機的努力(1)從管理的角度

軟件開發(fā)過程的研究、文檔的標準化以及人們的交流方式等。(2)軟件開發(fā)技術(jìshù)、方法的研究

如結構化軟件開發(fā)方法,面向?qū)ο蟮拈_發(fā)共七十頁20世紀80年代末,美國DoD和工業(yè)界開始認識到管理的重要性。美國DoD的一項研究表明,70%的項目由于管理不善導致難以控制進步、成本和質(zhì)量進一步的研究發(fā)現(xiàn):管理是影響軟件項目成功開發(fā)的全局性因素,而技術只影響局部如果軟件開發(fā)組織不能對軟件項目進行(jìnxíng)有效管理,就不能充分發(fā)揮軟件開發(fā)方法和工具的潛力,也就不能高效率地開發(fā)出高質(zhì)量的軟件產(chǎn)品1.解決危機(wēijī)的管理途徑共七十頁提出有效的方法和工具支持軟件開發(fā):1968年提出軟件工程概念和思想20世紀70年代的結構化軟件開發(fā)方法20世紀80年代的面向?qū)ο蟮能浖_發(fā)方法新的技術(jìshù):軟件重用、快速原型、需求工程典型技術:COM,Java,C++,J2EE,.Net,….支撐工具和環(huán)境:Jbuilder,VisualStudio,WebLogic,…2.解決(jiějué)危機的技術方法途徑共七十頁211.2軟件工程(ruǎnjiànɡōnɡchénɡ)種子定義:軟件工程是建立和使用(shǐyòng)一套合理的工程原則,以便經(jīng)濟地獲得可靠的、可以在實際機器上高效運行的軟件。共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)定義:軟件工程是:(1)將系統(tǒng)化的、規(guī)范的、可量化的方法應用于軟件的開發(fā)、運行和維護,即將(jíjiāng)工程化方法應用于軟件。(2)在(1)中所述方法的研究。——IEEE共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的特點1.軟件工程關注于大型程序的構造2.軟件工程的中心課題是控制復雜性3.軟件經(jīng)常變化4.開發(fā)軟件的效率非常重要5.和諧地合作是開發(fā)軟件的關鍵6.軟件必須有效地支持它的用戶7.在軟件工程領域中是由具有(jùyǒu)一種文化背景的人替具有(jùyǒu)另一種文化背景的人共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的基本原理用分階段的生命周期計劃嚴格管理堅持進行階段評審實行嚴格的產(chǎn)品控制采用現(xiàn)代程序設計技術結果應能清楚(qīngchu)地審查開發(fā)小組的人員應該少而精承認不斷改進軟件工程實踐的必要性共七十頁SoftwareEngineeringa“quality”focusprocessmodelmethodstools工具(gōngjù)過程(guòchéng)方法質(zhì)量關注點軟件工程:一種層次化技術軟件工程共七十頁舉例(jǔlì):去杭州千島湖旅游共七十頁ALM(ApplicationLifecycleManagement)MSF(MicrosoftSolutionFramework)共七十頁軟件工程學通常把在軟件生命周期全過程中使用(shǐyòng)的一整套技術方法的集合稱為方法學(methodology),也稱為范型(paradigm)。共七十頁軟件工程(ruǎnjiànɡōnɡchénɡ)的擴展共七十頁1.3軟件(ruǎnjiàn)生命周期模型共七十頁1.4軟件(ruǎnjiàn)過程軟件過程是各個環(huán)節(jié)的粘合劑,串聯(lián)。軟件產(chǎn)品構建時所執(zhí)行的一系列活動(activity)、動作(action)和任務(rènwu)(task)的集合。過程框架:框架活動+普適性活動Frameworkactivity+umbrellaactivity共七十頁32過程(guòchéng)框架舉例:過程框架框架活動軟件工程動作工作任務工作產(chǎn)品(chǎnpǐn)里程碑和可交付成果QA檢查點普適性活動共七十頁33一個通用的框架包含(bāohán)5個活動:溝通策劃建模需求分析(fēnxī)設計構建代碼生成測試部署共七十頁34普適性活動(huódòng)軟件項目管理正式技術(jìshù)評審軟件質(zhì)量保證軟件配置管理工作產(chǎn)品的準備和生產(chǎn)可復用管理測量風險管理共七十頁1.4.1過程(guòchéng)流-框架活動流程溝通(gōutōng)策劃建模構建部署共七十頁361.4.1過程流-框架(kuànɡjià)活動流程共七十頁37注意:項目不同(bùtónɡ),過程可能不同(bùtónɡ)活動、動作和任務的總體流程(liúchéng),以及它們之間相互依賴關系在每一個框架活動中,動作和任務細化的程度工作產(chǎn)品的定義和要求的程度質(zhì)量保證活動應用的方式項目跟蹤和控制活動應用的方式過程描述的詳細程度和嚴謹程度客戶和利益相關者對項目參與的程度軟件團隊所賦予的自主權隊伍組織和角色明確程度共七十頁38軟件工程(ruǎnjiànɡōnɡchénɡ)實踐的精髓Polya建議:1.理解問題(溝通分析)。2.計劃解決方案(建模和軟件設計)。3.實施(shíshī)計劃

(代碼生成)。4.檢查結果的準確性(測試和質(zhì)量保證)。共七十頁1.5經(jīng)典軟件過程(guòchéng)模型(1)瀑布(pùbù)模型(WaterfallModel)傳統(tǒng)瀑布模型共七十頁

傳統(tǒng)瀑布(pùbù)模型的特點提供了軟件過程模型的基本框架(模板)。強調(diào)了每一階段活動的嚴格順序。質(zhì)量保證觀點:以經(jīng)過評審確認了的階段工作(gōngzuò)產(chǎn)品(文檔)驅(qū)動下一階段的工作,便于管理。是一種整體開發(fā)模型,程序的物理實現(xiàn)集中在開發(fā)階段的后期,用戶在最后才能看到自己的產(chǎn)品。傳統(tǒng)瀑布模型存在什么問題?1.5經(jīng)典軟件過程模型共七十頁實際(shíjì)的瀑布模型1.5經(jīng)典軟件過程(guòchéng)模型共七十頁瀑布模型適合于用戶需求明確、完整、無重大變化的軟件項目開發(fā)。瀑布模型的成功在很大程度上是由于它基本上是一種文檔驅(qū)動的模型“瀑布模型是由文檔驅(qū)動的”這個事實也是它的一個主要缺點:實際項目很少按照該模型給出的順序進行(jìnxíng);用戶常常難以清楚地給出所有需求;用戶必須有耐心,等到系統(tǒng)開發(fā)完成。瀑布(pùbù)模型的優(yōu)缺點1.5經(jīng)典軟件過程模型共七十頁(2)原型(yuánxíng)模型—快速原型模型(RapidPrototypeModel)在用戶不能給出完整、準確的需求說明,或者開發(fā)者不能確定算法的有效性、操作系統(tǒng)的適應性或人機交互的形式等許多情況下,可以根據(jù)用戶的一組基本需求,快速建造一個原型(yuánxíng)(可運行的軟件),然后進行評估,進一步精化、調(diào)整原型(yuánxíng),使其滿足用戶的要求,也使開發(fā)者對將要做的事情有更好的理解。建造/修改原型

聽取用戶意見用戶測試運行原型原型實現(xiàn)范型1.5經(jīng)典軟件過程模型共七十頁快速(kuàisù)原型驗證(yànzhèng)規(guī)格說明驗證設計驗證編碼測試綜合測試維護變化的需求驗證維護過程開發(fā)過程1.5經(jīng)典軟件過程模型共七十頁原型模型存在的問題⑴為了使原型盡快的工作,沒有考慮軟件的總體質(zhì)量和長期的可維護性。⑵為了演示,可能采用不合適的操作系統(tǒng)、編程語言、效率低的算法,這些不理想的選擇成了系統(tǒng)的組成部分。⑶開發(fā)過程不便于管理。有效的使用原型模式建造(jiànzào)原型僅是為了定義需求,之后就被拋棄(或被部分拋棄),實際的軟件在充分考慮了質(zhì)量和可維護性之后才被開發(fā)。1.5經(jīng)典軟件(ruǎnjiàn)過程模型共七十頁(3)增量(zēnɡliànɡ)模型(IncrementalModel)是一種漸進地開發(fā)逐步完善的軟件(ruǎnjiàn)版本的模型。需求分析驗證規(guī)格說明驗證設計驗證維護針對每個構件完成詳細設計、編碼和集成,經(jīng)測試后交付給用戶1.5經(jīng)典軟件過程模型共七十頁分析(fēnxī)分析(fēnxī)分析分析設計設計設計設計編碼編碼編碼編碼測試測試測試測試增量1增量2增量3增量4交付交付交付交付●●●●●

?

反復的應用瀑布模型的基本成分和原型模型的迭代特征,每一個線型過程產(chǎn)生一個“增量”的發(fā)布或提交,該增量均是一個可運行的產(chǎn)品。

?

早期的版本實現(xiàn)用戶的基本需求,并提供給用戶評估的平臺。增量模型共七十頁在較短時間內(nèi)向用戶提交可完成部分工作的產(chǎn)品,并分批、逐步地向用戶提交產(chǎn)品。從第一個構件交付之日起,用戶就能做一些有用的工作。整個軟件產(chǎn)品被分解成許多個增量構件,開發(fā)人員可以一個構件一個構件地逐步開發(fā)。逐步增加產(chǎn)品功能可以使用戶有較充裕的時間學習和適應新產(chǎn)品,從而減少一個全新的軟件可能給客戶組織帶來的沖擊。采用增量模型比采用瀑布模型和快速原型模型需要更精心的設計,但在設計階段多付出的勞動將在維護階段獲得(huòdé)回報。增量(zēnɡliànɡ)模型的優(yōu)點1.5經(jīng)典軟件過程模型共七十頁增量模型(móxíng)的困難在把每個新的增量構件集成到現(xiàn)有軟件體系結構中時,必須不破壞原來已經(jīng)開發(fā)出的產(chǎn)品。此外,必須把軟件的體系結構設計得便于按這種方式進行擴充,向現(xiàn)有產(chǎn)品中加入新構件的過程必須簡單、方便,也就是說,軟件體系結構必須是開放(kāifàng)的。開發(fā)人員既要把軟件系統(tǒng)看作整體。又要看成可獨立的構件,相互矛盾。多個構件并行開發(fā),具有無法集成的風險。1.5經(jīng)典軟件過程模型共七十頁(4)螺旋(luóxuán)模型(SpiralModel)軟件風險是任何軟件開發(fā)項目中都普遍存在的實際問題,項目越大,軟件越復雜,承擔該項目所冒的風險也越大。對于復雜的大型軟件,開發(fā)一個原型往往達不到要求。螺旋模型將瀑布模型和增量(zēnɡliànɡ)模型結合起來,加入了風險分析。在該模型中,軟件開發(fā)是一系列的增量(zēnɡliànɡ)發(fā)布,早期的迭代中,發(fā)布的增量(zēnɡliànɡ)可能是一個紙上的模型或原型,在以后的迭代中,逐步產(chǎn)生系統(tǒng)更加完善的版本。螺旋模型的基本思想是降低風險。1.5經(jīng)典軟件過程模型共七十頁快速(kuàisù)原型驗證(yànzhèng)規(guī)格說明驗證設計驗證編碼測試綜合測試維護變化的需求驗證風險分析風險分析風險分析風險分析風險分析風險分析可看作在每個階段之前都增加了風險分析過程的快速原型模型。簡化的螺旋模型1.5經(jīng)典軟件過程模型共七十頁完整(wánzhěng)的螺旋模型1.5經(jīng)典(jīngdiǎn)軟件過程模型共七十頁

溝通螺旋(luóxuán)模型風險(fēngxiǎn)分析工程實施用戶通信用戶評估產(chǎn)品維護項目產(chǎn)品增強項目新產(chǎn)品開發(fā)項目概念開發(fā)項目計劃建造及發(fā)布共七十頁螺旋模型的優(yōu)點對可選方案和約束條件的強調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個重要目標減少了過多測試或測試不足維護和開發(fā)之間并沒有本質(zhì)區(qū)別螺旋模型的特點風險驅(qū)動,需要相當豐富的風險評估經(jīng)驗和專門知識,否則風險更大主要適用于內(nèi)部(nèibù)開發(fā)的大規(guī)模軟件項目,隨著過程的進展演化,開發(fā)者和用戶能夠更好的識別和對待每一個演化級別上的風險隨著迭代次數(shù)的增加,工作量加大,軟件開發(fā)成本增加1.5經(jīng)典軟件過程(guòchéng)模型共七十頁(5)面向?qū)ο竽P?móxíng)噴泉(pēnquán)模型(FountainModel)分析設計實現(xiàn)測試集成演化特點:主要用于支持面向?qū)ο箝_發(fā)過程體現(xiàn)了軟件創(chuàng)建所固有的迭代和無間隙的特征1.5經(jīng)典軟件過程模型共七十頁可重用(zhòngyòng)部件組裝模型(構件集成模型)

(ComponentIntegrationModel)

構件(components)也稱為組件,是一段實現(xiàn)一系列有確定接口的程序體,具有自己的功能和邏輯,能同其他構件集成起來協(xié)調(diào)工作。該模型支持軟件重用(Reusability),對縮短軟件開發(fā)周期、降低項目成本有重要的現(xiàn)實意義。同時,建造符合某應用領域體系結構標準的構件,可以用來搭建分布式的、跨越不同操作平臺(集成化軟件開發(fā)環(huán)境(ISEE))的軟件,擴展(kuòzhǎn)了軟件的應用前景,促進了軟件標準化、商品化的發(fā)展。因此,在此基礎上專家們又提出了“基于構件的軟件工程”(CBSE)。構件集成模型如下圖所示:1.5經(jīng)典軟件過程模型共七十頁

構件集成模型軟件體系結構被建立后,必須用構件去充實(chōngshí),這些構件可從復用庫中獲得,或者根據(jù)專門需要而開發(fā)。整個過程可以演化地進行,面向?qū)ο蠓椒ńo予技術上的支持。1.5經(jīng)典軟件過程(guòchéng)模型共七十頁Sommerville提出基于組件開發(fā)有兩種思路:完成高層設計,對設計中的組件給出描述,以便找出可復用的組件,這些組件可在體系結構層次上加入或更詳細(xiángxì)的設計層次上加入。先根據(jù)需求搜尋可復用組件,再將設計建立在獲得的組件基礎上。這兩種思路可結合起來。設計(shèjì)系統(tǒng)體系結構描述組件搜尋可復用組件集成系統(tǒng)先完成架構設計的復用系統(tǒng)需求描述搜尋可復用組件對需求作某些修改體系結構設計集成系統(tǒng)復用驅(qū)動設計1.5經(jīng)典軟件過程模型共七十頁

構件技術主要有三種流行標準:OMG的CORBA:

對象管理組織發(fā)布的公用對象請求代理體系結構(CommonObjectRequestBrokerArchitecture)。通過一個對象請求代理(ORB)提供(tígōng)一系列服務,使得一個構件和其他構件通信,而不管它們在系統(tǒng)中的位置,實現(xiàn)了遠程對象通過接口進行通信的機制。為了解決CORBA對象引用不透明、缺少多重接口、系統(tǒng)過于復雜等問題,專家們又開發(fā)了新一代面向?qū)ο笾虚g件平臺ICE(InternetCommunicationsEngine—互聯(lián)網(wǎng)通信引擎)。使構建分布式應用系統(tǒng)更容易、性能和伸縮性更好。

1.5經(jīng)典軟件過程(guòchéng)模型共七十頁微軟的COM/DCOM:微軟開發(fā)了構件對象模型(ComponentObjectModel),它提供了運行(yùnxíng)于windows之上的單個應用系統(tǒng)使用不同廠商生產(chǎn)的構件的規(guī)約?;诜植际江h(huán)境下的COM稱為DCOM(DistributeCOM)。SUN的EJB(EnterpriseJavaBean):隨著Java在企業(yè)級應用的地位日趨重要,Sun提出了一個統(tǒng)一的企業(yè)級Java平臺—J2EE(Java2EnterpriseEdition)。在J2EE中,EJB負責最核心的業(yè)務處理。它為服務器端的應用程序提供了一種與廠商無關的Java接口,讓任何符合EJB規(guī)范的構件都可以運行在每一臺這樣的服務器上。

構件技術主要(zhǔyào)有三種流行標準:共七十頁(6)統(tǒng)一軟件開發(fā)過程

是由Rational公司的Booch、Jacobson、Rumbaugh提出的軟件過程模型,也稱RUP(RationalUnifiedProcess)。RUP重復一系列周期(zhōuqī),每個周期(zhōuqī)由一個交付給用戶的產(chǎn)品結束。每個周期劃分為初始、細化、構造和移交四個階段,每個階段圍繞著五個核心工作流(需求、分析、設計、實現(xiàn)、測試)分別迭代。

模型見下圖:1.5經(jīng)典軟件過程(guòchéng)模型共七十頁RUP軟件開發(fā)生命周期共七十頁初始階段:進行問題定義,確定目標,評估其可行性,降低關鍵風險。細化階段:制定項目計劃、配置各類資源、建立系統(tǒng)架構(包括各類視圖)。構造階段:開發(fā)(kāifā)整個產(chǎn)品,并確保產(chǎn)品可移交給用戶。移交階段:產(chǎn)品發(fā)布、安裝、用戶培訓。在每個階段的每次迭代的最后,用例模型、分析模型、設計模型、實現(xiàn)模型都會增量,每個階段結束的里程碑處,管理層做出是否繼續(xù)、進度、預算、是否給下一階段提供資助等決定。不同階段工作流的側重點不同,前兩階段大部分工作集中在需求、分析和架構設計上;在構造階段,重點轉(zhuǎn)移到詳細設計、實現(xiàn)和測試上。1.5經(jīng)典軟件過

溫馨提示

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

評論

0/150

提交評論