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

下載本文檔

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

文檔簡介

1、Software EngineeringSoftware Engineering軟件工程軟件工程第第1 1章章 軟件工程學概述軟件工程學概述 1- 2本章目標本章目標p 了解軟件工程學產(chǎn)生的了解軟件工程學產(chǎn)生的背景背景和和原因原因p 了解軟件工程的了解軟件工程的概念概念/ /原理原理/ /方法方法p 掌握軟件掌握軟件生命周期模型生命周期模型,為特定的項,為特定的項目選擇適合的目選擇適合的軟件過程模型軟件過程模型 1- 3問題問題為什么要提出軟件工程呢?軟件工程對軟件開發(fā)有什么幫助呢? 1- 4主要內(nèi)容主要內(nèi)容n軟件危機( Software Crisis)n軟件工程( Software Engi

2、neering)n軟件生命周期(Software Life Cycle)n軟件過程(Software Process) 1- 5內(nèi)容線索內(nèi)容線索n軟件危機軟件危機軟件發(fā)展過程軟件危機n軟件危機表現(xiàn)n軟件危機產(chǎn)生原因n消除軟件危機的途徑n軟件工程n軟件生命周期n軟件過程 1- 6軟件發(fā)展過程軟件發(fā)展過程n1950s1960s中:規(guī)模較小的程序,個體化的軟件開發(fā),沒有正式的設計階段,沒有文檔,只有程序清單【開發(fā)者即用戶:軟件開發(fā)被視作藝術創(chuàng)作】n1960s中1970中:“軟件作坊”,廣泛使用產(chǎn)品軟件,沿用個體化軟件開發(fā)方法?!败浖C” 出現(xiàn)了:規(guī)模膨脹;需求變更;高額維護。1968年,北約的計算

3、機科學家在聯(lián)邦德國召開國際會議,討論軟件危機問題,在這次會議上正式提出并使用了“軟件工程”這個名詞,一門新興的工程學科就此誕生了 1- 7軟件發(fā)展過程軟件發(fā)展過程n軟件發(fā)展過程中存在的問題軟件開發(fā)能力不能滿足人們的需要社會對軟件的依賴程度加大,人們普遍關注軟件的安全和可靠性若干年前開發(fā)的應用軟件經(jīng)過幾十次修改已無人認識它的內(nèi)部結構,己經(jīng)不可維護由于經(jīng)濟原因,嵌入式系統(tǒng)存在許多怪現(xiàn)象,企業(yè)不愿意投入資源再生產(chǎn),而采取打補丁+時髦界面的方法 1- 8美國IBM公司在1963年至1966年開發(fā)的IBM 360機的操作系統(tǒng)。這一項目花了5000人*年的工作量,最多時有1000人投入開發(fā)工作,寫出了近1

4、00萬行源程序。.據(jù)統(tǒng)計,這個操作系統(tǒng)每次發(fā)行的新版本都是從前一版本中找出1000個程序錯誤而修正的結果。.n這個項目的負責人這個項目的負責人F. D. BrooksF. D. Brooks事后總結了他在組織開發(fā)過程中的沉事后總結了他在組織開發(fā)過程中的沉痛教訓時說:痛教訓時說:“.正像一只逃亡的野獸落到泥潭中做垂死的掙扎,正像一只逃亡的野獸落到泥潭中做垂死的掙扎,越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑碾y。越是掙扎,陷得越深,最后無法逃脫滅頂?shù)臑碾y。.程序設計工程序設計工作正像這樣一個泥潭,作正像這樣一個泥潭,.一批批程序員被迫在泥潭中拼命掙一批批程序員被迫在泥潭中拼命掙扎,扎,.誰也沒有料到

5、問題竟會陷入這樣的困境誰也沒有料到問題竟會陷入這樣的困境.”.”。IBM360IBM360操作系統(tǒng)的歷史教訓成為軟件開發(fā)項目的典型事例為人們所記取。操作系統(tǒng)的歷史教訓成為軟件開發(fā)項目的典型事例為人們所記取。問題實例問題實例 1- 9軟件危機軟件危機n軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題:如何開發(fā)軟件滿足日益增長的需求;如何維護規(guī)模不斷膨脹的現(xiàn)有軟件。n典型表現(xiàn): 開發(fā)成本和進度的估計常常很不準確 用戶對“已完成的”軟件系統(tǒng)不滿意 軟件質(zhì)量不可靠 軟件常常是不可維護的 軟件沒有適當?shù)奈臋n資料 軟件產(chǎn)品“供不應求” 1- 10軟件危機軟件危機軟件成本的比例逐年上升 1-

