UML核心元素

3.1 版型

類型习贫、構(gòu)造型

“接口”、“邊界類”、“實(shí)體類”屯远、“控制類”等都是類的版型蔓姚,甚至“參與者”本身也是一個(gè)特殊的類的版型。

參與者

以人為本

3.2.1 基本概念

參與者在建模過程中是處于核心地位的慨丐。

UML官方文檔定義:actor是在系統(tǒng)之外與系統(tǒng)交互的某人或某事物坡脐。

3.2.1.1 參與者位于邊界之外

3.2.1.2 參與者可以非人

3.2.2 發(fā)現(xiàn)參與者

注意區(qū)分參與者與業(yè)務(wù)工人

3.2.3 業(yè)務(wù)主角

業(yè)務(wù)主角是參與者的一個(gè)版型,特別用于定義業(yè)務(wù)的參與者房揭,在需求階段使用备闲。

完全徹底地高清粗客戶的業(yè)務(wù),而不是預(yù)先假設(shè)已經(jīng)有了一個(gè)計(jì)算機(jī)系統(tǒng)捅暴,再讓客戶假想需要計(jì)算機(jī)系統(tǒng)幫他們做什么浅役。

3.2.4 業(yè)務(wù)工人

  • 他是主動(dòng)向系統(tǒng)發(fā)出動(dòng)作的嗎?

  • 他有完整的業(yè)務(wù)目標(biāo)嗎伶唯?

  • 系統(tǒng)是為他服務(wù)的嗎觉既?

3.2.5 參與者與涉眾的關(guān)系

涉眾(stakeholder)也稱為干系人。

參與者是涉眾代表乳幸。

3.2.6 參與者與用戶的關(guān)系

用戶(user)是指系統(tǒng)的使用者拭嫁,通俗一點(diǎn)說就是系統(tǒng)的操作員限佩。用戶是參與者的代表,或者說是參與者的實(shí)例或代理。

3.2.7 參與者與角色的關(guān)系

角色(role)是參與者的職責(zé)署辉。

3.2.8 參與者的核心地位

系統(tǒng)是以參與者的觀點(diǎn)來決定的。

3.2.9 檢查點(diǎn)

  • 您是否已找到所有的參與者篮愉?

  • 每個(gè)參與者是否至少涉及到一個(gè)用例浮创?

  • 您能否列出至少兩名可以作為特定參與者的人員?

  • 是否由參與者擔(dān)任與系統(tǒng)相關(guān)的相似角色养筒?

  • 是否有兩個(gè)參與者擔(dān)任與用例相關(guān)的同一角色曾撤?

  • 特定的參與者是否將以幾種(完全不同的)方式使用系統(tǒng)?

  • 參與者是否有直觀名稱和描述名稱晕粪?

3.3 用例

用例是UML建模中最重要的一個(gè)元素挤悉。其他元素都是“封裝”、獨(dú)立”的

3.3.1 基本概念

用例是一種把現(xiàn)實(shí)世界的需求捕獲下來的方法巫湘。

官方文檔定義:用例定義了一組用例實(shí)例装悲,其中每一個(gè)實(shí)例都是系統(tǒng)所執(zhí)行的一系列操作,這些操作生成特定主角可以觀測(cè)的值尚氛。

一個(gè)用例就是與參與者交互的诀诊。

一個(gè)場(chǎng)景就是一個(gè)用例的實(shí)例。

3.3.2 用例的特征

  • 用例是相對(duì)獨(dú)立的阅嘶。

  • 用例的執(zhí)行結(jié)果對(duì)參與者來說是可觀測(cè)的和有意義的属瓣。

  • 這件事必須由一個(gè)參與者發(fā)起。

  • 用例必然是以動(dòng)賓短語(yǔ)形式出現(xiàn)的。

  • 一個(gè)用例就是一個(gè)需求單元奠涌、分析單元宪巨、設(shè)計(jì)單元、開發(fā)單元溜畅、測(cè)試單元甚至部署單元捏卓。

