UML原理與應(yīng)用_第1頁
UML原理與應(yīng)用_第2頁
UML原理與應(yīng)用_第3頁
UML原理與應(yīng)用_第4頁
UML原理與應(yīng)用_第5頁
已閱讀5頁,還剩173頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1UML原理與應(yīng)用原理與應(yīng)用統(tǒng)一建模語言2內(nèi)容簡(jiǎn)介內(nèi)容簡(jiǎn)介l基礎(chǔ)知識(shí)l用例模型l靜態(tài)結(jié)構(gòu)類圖包圖對(duì)象圖組成結(jié)構(gòu)圖l動(dòng)態(tài)行為交互圖(順序圖、通信圖、交互概觀圖、時(shí)序圖)狀態(tài)圖活動(dòng)圖l物理模型構(gòu)件圖部署圖3基礎(chǔ)知識(shí)基礎(chǔ)知識(shí)l什么是UML?lUML發(fā)展簡(jiǎn)史l建?;A(chǔ)知識(shí)lUML定義lUML組成圖視圖l使用UML4什么是什么是UMLlUML是的首字母縮寫,中文通常稱為統(tǒng)一建模語言。lUML是一種。不僅可以應(yīng)用于軟件分析、設(shè)計(jì),也可應(yīng)用于其它領(lǐng)域的業(yè)務(wù)建模。lUML應(yīng)該與特定的開發(fā)過程相關(guān)聯(lián),如RUP、XP等等。lUML是不是程序設(shè)計(jì)語言?是文檔、程序還是數(shù)據(jù)?5UML發(fā)展簡(jiǎn)史發(fā)展簡(jiǎn)史l人們從二十世紀(jì)6

2、0年代的軟件危機(jī)中認(rèn)識(shí)到系統(tǒng)建模的重要性,大型軟件系統(tǒng)開發(fā)必須以工程學(xué)的方法組織。l軟件工程的思想使得許多在編程領(lǐng)域首先出現(xiàn)的新技術(shù)和新方法,很快拓展到軟件生命周期的分析與設(shè)計(jì)階段。l因此面向?qū)ο缶幊碳夹g(shù)的發(fā)展,很快也催生了面向?qū)ο蠼<夹g(shù)的發(fā)展,據(jù)統(tǒng)計(jì),到1994年公開發(fā)表并有一定影響的OOAOOD方法已達(dá)50余種。l各種建模方法客觀上都為面向?qū)ο蠹夹g(shù)的發(fā)展做出了貢獻(xiàn),但也造成了一定的混亂,急需統(tǒng)一規(guī)范。6UML發(fā)展簡(jiǎn)史發(fā)展簡(jiǎn)史lUML創(chuàng)始人Grady Booch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,1984便在著作中討論了面向?qū)ο蟮幕締栴},創(chuàng)建了建模方法。James Rumbaugh提出了面向

3、對(duì)象的建模技術(shù)即引入了各種獨(dú)立于程序設(shè)計(jì)語言的表示符號(hào)。Ivar Jacobson于1994年提出了面向?qū)ο筌浖こ痰姆椒ǎ?。l同時(shí)期的其它建模方法也為UML的誕生做出了貢獻(xiàn),UML是博采眾人之長(zhǎng)的產(chǎn)物。7UML發(fā)展簡(jiǎn)史發(fā)展簡(jiǎn)史8Grady BoochlGrady Booch9Ivar JacobsonlIvar Jacobson10James RumbaughlJames Rumbaugh11UML發(fā)展簡(jiǎn)史發(fā)展簡(jiǎn)史l1994年10月,同在Rational公司的Booch與Rumbaugh開始致力于統(tǒng)一各種建模語言。1995年秋,Jacobson也加盟到這項(xiàng)工作中。1996年6月發(fā)布了UML

4、 0.9。l1997年11月,OMG采納UML1.1作為面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語言。l此后,OMG的修改任務(wù)組(Revision Task Force,RTF)的專家負(fù)責(zé)對(duì)UML不斷進(jìn)行擴(kuò)充與完善,相繼推出了UML1.2、UML1.3(1999年4月),UML1.4(2000年),現(xiàn)在UML的最新版本為UML2.1。l2002年,頒布的UML2.0是UML的一次重大變化,主要是在UML中加入的MDA、SOA的支持。12建模建模項(xiàng)目招標(biāo)項(xiàng)目招標(biāo)需求分析需求分析概要設(shè)計(jì)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)編碼和單元測(cè)試編碼和單元測(cè)試集成測(cè)試和系統(tǒng)測(cè)試集成測(cè)試和系統(tǒng)測(cè)試交付實(shí)施、系統(tǒng)維護(hù)交付實(shí)施、系統(tǒng)維護(hù)掐頭掐

5、頭去尾去尾兩個(gè)月兩個(gè)月13建模建模14建模建模l什么是模型?模型是一個(gè)系統(tǒng)的完整的抽象。人們對(duì)某個(gè)領(lǐng)域特定問題的求解及解決方案,對(duì)它們的理解和認(rèn)識(shí)都蘊(yùn)涵在模型中。通常,開發(fā)一個(gè)計(jì)算機(jī)系統(tǒng)是為了解決某個(gè)領(lǐng)域特定問題,問題的求解過程,就是從領(lǐng)域問題到計(jì)算機(jī)系統(tǒng)的映射。lUML作為一種可視化的建模語言,提供了豐富的基于面向?qū)ο蟾拍畹哪P驮丶捌鋱D形表示元素。分析、抽取分析、抽取15建模建模軟件開發(fā)的過程是將現(xiàn)實(shí)業(yè)務(wù)映射為計(jì)算機(jī)邏輯的過程,建模在這個(gè)過程中越來越重要。16建模建模17建模功能分解建模功能分解18建模數(shù)據(jù)流法建模數(shù)據(jù)流法19建模信息建模建模信息建模20建模面向?qū)ο蠼C嫦驅(qū)ο?1UML定