6、 11產(chǎn)生軟件危機的原因產(chǎn)生軟件危機的原因n軟件的規(guī)模加大、復雜性提高、性能增強n軟件是邏輯產(chǎn)品,尚未完全認識其本質(zhì)和特點軟件缺乏“可見性”:管理和控制軟件開發(fā)過程相當困難不會“用壞”:錯誤很可能是在開發(fā)時期引入,軟件維護通常意味著修改原來的設計,這就在客觀上使得軟件較難維護 1- 12產(chǎn)生軟件危機的原因產(chǎn)生軟件危機的原因n缺乏有效的、系統(tǒng)的開發(fā)、維護大型軟件項目的技術手段和管理方法n用戶和軟件開發(fā)人員的理解鴻溝n錯誤的認識和作法:忽視軟件需求分析的重要性,認為軟件開發(fā)就是寫程序并設法使之運行,輕視軟件維護等 1- 13產(chǎn)生軟件危機的原因產(chǎn)生軟件危機的原因 1- 14消除軟件危機的途徑消除軟件

7、危機的途徑n消除“軟件就是程序”的錯誤觀念 一個軟件必須由一個完整的配置組成 軟件是程序、數(shù)據(jù)及相關文檔的完整集合 文檔是開發(fā)、使用和維護程序所需的圖文資料軟件軟件= =程序程序+ +數(shù)據(jù)數(shù)據(jù)+ +文檔文檔 1- 15消除軟件危機的途徑消除軟件危機的途徑n軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目n成功的軟件開發(fā)技術和方法n軟件工具和軟件工程支撐環(huán)境 1- 16內(nèi)容線索內(nèi)容線索n軟件危機n軟件工程軟件工程軟件工程定義軟件工程定義軟件工程的本質(zhì)特征軟件工程的本質(zhì)特征軟件工程的基本原理軟件工程的基本原理軟件工程方法學軟件工程方法學n軟件

8、生命周期n軟件過程 1- 17軟件工程軟件工程n1968 NATO(North Atlantic Treaty Organization)會議,德國Garmisch Partenkirchen (加米斯帕騰基辛),計算機科學會議n軟件危機根源解決途徑軟件工程n目的:解決“軟件危機” 1- 18軟件工程定義軟件工程定義n概括地說,軟件工程是指導計算機軟件開發(fā)和維護的一門工程學科。n采用工程的概念、原理、技術和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。 1- 19軟件工程定義軟件工程定義nNATO:軟件

9、工程就是為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。nIEEE定義:軟件工程是(1)把系統(tǒng)化的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于軟件;(2)研究(1)中提到的途徑。 1- 20軟件工程定義軟件工程定義nBoehm(巴里.勃姆):軟件(包括程序和文檔)設計、實現(xiàn)、檢查、運行、維護各個過程使用的立足于科學基礎的實用方法n中國大百科全書:軟件工程是應用計算機科學、數(shù)學及管理科學等原理開發(fā)軟件的過程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量、降低成本為目的。其中,計算機科學、數(shù)學用于構造模型與算法,工程科學用于制定規(guī)范、設計范型

10、、降低成本及確定權衡,管理科學用于計劃、資源、質(zhì)量、成本等管理。軟件工程是一門交叉學科 1- 21軟件工程的本質(zhì)特性軟件工程的本質(zhì)特性n軟件工程關注于大型程序的構造 1- 22軟件工程的本質(zhì)特性軟件工程的本質(zhì)特性n軟件工程的中心課題是控制復雜性n軟件經(jīng)常變化n開發(fā)軟件的效率非常重要n和諧地合作是開發(fā)軟件的關鍵(標準、規(guī)程)紀律是成功地完成軟件開發(fā)項目的一個關鍵n軟件必須有效地支持它的用戶n在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品 1- 23軟件工程的基本原理軟件工程的基本原理n用分階段的生命周期計劃嚴格管理n堅持進行階段評審錯誤出現(xiàn)的時間(設計63% : : 編

11、碼37%)改正錯誤的代價n實行嚴格的產(chǎn)品控制基線配置、變更控制n采用現(xiàn)代程序設計技術n結果應能清楚地審查(可見性)n開發(fā)小組的人員應該少而精n承認不斷改進軟件工程實踐的必要性 1- 24軟件工程方法學軟件工程方法學n軟件工程包括技術和管理兩方面的內(nèi)容,是技術與管理緊密結合所形成的工程學科n通常把在軟件生命周期全過程中使用的一整套技術方法的集合稱為方法學(methodology),也稱為范型(paradigm) 1- 25軟件工程方法學三要素軟件工程方法學三要素軟件工程軟件工程過程(做的步驟)過程(做的步驟)方法(怎么做)方法(怎么做)工具(支撐)工具(支撐) 1- 26傳統(tǒng)方法學傳統(tǒng)方法學n傳

