成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

七張圖講明白,使用UML活動圖的建模過程

開發(fā) 前端
一直以來,存在著眾多的流程建模和數(shù)據(jù)流圖示語言,而UML活動圖日漸流行,成為事實(shí)上的標(biāo)準(zhǔn),但是它還有其他重要變體。

1.什么是UML

統(tǒng)一建模語言(UML)是描述、構(gòu)造和文檔化系統(tǒng)制品的可視化語言。在上面的UML定義中,關(guān)鍵點(diǎn)是可視化這個詞,UML是圖形化表示法的事實(shí)標(biāo)準(zhǔn),用來繪制和展示與軟件(特別是OO軟件)相關(guān)的圖形(以及文字)。

UML定義了各種UML簡檔(UML profile),這些簡檔專用于某些常用主題領(lǐng)域的表示法中,例如對EJB使用UML EJB簡檔。

在更深的層次上,UML表示法的基礎(chǔ)是UML元模型(meta-model),它描述建模元素的語義,UML元模型主要對模型驅(qū)動架構(gòu)(Model Driven Architecture,MDA)CASE工具供應(yīng)商有影響。開發(fā)者并不需要學(xué)習(xí)它。

2.示例

圖1中演示了基本的UML活動圖表示法,這種活動圖包括動作(action)、分區(qū)(partition)、分叉(fork)、匯合(join)和對象節(jié)點(diǎn)(object node)等。從本質(zhì)上講,此圖顯示了一系列動作,其中某些動作可以是并行的。這些表示法大部分都是不言自明的,但有兩點(diǎn)細(xì)微之處需要說明:

  • 一旦某個動作完成,緊接著會有一個自動的向外遷移。
  • 活動圖能夠既表示控制流又表示數(shù)據(jù)流。

▲圖1 基本的UML活動圖表示法▲圖1 基本的UML活動圖表示法

3.如何應(yīng)用活動圖

UML活動圖提供了豐富的表示法來表示一系列活動,其中包括并行的活動。活動圖可用于任何視角或目的,但常用于可視化業(yè)務(wù)工作流及過程和用例。

業(yè)務(wù)流程建模

我的一個客戶經(jīng)營包裹快遞業(yè)務(wù)。快遞包裹的過程相當(dāng)不簡單;其中涉及眾多參與方(顧客、司機(jī)等)和大量步驟。盡管可以用文本(例如用例文本)描述這一過程,但活動圖恰是“圖畫勝于千言”這一說法的最好例證。我的客戶通過活動圖可視化的手段來理解其復(fù)雜的業(yè)務(wù)流程。分區(qū)有助于觀察多個參與方以及運(yùn)輸流程中涉及的并行動作,對象節(jié)點(diǎn)可以描述正在移動的東西。對當(dāng)前的業(yè)務(wù)流程建模之后,他們可視化地探索變更和優(yōu)化。圖1是一個應(yīng)用UML活動圖進(jìn)行業(yè)務(wù)流程建模的簡單例子。如果將客戶的整個包裹快遞業(yè)務(wù)流程模型顯示出來會占滿整面墻!

數(shù)據(jù)流建模

從20世紀(jì)70年代開始,數(shù)據(jù)流圖(DFD)就已經(jīng)成為流行的方法,用于對軟件系統(tǒng)過程中所涉及的主要步驟和數(shù)據(jù)進(jìn)行可視化。這不同于業(yè)務(wù)流程建模,盡管理論上講DFD可以用于業(yè)務(wù)流程建模,但其通常用于表示計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)流。DFD可以用來記錄主要數(shù)據(jù)流或以數(shù)據(jù)流的方式探索新的高級設(shè)計(jì)。圖2是使用經(jīng)典Gane-Sarson表示法的DFD示例。注意其中對過程步驟進(jìn)行了編號,以表示順序。

▲圖2 使用Gane-Sarson表示法的經(jīng)典DFD▲圖2 使用Gane-Sarson表示法的經(jīng)典DFD

