中軟培訓(xùn)UML基礎(chǔ)_第1頁
中軟培訓(xùn)UML基礎(chǔ)_第2頁
中軟培訓(xùn)UML基礎(chǔ)_第3頁
中軟培訓(xùn)UML基礎(chǔ)_第4頁
中軟培訓(xùn)UML基礎(chǔ)_第5頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

什么是UMLUML是UnifiedModelingLanguage的首字母縮寫,中文通常稱為統(tǒng)一建模語言。

UML是一個通用的可視化建模語言,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)制品的文檔。UML描述了一個系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為。UML是不是程序設(shè)計語言?UML發(fā)展簡史GradyBooch是面向?qū)ο蠓椒ㄗ钤绲某珜?dǎo)者之一,1984便在著作中提出了面向?qū)ο蟮幕締栴}。JamesRumbaugh提出了面向?qū)ο蟮慕<夹g(shù)即OMT引入了各種獨立于程序設(shè)計語言的表示符號。IvarJacobson于1994年提出了面向?qū)ο筌浖こ痰姆椒?,即OOSE。1994年10月,同在Rational公司的Booch與Rumbaugh開始致力于統(tǒng)一各種建模語言。1995年秋,Jacobson也加盟到這項工作中。1996年6月發(fā)布了UML0.9。1997年11月,OMG采納UML1.1作為面向?qū)ο蠹夹g(shù)的標準建模語言。UML概念域靜態(tài)結(jié)構(gòu)確定有關(guān)應(yīng)用、內(nèi)部特性及其相互關(guān)系的關(guān)鍵概念。動態(tài)行為有兩種方式對行為建模:一種是根據(jù)一個對象與外界發(fā)生關(guān)系的生命歷史;另一種是一系列相關(guān)對象之間當它們相互作用實現(xiàn)行為時的通信方式。實現(xiàn)構(gòu)造

UML除了可以用于邏輯分析外,還可以用于實現(xiàn),如構(gòu)件圖。模型組織將模型組織成便于理解的層次結(jié)構(gòu),主要是指包。擴展機制如構(gòu)造型等。模型基本概念模型是用某種工具對同類或其他工具的表達方式模型從某一個建模觀點出發(fā),抓住事物最重要的方面而簡化或忽略其他方面模型包含語義和表示法,可以采取圖形和文字等多種不同形式。語義方面用一套邏輯組件表達應(yīng)用系統(tǒng)的含義,如類、關(guān)聯(lián)、狀態(tài)、用例和消息。表示方式元素攜帶了模型的可視化表達方式,即語義是用一種可被人直接理解的方式來表達的。UML視圖一、靜態(tài)視圖靜態(tài)視圖靜態(tài)視圖對應(yīng)用領(lǐng)域中的概念以及與系統(tǒng)實現(xiàn)有關(guān)的內(nèi)部概念建模。靜態(tài)視圖主要是由類及類間相互關(guān)系構(gòu)成,這些相互關(guān)系包括:關(guān)聯(lián)、泛化和各種依賴關(guān)系,如使用和實現(xiàn)關(guān)系。事實上,在靜態(tài)視圖中,建模元素被稱為類元,類元是類的泛化,包含其他類似類的元素。類元類的表示方法類用實線邊框的矩形來表示,矩形用兩條水平線分為三欄。上面一欄包含類的名稱以及其他適用于整個類的特性。中間一欄包含屬性表。下面一欄包含操作表。中間和下面欄在類符號中可隱藏。類的表示方法屬性:

可見性名稱:類型=缺省值{約束特性}方法:

可見性名稱(參數(shù)表):返回類型{約束特性}類元關(guān)系類元之間的關(guān)系有關(guān)聯(lián)、泛化、流及各種形式的依賴關(guān)系,包括實現(xiàn)關(guān)系和使用關(guān)系關(guān)聯(lián)關(guān)系-association關(guān)聯(lián)關(guān)系描述了給定類的單獨對象之間語義上的連接。二元關(guān)聯(lián)是有著兩個關(guān)聯(lián)端點的關(guān)聯(lián),它是最常見的一種關(guān)聯(lián),用一個連接兩個類符號的實線路徑表示。N元關(guān)系有n個端點,使用一個大菱形表示。association聚集與組合聚集(aggregation)表示部分與整體關(guān)系的關(guān)聯(lián),它用端點帶有空菱形的線段表示,空菱形與聚集類相連接。組合(composition)是更強形式的關(guān)聯(lián),整體有管理部分的特有的職責,它用一個實菱形物附在組成端表示。關(guān)聯(lián)類如果一個關(guān)聯(lián)既是類又是關(guān)聯(lián),即它是一個關(guān)聯(lián)類,那么這個關(guān)聯(lián)可以有它自己的屬性限定符如果一個關(guān)聯(lián)的屬性在一組相關(guān)對象中是唯一的,那么它是一個限定符限定符是用來在關(guān)聯(lián)中從一組相關(guān)對象中標識出獨特對象的值關(guān)聯(lián)端點關(guān)聯(lián)端點關(guān)聯(lián)端點泛化-Generalization泛化反映的是一個較廣泛元素和一個較特殊元素之間的類元關(guān)系實現(xiàn)-realization實現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,其中接口只是行為的說明而不是結(jié)構(gòu)或者實現(xiàn)。泛化關(guān)系將在同一語義層上的元素連接起來(如,在同一抽象層),并且通常在同一模型內(nèi)。實現(xiàn)關(guān)系將在不同語義層內(nèi)的元素連接起來(如,一個分析類和一個設(shè)計類;一個接口與一個類),并且通常建立在不同的模型內(nèi)。實現(xiàn)關(guān)系實現(xiàn)關(guān)系用一條帶封閉空箭頭的虛線來表示可以用帶關(guān)鍵字《interface》的矩形表示,或用圓圈表示抽象類抽象類是不可被實例化的類,即它可以沒有直接實例。抽象類或抽象操作的名字用斜體表示。關(guān)鍵字abstract可以放置在位于名稱下面或后面的特性表中,如Account{abstract}。抽象類與具體類之間是泛化關(guān)系還是實現(xiàn)關(guān)系?依賴關(guān)系依賴關(guān)系(dependency)是表示一個或幾個模型中兩個元素間關(guān)系的語句依賴關(guān)系用兩個模型元素之間的虛線箭頭表示。箭尾處的模型元素(客戶)依賴于箭頭處的模型元素(提供者)。箭頭上可帶有表示依賴關(guān)系種類的關(guān)鍵字,還可以有名稱。依賴關(guān)系種類對象圖對象是類的實例,鏈是關(guān)聯(lián)的實例。對象圖是對系統(tǒng)的一個快照何時使用不要試圖在項目的初始階段使用所有的符號。在項目的不同階段應(yīng)當使用不同的觀點來畫類圖。不要為每個事件都畫一個模型,應(yīng)該把精力放在關(guān)鍵的領(lǐng)域。二、用例視圖用例視圖用例視圖將系統(tǒng)劃分成對參與者有用的需求,而交互功能部分被稱作用例(UseCase)。本質(zhì)上,用例是用戶與計算機之間為達到某個目的的一次典型交互作用。用例描述了用戶提出的可見需求,可大可小,并且一定對應(yīng)一個具體的用戶目標。參與者參與者是與系統(tǒng)、子系統(tǒng)或類發(fā)生交互作用的外部用戶、進程或其他系統(tǒng)的理想化概念。作為外部用戶與系統(tǒng)發(fā)生交互作用,這是參與者的特征一個實際用戶可能對應(yīng)系統(tǒng)的多個參與者。不同的用戶也可以只對應(yīng)于一個參與者,從而代表同一參與者的不同實例。參與者可以是人、另一個計算機系統(tǒng)或一些可運行的進程。在圖中,參與者用一個名字寫在下面的小人表示。用例圖用例用例是一個連貫的功能性單元,由一個用消息順序表示的類元(系統(tǒng)、子系統(tǒng)或類)提供,這些消息與被系統(tǒng)執(zhí)行的動作在系統(tǒng)和一個或多個外部用戶(表現(xiàn)為參與者)間交換。用例的目標是要定義類元(包括一個子系統(tǒng)或整個系統(tǒng))的一個行為,但并不顯示類元的內(nèi)部結(jié)構(gòu)。用例是一個描述符,可以用一種非正式的文本描述。用例關(guān)系擴展關(guān)系擴展是指擴展用例與基用例之間的關(guān)系,說明如何將擴展用例定義的行為插入基用例定義的行為序列。擴展關(guān)系有一系列擴展點名稱,它們必須在基用例中出現(xiàn)。名稱的數(shù)目必須與擴展用例中的片斷數(shù)目相一致。用例的擴展點可以列在名為extensionpoints的分欄內(nèi)。當用例實例的執(zhí)行到達第一個擴展點引用的位置時,條件決定是否執(zhí)行擴展用例。擴展關(guān)系泛化關(guān)系一個用例(子用例)和另一個用例(父用例)之間的類元關(guān)系,描述了子用例與其他具有相同父用例的用例共享的特性。包含關(guān)系包含關(guān)系將基用例和包含用例連接在一起。關(guān)系中的包含用例不是能夠獨立實現(xiàn)的類元,而是顯式地描述了插入執(zhí)行基用例的用例實例中的附加行為序列。包含位置是被包含用例執(zhí)行的位置。包含只執(zhí)行一次,通過引用包含的基用例行為序列中的循環(huán)可以達到多次包含的效果。用例關(guān)系區(qū)別用例獲取用例是獲取需求、規(guī)劃和控制項目迭代過程的基本工具。用例獲取是項目初始階段首先要做的工作,但大量的用例是在項目細化過程中產(chǎn)生的。獲取用例首先要找出系統(tǒng)的執(zhí)行者,一旦獲取了系統(tǒng)的執(zhí)行者,就可以對每個執(zhí)行者提出一些問題,然后從執(zhí)行者對這些問題的答案中獲取用例獲取執(zhí)行者誰使用系統(tǒng)的主要功能(主要使用者)誰需要系統(tǒng)支持他們的日常工作?誰來維護、管理系統(tǒng)使其能正常工作(輔助使用者)?系統(tǒng)需要控制哪些硬件?系統(tǒng)需要與其他哪些系統(tǒng)交互?對系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人或哪些事件?獲取用例執(zhí)行者要求系統(tǒng)提供哪些功能?執(zhí)行者需要讀、產(chǎn)生、刪除、修改或存儲系統(tǒng)中的信息有哪些類型?必須提醒執(zhí)行者的系統(tǒng)事件有哪些?執(zhí)行者必須提醒系統(tǒng)事件有哪些?怎樣把這些事件表示成用例中的功能?三、狀態(tài)機視圖狀態(tài)機視圖狀態(tài)機視圖通過對類對象的生存周期建立模型來描述對象隨時間變化的動態(tài)行為。一個狀態(tài)機由兩類元素組成:

1、狀態(tài)(state)

2、轉(zhuǎn)換(transition)

狀態(tài)機的運作是靠事件驅(qū)動的。

狀態(tài)要素狀態(tài)名稱

子狀態(tài):如果一個狀態(tài)機具有嵌套的子結(jié)構(gòu),則它被稱為組成狀態(tài)。組成狀態(tài)或者是互斥的子狀態(tài)構(gòu)成的網(wǎng)絡(luò)(即依次活動的子狀態(tài)),或者是并發(fā)子狀態(tài)的集合(即并發(fā)活動的子狀態(tài))。沒有子結(jié)構(gòu)的狀態(tài)(除去可能的內(nèi)部動作)是一個簡單狀態(tài)。入口動作:系統(tǒng)進入這個狀態(tài)時要做的行為,每個狀態(tài)至多有一個入口動作,語法為entry/action-sequence,入口動作可以是一個序列出口動作:系統(tǒng)退出這個狀態(tài)時要做的行為,每個狀態(tài)至多有一個出口動作,語法為exit/action–sequence,出口動作可以是一個序列起始狀態(tài)和終止狀態(tài):都是偽狀態(tài),不具備狀態(tài)的以上屬性,只是表明狀態(tài)機的開始與終結(jié)。狀態(tài)表示狀態(tài)用圓角矩形表示,可能有一個或者多個可選分欄。名稱分欄嵌套狀態(tài):顯示組成狀態(tài)本身的由附屬嵌套的狀態(tài)構(gòu)成的狀態(tài)圖。內(nèi)部轉(zhuǎn)換分欄:表示內(nèi)部活動或者動作列表,是在對象處于狀態(tài)中時接收到事件而做出響應(yīng)執(zhí)行的,結(jié)果不改變狀態(tài)。入口和出口動作也位于此欄,不能有參量或者監(jiān)護條件。內(nèi)部轉(zhuǎn)換狀態(tài)種類順序組成狀態(tài)并發(fā)組成狀態(tài)結(jié)合狀態(tài)結(jié)合狀態(tài)可以有一個或多個進入段和一個或多個輸出段。它不能有內(nèi)部活動、子機器,或者具有觸發(fā)器事件的輸出轉(zhuǎn)換。它是構(gòu)建轉(zhuǎn)換用的啞狀態(tài),因而不能處于“活動”的狀態(tài)。結(jié)合狀態(tài)可以構(gòu)建源自多個片斷的轉(zhuǎn)換。結(jié)合狀態(tài)鏈中只有第一個段可以有觸發(fā)器事件,但每個段都可以有監(jiān)護條件。其后續(xù)段必須無觸發(fā)。有效的監(jiān)護條件是所有單個監(jiān)護條件的結(jié)合體。除非所有條件被滿足,否則轉(zhuǎn)換不會開始。換而言之,狀態(tài)機不會停留在結(jié)合狀態(tài)。歷史狀態(tài)歷史狀態(tài)是一種偽狀態(tài),說明內(nèi)部組成狀態(tài)在退出之后仍然記得它之前的活動子狀態(tài)。轉(zhuǎn)向歷史狀態(tài)的一個轉(zhuǎn)換將使前一個活動子狀態(tài)再次成為活動的,并執(zhí)行相應(yīng)的入口動作和出口動作。淺歷史狀態(tài)保存并激活與歷史狀態(tài)在同一個嵌套層次上的狀態(tài)。深歷史狀態(tài)記憶組成狀態(tài)中更深的嵌套層次的狀態(tài)。淺歷史狀態(tài)用帶有H的小圓圈表示,深歷史狀態(tài)用帶有H*的圓圈表示。歷史狀態(tài)轉(zhuǎn)換轉(zhuǎn)換表示在一個對象的生命歷史中所有的狀態(tài)之間可能有的路徑以及在狀態(tài)變化時發(fā)生的動作。轉(zhuǎn)換包括源狀態(tài)、事件觸發(fā)器、監(jiān)護條件、動作和目標狀態(tài),有的可以省略。轉(zhuǎn)換用從一個狀態(tài)(源狀態(tài))指向另一個狀態(tài)(目標狀態(tài))的實線箭頭表示,其上標有轉(zhuǎn)換字符串,轉(zhuǎn)換字符串如下:轉(zhuǎn)換轉(zhuǎn)換要素源狀態(tài):源狀態(tài)是被轉(zhuǎn)換所影響的狀態(tài)。目標狀態(tài):目標狀態(tài)是轉(zhuǎn)換結(jié)束后的主動狀態(tài),它是主對象要轉(zhuǎn)向的狀態(tài)。事件觸發(fā)器(Event

trigger):事件觸發(fā)器是一個事件,它被處于源狀態(tài)的對象所接受后,轉(zhuǎn)換只要得到監(jiān)護條件的滿足即可激發(fā)。監(jiān)護條件(guard

condition):在觸發(fā)事件發(fā)生后,判斷是否可進行轉(zhuǎn)換的閥門。動作(action):在轉(zhuǎn)換時施加的一個行為觸發(fā)器事件事件是發(fā)生在時間和空間上的一點的值得注意的事情。一個事件的具體發(fā)生叫做事件的實例。觸發(fā)器事件是引起轉(zhuǎn)換的事件。事件可以有參數(shù),以供轉(zhuǎn)換的動作使用。分類:調(diào)用事件、改變事件、信號事件、時間事件事件信號事件:發(fā)送者不會等待接收者如何處理信號而是獨立地做它自己的工作調(diào)用事件:調(diào)用對象要等待被調(diào)用者返回信息,與普通調(diào)用不同,調(diào)用事件中調(diào)用結(jié)束后被調(diào)用對象還繼續(xù)執(zhí)行改變事件:依賴于特定屬性值的布爾表達式所表示的條件滿足時,事件發(fā)生改變。時間事件:代表時間的流逝。監(jiān)護條件監(jiān)護條件是一個布爾表達式,它于一個事件的操作觸發(fā)了轉(zhuǎn)換時計算。監(jiān)護條件可以引用對象的屬性值和觸發(fā)事件的參數(shù)。當一個觸發(fā)器事件被觸發(fā)時,監(jiān)護條件被賦值。如果布爾表達式的值為“真”,那么觸發(fā)事件,即使轉(zhuǎn)換有效。如果布爾表達式的值為“假”,則不會引起轉(zhuǎn)換。監(jiān)護條件只能在觸發(fā)事件發(fā)生時被賦值一次。監(jiān)護條件監(jiān)護條件能夠被拆解成一系列簡單的監(jiān)護條件動作動作是可執(zhí)行的原子計算,它導(dǎo)致模型狀態(tài)的改變和返回值。動作附屬于轉(zhuǎn)換,當轉(zhuǎn)換被激發(fā)時動作被執(zhí)行。也可以作為狀態(tài)的入口動作和出口動作出現(xiàn),由進入或離開狀態(tài)的轉(zhuǎn)換觸發(fā)。所有動作都是原子的,即它們執(zhí)行時完全不會被別的動作所干擾。動作要素對象集合:指明動作在哪些對象上發(fā)生。請求:指明一個信號或聲明一個操作。信號被發(fā)送到對象,操作被調(diào)用(對于具有返回值的操作,對象集合必須包含一個對象)。參量表:當賦值的時候,參量表中的值必須與信號或操作的參數(shù)相一致。參量被作為發(fā)送或調(diào)用的一部分。循環(huán):指明動作執(zhí)行的次數(shù),并指定迭代變量(可選)。動作類別賦值動作:導(dǎo)致一個對象或?qū)ο蠹系膶傩灾当桓淖儭U{(diào)用動作:導(dǎo)致一個對象或?qū)ο蠹仙喜僮鞯陌l(fā)生創(chuàng)建動作:導(dǎo)致對象的實例化和初始化。銷毀動作:導(dǎo)致目標對象的銷毀。返回動作:導(dǎo)致一個到操作調(diào)用者的控制轉(zhuǎn)換。該動作只允許在被調(diào)用使用的操作中存在。該發(fā)送動作:導(dǎo)致一個信號實例被創(chuàng)建并初始化,同時發(fā)送到對象集合中的對象。終止動作:導(dǎo)致某種對象的銷毀無解釋動作:一種控制構(gòu)造或其他構(gòu)造的動作。動作表示UML沒有一種固定的動作語言,它希望建模者使用一種實際的編程語言去編寫動作。賦值動作--target:=expression調(diào)用動作--object-set.operation-name(argumentlist,)創(chuàng)建動作--newclass-name(argumentlist,)銷毀動作--object.destroy()返回動作--returnexpressionlist,發(fā)送動作--object-set.signal-name(argumentlist,)終止動作--terminate無解釋動作--if(expression)then(action)else(action)如果需要明確區(qū)別調(diào)用與發(fā)送,關(guān)鍵字call和send可以作為表達式的前綴,它們是可選的。何時使用狀態(tài)圖適合描述跨越多個用例的單個對象的行為,而不適合描述多個對象之間的行為協(xié)作。因此,常與交互圖、活動圖組合使用。不需要對系統(tǒng)中每一個類都畫出它的狀態(tài)圖,一般僅給出那些比較關(guān)鍵、比較復(fù)雜的類的狀態(tài)圖。狀態(tài)圖有助于解決用戶界面或控制型的對象中存在的問題。四、活動視圖活動視圖活動圖是強調(diào)計算過程中順序的和并發(fā)步驟的狀態(tài)機。在活動圖中狀態(tài)主要是活動狀態(tài)或動作狀態(tài),完成一個任務(wù)所經(jīng)歷活動的順序稱為控制流,控制流箭頭為實線活動產(chǎn)生的輸入或輸出稱為對象,對象流箭頭為虛線,對象以方框表示活動圖泳道技術(shù)何時使用活動圖最適合支持并鼓勵并行行為,但不能清晰反映動作與對象之間的關(guān)系。因此適合在下列情況下應(yīng)用:1、分析用例,可以使用一張活動圖描述一個用例,也可以描述多個用例。2、理解牽涉多個用例的工作流3、處理多線程應(yīng)用五、交互視圖交互視圖與狀態(tài)圖和活動圖不同,交互圖描述一組對象的整體行為類元角色表示參與協(xié)作執(zhí)行的對象的描述;關(guān)聯(lián)角色表示參與協(xié)作執(zhí)行的關(guān)聯(lián)的描述。協(xié)作描述了在一定的語境中一組對象以及用以實現(xiàn)某些行為的這些對象間的相互作用。交互是協(xié)作中的一個消息集合,這些消息被類元角色通過關(guān)聯(lián)角色交換。消息是兩個對象之間的單路通信,從發(fā)送者到接收者的控制信息流。消息可以被組織成順序的控制線程。消息序列可以用兩種圖來表示:順序圖(突出消息的時間順序)和協(xié)作圖(突出交換消息的對象間的關(guān)系)。順序圖順序圖將交互關(guān)系表示為一個二維圖??v向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示;當對象的過程處于激活狀態(tài)時,生命線是一個雙道線。消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。順序圖順序圖主動對象擁有一個控制線程并且能初始化控制活動,不在另一個對象的作用域內(nèi)運行,用具有重邊線的矩形表示。被動對象是自身不具備線程控制的對象,它的操作在主動對象內(nèi)的線程控制下執(zhí)行。被動對象是使用單邊矩形表示的,其中的對象名稱帶有下劃線。順序圖表示每個對象顯示在單獨的列中。對象符號(對象名帶有下劃線的矩形框)放置在代表生成這個對象的消息的箭頭的端點,其垂直位置表示這個對象第一次創(chuàng)建的時間。如果對象在第一個操作前就存在,則對象符號處在圖的頂部。主動對象整個生命周期,被動對象被激活期間均使用雙實線大X表示銷毀對象,調(diào)用以實心箭頭表示,返回以虛線顯示。協(xié)作圖協(xié)作是對對象和鏈總體安排的一個描述,這些對象和鏈在語境中通過互操作完成一個行為在協(xié)作圖中用類的符號(矩形)表示類元角色,關(guān)聯(lián)路徑(實線)表示關(guān)聯(lián)角色,關(guān)聯(lián)角色路徑上帶有消息符號。不帶有消息的協(xié)作圖表明交互作用發(fā)生的語境,而不表示交互。協(xié)作圖消息表示消息:帶有標簽的箭頭表示。每個消息包括一個順序號、一張可選的前任消息的表、一個可選的監(jiān)護條件、一個名字和參量表、可選的返回值表。消息表示前驅(qū)是用逗號隔開的順序號列表,并后跟反斜線(/),表示在列表中的所有順序號代表的消息流發(fā)送之后本消息流才能發(fā)送。順序表達式是順序項列表,之間用冒號(:)隔開。*[iteration-clause]迭代