12、統(tǒng)方法學也稱為生命周期方法學或結構化范型n它采用結構化技術(結構化分析、結構化設計和結構化實現(xiàn)) n結構化范型要么面向行為(即對數(shù)據(jù)的操作),要么面向數(shù)據(jù) 1- 27面向?qū)ο蠓椒▽W面向?qū)ο蠓椒▽Wn面向?qū)ο蠓椒ò褦?shù)據(jù)和行為看成同等重要,它是一種以數(shù)據(jù)為主線,把數(shù)據(jù)和對數(shù)據(jù)的操作緊密地結合起來的方法n面向?qū)ο蠓椒▽W具有下述4個要點面向?qū)ο蠓椒?對象+類+繼承+用消息通信 1- 28內(nèi)容線索內(nèi)容線索n軟件危機n軟件工程n軟件生命周期軟件生命周期n軟件過程 1- 29軟件生命周期軟件生命周期n軟件產(chǎn)品或系統(tǒng)一系列相關活動的全周期軟件定義軟件定義軟件開發(fā)軟件開發(fā)可行性分析可行性分析需求分析需求分析總體設

13、計總體設計詳細設計詳細設計編編 碼碼測測 試試軟件發(fā)布軟件發(fā)布軟件運行軟件運行軟件維護軟件維護軟件維護軟件維護問題定義問題定義系統(tǒng)設計系統(tǒng)設計系統(tǒng)實現(xiàn)系統(tǒng)實現(xiàn) 1- 30軟件定義軟件定義n1.問題定義 “要解決的問題是什么?” 確定用戶要求解決的性質(zhì)、工程的目標和規(guī)模n2. 可行性研究 “對于上一個階段所確定的問題有行得通的解決辦法嗎?”經(jīng)濟、技術、法律可行性、不同的方案n3. 需求分析 “為了解決這個問題,目標系統(tǒng)必須做什么”確定系統(tǒng)必須具有的功能和性能,系統(tǒng)要求的運行環(huán)境,并且預測系統(tǒng)發(fā)展的前景 規(guī)格說明書(specification) 1- 31軟件開發(fā)軟件開發(fā)n4. 總體設計(概要設計

14、) “概括地說,應該怎樣實現(xiàn)目標系統(tǒng)?” 設計出實現(xiàn)目標系統(tǒng)的幾種可能的方案。推薦一個最佳方案確定程序由哪些模塊組成以及模塊之間的關系n5. 詳細設計(模塊設計) “應該怎樣具體地實現(xiàn)這個系統(tǒng)呢?” 設計出程序的詳細規(guī)格說明確定實現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結構 1- 32軟件開發(fā)軟件開發(fā)n6. 編碼和單元測試 寫出正確的易理解、易維護的程序模塊并仔細測試每個模塊n7. 綜合測試集成測試和驗收測試,現(xiàn)場測試或平行運行 1- 33軟件維護軟件維護n8. 軟件維護(10%-70%)使系統(tǒng)持久地滿足用戶的需要維護工作分成以下四類n改正性維護(錯誤與缺陷)n適應性維護(變化的運行環(huán)境)n完善性維護(用

15、戶新要求)n預防性維護(應對未來需求) 1- 34內(nèi)容線索內(nèi)容線索n軟件危機n軟件工程n軟件生命周期n軟件過程軟件過程 1- 35軟件過程軟件過程n軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務的框架,它規(guī)定了完成各項任務的工作步驟(3W1H:誰?何時?做啥?如何做?)n內(nèi)容:定義了運用方法的順序、文檔資料、管理措施,各個階段的里程碑n通常使用生命周期模型簡潔地描述軟件過程生命周期模型規(guī)定了把生命周期劃分成哪些階段及各個階段的執(zhí)行順序也稱為過程模型 1- 36過程模型過程模型n典型的過程模型瀑布模型(Waterfall model)快速原型開發(fā)模型(Rapid Prototyping mo

16、del)增量模型(Incremental model)螺旋模型(Spiral model)n其它模型噴泉模型(Fountain model)極限編程(eXtreme Programming) RUP(Rational Unified Process)建造修補模型(Build-and-fix model) 1- 37瀑布模型瀑布模型理想的瀑布模型理想的瀑布模型實際的瀑布模型實際的瀑布模型對生命周期各個階段,規(guī)定了自頂向下,相互銜接的固定次序。反饋線反饋線反饋環(huán) 1- 38瀑布模型的特點瀑布模型的特點n階段間具有順序性和依賴性【前階段完成后階段開始,前階段輸出為后階段輸入】n推遲實現(xiàn)的觀點【原因:

17、欲速則不達(基于編碼=工期延長)】清楚地區(qū)分邏輯設計與物理設計(如:數(shù)據(jù)表結構與Oracle中的關系表),盡可能推遲程序的物理實現(xiàn)【瀑布模型的重要指導思想】n質(zhì)量保證的觀點(文檔驅(qū)動)每個階段都必須完成規(guī)定的文檔【媒介,依據(jù)】每個階段結束前都要對所完成的文檔進行評審【目標:發(fā)現(xiàn)問題,改正錯誤:(成本問題)】 1- 39瀑布模型的優(yōu)點瀑布模型的優(yōu)點n強迫開發(fā)人員采用規(guī)范方法;n每個階段必須提交相應的文檔;n每個階段所交出的產(chǎn)品必須經(jīng)過質(zhì)量保證小組(SQA)的驗證。瀑布模型的成功很大程度在于它是一種文檔驅(qū)動的模型 1- 40瀑布模型的缺點瀑布模型的缺點n完全依賴于書面的規(guī)格說明,可能導致最終開發(fā)出

18、的軟件產(chǎn)品不能真正滿足用戶的需要【用戶一開始不可能提出準確而完整的需求】。 1- 41快速原型模型快速原型模型n快速原型是一個與產(chǎn)品子集功能上相同的工作模型快速建立起來的可以在計算機上運行的程序它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集 1- 42快速原型模型快速原型模型用戶測試用戶測試運行原型運行原型建造建造/ /修改修改 原型原型 聽取用聽取用 戶意見戶意見 1- 43快速原型模型的特點快速原型模型的特點n快速原型的本質(zhì)是“快速”n快速原型可以取代規(guī)格說明階段,但不是設計階段,容易適應需求的變化n有利于開發(fā)與培訓的同步n開發(fā)費用低、開發(fā)周期短、維護容易且對用戶更友好客戶與開發(fā)者對

19、原型理解不同準確的原型設計比較困難不利于開發(fā)人員的創(chuàng)新 1- 44快速原型模型的應用范圍快速原型模型的應用范圍n用戶需求不完全或不準確,有快速的原型開發(fā)工具n項目招投標時,可以以原型模型作為軟件的開發(fā)模型n產(chǎn)品移植或升級或?qū)σ延挟a(chǎn)品原型進行客戶化工作 1- 45比較比較n瀑布模型試圖一次就獲得正確的產(chǎn)品n快速原型頻繁變化,然后廢棄n瀑布模型帶反饋環(huán),快速原型不帶反饋環(huán) 1- 46實踐應用實踐應用n主要優(yōu)點:產(chǎn)品開發(fā)基本可線性順序進行原型系統(tǒng)可在交互中得以驗證,據(jù)此產(chǎn)生的規(guī)格說明文檔能正確描述用戶需求。開發(fā)人員通過建立原型系統(tǒng)明確了必需信息,降低了設計編碼階段的錯誤。n要求:盡可能快地建造出原型

20、系統(tǒng),加速軟件開發(fā)過程,節(jié)約軟件開發(fā)成本。原型系統(tǒng)內(nèi)部結構并不重要。n依靠逆向工程工具可簡化快速構造過程。 1- 47增量模型增量模型n把軟件產(chǎn)品作為一系列增量構件來設計、編碼、集成和測試構件構件:由一些代碼塊組成,這些代碼塊來自多個相互作用的模塊,完成特定的功能 1- 48增量模型的特點增量模型的特點n瀑布模型和快速原型模型的目標交付給客戶一個完整的、可用的產(chǎn)品n增量模型的優(yōu)點每個階段交付一個可用的產(chǎn)品,時間短,周期快減少一個全新產(chǎn)品給客戶帶來的心理上的影響分階段地交付產(chǎn)品不需要大的資金支出需求經(jīng)常變化,增量模型的靈活性使其具有更加優(yōu)越的適用性n增量模型的困難需要一個開放的結構,方便構件的加