6、義定義lUML定義包括UML語義和UML表示法:描述基于UML的精確元模型(meta-model)定義。元模型為UML的所有元素在語法和語義上提供了簡(jiǎn)單、一致、通用的定義性說明, 還支持對(duì)元模型的擴(kuò)展定義。定義UML符號(hào)的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號(hào)和文本語法為系統(tǒng)建模提供了標(biāo)準(zhǔn)。這些圖形符號(hào)和文字所表達(dá)的是應(yīng)用級(jí)的模型,在語義上它是UML元模型的實(shí)例。 22UML組成組成l通常用以下五個(gè)概念來說明UML的組成: ,UML 2.0劃分為兩類l結(jié)構(gòu)圖(structural diagrams )l行為圖(behavioral diagrams ) ,不是UML的標(biāo)準(zhǔn)內(nèi)容,即常說的4+

7、1視圖l設(shè)計(jì)視圖(Design view )l實(shí)現(xiàn)視圖(Implementation view )l部署視圖(Deployment view )l過程視圖(Process view )l用例視圖(Use case view )模型元素(Model Element)通用機(jī)制(General Mechanism)模型驅(qū)動(dòng)體系結(jié)構(gòu)(Model Driven Architecture)23UML組成圖組成圖l結(jié)構(gòu)圖,描述系統(tǒng)系統(tǒng)的物理結(jié)構(gòu),包括類圖(Class diagrams )構(gòu)件圖(Component diagrams )(Composite structure diagrams)部署圖(Dep

8、loyment diagrams )包圖(Package diagrams )對(duì)象圖(Object diagrams )24UML組成圖組成圖25UML組成圖組成圖l行為圖,描述系統(tǒng)內(nèi)元素的行為,包括活動(dòng)圖(Activity diagrams )(Communication diagrams )(Interaction overview diagrams )順序圖(Sequence diagrams )狀態(tài)圖(State machine diagrams )(Timing diagrams )用例圖(Use case diagrams )26UML組成圖組成圖27UML組成視圖組成視圖l視圖一

9、個(gè)系統(tǒng)應(yīng)從不同的角度進(jìn)行描述,從一個(gè)角度觀察到的系統(tǒng)稱為一個(gè)視圖(view)。視圖由多個(gè)圖(Diagrams)構(gòu)成,它不是一個(gè)圖表(Graph),而是在某一個(gè)抽象層上,對(duì)系統(tǒng)的抽象表示。如果要為系統(tǒng)建立一個(gè)完整的模型圖,需定義一定數(shù)量的視圖,每個(gè)視圖表示系統(tǒng)的一個(gè)特殊的方面。28UML組成視圖組成視圖設(shè)計(jì)視圖設(shè)計(jì)視圖過程視圖過程視圖用例視圖用例視圖系統(tǒng)功能系統(tǒng)功能分析設(shè)計(jì)結(jié)構(gòu)系統(tǒng)并發(fā)工作情況實(shí)現(xiàn)視圖實(shí)現(xiàn)視圖實(shí)現(xiàn)模塊和代碼間的關(guān)系部署視圖部署視圖 系統(tǒng)物理拓?fù)浼軜?gòu)29UML組成視圖組成視圖l設(shè)計(jì)視圖描述系統(tǒng)中類、接口及模式,通常使用類圖、對(duì)象圖、活動(dòng)圖、組成結(jié)構(gòu)圖、順序圖等。l部署視圖描述系統(tǒng)如

10、何配置、安裝和執(zhí)行等物理信息,也包括硬件分布、通信等硬件信息。通常由構(gòu)件圖、部署圖和交互圖組成。l實(shí)現(xiàn)視圖描述系統(tǒng)中的構(gòu)件、文件和資源,主要是指明設(shè)計(jì)視圖中類由誰來實(shí)現(xiàn)。30UML組成視圖組成視圖l過程視圖描述系統(tǒng)的并發(fā)性、性能以及運(yùn)算規(guī)模等等信息,通常使用活動(dòng)圖、交互圖描述系統(tǒng)在運(yùn)行時(shí)的這些信息。l用例視圖描述系統(tǒng)的外部特征、系統(tǒng)功能等。通常由用例圖描述。所謂41視圖中的1就是指用例視圖。其中4個(gè)視圖描述系統(tǒng)內(nèi)部的各方面特征,1個(gè)視圖則站在用戶角度描述系統(tǒng)看起來是什么樣的。31UML組成視圖組成視圖l模型元素代表面向?qū)ο笾械念?,?duì)象,關(guān)系和消息等概念,是構(gòu)成圖的最基本的常用的元素。一個(gè)模型元

11、素可以用在多個(gè)不同的圖中,無論怎樣使用,它總是具有相同的含義和相同的符號(hào)表示。l通用機(jī)制用于表示其他信息,比如注釋,模型元素的語義等。另外,為了適應(yīng)用戶的需求,它還提供了擴(kuò)展機(jī)制(Extensibility mechanisms) ,包括板型(Stereotype)、標(biāo)記值(Tagged value)和約束(Constraint).使用UML語言能夠適應(yīng)一個(gè)特殊的方法(或過程),或擴(kuò)充至一個(gè)組織或用戶。32使用使用UMLl你要做什么?狗窩?摩天大樓?33使用使用UML34使用使用UML用用UML畫圖是很容易的,畫圖是很容易的,但知道要畫什么是很困難的但知道要畫什么是很困難的擺脫符號(hào)煩惱擺脫符號(hào)

12、煩惱全心面對(duì)問題全心面對(duì)問題35使用使用UMLl實(shí)際上,UML必須要結(jié)合相關(guān)的軟件開發(fā)過程來使用,否則不會(huì)起到作用RUP,統(tǒng)一軟件開發(fā)過程Agile/XP,敏捷建模CMMI,軟件能力成熟度模型集成 其它或者自創(chuàng)過程36總結(jié)總結(jié)l你都學(xué)到了什么?什么是UML4+1視圖13種圖如何使用UML?37用例模型用例模型l需求捕獲l用例定義主題參與者用例l用例關(guān)系擴(kuò)展泛化包含l用例規(guī)約l總結(jié)與練習(xí)38需求捕獲需求捕獲39需求捕獲需求捕獲40需求捕獲需求捕獲l需求不僅難于捕獲,也難于表達(dá)。要保證用戶、設(shè)計(jì)人員、開發(fā)人員都能從中得到有用的信息,但最重要的是要保證用戶能夠看懂需求文檔,所以。l傳統(tǒng)需求描述方式單

