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

分享

UML建模詳解

 陳振興xy3xt22o 2019-04-23

面向?qū)ο髥栴}解決的核心是構(gòu)建一個(gè)模型。該模型從其通常復(fù)雜的現(xiàn)實(shí)世界中抽象出基本問題的基本細(xì)節(jié)。幾個(gè)建模工具被包裹在UML ? 的標(biāo)題下,代表統(tǒng)一建模語言?。本課程的目的是介紹UML的重要亮點(diǎn)。

UML的中心是我們?cè)谶@里描述的九種建模圖。

本課程的某些部分包含具有更詳細(xì)信息的頁面的鏈接。每個(gè)部分都有簡(jiǎn)短的問題。使用它們來測(cè)試您對(duì)本節(jié)主題的理解。

分線

為什么UML很重要?

從建造業(yè)的角度來看,我們來看看這個(gè)問題。建筑師設(shè)計(jì)建筑。建筑商使用設(shè)計(jì)來創(chuàng)建建筑物。建筑越復(fù)雜,建筑師和建筑師之間的溝通越重要。藍(lán)圖是建筑師和建筑商必須學(xué)習(xí)的標(biāo)準(zhǔn)圖形語言,作為其交易的一部分。

寫作軟件與建筑物不同。底層系統(tǒng)越復(fù)雜,每個(gè)參與創(chuàng)建和部署軟件的人之間的溝通就越重要。在過去十年中,UML已經(jīng)成為分析師,設(shè)計(jì)師和程序員的軟件藍(lán)圖語言。它現(xiàn)在是軟件貿(mào)易的一部分。UML讓所有人從業(yè)務(wù)分析師到設(shè)計(jì)人員到程序員一個(gè)常見的詞匯來談?wù)撥浖O(shè)計(jì)。

UML適用于面向?qū)ο蟮膯栴}解決。任何有興趣學(xué)習(xí)UML的人都必須熟悉面向?qū)ο髥栴}解決的基本原則 - 這一切都是從構(gòu)建模型開始的。甲模型是根本問題的抽象。該領(lǐng)域是問題來自的實(shí)際世界。

模型由通過發(fā)送彼此消息進(jìn)行交互的對(duì)象組成。把一個(gè)對(duì)象看成是“活著的”。對(duì)象有他們知道的東西(屬性)和他們可以做的事情(行為操作)。對(duì)象屬性的值決定其狀態(tài)。

是對(duì)象的“藍(lán)圖”。類將屬性(數(shù)據(jù))和行為(方法或函數(shù))包裝到單個(gè)不同的實(shí)體中。對(duì)象是實(shí)例的類。

分線

用例圖

用例圖從外部觀察者的角度描述系統(tǒng)的作用。重點(diǎn)是什么樣的系統(tǒng)呢,而不是如何。

用例圖與情景密切相關(guān)。一個(gè)情景是當(dāng)某人與系統(tǒng)進(jìn)行交互時(shí)會(huì)發(fā)生的情況的示例。這是一個(gè)診所的場(chǎng)景。

“病人呼叫診所預(yù)約一年一次的檢查,接待員找到預(yù)約書中最近的空時(shí)間段,并安排該時(shí)間段的約會(huì)。

一個(gè) 用例是單個(gè)任務(wù)或目標(biāo)的場(chǎng)景概要。一個(gè)演員是誰或什么啟動(dòng)與該任務(wù)有關(guān)的事件。演員只是人或物體的角色。下面的圖片是醫(yī)療診所的預(yù)約用例。演員是病人。actor和用例之間的連接是通信關(guān)聯(lián)簡(jiǎn)稱為通信)。

隱藏圖像
用例

演員是棒人物。用例是橢圓形。通信是將演員與用例聯(lián)系起來的線條。

用例圖是一組actor,用例和通信。我們已經(jīng)將“約會(huì)”作為四個(gè)演員和四個(gè)用例的圖表的一部分。請(qǐng)注意,單個(gè)用例可以有多個(gè)actor。

隱藏圖像
用例圖