對于文檔化和探索來說,DFD模型所提供的信息都具有效用,但UML中并沒有包含DFD表示法。幸運(yùn)的是,UML活動圖能夠?qū)崿F(xiàn)同一目的—用于數(shù)據(jù)流建模,從而代替?zhèn)鹘y(tǒng)的DFD表示法。圖3展示了與圖2中的DFD相同的信息,但是它使用了UML活動圖。注意,除對象節(jié)點(diǎn)(object node)以外,UML數(shù)據(jù)存儲節(jié)點(diǎn)(datastore node)也適用于數(shù)據(jù)流表示。

▲圖3 使用UML活動圖表示法來表示數(shù)據(jù)流模型▲圖3 使用UML活動圖表示法來表示數(shù)據(jù)流模型

并發(fā)編程和并行算法建模

并發(fā)編程問題中的并行算法涉及多個分區(qū)、分叉和匯合行為。例如,這些算法可用于3D模擬中有限元和有限差分模型、原油儲備模型、材料應(yīng)力分析和天氣建模。整個物理空間被分成大塊,每一塊由一個并行的線程(或進(jìn)程)執(zhí)行。在這些例子中,使用UML活動圖分區(qū)(partition)來表示不同的操作系統(tǒng)線程或進(jìn)程。使用對象節(jié)點(diǎn)(object node)對共享對象和數(shù)據(jù)進(jìn)行建模。同時,分叉(fork)用于對多個線程(或進(jìn)程)的創(chuàng)建和并行執(zhí)行進(jìn)行建模,每分區(qū)一個線程(或進(jìn)程)。

4.其他UML活動圖表示法

當(dāng)某個活動需要在另外一個活動圖中展開時,如何表示?如圖4和圖5所示,可以使用耙子(rake)符號來表示。

▲圖4 在另外一個活動圖中展開一個活動▲圖4 在另外一個活動圖中展開一個活動

▲圖5 活動的擴(kuò)展▲圖5 活動的擴(kuò)展

如何表示條件分支?參見圖5中所使用的決策(decision)符號。與之相關(guān)的是合并(merge)符號,用來表示分支流如何回歸到一起。

圖6中展示了信號。當(dāng)你需要對時間觸發(fā)動作或取消請求等諸如此類的事件建模時,信號非常有用。

此外,還有更多有效的UML活動圖表示法。這里只重點(diǎn)介紹一些最常用的元素。

▲圖6 信號▲圖6 信號


5.準(zhǔn)則

在活動圖建模方面,有下面一些準(zhǔn)則:

  • 活動圖通常對于涉及眾多參與方的非常復(fù)雜的過程建模最有價值。對于簡單的過程,用例文本就夠用了。
  • 在進(jìn)行業(yè)務(wù)流程建模時,可以利用耙子(rake)符號和子活動圖。在level 0圖的概覽中,保持較高的抽象水平,從而使圖形具有清晰、簡潔的品質(zhì)。在level 1甚至level 2的子圖中展開細(xì)節(jié)。
  • 與上一條相關(guān)的是,盡量保持同一張圖中所有動作節(jié)點(diǎn)的抽象級別一致。舉一個反例,假設(shè)在level 0的圖中有一個叫“交付訂單”的動作節(jié)點(diǎn),還有一個叫“計(jì)算稅款”的動作節(jié)點(diǎn)。這些動作的抽象級別非常不同。

6.示例:NextGen中的活動圖

圖7中的局部模型表示對處理銷售用例中的過程應(yīng)用UML活動圖的例子。展示這一案例研究的示例是為了保證完整性。但是實(shí)際上不會費(fèi)心去創(chuàng)建這個,有了用例文本,而且過程相對簡單,這樣做就沒什么邊際價值了。

▲圖7 使用UML活動圖對處理銷售用例建模▲圖7 使用UML活動圖對處理銷售用例建模


7.過程:統(tǒng)一過程中的活動圖