13、純依賴需求規(guī)格說明書,將所有用戶需求羅列在文檔中。主要問題是不直觀,并且無法分解需求給特定專家審核。41需求捕獲需求捕獲l1992年由Jacobson提出了Use case 的概念及可視化的表示方法Use case圖,成為面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì)方法的主流。l用例模型由Jacobson在開發(fā)AXE系統(tǒng)中首先使用, 自1994年Ivar Jacobson的著作出版后,面向?qū)ο箢I(lǐng)域已廣泛接納了用例這一概念,并認(rèn)為它是第二代面向?qū)ο蠹夹g(shù)的標(biāo)志。l用例模型的核心思想是站在用戶角度,描述系統(tǒng)能為用戶提供哪些功能。42用例定義用例定義43用例定義用例定義單純依賴圖形,能否描述清楚需求?44用例定義用例定義

14、45用例模型用例模型46用例定義用例定義l用例圖包含以下要素主題(uml 2.0 new)參與者用例l創(chuàng)建用例模型的工作包括:47主題主題l主題UML2.0中增加了主題(Subject)的概念以取代原來的系統(tǒng)邊界(System boundary)。主題可以描述系統(tǒng)中的一個(gè)功能模塊,并不一定是整個(gè)系統(tǒng)。一個(gè)系統(tǒng)可由多個(gè)用例圖共同描述l定義系統(tǒng)的主要工作是確定整個(gè)問題領(lǐng)域中,哪些由系統(tǒng)軟件實(shí)現(xiàn),哪些由其它系統(tǒng)或人工實(shí)現(xiàn)。l一般只要能夠正確識(shí)別參與者,系統(tǒng)的邊界也隨即確定。48參與者參與者l參與者參與者是與系統(tǒng)、子系統(tǒng)或類發(fā)生交互作用的外部用戶、進(jìn)程或其他系統(tǒng)的理想化概念使用名字寫在下面的小人表示可

15、以是人、其它系統(tǒng)甚至是時(shí)間49參與者參與者l識(shí)別參與者系統(tǒng)外必須和它交互系統(tǒng)邊界責(zé)任邊界,非物理邊界系統(tǒng)邊界直接與系統(tǒng)交互有意義的交互屬于目標(biāo)系統(tǒng)的責(zé)任任何事物人、外系統(tǒng)、外部因素、時(shí)間50參與者參與者必須和它交互:必須和它交互:51參與者參與者責(zé)任邊界,而非物理邊界:責(zé)任邊界,而非物理邊界:52參與者參與者直接與系統(tǒng)交互:直接與系統(tǒng)交互:那么他算什么?53參與者參與者有意義的交互:有意義的交互:54參與者參與者任何事物:任何事物:55參與者參與者l兩個(gè)不同的參與者在物理上可以是同一人l依據(jù)用戶使用了系統(tǒng)的何種功能來判斷56參與者參與者l識(shí)別參與者誰使用了系統(tǒng)的主要功能?誰改變了系統(tǒng)的主要數(shù)據(jù)

16、?誰從系統(tǒng)獲取信息?誰需要系統(tǒng)的支持以完成日常工作任務(wù)?誰負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行?系統(tǒng)需要應(yīng)付(處理)哪些硬件設(shè)備?系統(tǒng)需要和哪些外部系統(tǒng)交互?誰(或什么)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果感興趣?有沒有自動(dòng)發(fā)生的事件?57參與者參與者l參與者之間只有泛化關(guān)系,任何其它形式的關(guān)系都是非法的。58等一下等一下或或59用例用例l用例用例是系統(tǒng)執(zhí)行的一組動(dòng)作序列,這些動(dòng)作可以產(chǎn)生一個(gè)可觀察的結(jié)果,這個(gè)結(jié)果往往對(duì)系統(tǒng)的一個(gè)或多個(gè)參與者,或其他投資者來說是具有一定價(jià)值的。Ivar Jacobson(RUP)l用例要點(diǎn)用例由參與者直接或間接啟動(dòng)價(jià)值結(jié)果有意義的目標(biāo)系統(tǒng)執(zhí)行價(jià)值結(jié)果由系統(tǒng)生成執(zhí)行者可見業(yè)務(wù)語言,

17、用戶觀點(diǎn)用例必須是完整的60用例用例l用例圖中不應(yīng)該存在孤立的用例,它們必須由參與者直接啟動(dòng),或包含在其它用例中,或做為其它用例的擴(kuò)展用例。l參與者與用例間存在箭頭表示誰發(fā)起了會(huì)話無箭頭表示雙方都可以發(fā)起會(huì)話箭頭不帶表數(shù)據(jù)流,數(shù)據(jù)永遠(yuǎn)是雙向的。通信關(guān)聯(lián)僅存在于參與者與用例間,用例與用例間、參與者與參與者之間都不可能存在通信關(guān)聯(lián)。61用例用例有意義的目標(biāo):有意義的目標(biāo):62用例用例價(jià)值結(jié)果由系統(tǒng)生成:價(jià)值結(jié)果由系統(tǒng)生成:63用例用例業(yè)務(wù)語言而非技術(shù)語言:業(yè)務(wù)語言而非技術(shù)語言:64用例用例用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn):用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn):用戶觀點(diǎn)用戶觀點(diǎn)系統(tǒng)觀點(diǎn)系統(tǒng)觀點(diǎn)65用例用例l用例是從參與者啟動(dòng)到

