国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

UML全解

2019-11-17 04:46:28
字體:
來源:轉載
供稿:網友
一、UML概述1. 可視化建模有助于: 捕捉商業流程 --> 捕捉系統結構或行為描述如何將系統元素整合在一起 --> 定義軟件構架保持設計和實現的一致性適當的隱藏或暴露細節 --> 治理復雜性使人員間的交流更明確 --> 促進溝通UML為所有開發者提供了一種表示語言可視化的建模幫助開發組形象化,具體說明,構造并且文檔化一個系統的體系結構和行為。2. 標準建模語言UML的出現是面向對象技術發展的必然 UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言。它溶入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發的全過程。二、UML關系1. 常用關系 依靠(Dependencies ;關聯(Association一般化(generalization ; 2. 依靠、一般化 1)依靠關系:依靠關系是一種使用關系,特定事物的改變有可能會影響到使用該事物的事物,反之不成立。在我們想顯示一個事物使用另一個事物時使用依靠關系。通常情況下,依靠關系體現在某個類的方法使用另一個類作為參數(如圖)。2)一般化:一般化是繼續關系,是“is-a-kind-of”的關系。人們將具有共同特性的元素抽象成類別,并通過增加其內涵而進一步分類。例如,動物可分為飛鳥和走獸,人可分為男人和女人。在面向對象方法中一般將前者稱為父元素,將后者稱為子元素。繼續定義了父元素和子元素之間的分類關系。例如將客戶進一步分類成個體客戶和團體客戶,使用的就是繼續關系。在UML定義中對繼續有三個要求:子元素應與父元素完全一致,父元素所具有的關聯、屬性和操作,子元素也都隱含性地具有;子元素還應包含額外信息;答應使用父元素實例的地方,也應能使用子元素.3. 關聯 1) 關聯表示兩個類之間存在某種語義上的聯系。例如,一個人為一家公司工作,一家公司有許多辦公室。我們就認為人和公司、公司和辦公室之間存在某種語義上的聯系。在分析設計的類圖模型中,則在對應人類和公司類、公司類和辦公室類之間建立關聯關系。關聯有兩元關系和多元關系。兩元關系是指一種一對一的關系,多元關系是一對多或多對一的關系。一般用實線連接有關聯的同一個類或不同的兩個類。當我們想要表示結構化關系時使用關聯。2) 關聯的方向: 關聯可以有方向,表示該關聯單方向被使用。關聯上加上箭頭表示方向,在UML中稱為導航。我們將只在一個方向上存在導航表示的關聯,稱作單向關聯,在兩個方向上都有導航表示的關聯,稱作雙向關聯。3) 關聯的命名: 既然關聯可以是雙向的,最復雜的命名方法是每個方向上給出一個名字,這樣的關聯有兩個名字,可以用小黑三角表示名字的方向。為關聯命名有幾種方法,其原則是該命名是否有助于理解該模型。) 角色關聯兩頭的類以某種角色參與關聯。例如,"公司"以"雇主"的角色, "人"以"雇員"的角色參與的"工作合同"關聯。"雇主"和"雇員"稱為角色名。假如在關聯上沒有標出角色名,則隱含地用類的名稱作為角色名。角色還具有多重性(Mult三、模型,視圖,和圖表 圖表是模型的視圖表現給投資者看的,具體的描述;針對系統的局部,提供了具體描述;和別的視圖保持語義一致;1. 用例圖-----捕捉系統中用戶能夠看見的功能 1) 角色:任何一個與系統發生相互作用的事物都可以表現為一個角色。角色可以是人也可以是物。2) 一個用例定義了一組系統要做的有序的動作序列,并且這個動作序列要產生一個可觀測的結果,返回給某一個特定的角色。單個執行者可與多個用例聯系;反過來,一個用例可與多個執行者聯系。對同一個用例而言,不同執行者有著不同的作用:他們可以從用例中取值,也可以參與到用例中。2. 類圖-----捕捉系統的詞匯表 1) 類是具有相同屬性、操作、關系的對象集合的總稱。通常在UML中類被畫成矩形。2) 類圖描述類和類之間的靜態關系,在系統的整個生命周期都是有效的。與數據模型不同,它不僅顯示了信息的結構,同時還描述了系統的行為。類圖是定義其它圖的基礎。在類圖的基礎上,狀態圖、協作圖等進一步描述了系統其他方面的特性。3) 名稱:每個類都必須有一個名字,用來區分其它的類。類名是一個字符串,稱為簡單名字。4) 屬性:是指類的命名的特性,經常代表一類取值。類可以有任意多個屬性,也可以沒有屬性??梢灾粚懮蠈傩悦部梢栽趯傩悦蟾项愋蜕踔寥笔∪≈?。根據圖的具體程度,每條屬性可以包括屬性的可見性、屬性名稱、類型、缺省值和約束特性。UML規定類的屬性的語法為: "可見性 屬性名 : 類型 = 缺省值 {約束特性}"。
常用的可見性有Public、
3. 對象圖-----捕捉實例和連接 UML中對象圖與類圖具有相同的表示形式。對象圖可以看作是類圖的一個實例。對象是類的實例。對象之間的鏈是類之間的關聯的實例。鏈的圖形表示與關聯相似。對象與類的圖形表示相似,均為劃分成兩個格子的長方形(下面的格子可省略)。上面的格子顯示對象名和類。對象名格式為對象名 : 類名,類名和對象名下面有下劃線;下面的格子記錄對象的屬性以及值的列表,格式為“屬性 : 類型=值”。類型可以省略。對象圖常用于表示復雜的類圖的一個實例。4. 組件圖-----捕捉實現的物理結構 1組件圖:組件圖顯示代碼本身的結構,顯示軟件組件之間的依靠關系。組件圖是指用依靠關系鏈接起來的組件集合,可以描述與特定語言相關的編譯時刻的依靠關系。2組件:一般來說,軟件組件就是一個實際文件,可以是源代碼文件、二進制代碼文件和可執行文件等??梢杂脕盹@示編譯、鏈接或執行時組件之間的依靠關系。3在面向對象方法中,類和組件等元素并不是所有的屬性和操作都對外可見。它們對外提供可見操作和屬性,稱之為類和組件的接口——可以表示為一頭是小園圈的直線。5. 分布圖-----捕捉系統硬件的拓撲結構 1分布圖:描述系統硬件的物理拓撲結構以及在此結構上執行的軟件。分布圖顯示系統運行時刻的結構;可以顯示計算節點的拓撲結構和通信路徑、節點上運行的軟件組件、軟件組件包含的邏輯單元(對象、類)等。分布圖經常用于幫助理解分布式系統。2)節點:代表一個物理設備以及其上運行的軟件系統,如一臺Unix主機、一個PC終端、一臺打印機、一個傳感器等。節點表示為一個立方體。3)連接:結點之間的連線表示系統之間進行交互的通信路徑,在UML中被稱為連接。6. 時序圖-----捕捉系統的動態行為(面向時間的)時序圖:當收到消息時,接收對象立即開始執行活動,即對象被激活了。通過在對象生命線上顯示一個細長矩形框來表示激活。消息可以用消息名及參數來標識。消息也可帶有順序號,但較少使用。在時序圖的左邊可以有說明信息,用于說明消息發送的時刻、描述動作的執行情況以及約束信息等。一個對象可以通過發送消息來創建另一個對象,當一個對象被刪除或自我刪除時,該對象用"X"標識。7. 協作圖-----捕捉系統的動態行為 (面向消息的) 1協作圖用于描述相互合作的對象間的交互關系和鏈接關系。雖然時序圖和協作圖都用來描述對象間的交互關系,但側重點不一樣。時序圖著重體現交互的時間順序,協作圖則著重體現交互對象間的靜態鏈接關系。協作圖中對象的外觀與時序圖中的一樣。對象間的鏈接關系類似于類圖中的聯系。通過在對象間的連接上標志帶有消息串的消息來表達對象間的消息傳遞。2鏈接用于表示對象間的各種關系。各種連接關系與類圖中的定義相同,在連接的端點位置可以顯示對象的角色名。3消息流:在協作圖的連接線上,可以用帶有消息串的消息來描述對象間的交互。消息的箭頭指明消息的流動方向。消息串說明要發送的消息、消息的參數、消息的返回值以及消息的序列號等信息。8. 狀態圖-----捕捉系統動態行為(面向事件的) 1狀態圖描述類的對象所有可能的狀態以及事件發生時狀態的轉移條件。通常,狀態圖是對類圖的補充。在實用上并不需要為所有的類畫狀態圖,僅為那些有多個狀態其行為受外界環境的影響并且發生改變的類的對象畫狀態圖。狀態圖只是對單個對象建立模型。2事件和活動可以對狀態轉換線添加一些細節??梢灾该饕疝D移發生的事件和引起狀態變化所需執行的計算(活動)。添加的事件和活動寫在轉換線上,事件和活動名之間用"/"隔開。3防護:當滿足這個防護條件時,轉換才能發生。4嵌套狀態。子狀態以兩種形式出現:順序子狀態和并發子狀態。并發狀態之間用虛線隔開。活動圖-----捕捉動態行為(面向活動的) 1活動圖的應用非常廣泛,它既可用來描述操作(類的方法)的行為,也可以描述用例和對象內部的工作過程。活動圖是由狀態圖擴展而來的,它們各自用于不同的目的?;顒訄D依據對象狀態的變化來捕捉動作(將要執行的工作或活動)與動作的結果,突出了活動?;顒訄D中一個活動結束后將立即進入下一個活動(在狀態圖中狀態的變遷可能需要事件的觸發)。2活動和轉移:一項操作可以描述為一系列相關的活動?;顒觾H有一個起始點,但可以有多個結束點。一個活動可以順序地跟在另一個活動之后,這是簡單的順序關系。假如在活動圖中使用一個菱形的判定標志,則可以表達條件關系,判定標志可以有多個輸入和輸出轉移,但在活動的運作中僅觸發其中的一個輸出轉換?;顒訄D中,使用一個稱為同步條的水平粗線可以將一條轉移分為多個并發執行的分支,或將多個轉換合為一條轉換。此時,只有輸入的轉換全部有效,同步條才會觸發轉換,進而執行后面的活動。
3)泳道:用矩形框來表示,屬于某個泳道的活動放在該矩形框內,將泳道的角色名放在矩形框的頂部。4)對象:在活動圖中可以出現對象。對象可以作為活動的輸入或輸出,,對象與活動間的輸入/輸出關系由虛線箭頭來表示。假如僅表示對象受到某一活動的影響,則可用不帶箭頭的虛線來連接對象與活動。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉山县| 广元市| 婺源县| 昌宁县| 类乌齐县| 高碑店市| 龙陵县| 卓尼县| 巩义市| 册亨县| 石河子市| 新蔡县| 卢氏县| 临武县| 正定县| 科技| 礼泉县| 松滋市| 淳安县| 乌苏市| 柘城县| 同江市| 株洲县| 汾西县| 尉氏县| 新蔡县| 河源市| 绥德县| 前郭尔| 公主岭市| 安庆市| 扶风县| 项城市| 泰顺县| 柳林县| 吉安县| 新田县| 慈利县| 宜君县| 昭平县| 麻江县|