3.3.3 用例的粒度

原則:同一個(gè)需求階段,所有用例的粒度應(yīng)該是同一個(gè)量級(jí)的慈格。

粒度選擇問題本質(zhì)是因?yàn)檫吔缯J(rèn)定不同而產(chǎn)生的怠晴。

3.3.4 用例的獲得

  • 主角是位于系統(tǒng)邊界外的。

  • 主角對(duì)系統(tǒng)有著明確的期望和回報(bào)要求浴捆。

  • 主角的期望和回報(bào)要求在系統(tǒng)邊界之內(nèi)蒜田。

3.3.5 用例和功能的誤區(qū)

用例 != 功能

3.3.6 目標(biāo)和步驟的誤區(qū)

兩個(gè)用例大小不同,邊界不同选泻,參與者也不同冲粤,它們顯然不應(yīng)該同時(shí)出現(xiàn)在同一個(gè)視圖里。

3.3.7 用例粒度的誤區(qū)

產(chǎn)生用例粒度錯(cuò)誤的原因首先是分不清目標(biāo)和步驟页眯。

3.3.8 業(yè)務(wù)用例

業(yè)務(wù)用例(bussiness use case)是用例版型中的一種梯捕,專門用于需求階段的業(yè)務(wù)建模。

3.3.9 業(yè)務(wù)用例實(shí)現(xiàn)

(bussiness use case realization)窝撵,也稱業(yè)務(wù)用例實(shí)例傀顾。專門用于需求階段的業(yè)務(wù)建模。

3.3.10 概念用例

概念模型中的核心元素碌奉。

3.3.11 系統(tǒng)用例

用來定義系統(tǒng)范圍短曾,獲取功能性需求的。

  • 業(yè)務(wù)用例:業(yè)務(wù)視角

  • 系統(tǒng)用例:系統(tǒng)視角

3.3.12 用例實(shí)現(xiàn)

用例實(shí)現(xiàn)是連接起用例模型和系統(tǒng)實(shí)現(xiàn)之間的橋梁赐劣。

3.4 邊界

邊界本質(zhì)上是面向?qū)ο蠓椒ǖ囊粋€(gè)很重要的概念嫉拐,與封裝的概念師出同源。

3.4.1 邊界決定視界

邊界是可大可小的隆豹,由建模者主管臆定椭岩。

3.4.2 邊界決定抽象層次

分治茅逮,劃分子問題璃赡。

3.4.3 靈活使用邊界

邊界是無形的,是一種分析方法献雅。

用邊界來決定抽象的層次和視角碉考。

3.5 業(yè)務(wù)實(shí)體

業(yè)務(wù)實(shí)體是類的一種版型。特別用于業(yè)務(wù)建模階段建立領(lǐng)域模型挺身。

官方定義:業(yè)務(wù)實(shí)體代表業(yè)務(wù)角色執(zhí)行業(yè)務(wù)用例時(shí)所處理或使用的“事務(wù)”侯谁。

3.5.1 業(yè)務(wù)實(shí)體的屬性

屬性是用來保存業(yè)務(wù)實(shí)體特征的一個(gè)記錄,業(yè)務(wù)實(shí)體的屬性集合決定了它的唯一性。

3.5.2 業(yè)務(wù)實(shí)體的方法

方法是訪問一個(gè)業(yè)務(wù)實(shí)體的句柄墙贱,它規(guī)定了外部可以怎樣來使用它热芹。

3.5.3 獲取業(yè)務(wù)實(shí)體

一個(gè)業(yè)務(wù)實(shí)體經(jīng)常代表某個(gè)對(duì)多個(gè)業(yè)務(wù)用例或用例實(shí)例有價(jià)值的事務(wù)。

3.6 包

包是一種容器惨撇,如同文件夾一樣伊脓,它將某些信息分類,形成邏輯單元魁衙。

使用包的目的是為了整合復(fù)雜的信息报腔。

UML認(rèn)為好的分包具有高內(nèi)聚,低耦合的性質(zhì)剖淀。