18、產(chǎn)生價(jià)值結(jié)果的一系統(tǒng)動(dòng)作序列,由于每次執(zhí)行的條件不同,用例中間執(zhí)行的步驟也可能不相同。l執(zhí)行一次具體的用例就是用例的一個(gè)實(shí)例,用例的實(shí)例稱為。所以,用例是一組場(chǎng)景的集合,必須包括所有可能的場(chǎng)景。l用例表征的是使用復(fù)雜度,而非內(nèi)部實(shí)現(xiàn)的復(fù)雜度。因此用例只需要描述用戶使用的步驟,而不應(yīng)該包含內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。66用例關(guān)系用例關(guān)系l用例間關(guān)系包括泛化關(guān)系包含關(guān)系擴(kuò)展關(guān)系l應(yīng)用用例間關(guān)系的首要原則是保證用例圖清晰,也即關(guān)系的使用應(yīng)不至導(dǎo)致模型復(fù)雜化。不要讓你的用戶看不懂你的模型。67用例關(guān)系用例關(guān)系68泛化關(guān)系泛化關(guān)系l泛化關(guān)系用例在泛化關(guān)系上不明確,因此使用較少表明子用例與參與者的關(guān)系,和父用例與該參與

19、者的關(guān)系相同,具備相同的啟動(dòng)條件和價(jià)值結(jié)果表明子用例不是簡(jiǎn)單使用父用例,而是修改了其中的某些步驟69泛化關(guān)系泛化關(guān)系70泛化關(guān)系泛化關(guān)系71擴(kuò)展關(guān)系擴(kuò)展關(guān)系l擴(kuò)展關(guān)系72擴(kuò)展關(guān)系擴(kuò)展關(guān)系l擴(kuò)展關(guān)系在下列情況下,特別有用待開發(fā)系統(tǒng)可能會(huì)有多套不同的可選行為來進(jìn)行配置系統(tǒng)用例的配置安排需要功能性用例的部署l基用例描述必要的基本行為,并利用已定義的條件注明特定的擴(kuò)展點(diǎn),擴(kuò)展用例則填充這些位置的細(xì)節(jié)。l用例的擴(kuò)展點(diǎn)可以列在名為extension points的分欄內(nèi)。l當(dāng)用例實(shí)例的執(zhí)行到達(dá)第一個(gè)擴(kuò)展點(diǎn)引用的位置時(shí),條件決定是否執(zhí)行擴(kuò)展用例,可執(zhí)行多次。73擴(kuò)展關(guān)系擴(kuò)展關(guān)系74擴(kuò)展關(guān)系擴(kuò)展關(guān)系75包含關(guān)

20、系包含關(guān)系l包含關(guān)系包含關(guān)系將基用例和包含用例連接在一起。關(guān)系中的包含用例不是能夠獨(dú)立實(shí)現(xiàn)的類元,而是顯式地描述了插入執(zhí)行基用例的用例實(shí)例中的附加行為序列。包含位置是被包含用例執(zhí)行的位置。包含只執(zhí)行一次,通過引用包含的基用例行為序列中的循環(huán)可以達(dá)到多次包含的效果。76包含關(guān)系包含關(guān)系77包含關(guān)系包含關(guān)系78包含關(guān)系包含關(guān)系79包含關(guān)系包含關(guān)系80用例規(guī)約用例規(guī)約l用例規(guī)約總體結(jié)構(gòu)用例名稱執(zhí)行者涉眾利益事件流l基本流l備選流特殊需求前置條件后置條件擴(kuò)展點(diǎn)81用例規(guī)約用例規(guī)約l描述用例流程應(yīng)該是用戶與系統(tǒng)交互進(jìn)行的,形成類似如下形式的格式:執(zhí)行者XXXX系統(tǒng)XXXX執(zhí)行者XXXX系統(tǒng)XXXXl其它

21、注意事項(xiàng):只寫“可觀測(cè)的”使用主動(dòng)語句句子必須以執(zhí)行者或系統(tǒng)作為主語每一句都要朝目標(biāo)邁進(jìn)分支和循環(huán)不要涉及界面細(xì)節(jié)82用例規(guī)約用例規(guī)約83總結(jié)總結(jié)v用了用例技術(shù)后,我就不會(huì)做需求了用了用例技術(shù)后,我就不會(huì)做需求了v其實(shí)你原來就不會(huì)做需求其實(shí)你原來就不會(huì)做需求v癥狀下面隱含的問題癥狀下面隱含的問題v執(zhí)行者搞錯(cuò)執(zhí)行者搞錯(cuò)用例的邊界不清楚用例的邊界不清楚v用例搞錯(cuò)用例搞錯(cuò)沒有好好思考用例的價(jià)值沒有好好思考用例的價(jià)值v文檔不會(huì)寫文檔不會(huì)寫不知道哪些是需求,哪些是設(shè)計(jì)不知道哪些是需求,哪些是設(shè)計(jì)v用例揭破了瘡疤用例揭破了瘡疤使問題無處藏身使問題無處藏身84總結(jié)總結(jié)l步驟界定系統(tǒng)邊界確定參與者確定用例確定

22、用例關(guān)系書寫用例規(guī)約建立界面原型審核用例模型85練習(xí)練習(xí)l現(xiàn)有一醫(yī)院病房監(jiān)護(hù)系統(tǒng),病癥監(jiān)視器安置在每個(gè)病房,將病人的病癥信號(hào)實(shí)時(shí)傳送到中央監(jiān)視系統(tǒng)進(jìn)行分析處理。在中心值班室里,值班護(hù)士使用中央監(jiān)視系統(tǒng)對(duì)病員的情況進(jìn)行監(jiān)控,根據(jù)醫(yī)生的要求隨時(shí)打印病人的病情報(bào)告,定期更新病歷,當(dāng)病癥出現(xiàn)異常時(shí),系統(tǒng)會(huì)立即自動(dòng)報(bào)警, 并實(shí)時(shí)打印病人的病情報(bào)告,立即更新病歷。l要求根據(jù)現(xiàn)場(chǎng)情景,對(duì)醫(yī)院病房中央監(jiān)護(hù)系統(tǒng)進(jìn)行需求分析, 建立系統(tǒng)的用例模型。86練習(xí)練習(xí)請(qǐng)對(duì)系統(tǒng)需求進(jìn)行分析!請(qǐng)對(duì)系統(tǒng)需求進(jìn)行分析!產(chǎn)生產(chǎn)生病情報(bào)告病情報(bào)告監(jiān)視病情監(jiān)視病情87靜態(tài)結(jié)構(gòu)靜態(tài)結(jié)構(gòu)l需求之后l類圖要素識(shí)別類識(shí)別關(guān)系l對(duì)象圖l復(fù)合結(jié)構(gòu)

