日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

移動(dòng)架構(gòu)-UML

 印度阿三17 2019-04-06

UML(Unified Modeling Language),UML規(guī)范用來(lái)描述建模的概念有,類(對(duì)象的)、對(duì)象、關(guān)聯(lián)、職責(zé)、行為、接口、用例、包、順序、協(xié)作,以及狀態(tài)。這里對(duì)UML做一個(gè)簡(jiǎn)單介紹

前言

UNL雖然有很多功能,但平時(shí)有的最多的就是類圖,時(shí)序圖和用例圖,那么接下來(lái)分別對(duì)這三種功能做一個(gè)簡(jiǎn)要概述

類圖

在UML類圖中,常見(jiàn)的有以下幾種關(guān)系: 泛化(Generalization), 實(shí)現(xiàn)(Realization), 關(guān)聯(lián)(Association), 聚合(Aggregation), 組合(Composition), 依賴(Dependency)

泛化(Generalization)

【泛化關(guān)系】:是一種繼承關(guān)系, 表示一般與特殊的關(guān)系, 它指定了子類如何特化父類的所有特征和行為. 例如:老虎是動(dòng)物的一種, 即有老虎的特性也有動(dòng)物的共性
【箭頭指向】:帶三角箭頭的實(shí)線,箭頭指向父類
UML-類圖-泛化

實(shí)現(xiàn)(Realization)

【實(shí)現(xiàn)關(guān)系】:是一種類與接口的關(guān)系, 表示類是接口所有特征和行為的實(shí)現(xiàn).
【箭頭指向】:帶三角箭頭的虛線,箭頭指向接口
UML-類圖-實(shí)現(xiàn)

關(guān)聯(lián)(Association)

【關(guān)聯(lián)關(guān)系】:是一種擁有的關(guān)系, 它使一個(gè)類知道另一個(gè)類的屬性和方法;如:老師與學(xué)生,丈夫與妻子
關(guān)聯(lián)可以是雙向的,也可以是單向的。雙向的關(guān)聯(lián)可以有兩個(gè)箭頭或者沒(méi)有箭頭,單向的關(guān)聯(lián)有一個(gè)箭頭。
【代碼體現(xiàn)】:成員變量
【箭頭及指向】:帶普通箭頭的實(shí)心線,指向被擁有者
UML-類圖-關(guān)聯(lián)1
上圖中,老師與學(xué)生是雙向關(guān)聯(lián),老師有多名學(xué)生,學(xué)生也可能有多名老師。但學(xué)生與某課程間的關(guān)系為單向關(guān)聯(lián),一名學(xué)生可能要上多門(mén)課程,課程是個(gè)抽象的東西他不擁有學(xué)生
UML-類圖-關(guān)聯(lián)2
上圖為自身關(guān)聯(lián)

聚合(Aggregation)

【聚合關(guān)系】:是整體與部分的關(guān)系, 且部分可以離開(kāi)整體而單獨(dú)存在. 如車(chē)和輪胎是整體和部分的關(guān)系, 輪胎離開(kāi)車(chē)仍然可以存在.
聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是強(qiáng)的關(guān)聯(lián)關(guān)系;關(guān)聯(lián)和聚合在語(yǔ)法上無(wú)法區(qū)分,必須考察具體的邏輯關(guān)系。
【代碼體現(xiàn)】:成員變量
【箭頭及指向】:帶空心菱形的實(shí)心線,菱形指向整體
UML-類圖-聚合

組合(Composition)

【組合關(guān)系】:是整體與部分的關(guān)系, 但部分不能離開(kāi)整體而單獨(dú)存在. 如公司和部門(mén)是整體和部分的關(guān)系, 沒(méi)有公司就不存在部門(mén).
組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系,它要求普通的聚合關(guān)系中代表整體的對(duì)象負(fù)責(zé)代表部分的對(duì)象的生命周期
【代碼體現(xiàn)】:成員變量
【箭頭及指向】:帶實(shí)心菱形的實(shí)線,菱形指向整體
UML-類圖-組合

依賴(Dependency)

【依賴關(guān)系】:是一種使用的關(guān)系, 即一個(gè)類的實(shí)現(xiàn)需要另一個(gè)類的協(xié)助, 所以要盡量不使用雙向的互相依賴.
【代碼表現(xiàn)】:局部變量、方法的參數(shù)或者對(duì)靜態(tài)方法的調(diào)用
【箭頭及指向】:帶箭頭的虛線,指向被使用者
UML-類圖-依賴

各種關(guān)系的強(qiáng)弱順序

泛化 = 實(shí)現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴
下面這張UML圖,比較形象地展示了各種類圖關(guān)系:
UML-類圖-類圖的關(guān)系強(qiáng)弱順序

時(shí)序圖

時(shí)序圖(Sequence Diagram)是顯示對(duì)象之間交互的圖,這些對(duì)象是按時(shí)間順序排列的。順序圖中顯示的是參與交互的對(duì)象及其對(duì)象之間消息交互的順序。時(shí)序圖中包括的建模元素主要有:角色(Actor)、對(duì)象(Object)、生命線(Lifeline)、控制焦點(diǎn)(Focus of control)、消息(Message)等等

角色(Actor)

系統(tǒng)角色,可以是人、及其甚至其他的系統(tǒng)或者子系統(tǒng)

對(duì)象(Object)

對(duì)象包括三種命名方式:
第一種方式包括對(duì)象名和類名
第二中方式只顯示類名不顯示對(duì)象名,即表示他是一個(gè)匿名對(duì)象
第三種方式只顯示對(duì)象名不顯示類明

生命線(Lifeline)

