(子)時序圖業(yè)務(wù)流程分析與優(yōu)化入門教程

? ? ? ? 在網(wǎng)上看了一些時序圖的教程,時序圖一般用來表現(xiàn)程序級別的各個對象的信息交互,還有交互的時間順序。常規(guī)教程可通過以下鏈接查看。

UML序列圖——時序圖基本使用

(上面鏈接的教程“看懂”了,還是不會用,沒關(guān)系,看我下面的教程吧)

? ? ? ? 如果時序圖來做面向?qū)ο蟮某绦蛟O(shè)計,能夠清晰的表達出在對象的交互過程中,哪些對象要提供什么樣的方法,對象之間調(diào)用方法時傳什么樣的參數(shù)。不過很可惜,我長這么大,還沒見過哪個程序員用時序圖來做設(shè)計。為什么會這樣呢?我想可能原因是用該圖來表達對象交互邏輯,太過于繁雜,非常不利于閱讀和交流,居然如此,程序員還不如把這個邏輯梳理過程,放到腦子里。

? ? ? ? 但如果用時序圖用來做業(yè)務(wù)流程分析和改進,真是太好用了。因為時序圖能清晰的表達出,哪個參與者Actor(對象)提供什么樣的服務(wù)(方法),參與者之間發(fā)送請求(調(diào)用方法)時,傳什么樣的信息載體(參數(shù))。有了這些內(nèi)容,我們就能夠清晰的識別每個參與者的職責(zé)是什么,它該做什么,不用做什么。清晰的知道這些邊界,是我們做業(yè)務(wù)流程分析和改進的基礎(chǔ)。

? ? ? ? 我們以一個“請年假”的業(yè)務(wù)流程做例子,來講下怎么化序列圖。

【請年假-業(yè)務(wù)流程描述】

? ? ? ? 首先,員工發(fā)郵件給人力專員,抄送給部門經(jīng)理,提出申請年假。郵件內(nèi)容包括計劃休假n天,休假的計劃開始時間和計劃截至?xí)r間,休假的原因。

? ? ? ? 其次,人力專員先審核員工是否能休假。第一步,人力專員通過excel來查看員工是否能休假,在excel上,記錄著員工的入職時間,今年已休假的天數(shù),excel上設(shè)置了一些公式,在每次打開excel的時候,excel會根據(jù)當(dāng)前時間、所有員工的入職時間、所有員工的已休假天數(shù),自動算出所有員工當(dāng)前可以休多少天年假,第二步,人力專員判斷員工的請假申請,是否能通過,如果申請的天數(shù)不超excel上顯示的剩余可休的天數(shù),請求才得以通過。第三步,人力專員將審核意見寫到回復(fù)郵件,發(fā)給部門經(jīng)理,并抄送給員工。

? ? ? ? 接著,部門經(jīng)理根據(jù)人力的反饋,再根據(jù)實際工作情況,決定是否批準員工休假,部門經(jīng)理將審核意見寫到回復(fù)郵件,發(fā)送給員工,并抄送給人力專員。

? ? ? ? 最后,如果部門經(jīng)理同意員工休假,人力專員在excel上更新員工今年休假的天數(shù)。


【參與者與業(yè)務(wù)實體抽取】

? ? ? ? 首先,我們找出人類的參與者,從上文描述中,可以找到“員工”、“人力專員”、“部門經(jīng)理”。找出人類參與者,還是比較簡單,其中業(yè)務(wù)執(zhí)行人是員工,業(yè)務(wù)工人是人力專員、部門經(jīng)理。

(關(guān)于參與者、業(yè)務(wù)執(zhí)行人、業(yè)務(wù)工人的概念,請見“用例圖入門教程”)

? ? ? ? 接著,我們找出非人類的參與者,怎么識別哪些是非人類的參與者呢,有一個比較簡單的識別方法。一方面,該非人類的參與者具備一定人工智能的、能幫助人類做些事情的物體,另外一方面,如果缺少了這個非人類參與者,業(yè)務(wù)流程就無法流轉(zhuǎn)下去。根據(jù)以上識別的方法,可以找出“電子郵箱系統(tǒng)”、“excel”。其中這兩個參與者,都是業(yè)務(wù)工人。

? ? ? ? 最后,我們再找出信息載體,再找到出信息模型。得出信息模型,是需要對信息做一定的抽象才能得出,業(yè)務(wù)流程分析階段和業(yè)務(wù)流程優(yōu)化階段的信息載體與信息模型,不一定一樣。

【畫圖】

? ? ? ? 根據(jù)上述準備的內(nèi)容,畫出以下時序圖,把整個交互流程都畫在時序圖上,圖形會顯得很復(fù)雜,所以下圖我先只話出前面幾個交互步驟。

? ? ? ? 看到上圖,有人最會想,為什么“填寫休假申請單”的消息,不是指向“EMail系統(tǒng)”?

? ? ? ? 首先,我們先理解下時序圖中的“消息”和我們平時接觸的“消息”有什么區(qū)別。

? ? ? ? 我們平時接觸的帶方向的消息,經(jīng)常是“信息流”,表示信息從一端到另外一端的傳遞。如果按照這個理解,畫出的圖形如下圖所示。

? ? ? ? 很遺憾,這樣的表現(xiàn)方式是錯的。時序圖的消息,表示的是消息的源端,調(diào)用了目標端的提供的服務(wù),該服務(wù)是目標端承諾并且執(zhí)行的?;蛘?,從程序級別來了解,既是消息源端的對象,調(diào)用的目標端對象的方法。(如果覺得我胡扯,仔細再看下常規(guī)教程UML序列圖——時序圖基本使用時序圖中的所有消息,相當(dāng)是一個調(diào)用請求,所以的消息相當(dāng)是加了一個“請求”的前綴。也就是說,“填寫休假申請單()”相當(dāng)于“請求填寫休假申請單”。

? ? ? ? 經(jīng)過這些分析,“填寫休假申請單()”源頭是員工,指向員工就不難理解。EMail系統(tǒng)可沒有填寫休假申請單的功能,它只提供了個填寫界面,填寫申請單的動作是員工完成。所以這個


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇我本來不想寫這個子篇的,原打算直接找個博文,鏈接過去引用個教程就行了,但搜索了很多文章,我才發(fā)現(xiàn)目前的...
    SDHassan閱讀 5,379評論 0 17
  • 隨著年底的臨近,年休假越來越成為企業(yè)和員工不斷關(guān)注的重點,員工關(guān)心可以休多長時間,如何休?而企業(yè)更多關(guān)心的是到底應(yīng)...
    嵩峰閱讀 993評論 0 0
  • 子鴻,吳讓之先生作。 今天換另一個方式,一次講兩方相同的印章。 兩方內(nèi)容都是子鴻,上面的小扁章是白文,下面的方章則...
    榆森林閱讀 1,156評論 4 12
  • 今看了《朗讀者》很多集節(jié)目,很感動。 一直看到這個點,沒有絲毫的睡意,竟然還想再逛一下淘寶,真是太任性了。 此刻孩...
    牧田麻麻閱讀 319評論 0 0
  • 在納木措,云是自由的,它想是什么形狀就是什么形狀。羊是自由的,它想去哪吃草就去哪里吃草。湖水是自由的,它想涌向何處...
    哈哈女超人閱讀 246評論 0 0

友情鏈接更多精彩內(nèi)容