23、圖88需求之后需求之后l設(shè)計(jì)第二步系統(tǒng)結(jié)構(gòu)?89需求之后需求之后90需求之后需求之后l人腦的把握是有限的,必須將系統(tǒng)職責(zé)分割到對(duì)象中去,否則系統(tǒng)必然失控。George Miller:人腦的把握度有限:人腦的把握度有限美國心理學(xué)會(huì)主席(1969)91需求之后需求之后l與結(jié)構(gòu)化分析不同,面向?qū)ο蟮姆治鰧?shù)據(jù)與行為內(nèi)聚于對(duì)象中。行為與數(shù)據(jù)是不可分割的。l類是有著相同結(jié)構(gòu)、行為和關(guān)系的一組對(duì)象的描述符號(hào)。類表示被建模的應(yīng)用領(lǐng)域中的離散概念,如:物理實(shí)體(如飛機(jī))商業(yè)事物(如一份訂單)邏輯事物(如廣播計(jì)劃)應(yīng)用事物(如取消鍵)計(jì)算機(jī)領(lǐng)域的事物(如哈希表)行為事物(如一項(xiàng)任務(wù))。92類圖類圖l類用實(shí)線邊框

24、的矩形來表示,矩形用兩條水平線分為三欄。上面一欄包含以及其他適用于整個(gè)類的特性。中間一欄包含。下面一欄包含。中間和下面欄在類符號(hào)中可隱藏。93類圖類圖l屬性:l方法:94類圖類圖閱讀用例文檔,抽取對(duì)應(yīng)于業(yè)務(wù)閱讀用例文檔,抽取對(duì)應(yīng)于業(yè)務(wù)實(shí)體實(shí)體或或事件事件的詞匯的詞匯將詞匯進(jìn)行分類,抽取出合適的類和屬性將詞匯進(jìn)行分類,抽取出合適的類和屬性抽取抽取分類分類95識(shí)別類識(shí)別類96識(shí)別類識(shí)別類l通常先對(duì)用例進(jìn)行分析,將每個(gè)用例精化為分析類的協(xié)作,這個(gè)過程包括確定分析類將用例的行為分配給相交互的分析對(duì)象捕獲用例實(shí)現(xiàn)中的特定需求也稱為(use case refinement)。97識(shí)別類識(shí)別類l分析類代表了

25、對(duì)系統(tǒng)設(shè)計(jì)中的一個(gè)或幾個(gè)類或若干子系統(tǒng)的抽象分析類,而把非功能性需求推遲到后續(xù)的設(shè)計(jì)與實(shí)現(xiàn)活動(dòng)中將這些需求標(biāo)識(shí)為類的具體需求時(shí)再實(shí)現(xiàn)分析類很少根據(jù)操作及其特征標(biāo)記來定義或提供接口,而是通過較高的、非形式化層次的。職責(zé)是對(duì)由類定義行為的內(nèi)聚子集的文本描述。分析類定義屬性,但這些,即它們的類型是概念性的,而且從問題領(lǐng)域來考慮分析類,而不管在實(shí)現(xiàn)時(shí)語言是否支持這種關(guān)系。98識(shí)別類識(shí)別類l分析類總能符合三種基本構(gòu)造型中的一種:邊界類l用于建立系統(tǒng)與其參與者之間交互的模型,對(duì)系統(tǒng)中依賴于參與者的部分建模l經(jīng)常代表窗口、通信接口、打印機(jī)接口、傳感器、終端或API等的抽象。l邊界類至少和一個(gè)參與者有關(guān)控制類

26、l代表協(xié)調(diào)、排序、事務(wù)處理以及其他對(duì)象的控制,經(jīng)常用于封裝與某個(gè)用例相關(guān)的控制l系統(tǒng)的動(dòng)態(tài)特征通過控制類建模實(shí)體類l用于對(duì)長(zhǎng)效且持久的信息建模99識(shí)別類識(shí)別類100識(shí)別類識(shí)別類l確定分析類的一般準(zhǔn)則通過用例說明確定實(shí)體類為每個(gè)由人充當(dāng)?shù)膮⑴c者確定一個(gè)主要邊界類為每個(gè)初期建立的實(shí)體類確定一個(gè)基本邊界類為每個(gè)由外部系統(tǒng)充當(dāng)?shù)膮⑴c者定義一個(gè)主要邊界類,使其代表通信接口確定一個(gè)控制類,負(fù)責(zé)處理用例實(shí)現(xiàn)中的控制和協(xié)調(diào)關(guān)系,然后按照用例實(shí)現(xiàn)的需求對(duì)該控制類進(jìn)行精化101識(shí)別類識(shí)別類l每個(gè)類大約有3-5個(gè)職責(zé)類應(yīng)該盡可能保持簡(jiǎn)單,能夠支持的3-5個(gè)職責(zé)的數(shù)目。l不存在獨(dú)立的類好的OOAD精華是類相互協(xié)作使用

27、戶受益每個(gè)類應(yīng)該同少量的類協(xié)作以提供所有的期望的功能類可以把他們的一些職責(zé)托付給專注于特定功能的其他輔助類.l當(dāng)心一些非常小的類.將那些只有一兩個(gè)職責(zé)的類整合成一個(gè)更大的類l當(dāng)心幾個(gè)非常龐大的類察看職責(zé)大于5個(gè)的類,合理分解為兩個(gè)或者多個(gè)能夠承擔(dān)恰當(dāng)數(shù)目職責(zé)的更小的類.102識(shí)別類識(shí)別類l當(dāng)心”偽類”偽類是一般過程的函數(shù),它偽裝成類Grady Booch講了一個(gè)奇聞?shì)W事,一個(gè)非常簡(jiǎn)單的系統(tǒng)卻又成千上萬個(gè)類.仔細(xì)審查,每個(gè)類都有一個(gè)命名為Dolt()的操作。l當(dāng)心”萬能類”存在似乎能夠承擔(dān)任何工作的類應(yīng)將它們的職責(zé)分解給未內(nèi)聚的子集這些內(nèi)聚職責(zé)的每一個(gè)集合可以分離成獨(dú)立的類類進(jìn)行協(xié)作以實(shí)現(xiàn)由原來