21、入【需更精心的設計=兩面性(請大家思考是否值得?)】要求集成的新的構件不能破壞軟件的原有體系結構【看上去存在著矛盾:一方面要求將軟件看做整體;另一方面要求把軟件看做構件序列,構件之間相互獨立=需要開發(fā)者有足夠的技術能力協(xié)調(diào)矛盾】 1- 49實踐應用實踐應用n把軟件產(chǎn)品分解成增量構件時,應該使構件的規(guī)模適中。n分解必須遵守的約束條件:當新構件集成到現(xiàn)有軟件中時,形成的產(chǎn)品必須是可測試的。n使用增量模型時,前期往往實現(xiàn)軟件的基本需求,提供最核心的功能。 1- 50風險更大的增量模型風險更大的增量模型問題:該模型的優(yōu)勢及風險? 1- 51螺旋模型螺旋模型n螺旋模型的基本思路:使用快速原型模型及其他方

22、法來降低風險,強調(diào)了其他模型所忽視的風險分析。 1- 52簡化的螺旋模型簡化的螺旋模型n簡化版本:快速原型模型+風險分析每個階段之前n確定目標,可供選擇的辦法及其限制條件n風險分析每個階段之后n評估n計劃下一階段 1- 53簡化的螺旋模型簡化的螺旋模型 1- 54完整的螺旋模型完整的螺旋模型風險分析制定計劃客戶評價實施工程累積的成本階段 1- 55螺旋模型的特點螺旋模型的特點n螺旋模型的優(yōu)點對可選方案和約束條件的強調(diào)有助于重用與質(zhì)量容易確定何時已經(jīng)對某一階段的產(chǎn)品充分測試完畢,減少過量測試或測試不足。維護和開發(fā)之間沒有什么本質(zhì)上的差別n 螺旋模型的缺點僅適合于大型軟件n 風險驅(qū)動既是優(yōu)點也是缺

23、點【存在無法識別風險的可能】 1- 56噴泉模型噴泉模型n噴泉模型對軟件復用和生存周期中多項開發(fā)活動的集成提供了支持,主要支持面向?qū)ο蟮拈_發(fā)方法。n“噴泉”一詞本身體現(xiàn)了迭代和無間隙特性。系統(tǒng)某個部分常常重復工作多次,相關功能在每次迭代中隨之加入演進的系統(tǒng)。n所謂無間隙是指在開發(fā)活動,即分析、設計和編碼之間不存在明顯的邊界。 1- 57噴泉模型噴泉模型進一步開發(fā)進一步開發(fā)集成和測試階段集成和測試階段運行狀態(tài)運行狀態(tài)實現(xiàn)階段實現(xiàn)階段面向?qū)ο笤O計階段面向?qū)ο笤O計階段面向?qū)ο蠓治鲭A段面向?qū)ο蠓治鲭A段需求階段需求階段維護期維護期 1- 58噴泉模型的特點噴泉模型的特點n主要用于支持面向?qū)ο箝_發(fā)過程。體

24、現(xiàn)了軟件創(chuàng)建所固有的迭代和無間隙的特征n迭代:軟件過程各個階段之間的迭代或者一個階段內(nèi)各個工作步驟之間的迭代。n無間歇:各階段使用統(tǒng)一的概念和表示符號,開發(fā)過程吻合一致,無縫連接。 1- 59RUPRUP過程過程n四個階段開始(Inception):定義項目范圍精化(Elaboration):項目計劃、 需求、架構 構造(Construction):軟件產(chǎn)品 過渡(Transition):軟件產(chǎn)品過渡給用戶時間生命期目標生命期目標 生命期架構生命期架構 初始運行能力初始運行能力 產(chǎn)品發(fā)布產(chǎn)品發(fā)布 1- 60RUPRUP過程過程n迭代是一系列明確的具有建立計劃和評估準則的活動,將產(chǎn)生一個可執(zhí)行的發(fā)布(內(nèi)部或外部)次里程碑次里程碑: 發(fā)布發(fā)布 1- 61RUPRUP過程過程分析與設計分析與設計實現(xiàn)模型實現(xiàn)模型測試模型測試模型由由實現(xiàn)實現(xiàn)由由完成完成由由驗證驗證需求需求實現(xiàn)實現(xiàn)測試測試用例模型用例模型設計模型設計模型業(yè)務建摸業(yè)務建摸業(yè)務用例模型業(yè)務用例模型由由自動化自動化業(yè)務對象模型業(yè)務對象模型 1- 62敏捷開發(fā)敏捷開發(fā)n所謂敏捷開發(fā),就是一種面臨迅速變化的需求快速開發(fā)軟件的能力使用一些實踐,以提供必要的紀律和反饋使用一些設計原則,以保持軟件是靈活的、可維護的知道一些設計模式,以便針對特定問題權衡這些原則 1- 63敏捷開發(fā)敏捷開發(fā)n價值觀個體和交互勝過過程和工

溫馨提示

  • 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

提交評論