[condition-clause]分支迭代代表了給定深度上的消息序列。[iteration-clause]可以省略(在未指定迭代條件的情況下)。[condition-clause]用偽代碼或程序設(shè)計語言實現(xiàn)。UML沒有說明其形式,可以為*[i:=1..n]。條件表示一條消息的執(zhí)行取決于condition-clause是否成立。condition-clause用偽碼或程序設(shè)計語言實現(xiàn)。UML沒有說明其形式,可以為[x>y]。消息表示消息表示流變成流:是從一個對象狀態(tài)到另一個的轉(zhuǎn)換。它用帶有構(gòu)造型《become》的箭頭表示,并且可以用順序號標記表示它何時出現(xiàn)。構(gòu)造型《copy》不經(jīng)常出現(xiàn),它表示通過拷貝另一個對象值而得到的一個對象值協(xié)作圖可以將對象標識成四個組:存在于整個交互作用中的對象;交互作用中創(chuàng)建的對象(使用約束{new})在交互作用中銷毀的對象(使用約束{destroyed});在交互作用中創(chuàng)建并銷毀的對象(使用約束{transient})。協(xié)作圖六、物理視圖物理視圖物理視圖用以描述系統(tǒng)的實現(xiàn)。UML使用兩種視圖來表示實現(xiàn)單元:實現(xiàn)視圖和部署視圖。實現(xiàn)視圖將系統(tǒng)中可重用的塊包裝成具有可替代性的物理單元,這些單元被稱為構(gòu)件。實現(xiàn)視圖用構(gòu)件及構(gòu)件間的接口和依賴關(guān)系來表示設(shè)計元素(例如類)的具體實現(xiàn)。構(gòu)件是系統(tǒng)高層的可重用的組成部件。部署視圖表示運行時的計算資源(如計算機及它們之間的連接)的物理布置。這些運行資源被稱作節(jié)點。在運行時,節(jié)點包含構(gòu)件和對象。構(gòu)件和對象的分配可以是靜態(tài)的,它們也可以在節(jié)點間遷移。如果含有依賴關(guān)系的構(gòu)件實例放置在不同節(jié)點上,部署視圖可以展示出執(zhí)行過程中的瓶頸。構(gòu)件構(gòu)件是指系統(tǒng)中的一個物理實現(xiàn)片斷,包括軟件代碼(源代碼、二進制代碼、可執(zhí)行代碼)或者相應(yīng)成分,如腳本或命令文件。源代碼構(gòu)件是指實現(xiàn)類的源代碼包;二進制代碼構(gòu)件是編譯后代碼的包,二進制代碼庫是一個構(gòu)件;可執(zhí)行構(gòu)件含有可執(zhí)行代碼。構(gòu)件有兩個特征:封裝了實現(xiàn)系統(tǒng)功能的代碼和某些構(gòu)成系統(tǒng)狀態(tài)的對象實例。因為它們的實例含有身份和狀態(tài),我們稱后者為有身份的構(gòu)件。構(gòu)件表示節(jié)點節(jié)點是表示計算資源運行時的物理對象,通常具有內(nèi)存和處理能力。節(jié)點可能具有用來辨別各種資源的構(gòu)造型,如CPU、設(shè)備和內(nèi)存等。節(jié)點可以包含對象和構(gòu)件實例。節(jié)點用帶有節(jié)點名稱的立方體表示。節(jié)點間的關(guān)聯(lián)代表通信路徑。節(jié)點也有泛化關(guān)系,將節(jié)點的一般描述與具體的特例

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論