28、萬能類所提供的行為.l避免深度繼承樹繼承層次中每個(gè)層次應(yīng)該具有良好定義的目的.容易添加很多實(shí)際上卻不能服務(wù)于任何目的的層次.不要使用繼承實(shí)現(xiàn)功能分解,即每個(gè)抽象層次恰好有一個(gè)職責(zé)繼承僅用于存在直接產(chǎn)生于問題域的,清晰的,顯而易見的繼承層次的場(chǎng)合103識(shí)別關(guān)系識(shí)別關(guān)系l類之間會(huì)存在著關(guān)聯(lián)與泛化兩大類關(guān)系,通過這些關(guān)系,可以了解系統(tǒng)中對(duì)象間的協(xié)作是如何完成的。l通??上仁褂脤?duì)象協(xié)作圖了解對(duì)象的相互關(guān)系,以確定類之間的關(guān)系。104識(shí)別關(guān)系識(shí)別關(guān)系105識(shí)別關(guān)系識(shí)別關(guān)系關(guān)系描述了給定類的單獨(dú)對(duì)象之間語義上的連接。是有著兩個(gè)關(guān)聯(lián)端點(diǎn)的關(guān)聯(lián),它是最常見的一種關(guān)聯(lián),用一個(gè)連接兩個(gè)類符號(hào)的實(shí)線路徑表示。有n個(gè)

29、端點(diǎn),使用一個(gè)大菱形表示。106識(shí)別關(guān)系識(shí)別關(guān)系107識(shí)別關(guān)系識(shí)別關(guān)系表示部分與整體關(guān)系的關(guān)聯(lián),它用端點(diǎn)帶有空菱形的線段表示,空菱形與聚集類相連接。是更強(qiáng)形式的關(guān)聯(lián),整體有管理部分的特有的職責(zé),它用一個(gè)實(shí)菱形物附在組成端表示。108識(shí)別關(guān)系識(shí)別關(guān)系l如果一個(gè)關(guān)聯(lián)既是類又是關(guān)聯(lián),即它是一個(gè)關(guān)聯(lián)類,那么這個(gè)關(guān)聯(lián)可以有它自己的屬性109識(shí)別關(guān)系識(shí)別關(guān)系l如果一個(gè)關(guān)聯(lián)的屬性在一組相關(guān)對(duì)象中是唯一的,那么它是一個(gè)限定符l限定符是用來在關(guān)聯(lián)中從一組相關(guān)對(duì)象中標(biāo)識(shí)出獨(dú)特對(duì)象的值110識(shí)別關(guān)系識(shí)別關(guān)系111識(shí)別關(guān)系識(shí)別關(guān)系112識(shí)別關(guān)系識(shí)別關(guān)系男女平等男女平等男尊女卑男尊女卑母系社會(huì)?母系社會(huì)?113識(shí)別關(guān)系

30、識(shí)別關(guān)系l泛化反映的是一個(gè)較廣泛元素和一個(gè)較特殊元素之間的類元關(guān)系114識(shí)別關(guān)系識(shí)別關(guān)系l實(shí)現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,其中接口只是行為的說明而不是結(jié)構(gòu)或者實(shí)現(xiàn)。l泛化關(guān)系將在同一語義層上的元素連接起來(如,在同一抽象層),并且通常在同一模型內(nèi)。l實(shí)現(xiàn)關(guān)系將在不同語義層內(nèi)的元素連接起來(如,一個(gè)分析類和一個(gè)設(shè)計(jì)類;一個(gè)接口與一個(gè)類),并且通常建立在不同的模型內(nèi)。115識(shí)別關(guān)系識(shí)別關(guān)系l實(shí)現(xiàn)關(guān)系用一條帶封閉空箭頭的虛線來表示l可以用帶關(guān)鍵字interface的矩形表示,或用圓圈表示116識(shí)別關(guān)系識(shí)別關(guān)系l關(guān)于實(shí)體之間的關(guān)系,請(qǐng)參見數(shù)據(jù)庫建模117對(duì)象圖對(duì)象圖l

31、對(duì)象是類的實(shí)例,鏈?zhǔn)顷P(guān)聯(lián)的實(shí)例。l對(duì)象圖是對(duì)系統(tǒng)的一個(gè)快照118復(fù)合結(jié)構(gòu)圖復(fù)合結(jié)構(gòu)圖l復(fù)合結(jié)構(gòu)圖描述更為復(fù)雜結(jié)構(gòu)的組成情況,包括以下要素部件(part),代表組成結(jié)構(gòu)的一個(gè)部分連接器(connector),連接部件以使它們可以交互端口(port),描述部件開放出來與其它部件交互的連接點(diǎn)119復(fù)合結(jié)構(gòu)圖復(fù)合結(jié)構(gòu)圖120練習(xí)練習(xí)l醫(yī)院中央監(jiān)控系統(tǒng)的用例圖如下:121練習(xí)練習(xí)l依本章所述方法識(shí)別類,并給出類圖。122總結(jié)總結(jié)l你都學(xué)到了什么?怎么畫類圖?分析類有哪幾種?如何識(shí)別類?關(guān)聯(lián)的種類,分別有什么含義?對(duì)象圖?復(fù)合結(jié)構(gòu)圖?123動(dòng)態(tài)行為動(dòng)態(tài)行為l交互圖種類順序圖l分配職責(zé)通信圖活動(dòng)圖交互概觀圖