常見的包的版型:

  • 領(lǐng)域包(domain package)

  • 子系統(tǒng)(subsystem)

  • 組織結(jié)構(gòu)(organization unit)

  • 層(layer)

3.7 分析類

分析類用于獲取系統(tǒng)中主要的“職責(zé)簇”纯蛾。

  • 分析類是從功能性需求向計(jì)算機(jī)實(shí)現(xiàn)轉(zhuǎn)化的“第一個(gè)關(guān)口”。

  • 分析類可以產(chǎn)生系統(tǒng)的設(shè)計(jì)類和子系統(tǒng)纵隔。

分析類分為:邊界類(boundary)翻诉、控制類(control)和實(shí)體類(entity)

3.7.1 邊界類

邊界類是一種對(duì)系統(tǒng)外部環(huán)境與其內(nèi)部運(yùn)作之間交互進(jìn)行建模的類。

adapter捌刮?listener米丘?controller?

  • 參與者與用例之間應(yīng)當(dāng)建立邊界類糊啡。前后端交互的controller接口

  • 用例與用例之間如果有交互拄查,應(yīng)當(dāng)為其建立邊界類。退貨->退款通過消息的listener交互

  • 如果用例與系統(tǒng)邊界之外的非人對(duì)象有交互棚蓄,例如第三方系統(tǒng)堕扶,應(yīng)當(dāng)為其建立邊界類。adapter

  • 相關(guān)聯(lián)的業(yè)務(wù)對(duì)象有明顯的獨(dú)立性要求梭依,應(yīng)當(dāng)建立邊界類稍算。

3.7.2 控制類

控制類用于對(duì)一個(gè)或幾個(gè)用例所特有的控制行為進(jìn)行建模。

主要起到協(xié)調(diào)對(duì)象的作用役拴。

3.7.3 實(shí)體類

用于對(duì)必須存儲(chǔ)的信息和相關(guān)行為建模的類糊探。

3.7.4 分析類的三高

  • 高于設(shè)計(jì)實(shí)現(xiàn)

  • 高于語(yǔ)言實(shí)現(xiàn)

  • 高于實(shí)現(xiàn)方式

3.8 設(shè)計(jì)類

設(shè)計(jì)類是系統(tǒng)實(shí)施中一個(gè)或多個(gè)對(duì)象的抽象。

3.8.1 類

類對(duì)對(duì)象進(jìn)行定義河闰,而對(duì)象有實(shí)現(xiàn)(實(shí)施)用例科平。

對(duì)象是類實(shí)例化的結(jié)果。

3.8.2 屬性

屬性是對(duì)象的特征姜性,表明了對(duì)象的唯一性瞪慧。

3.8.3 方法

原則:一個(gè)對(duì)象的屬性只應(yīng)該由他自己的方法來改變。

3.8.4 可見性

  • 共有

  • 保護(hù)

  • 私有

  • 實(shí)施

3.9 關(guān)系

3.9.1 關(guān)聯(lián)關(guān)系

無方向

3.9.2 依賴關(guān)系

3.9.3 擴(kuò)展關(guān)系

抽象性質(zhì)部念,表示了用例場(chǎng)景中的某個(gè)“支流”弃酌。

3.9.4 包含關(guān)系

3.9.5 實(shí)現(xiàn)關(guān)系

用例氨菇,用例實(shí)現(xiàn)

精化關(guān)系

用例實(shí)例,概念用例

泛化關(guān)系

不建議在用例中使用泛化關(guān)系妓湘。

3.9.8 聚合關(guān)系

整體和部分不是強(qiáng)依賴的

組合關(guān)系

強(qiáng)依賴的特殊聚合關(guān)系

3.10 組件

組件代表系統(tǒng)中的一部分物理實(shí)施查蓉。

UML中把組件定義為任何的邏輯代碼快。

完備性榜贴、獨(dú)立性奶是、邏輯性和透明性

3.10.1 完備性

