自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

流程圖&時(shí)序圖繪制小tips

開發(fā) 架構(gòu)
眾所周知,時(shí)序圖中參與交互的實(shí)體只有兩類,即角色(Actor)和對(duì)象(Object)。如果連交互的實(shí)體都沒有明確的定義以及達(dá)成一致,具體交互的流程就很難說清楚,也就很難使所有讀者和作者達(dá)成一致。

一、前言

在日常工作中,無論是產(chǎn)品經(jīng)理寫PRD或是開發(fā)、測(cè)試同學(xué)寫技術(shù)方案、整理業(yè)務(wù)文檔等場(chǎng)景都會(huì)用到諸如流程圖、時(shí)序圖、用例圖、泳道圖等形式的圖來輔助閱讀者理解。相信平時(shí)工作中有畫圖需要的讀者都有這樣的感受:有些圖制作過程非常簡單但邏輯清晰又不失美觀,而有些圖費(fèi)時(shí)費(fèi)力制作繁瑣,但效果卻不是特別驚艷,這其中的底層邏輯尤為關(guān)鍵,畢竟作圖也是一門藝術(shù)。本文將會(huì)以直播商品講解業(yè)務(wù)場(chǎng)景出發(fā),給大家分享一些畫圖小知識(shí)。

上面我們提到了很多種的圖,歸根結(jié)底是兩類:流程圖和UML圖。細(xì)分的話有活動(dòng)圖、狀態(tài)圖、用例圖、順序圖、類圖、對(duì)象圖、協(xié)作圖等13種。不同的圖適用于不同的情形。

本文主要討論流程圖和時(shí)序圖。

二、兩者區(qū)別

  • 時(shí)序圖強(qiáng)調(diào)對(duì)象之間的交互與時(shí)序關(guān)系,流程圖則是針對(duì)一個(gè)過程或者活動(dòng)進(jìn)行全面而細(xì)致的展開。
  • 時(shí)序圖主要描繪多個(gè)對(duì)象之間的復(fù)雜關(guān)系,流程圖通常描述單一對(duì)象的各種操作和轉(zhuǎn)換過程。
  • 時(shí)序圖更加注重時(shí)間順序,可以清晰地表示交互的先后順序與時(shí)序關(guān)系,而流程圖注重過程的控制流程,可以描述每個(gè)步驟的執(zhí)行方式以及處理邏輯。

三、流程圖

流程圖基本組成

如上圖所示,飛書文檔里提供的流程圖的元素。下面我簡述一下常用的圖形:

圖片圖片

繪制流程圖中的注意事項(xiàng)

1. 畫流程圖的時(shí)候,需要遵守從上至下、從左至右的順序的原則進(jìn)行排列,這樣做的目的是流程圖的邏輯性更高。

2. 一個(gè)流程需以開始符開始,以結(jié)束符來結(jié)束。開始符號(hào)只能出現(xiàn)1次,但是結(jié)束符號(hào)是可出現(xiàn)N次的。其實(shí)流程邏輯清晰的話,可以省略掉開始符號(hào)和結(jié)束符號(hào),但還是建議保留二者。

3. 用菱形作為判別符號(hào),且一定要有"是和否,建議使用Y或者N表示"兩個(gè)處理結(jié)果,且判別框中一定要有二個(gè)箭頭;而且判斷符號(hào)的上下處的流入流出一般用“是(Y)”,左右處流入流出用“否(N)”。

4. 在一個(gè)流程圖中,字符的大小必須一致,同時(shí)連線不得交叉,連線也不得無故扭曲。

5. 流程處理關(guān)系如果是并行關(guān)系的,那么就需要將流程畫的時(shí)候放在同一個(gè)高度。

6. 描述流程需要清晰明了,所以必要的時(shí)候需采用標(biāo)注,標(biāo)注需要要用專門的標(biāo)注符號(hào)來表示。

7. 畫處理流程,必須是單一的入口、單一的出口。

BadCase:

圖片圖片