生命線在順序圖中表示為從對(duì)象圖標(biāo)向下延伸的一條虛線,表示對(duì)象存在的時(shí)間,如下圖
UML-時(shí)序圖-生命線

控制焦點(diǎn)(Focus of Control)

控制焦點(diǎn)是順序圖中表示時(shí)間段的符號(hào),在這個(gè)時(shí)間段內(nèi)對(duì)象將執(zhí)行相應(yīng)的操作。用小矩形表示。如下圖表示
UML-時(shí)序圖-控制焦點(diǎn)

消息(Message)

消息一般分為同步消息(Synchronous Message),異步消息(Asynchronous Message)和返回消息(Return Message).如下圖所示
UML-時(shí)序圖-消息

  • 同步消息=調(diào)用消息(Synchronous Message
    消息的發(fā)送者把控制傳遞給消息的接收者,然后停止活動(dòng),等待消息的接收者放棄或者返回控制。用來(lái)表示同步的意義。
  • 異步消息(Asynchronous Message
    消息發(fā)送者通過(guò)消息把信號(hào)傳遞給消息的接收者,然后繼續(xù)自己的活動(dòng),不等待接受者返回消息或者控制。異步消息的接收者和發(fā)送者是并發(fā)工作的。
  • 返回消息(Return Message
    返回消息表示從過(guò)程調(diào)用返回
  • 自關(guān)聯(lián)消息(Self-Message
    表示方法的自身調(diào)用以及一個(gè)對(duì)象內(nèi)的一個(gè)方法調(diào)用另外一個(gè)方法
    UML-時(shí)序圖-自關(guān)聯(lián)消息
  • Combined Fragments
    表示帶有一些特定條件發(fā)送的消息
    UML-時(shí)序圖-Combined Fragments
    如上圖,就表示,循環(huán)(loop)發(fā)送GetProperty消息獲得屬性。在使用Astah畫(huà)時(shí)序圖時(shí),選擇一個(gè)Combined Fragments之后,可以在其對(duì)應(yīng)的屬性面板更改對(duì)應(yīng)的發(fā)送條件。里面介紹了很多,此處列舉一二:
    Alternative fragment(denoted "alt")if…then…else對(duì)應(yīng)
    Option fragment (denoted "opt")Switch對(duì)應(yīng)
    Parallel fragment (denoted "par")表示同時(shí)發(fā)生
    Loop fragment(denoted "loop")for或者Foreach對(duì)應(yīng)

用例圖

用例圖主要用來(lái)描述“用戶、需求、系統(tǒng)功能單元”之間的關(guān)系。它展示一個(gè)外部用戶能夠觀察到的系統(tǒng)功能模型圖。用例圖多用于靜態(tài)建模階段(主要是業(yè)務(wù)建模和需求建模),幫助開(kāi)發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求

參與者(Actor)

在系統(tǒng)外部與系統(tǒng)直接交互的人或事物;需要注意以下兩點(diǎn):
1)參與者是角色而不是具體的人,它代表了參與者在與系統(tǒng)打交道的過(guò)程中所扮演的角色。所以在系統(tǒng)的實(shí)際運(yùn)作中,一個(gè)實(shí)際用戶可能對(duì)應(yīng)系統(tǒng)的多個(gè)參與者。不同的用戶也可以只對(duì)應(yīng)于一個(gè)參與者,從而代表同一參與者的不同實(shí)例
2)參與者作為外部用戶(而不是內(nèi)部)與系統(tǒng)發(fā)生交互作用,是它的主要特征。
在UML中,參與者使用如圖所示的一個(gè)小人表示
UML-用例圖-參與者

用例(Use Case)

系統(tǒng)外部可見(jiàn)的一個(gè)系統(tǒng)功能單元。系統(tǒng)的功能由系統(tǒng)單元所提供,并通過(guò)一系列系統(tǒng)單元與一個(gè)或多個(gè)參與者之間交換的消息所表達(dá)。用橢圓表示,橢圓中的文字簡(jiǎn)述系統(tǒng)的功能
UML-用例圖-用例

關(guān)系(Relationship)

UML-用例圖-關(guān)系
關(guān)聯(lián)(Association)
表示參與者與用例之間的交互,通信途徑,任何一方都可發(fā)送或接受消息
箭頭指向:指向消息接收方
UML-用例圖-關(guān)聯(lián)
泛化(Inheritance)
在編程中,泛化關(guān)系是一種很重要的關(guān)系,我們隨處可見(jiàn)
泛化關(guān)系是一般和特殊關(guān)系,就是通常理解的繼承關(guān)系,子用例和父用例相似,但表現(xiàn)出更特別的行為;子用例將繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系。子用例可以使用父用例的一段行為,也可以重載它。父用例通常是抽象的
箭頭指向(需要特別注意):指向父用例
UML-用例圖-泛化
包含(Include)
包含關(guān)系用來(lái)把一個(gè)較復(fù)雜用例所表示功能分解成較小的步驟。包含用例是必須的,如果缺少包含用例,基用例就不完整;包含用例必須被執(zhí)行。
箭頭指向:指向分解出來(lái)的功能用例
UML-用例圖-包含
擴(kuò)展(Extend)
擴(kuò)展關(guān)系是指用例功能的延伸,相當(dāng)于為基礎(chǔ)用例提供一個(gè)附加功能。擴(kuò)展用例是可選的,如果缺少擴(kuò)展用例,不會(huì)影響到基用例的完整性。
箭頭指向(需要特別注意):指向基用例
UML-用例圖-拓展
供一個(gè)完整的系統(tǒng)的用例圖
UML-用例圖-完整用例圖

來(lái)源:http://www./content-4-157751.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多