用例圖在三個(gè)方面有所幫助。

  • 確定特征(要求)。隨著系統(tǒng)的分析和設(shè)計(jì)的形成,新的用例經(jīng)常會(huì)產(chǎn)生新的需求。

  • 與客戶溝通。他們的簡(jiǎn)明易懂使得用例圖成為開發(fā)人員與客戶溝通的好方法。

  • 生成測(cè)試用例。用例情景的收集可能會(huì)為這些場(chǎng)景提供一套測(cè)試用例。

更多細(xì)節(jié)

自我測(cè)試

分線

類圖

類圖通過顯示系統(tǒng)的類和它們之間的關(guān)系來概述系統(tǒng)。類圖是靜態(tài)的 - 它們顯示出什么交互,但不會(huì)發(fā)生什么交互。

下面的類圖從零售目錄模擬客戶訂單。中央階級(jí)是秩序。與此相關(guān)的是客戶進(jìn)行購(gòu)買和付款。一個(gè)付款是三種:現(xiàn)金,檢查,或信用。該訂單包含OrderDetails(行項(xiàng)目),每個(gè)都有其關(guān)聯(lián)的項(xiàng)目。

隱藏圖像
點(diǎn)擊查看大圖

UML類符號(hào)是一個(gè)矩形,分為三個(gè)部分:類名,屬性和操作。抽象類的名稱,如Payment,以斜體表示。類之間的關(guān)系是連接鏈接。

我們的類圖有三種關(guān)系。

  • 關(guān)聯(lián) - 兩個(gè)類的實(shí)例之間的關(guān)系。如果一個(gè)類的實(shí)例必須知道另一個(gè)類才能執(zhí)行其工作,則有兩個(gè)類之間的關(guān)聯(lián)。在圖中,關(guān)聯(lián)是連接兩個(gè)類的鏈接。

  • 聚合 - 一個(gè)類屬于一個(gè)集合的關(guān)聯(lián)。聚合具有指向包含整體的部分的鉆石端。在我們的圖中, Order有一個(gè)OrderDetails的集合。

  • 泛化 - 一個(gè)繼承鏈接,表示一個(gè)類是另一個(gè)類的超類。泛化有一個(gè)指向超類的三角形。付款現(xiàn)金,支票信用證的超類

協(xié)會(huì)有兩方面。結(jié)束可能有一個(gè)角色名稱來澄清協(xié)會(huì)的性質(zhì)。例如, OrderDetail是每個(gè)訂單的一個(gè)訂單項(xiàng)。

一個(gè) 關(guān)聯(lián)上的導(dǎo)航箭頭顯示可以遍歷或查詢關(guān)聯(lián)的方向。一個(gè)的OrderDetail可以查詢有關(guān)其項(xiàng)目周圍,而不是其他方式。箭頭還可以讓您知道誰擁有該協(xié)會(huì)的實(shí)施; 在這種情況下, OrderDetail有一個(gè)項(xiàng)目。沒有導(dǎo)航箭頭的協(xié)會(huì)是雙向的。

該 關(guān)聯(lián)端的多重性是與另一端的單個(gè)實(shí)例相關(guān)聯(lián)的類的可能實(shí)例的數(shù)量。倍數(shù)是單個(gè)數(shù)字或數(shù)字范圍。在我們的示例中,每個(gè)訂單只能有一個(gè)客戶,但客戶可以有任意數(shù)量的訂單。

這個(gè)表給出了最常見的多重性。

多重含義
0..1零或一個(gè)實(shí)例。符號(hào)n。。m表示nm個(gè)實(shí)例。
0 .. *  或  *對(duì)實(shí)例數(shù)量沒有限制(包括無)。
1正是一個(gè)例子
1 .. *至少一個(gè)實(shí)例

每個(gè)類圖都有類,關(guān)聯(lián)和多重性。導(dǎo)航和角色是放置在圖中以提供清晰度的可選項(xiàng)。

更多細(xì)節(jié)

自我測(cè)試

分線

軟件包和對(duì)象圖

為了簡(jiǎn)化復(fù)雜的類圖,您可以將類分組 。一個(gè)包是邏輯上相關(guān)的UML元素的集合。下面的圖是一個(gè)業(yè)務(wù)模型,其中類被分組成包。