對(duì)照上文7點(diǎn)注意事項(xiàng)看看上圖存在哪些問題?直觀感受是不是看著不是很舒服?

  • 元素大小不一致。
  • 布局未按從左到右。
  • 部分需要判斷的流程沒有畫出來。
  • 處理流程的入口和出口非單一。

還有其他問題期盼大家在評(píng)論區(qū)里留言。

GoodCase:

主播或者管理員對(duì)商品進(jìn)行錄制講解功能:

圖片圖片

四、時(shí)序圖

時(shí)序圖基本組成

時(shí)序圖形,也被叫做序列圖,是UML圖形的一部分。它通過描述對(duì)象間傳遞message的時(shí)間序列,來表示各個(gè)object間的動(dòng)態(tài)協(xié)作關(guān)系。飛書文檔里提供了豐富的元素來支持我們繪制UML圖。

圖片圖片

其中比較常用的有以下7種。

圖片圖片

畫好時(shí)序圖的注意事項(xiàng)

1. 必須明確上下文

掌握了這一點(diǎn)就成功了一大半,沒有做到這一點(diǎn)基本就畫不清楚了。

為什么說的這么篤定呢?

眾所周知,時(shí)序圖中參與交互的實(shí)體只有兩類,即角色(Actor)和對(duì)象(Object)。如果連交互的實(shí)體都沒有明確的定義以及達(dá)成一致,具體交互的流程就很難說清楚,也就很難使所有讀者和作者達(dá)成一致。

2. 決定該不該把某個(gè)實(shí)體放進(jìn)時(shí)序圖

實(shí)體是否展示與業(yè)務(wù)場(chǎng)景和所設(shè)計(jì)的對(duì)象密切關(guān)聯(lián),只有在業(yè)務(wù)場(chǎng)景中與所設(shè)計(jì)對(duì)象有直接交互的實(shí)體才有必要放入時(shí)序圖中,間接交互實(shí)體則應(yīng)當(dāng)去掉。

3. 響應(yīng)消息要與請(qǐng)求消息分開

    a. 同步消息與返回消息

同步消息(也稱為調(diào)用消息)一定要與返回消息成對(duì)使用,特別要強(qiáng)調(diào)的是:返回消息樣式不得使用同步消息的樣式,這是兩個(gè)完全不同的事情。同步消息表示一個(gè)實(shí)體對(duì)另一個(gè)實(shí)體的一個(gè)接口調(diào)用,被調(diào)用方要按流程實(shí)現(xiàn)提供接口的編碼,并按返回消息內(nèi)容要求進(jìn)行返回;調(diào)用方需要按流程實(shí)現(xiàn)調(diào)用接口的編碼,并對(duì)返回消息內(nèi)容進(jìn)行處理。為了更清楚的說明問題,往往會(huì)在消息中注明關(guān)鍵的參數(shù)。

經(jīng)??吹降腻e(cuò)誤是不區(qū)分兩種消息,讀者看后會(huì)產(chǎn)生理解偏差。

    b. 異步消息

message的發(fā)件者通過把信息發(fā)給接收對(duì)象,然后繼續(xù)它自己的執(zhí)行邏輯,不需要等待接收者響應(yīng)。

    c. 自關(guān)聯(lián)消息

表示實(shí)體自身需要實(shí)現(xiàn)一個(gè)處理過程,也可以調(diào)用一個(gè)外部實(shí)體的消息。

示例場(chǎng)景:直播短視頻切片生產(chǎn)并送審

業(yè)務(wù)簡要說明:主播把錄制好的商品解說進(jìn)行視頻上傳,視頻需要同步上傳至點(diǎn)播中心,然后需要對(duì)視頻進(jìn)行轉(zhuǎn)碼。另外視頻需要進(jìn)行風(fēng)險(xiǎn)檢查。視頻內(nèi)容重復(fù)度檢查。最后投遞到直播審核后臺(tái)進(jìn)行人工審核。

  • 明確上下文:

本場(chǎng)景只需要一個(gè)時(shí)序圖就可以畫完,所以不涉及上下文。明確好角色和對(duì)象即可。如果是多個(gè)時(shí)序圖描述的,所有的實(shí)體的命名需要統(tǒng)一定義好,且顆粒度需要保持一致。

  • 確定實(shí)體:

只需要把我們直接交互的實(shí)體進(jìn)行羅列。舉例:在本示例中,視頻送審至風(fēng)控后,風(fēng)控側(cè)審核人員領(lǐng)取任務(wù)進(jìn)行審核這個(gè)步驟與本示例就屬于間接交互。就需要剔除。因?yàn)槲覀冎恍枰P(guān)心送審成功,以及審核結(jié)果同步即可。

  • 消息交互梳理:

主播上傳視頻至直播服務(wù)是同步消息。

直播服務(wù)同步返回主播操作成功or失敗消息。

直播服務(wù)把視頻注冊(cè)到外部云廠商視頻點(diǎn)播服務(wù)是一個(gè)異步操作需要異步消息。

點(diǎn)播注冊(cè)成功后通知直播服務(wù),所以是一個(gè)回調(diào)操作。

直播服務(wù)通知外部云廠商視頻點(diǎn)播服務(wù)進(jìn)行轉(zhuǎn)碼操作,是一個(gè)異步操作需要異步消息。

直播服務(wù)把視頻送審至風(fēng)控是一個(gè)異步操作需要異步消息。

上述兩步可以并行操作,所以需要標(biāo)記并行。

外部云廠商視頻點(diǎn)播服務(wù)轉(zhuǎn)碼成功通知直播服務(wù),所以是一個(gè)回調(diào)操作。

直播服務(wù)把轉(zhuǎn)碼后的視頻通知算法進(jìn)行去重檢查是異步操作,需要異步消息。

風(fēng)控結(jié)果同步直播服務(wù),是一個(gè)回調(diào)操作。

直播服務(wù)進(jìn)行送入人審是一個(gè)異步操作。

算法視頻重復(fù)度檢查結(jié)果通知直播服務(wù)是一個(gè)回調(diào)操作。

直播服務(wù)接收到視頻重復(fù)檢查結(jié)果后,只需內(nèi)部處理。所以是自關(guān)聯(lián)消息。

綜上梳理,時(shí)序圖繪制如下:

圖片圖片

五、結(jié)語

上述主要分享了流程圖和時(shí)序圖繪制的一些小Tips,因篇幅有限其他UML圖在后續(xù)的文章中再做補(bǔ)充。我們倡導(dǎo)規(guī)范且有邏輯地畫圖,這對(duì)讀者是非常友好的,便于其快速熟悉業(yè)務(wù)流程,并理解實(shí)現(xiàn)思路。對(duì)照你之前畫的流程圖和時(shí)序圖,看看是否還有調(diào)整優(yōu)化的空間,有沒有辦法表述更清楚?期待大家的評(píng)論互動(dòng),共同指出畫圖過程中可以繼續(xù)完善的地方。

責(zé)任編輯:武曉燕 來源: 得物技術(shù)
相關(guān)推薦

2020-07-28 21:38:24

跨職能流程圖

2011-02-18 11:22:01

2009-06-04 15:51:46

Struts流程圖

2020-07-28 21:42:23

程序流程圖

2010-03-24 15:36:18

2024-08-16 18:48:45

2020-07-28 21:44:23

工藝流程圖

2009-11-09 13:23:35

WCF協(xié)定

2012-01-05 11:08:37

CISCO路由器啟動(dòng)流程

2010-06-10 09:32:21

UML時(shí)序圖

2012-06-07 09:48:12

開發(fā)流程圖

2019-08-16 11:16:25

Java程序員流程圖

2009-06-25 16:36:31

JBPM流程圖

2020-07-28 21:39:54

生產(chǎn)流程圖

2010-07-01 15:12:34

UML時(shí)序圖

2011-12-21 13:44:33

JavaJFreeChart

2024-05-15 10:28:50

2009-11-04 12:02:17

程序員職業(yè)發(fā)展

2010-07-05 13:21:36

用Visio畫UML流
點(diǎn)贊
收藏

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