32、時(shí)序圖124交互圖種類交互圖種類lUML2中交互圖包括以下幾種順序圖l顯示對(duì)象沿其生命線(代表對(duì)象存在的時(shí)間順序)所進(jìn)行的交互通信圖l顯示對(duì)象之間傳遞的消息,其關(guān)注的是對(duì)象的內(nèi)部結(jié)構(gòu)交互概觀圖l把順序圖當(dāng)作改進(jìn)的活動(dòng)圖(不顯示任何交互細(xì)節(jié))的一個(gè)單元來對(duì)待時(shí)序圖l顯示沿著一個(gè)精確時(shí)間軸的交互125順序圖順序圖l順序圖以二維圖的形式描述對(duì)象間的交互,其中縱軸是時(shí)間軸,橫軸為參與交互的對(duì)象。l順序圖描述的重點(diǎn)在消息的序列上,自上而下觀察可以非常清晰地了解對(duì)象間交互的過程。也可以為消息編號(hào)。l順序圖中的對(duì)象以矩形表示,并在矩形下面有一條虛線,稱為;當(dāng)對(duì)象的過程處于激活狀態(tài)時(shí),生命線是一個(gè)雙道線。用從

33、一個(gè)對(duì)象的生命線到另一個(gè)對(duì)象生命線的箭頭表示,箭頭上可以標(biāo)注(類似方法名)。箭頭以時(shí)間順序在圖中從上到下排列。126順序圖順序圖127順序圖順序圖l順序圖中有主動(dòng)對(duì)象和被動(dòng)對(duì)象的區(qū)別:擁有一個(gè)控制線程并且能初始化控制活動(dòng),不在另一個(gè)對(duì)象的作用域內(nèi)運(yùn)行,用具有重邊線的矩形表示。是自身不具備線程控制的對(duì)象,它的操作在主動(dòng)對(duì)象內(nèi)的線程控制下執(zhí)行。被動(dòng)對(duì)象是使用單邊矩形表示的,其中的對(duì)象名稱帶有下劃線。128順序圖順序圖l順序圖可以由兩種形態(tài)來表示:實(shí)例形態(tài):只描述一個(gè)特定場(chǎng)景一般形態(tài):各種場(chǎng)景都要描述l消息是對(duì)象間的通信,一般可以是信號(hào)、操作調(diào)用及其它類似事物(如RMI)。l當(dāng)對(duì)象接收到消息,對(duì)象的

34、一項(xiàng)活動(dòng)就要開始了。這一般稱為激活。129順序圖順序圖l對(duì)象放置在代表生成這個(gè)對(duì)象的消息的箭頭的端點(diǎn),其垂直位置表示這個(gè)對(duì)象第一次創(chuàng)建的時(shí)間。l如果對(duì)象在第一個(gè)操作前就存在,則對(duì)象符號(hào)處在圖的頂部。l返回消息使用虛線箭頭。l注意遞歸的表示方法。l主動(dòng)對(duì)象整個(gè)生命周期,被動(dòng)對(duì)象被激活期間均使用雙實(shí)線l大X表示銷毀對(duì)象,調(diào)用以實(shí)心箭頭表示,返回以虛線顯示。130順序圖順序圖lState Invariants,保證在余下的生命周期中條件為真。131分配職責(zé)分配職責(zé)132分配職責(zé)分配職責(zé)背黑鍋我來,送死你去,拼全力為眾生背黑鍋我來,送死你去,拼全力為眾生133分配職責(zé)分配職責(zé)134分配職責(zé)分配職責(zé)l專

35、家(expert)原則把責(zé)任分配給領(lǐng)域?qū)<襩老板(boss)原則只跟最高領(lǐng)導(dǎo)人打交道l可視(Visibility)原則不和陌生人講話135分配職責(zé)分配職責(zé)l會(huì)員結(jié)帳用例v會(huì)員請(qǐng)求結(jié)賬v系統(tǒng)驗(yàn)證會(huì)員的賬戶處于打開狀態(tài)v系統(tǒng)驗(yàn)證訂單的信息充分v系統(tǒng)找出有足夠庫存且運(yùn)費(fèi)最低的供應(yīng)商v系統(tǒng)合計(jì)訂單總價(jià)(訂單總價(jià)=所有訂單價(jià)錢合計(jì)+稅金+運(yùn)費(fèi))v系統(tǒng)顯示收費(fèi)明細(xì)v會(huì)員確認(rèn)1.系統(tǒng)保存訂單信息,扣除會(huì)員賬戶金額,通知供貨商發(fā)貨,從庫存扣除相應(yīng)數(shù)量。136分配職責(zé)分配職責(zé)會(huì)員?賬戶?會(huì)員?賬戶?137分配職責(zé)分配職責(zé)138分配職責(zé)分配職責(zé)會(huì)員會(huì)員.檢查賬戶狀態(tài)檢查賬戶狀態(tài)()賬戶賬戶.檢查狀態(tài)檢查狀態(tài)()1

36、39分配職責(zé)分配職責(zé)140分配職責(zé)分配職責(zé)l“合計(jì)總價(jià)”操作分配給哪個(gè)類?目的:統(tǒng)計(jì)所有訂單的總價(jià)錢所需信息:每一個(gè)訂單項(xiàng)的價(jià)錢及其總和l考慮:誰知道這些?l答案:訂單141分配職責(zé)分配職責(zé)142分配職責(zé)分配職責(zé)l“計(jì)算訂單項(xiàng)價(jià)錢計(jì)算訂單項(xiàng)價(jià)錢”操作分配給哪個(gè)類?(零件?訂單?訂單項(xiàng)?)操作分配給哪個(gè)類?(零件?訂單?訂單項(xiàng)?)l統(tǒng)計(jì)某個(gè)訂單的價(jià)錢需要用到的信息:統(tǒng)計(jì)某個(gè)訂單的價(jià)錢需要用到的信息:訂單項(xiàng)訂單項(xiàng).購買數(shù)量購買數(shù)量 X 零件零件.價(jià)格價(jià)格l考慮:誰知道以上的所有信息?零件?訂單項(xiàng)?考慮:誰知道以上的所有信息?零件?訂單項(xiàng)?l答案:訂單項(xiàng)答案:訂單項(xiàng)零件不知道訂單項(xiàng),訂單項(xiàng)知道零件零