隱藏圖像
包裝圖

軟件包顯示為頂部小標(biāo)簽的矩形。包名稱在標(biāo)簽上或矩形內(nèi)。虛線箭頭是依賴關(guān)系。一個(gè)包裝取決于另一個(gè)包裝是否可能會(huì)在第一個(gè)更改中強(qiáng)制更改。

對(duì)象圖顯示實(shí)例而不是類。它們用于解釋具有復(fù)雜關(guān)系的小件,特別是遞歸關(guān)系。

這個(gè)小類圖顯示,大學(xué)可以包含很多其他部門。

隱藏圖像
遞歸類圖

下面的對(duì)象圖實(shí)例化了類圖,用一個(gè)具體的例子代替了它。

隱藏圖像
對(duì)象圖

對(duì)象圖中的每個(gè)矩形對(duì)應(yīng)于單個(gè)實(shí)例。實(shí)例名稱在UML圖中加下劃線。只要圖意義仍然清晰,可以從對(duì)象圖中省略類或?qū)嵗Q。

自我測(cè)試

分線

序列圖

類和對(duì)象圖是靜態(tài)模型視圖。 互動(dòng)圖是動(dòng)態(tài)的。他們描述對(duì)象如何協(xié)作。

一個(gè) 序列圖是一個(gè)交互圖,詳細(xì)介紹了如何執(zhí)行操作 - 發(fā)送什么消息以及什么時(shí)間。序列圖按時(shí)間組織。隨著時(shí)間的推移,您在頁面下滑。根據(jù)參與消息序列的時(shí)間,從左到右列出了操作中涉及的對(duì)象。

以下是進(jìn)行酒店預(yù)訂的序列圖。啟動(dòng)消息序列的對(duì)象是一個(gè)預(yù)留窗口

隱藏圖像
點(diǎn)擊查看大圖

預(yù)約窗口發(fā)送makeReservation()消息到HotelChain。所述HotelChain然后發(fā)送makeReservation()消息到飯店。如果酒店有空房,那么預(yù)訂確認(rèn)。

每條垂直虛線都是a 生命線,表示對(duì)象存在的時(shí)間。每個(gè)箭頭都是一個(gè)消息調(diào)用。箭頭從發(fā)送者到頂部接收機(jī)生命線上消息的激活條。激活條表示消息的執(zhí)行持續(xù)時(shí)間。

在我們的圖表中,酒店發(fā)出一個(gè)自我呼叫以確定房間是否可用。如果是這樣,酒店將創(chuàng)建一個(gè)預(yù)訂確認(rèn)。自我呼叫上的星號(hào)意味著迭代(以確保在酒店的每一天的可用空間)。方括號(hào)[]中的表達(dá)式是一個(gè)條件。

該圖有一個(gè)澄清 注意,這是一個(gè)狗耳朵的矩形內(nèi)的文本。Notes可以放在任何一種UML圖中。

更多細(xì)節(jié)

自我測(cè)試

分線

協(xié)作圖

協(xié)作圖也是交互圖。它們傳達(dá)與序列圖相同的信息,但它們專注于對(duì)象角色,而不是發(fā)送消息的時(shí)間。在序列圖中,對(duì)象角色是頂點(diǎn),消息是連接鏈接。

隱藏圖像
點(diǎn)擊查看大圖

對(duì)象角色矩形用類或?qū)ο竺Q(或兩者)標(biāo)記。類名前面是冒號(hào)(:)。

協(xié)作圖中的每個(gè)消息都有一個(gè) 序列號(hào)。頂級(jí)消息編號(hào)為1.相同級(jí)別的消息(在相同呼叫期間發(fā)送)具有相同的十進(jìn)制前綴,而后綴為1,2等,根據(jù)發(fā)生的時(shí)間。

自我測(cè)試

分線

狀態(tài)圖

對(duì)象有行為和狀態(tài)。對(duì)象的狀態(tài)取決于當(dāng)前的活動(dòng)或狀態(tài)。一個(gè)狀態(tài)圖顯示了對(duì)象的可能狀態(tài)和導(dǎo)致狀態(tài)改變的轉(zhuǎn)換。