統(tǒng)一過程的科目之一是業(yè)務(wù)建模(Business Modeling),其用途是理解和溝通“將要部署系統(tǒng)的組織的結(jié)構(gòu)和動態(tài)特征”[RUP]。業(yè)務(wù)建模科目的關(guān)鍵制品是業(yè)務(wù)對象模型(UP中領(lǐng)域模型的超集)。本質(zhì)上,業(yè)務(wù)對象模型使用UML類圖、序列圖和活動圖對業(yè)務(wù)運(yùn)轉(zhuǎn)方式進(jìn)行了可視化。因此,在UP的業(yè)務(wù)建模科目中,活動圖尤為適用。

8.背景

一直以來,存在著眾多的流程建模和數(shù)據(jù)流圖示語言,而UML活動圖日漸流行,成為事實(shí)上的標(biāo)準(zhǔn),但是它還有其他重要變體。

活動圖的語義松散地基于Petri網(wǎng),Petri網(wǎng)是計(jì)算機(jī)科學(xué)中一個重要的計(jì)算理論。Petri網(wǎng)的隱喻實(shí)現(xiàn)是:令牌流過活動圖。例如,當(dāng)令牌到達(dá)一個動作節(jié)點(diǎn)時,動作將執(zhí)行。當(dāng)所有必要的輸入令牌到達(dá)匯合節(jié)點(diǎn),輸出令牌將被創(chuàng)建。

關(guān)于作者:

克雷·拉曼(Craig Larman)享譽(yù)世界的軟件開發(fā)專家,從事軟件開發(fā)相關(guān)工作超過50年,為面向?qū)ο缶幊趟枷牒兔艚蓍_發(fā)方法在全球IT領(lǐng)域的普及做出了巨大的貢獻(xiàn),被譽(yù)為“有史以來最具影響力的 20 位敏捷人物之一”,是LeSS(大規(guī)模Scrum)的共同創(chuàng)始人。

責(zé)任編輯:武曉燕 來源: 數(shù)倉寶貝庫
相關(guān)推薦

2010-06-29 18:16:57

UML建模

2010-06-30 14:37:20

UML類圖

2010-06-17 15:29:52

UML活動圖

2010-07-09 16:13:06

UML活動圖

2010-06-13 15:03:25

UML實(shí)踐

2010-06-09 08:59:30

UML活動圖

2010-07-12 09:37:26

UML建模

2010-07-06 12:00:23

UML活動圖

2010-06-30 17:36:58

UML用例圖

2010-07-01 17:05:34

UML包圖

2010-07-09 09:00:22

UML建模

2010-07-05 13:55:40

UML圖分類

2010-07-06 11:21:37

UML狀態(tài)圖

2010-06-09 14:31:31

UML狀態(tài)圖

2010-06-08 10:51:48

UML活動圖

2010-07-01 16:38:28

UML序列圖

2010-06-08 09:30:20

UML圖

2010-06-10 14:45:24

UML建模語言

2010-07-09 11:23:07

UML動態(tài)建模

2022-09-19 09:41:45

數(shù)據(jù)庫思維
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产精品免费在线 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 日韩福利在线 | 日韩高清电影 | 亚洲97 | 午夜视频一区二区三区 | 亚洲精品电影网在线观看 | 亚洲视频免费在线观看 | 在线观看视频h | 久久久久久国产精品 | 91色在线 | 一区二区三区四区五区在线视频 | 日日拍夜夜 | 亚洲精品乱码久久久久v最新版 | 国产不卡在线观看 | 国产精品国产成人国产三级 | av中文在线 | 欧美一区二区免费电影 | 久久99国产精品久久99果冻传媒 | 丁香五月网久久综合 | 一区二区三区在线免费观看视频 | 久久国产日韩 | 91精品国产综合久久福利软件 | 91亚洲国产亚洲国产 | 亚洲精品一区二区三区中文字幕 | 国产日韩精品视频 | 国产精品国产a | 欧美高清性xxxxhdvideosex | 日本不卡在线观看 | 欧美日韩精品影院 | 日韩福利| 免费黄色录像视频 | 日本不卡免费新一二三区 | 久久久久久国产精品免费免费狐狸 | 好婷婷网 | 日韩中文欧美 | 亚洲欧美一区二区三区情侣bbw | 一级黄色片在线免费观看 | 日韩视频在线播放 | 色悠悠久 | 中文字幕免费中文 |