37、件不知道訂單項(xiàng),訂單項(xiàng)知道零件143價(jià)格從哪來??jī)r(jià)格從哪來?144誰來計(jì)算稅金?誰來計(jì)算稅金?145專家原則專家原則l“計(jì)算稅金”需要用到的信息:l稅金=價(jià)錢X相應(yīng)稅率l考慮:訂單知道所有這些嗎?l解決方法:添加一個(gè)“計(jì)費(fèi)”類,負(fù)責(zé)計(jì)算各種附加費(fèi)用。l計(jì)算運(yùn)費(fèi)也是如此。146增加計(jì)費(fèi)類增加計(jì)費(fèi)類147通信圖通信圖l通信圖描述對(duì)象間交互的同時(shí),也反映了對(duì)象間關(guān)聯(lián)。l順序圖側(cè)重于在時(shí)間順序上對(duì)象間交互的次序,而通信圖側(cè)重于在空間上描述對(duì)象間鏈接,同時(shí)反映交互關(guān)系,但不直觀。l大多數(shù)UML工具支持順序圖與通信圖的自動(dòng)變換。l通信圖在1.x中稱為協(xié)作圖。148通信圖通信圖149通信圖通信圖l消息:帶有

38、標(biāo)簽的箭頭表示。l每個(gè)消息包括一個(gè)順序號(hào)一張可選的前任消息的表一個(gè)可選的監(jiān)護(hù)條件一個(gè)名字和參量表可選的返回值表。前任消息表可選監(jiān)護(hù)條件可選 序列號(hào) 返回值列表:=可選 消息名(參數(shù)列表)150狀態(tài)機(jī)圖狀態(tài)機(jī)圖l狀態(tài)機(jī)圖描述一個(gè)對(duì)象在其生命周期中可以擁有哪些狀態(tài),該對(duì)象在這些狀態(tài)下的行為,以及什么樣的事件會(huì)導(dǎo)致狀態(tài)發(fā)生變化。l一個(gè)狀態(tài)機(jī)由兩類元素組成: 1、狀態(tài)(state) 2、轉(zhuǎn)換(transition) 151狀態(tài)機(jī)圖狀態(tài)機(jī)圖l一個(gè)狀態(tài)由三部分組成狀態(tài)名稱內(nèi)部活動(dòng)(entry/do/exit)內(nèi)部轉(zhuǎn)換152狀態(tài)機(jī)圖狀態(tài)機(jī)圖153狀態(tài)機(jī)圖狀態(tài)機(jī)圖l狀態(tài)分為三種簡(jiǎn)單狀態(tài)組合狀態(tài)l區(qū)域(regi

39、ons):以平行的虛線表示,區(qū)域內(nèi)可以有自己的獨(dú)立狀態(tài)轉(zhuǎn)換過程,各區(qū)域狀態(tài)轉(zhuǎn)換全部完成時(shí),整個(gè)狀態(tài)轉(zhuǎn)換完成。一個(gè)區(qū)域的復(fù)合狀態(tài)是順序組合狀態(tài),多個(gè)區(qū)域的復(fù)合狀態(tài)是并發(fā)組合狀態(tài)l子狀態(tài):嵌于狀態(tài)內(nèi)部的狀態(tài)子機(jī)狀態(tài)l等同于組合狀態(tài),但并不具體描述內(nèi)部實(shí)現(xiàn),便于重用154狀態(tài)機(jī)圖狀態(tài)機(jī)圖l偽狀態(tài)155狀態(tài)機(jī)圖狀態(tài)機(jī)圖156狀態(tài)機(jī)圖狀態(tài)機(jī)圖157狀態(tài)機(jī)圖狀態(tài)機(jī)圖l轉(zhuǎn)換的要素包括:源狀態(tài)是被轉(zhuǎn)換所影響的狀態(tài)。:目標(biāo)狀態(tài)是轉(zhuǎn)換結(jié)束后的主動(dòng)狀態(tài),它是主對(duì)象要轉(zhuǎn)向的狀態(tài)。:事件觸發(fā)器是一個(gè)事件,它被處于源狀態(tài)的對(duì)象所接受后,轉(zhuǎn)換只要得到監(jiān)護(hù)條件的滿足即可激發(fā)。:在觸發(fā)事件發(fā)生后,判斷是否可進(jìn)行轉(zhuǎn)換的閥門。:在

40、轉(zhuǎn)換時(shí)施加的一個(gè)行為158狀態(tài)機(jī)圖狀態(tài)機(jī)圖159狀態(tài)機(jī)圖狀態(tài)機(jī)圖l事件是發(fā)生在時(shí)間和空間上的一點(diǎn)的值得注意的事情。一個(gè)事件的具體發(fā)生叫做事件的實(shí)例。l觸發(fā)器事件是引起轉(zhuǎn)換的事件。事件可以有參數(shù),以供轉(zhuǎn)換的動(dòng)作使用。l分類:調(diào)用事件、改變事件、信號(hào)事件、時(shí)間事件160狀態(tài)機(jī)圖狀態(tài)機(jī)圖:發(fā)送者不會(huì)等待接收者如何處理信號(hào)而是獨(dú)立地做它自己的工作:調(diào)用對(duì)象要等待被調(diào)用者返回信息,與普通調(diào)用不同,調(diào)用事件中調(diào)用結(jié)束后被調(diào)用對(duì)象還繼續(xù)執(zhí)行:依賴于特定屬性值的布爾表達(dá)式所表示的條件滿足時(shí),事件發(fā)生改變。:代表時(shí)間的流逝。161狀態(tài)機(jī)圖狀態(tài)機(jī)圖是一個(gè)布爾表達(dá)式,它于一個(gè)事件的操作觸發(fā)了轉(zhuǎn)換時(shí)計(jì)算。l監(jiān)護(hù)條件可以引用對(duì)象的屬性值和觸發(fā)事件的參數(shù)。當(dāng)一個(gè)觸發(fā)器事件被觸發(fā)時(shí),監(jiān)護(hù)條件被賦值。l如果布爾表達(dá)式的值為“真”,那么觸發(fā)事件,即使轉(zhuǎn)換有效。如果布爾表達(dá)式的值為“假”,則不會(huì)引起轉(zhuǎn)換。監(jiān)護(hù)條件只能在觸發(fā)事件發(fā)生時(shí)被賦值一次。162狀態(tài)機(jī)圖狀態(tài)

溫馨提示

  • 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. 人人文庫網(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)論