不需要多個(gè)組件來完成一個(gè)業(yè)務(wù)請(qǐng)求。

3.10.2 獨(dú)立性

獨(dú)立部署

3.10.3 邏輯性

3.10.4 透明性

3.10.5 使用組件

  • 分布式應(yīng)用

  • 應(yīng)用集成

  • 第三方系統(tǒng)

  • SOA 服務(wù)

3.11 節(jié)點(diǎn)

節(jié)點(diǎn)是帶有至少一個(gè)處理器竣灌、內(nèi)存以及可能還帶有其他設(shè)備的處理元素聂沙。

應(yīng)用程序的部署單元。

3.11.1 分布式應(yīng)用環(huán)境

3.11.2 多設(shè)備應(yīng)用環(huán)境

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末初嘹,一起剝皮案震驚了整個(gè)濱河市及汉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屯烦,老刑警劉巖坷随,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異驻龟,居然都是意外死亡温眉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門翁狐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來类溢,“玉大人,你說我怎么就攤上這事露懒〈忱洌” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵懈词,是天一觀的道長(zhǎng)蛇耀。 經(jīng)常有香客問我,道長(zhǎng)坎弯,這世上最難降的妖魔是什么纺涤? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮抠忘,結(jié)果婚禮上撩炊,老公的妹妹穿的比我還像新娘。我一直安慰自己褐桌,他們只是感情好衰抑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著荧嵌,像睡著了一般呛踊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上啦撮,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天谭网,我揣著相機(jī)與錄音,去河邊找鬼赃春。 笑死愉择,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的织中。 我是一名探鬼主播锥涕,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼狭吼!你這毒婦竟也來了层坠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤刁笙,失蹤者是張志新(化名)和其女友劉穎破花,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疲吸,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡座每,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了摘悴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峭梳。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蹂喻,靈堂內(nèi)的尸體忽然破棺而出延赌,到底是詐尸還是另有隱情,我是刑警寧澤叉橱,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布挫以,位于F島的核電站,受9級(jí)特大地震影響窃祝,放射性物質(zhì)發(fā)生泄漏掐松。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一粪小、第九天 我趴在偏房一處隱蔽的房頂上張望大磺。 院中可真熱鬧,春花似錦探膊、人聲如沸杠愧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)流济。三九已至锐锣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绳瘟,已是汗流浹背雕憔。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留糖声,地道東北人斤彼。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蘸泻,于是被迫代替她去往敵國(guó)和親琉苇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一悦施、stereotype(類型并扇、構(gòu)造型)??這個(gè)概念是對(duì)一個(gè)UML元素基礎(chǔ)定義的擴(kuò)展,在同一個(gè)元素基礎(chǔ)定義的基礎(chǔ)上...
    wencai閱讀 865評(píng)論 0 0
  • 以前老是聽到UML的大名歼争,不過很少去真正地了解它拜马,無非以為只是一種建模的方法,乍看這封面或許和產(chǎn)品經(jīng)理毫無相關(guān)沐绒,但...
    mon_liu閱讀 3,419評(píng)論 2 10
  • 第八章 系統(tǒng)分析與設(shè)計(jì)方法 8.1 定義問題與歸結(jié)模型 定義問題的過程包括:理解真實(shí)世界中的問題和用戶的額需要俩莽,并...
    步積閱讀 3,947評(píng)論 0 12
  • 6.1 需求分析建模的要點(diǎn)與誤區(qū) 6.1.1 需求分析到底做什么 需求分析的任務(wù)不是分析系統(tǒng)如何實(shí)現(xiàn)用戶的需要,而...
    Seymoure閱讀 3,689評(píng)論 0 11
  • 牽引力教育網(wǎng)絡(luò)營(yíng)銷有多重要 在互聯(lián)網(wǎng)發(fā)展迅猛的今天乔遮,網(wǎng)絡(luò)營(yíng)銷在中國(guó)的發(fā)展也越來越好扮超,被越來越多的人接受。百度李彥宏...
    aaaafff閱讀 126評(píng)論 0 0