從一張圖來自百度搜索的圖,開始。如下如果我們希望給通過軟件管理下圖的的數(shù)據(jù)。我們會(huì)做什么?

- 做一個(gè)軟件的第一步:識(shí)別系統(tǒng)邊界
及給軟件定義, 起名字,知道我們要做什么。這做軟件就像寫文章,一篇好的文章一定是中心思想明確的,一個(gè)好的軟件一定是有明確的業(yè)務(wù)功能;
流程圖&活動(dòng)圖
活動(dòng)圖/流程圖,在這里開始發(fā)揮他的第一個(gè)功用:明確業(yè)務(wù)范圍,幫助識(shí)別系統(tǒng)邊界。
也就是說我們通過業(yè)務(wù)流程圖,明確我們到底要做什么,不做什么。軟件都是一個(gè)深挖的過程,小即是大;這個(gè)過程與寫文章如此類似。
招投標(biāo)流程圖
同樣是百度圖片:

這是一個(gè)不標(biāo)準(zhǔn)的流程圖,容我們?cè)谶@里學(xué)習(xí)一下基本概念
| 名稱 | 定義 | 圖???????????? |
|---|---|---|
| 起止框(圓弧形框) | 表示流程開始或結(jié)束 | ![]() |
| 處理框(矩形框) | 表示一般的處理功能 | ![]() |
| 判斷框(菱形框) | 表示對(duì)一個(gè)給定的條件進(jìn)行判斷,根據(jù)給定的條件是否成立決定如何執(zhí)行其后的操作。它有一個(gè)入口,二個(gè)出口。 | ![]() |
| 輸入輸出框(平行四邊形框) | ![]() |
|
| 連接點(diǎn)(圓圈) | 用于將畫在不同地方的流程線連接起來。 如果圖中有兩個(gè)以 1 標(biāo)志的連接點(diǎn)(在連接點(diǎn)圈中寫上“l(fā)”)則表示這兩個(gè)點(diǎn)是連接在一起的,相當(dāng)于一個(gè)點(diǎn)一樣。 這種用法現(xiàn)在不多,一起用這個(gè)應(yīng)為沒有很好的軟件繪制UML,總會(huì)發(fā)生紙不夠大的問題。 現(xiàn)在可以用連接點(diǎn),可以避免流程線的交叉或過長,使流程圖更清晰。 |
![]() |
| 流程線(指向線) | 表示流程的路徑和方向。 | ![]() |
| 注釋框 | 為了對(duì)流程圖中某些框的操作做必要的補(bǔ)充說明,以幫助閱讀流程圖的人更好地理解流程圖的作用。它不是流程圖中必要的部分,不反映流程和操作。 | ![]() |
以上是一個(gè)原始的流程圖
流程圖是面向過程的,用于描述一個(gè)算法,或者業(yè)務(wù)的過程。
這樣的流程圖是不好有的,所以我們?cè)诹鞒虉D上加了各種控件和操作,讓他更適合表達(dá)現(xiàn)實(shí)情況,也適合面向過程的方式。泳道是其中的“重武器”
活動(dòng)圖
活動(dòng)圖的用法
用例活動(dòng)圖 (大部分)
描述用例之間的交互關(guān)系,及業(yè)務(wù)流程對(duì)象活動(dòng)圖 (小部分)
描述對(duì)象之間的交互關(guān)系,及程序流程
再百度個(gè)不標(biāo)準(zhǔn)的活動(dòng)圖:

泳道的意義
引入泳道是活動(dòng)圖變成一個(gè)面向?qū)ο髨D中最明顯的一點(diǎn)。
泳道 --> 對(duì)象的職責(zé)。
泳道我們就可以知道某個(gè)事情是哪個(gè)角色做的。
現(xiàn)在還有在泳道圖上再加一個(gè)維度的圖:
- 縱向: 對(duì)象職責(zé)、角色
- 橫向:時(shí)間、階段
活動(dòng)圖控件
| 活動(dòng)圖(Activity Diagram) | ???????????????????????????????????? |
|---|---|
| 開始節(jié)點(diǎn) (Initial Node) |
![]() |
| 結(jié)束節(jié)點(diǎn) (Final Node) |
![]() |
| 動(dòng)作 (Action) |
![]() |
| 判斷節(jié)點(diǎn) (Decision) 和 合并節(jié)點(diǎn) (Merge) |
![]() 注意:方塊中不可以寫條件,條件寫在連接線(動(dòng)作流)上 |
| 分叉節(jié)點(diǎn)(Fork)和回合節(jié)點(diǎn)(Join) | ![]() |
| 動(dòng)作流(Control Flow) | ![]() |
| 泳道(Swimlane) | ![]() |
| 對(duì)象(Object) |
![]() |