我們的示例圖模擬了網(wǎng)上銀行系統(tǒng)的登錄部分。登錄包括輸入有效的社會(huì)保險(xiǎn)號(hào)碼和個(gè)人身份證號(hào)碼,然后提交信息進(jìn)行驗(yàn)證。

登錄可以分為四個(gè)不重疊的狀態(tài):獲取SSN獲取PIN,驗(yàn)證拒絕。從每個(gè)國(guó)家來的都是一套完整的確定后續(xù)狀態(tài)的轉(zhuǎn)換。

隱藏圖像
點(diǎn)擊查看大圖

國(guó)家是圓角矩形。過渡是從一個(gè)國(guó)家到另一個(gè)國(guó)家的箭頭。觸發(fā)過渡的事件或條件寫在箭頭旁邊。我們的圖有兩個(gè)自我轉(zhuǎn)換,一個(gè)是獲取SSN,另一個(gè)在獲取PIN。

初始狀態(tài)(黑色圓圈)是一個(gè)虛擬的開始動(dòng)作。最終狀態(tài)也是終止動(dòng)作的虛擬狀態(tài)。

由于事件或條件而發(fā)生的動(dòng)作以表單/動(dòng)作表示。當(dāng)處于“ 驗(yàn)證”狀態(tài)時(shí),對(duì)象不會(huì)等待外部事件觸發(fā)轉(zhuǎn)換。相反,它執(zhí)行一個(gè)活動(dòng)。該活動(dòng)的結(jié)果決定了其后續(xù)狀態(tài)。

更多細(xì)節(jié)

自我測(cè)試

分線

活動(dòng)圖

一個(gè) 活動(dòng)圖本質(zhì)上是一個(gè)花哨的流程圖?;顒?dòng)圖和狀態(tài)圖與之相關(guān)。雖然狀態(tài)圖將焦點(diǎn)集中在正在進(jìn)行過程(或作為對(duì)象的進(jìn)程)上的對(duì)象上,活動(dòng)圖集中在單個(gè)進(jìn)程中涉及的活動(dòng)流?;顒?dòng)圖顯示了這些活動(dòng)如何依賴于彼此。

對(duì)于我們的例子,我們使用了以下過程。

“通過ATM從銀行帳戶提款”。

活動(dòng)的三個(gè)課程(人員等)是客戶ATM銀行。該過程從頂部的黑色起始圓開始,并在底部的同心白/黑停止圓處結(jié)束?;顒?dòng)是圓角矩形。

隱藏圖像
點(diǎn)擊查看大圖

活動(dòng)圖可以分為對(duì)象 決定哪個(gè)對(duì)象負(fù)責(zé)哪個(gè)活動(dòng)的泳道。單身轉(zhuǎn)換出來的每一項(xiàng)活動(dòng),將其連接到下一個(gè)活動(dòng)。

過渡可能 分支到兩個(gè)或多個(gè)相互排斥的轉(zhuǎn)換。保護(hù)表達(dá)式(在 []內(nèi)))標(biāo)記從分支出來的轉(zhuǎn)換。一個(gè)分支及其后續(xù)合并標(biāo)記分支的末端在圖中顯示為空心鉆石。

過渡可能 進(jìn)入兩個(gè)或更多的并行活動(dòng)。叉和隨后從叉子出來的螺紋的連接在圖中顯示為實(shí)心條。

自我測(cè)試

分線

組件和部署圖

組件是一個(gè)代碼模塊。組件圖是類圖的物理類型。部署圖顯示了軟件和硬件的物理配置。

以下部署圖顯示了涉及房地產(chǎn)交易的軟件和硬件組件之間的關(guān)系。

隱藏圖像
點(diǎn)擊查看大圖

物理硬件由節(jié)點(diǎn)組成。每個(gè)組件都屬于一個(gè)節(jié)點(diǎn)。組件顯示為在左上角有兩個(gè)選項(xiàng)卡的矩形。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(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)論公約

    類似文章 更多