天天看點

業務分析主題系列:業務場景和業務用例場景的差別

簡單點說,在以業務目标為邊界的業務模型中,業務場景圖描繪的是貢獻于這個業務目标的什麼人及其做的什麼事,這些人和事的互動過程和完成順序就是完成整個業務目标的流程。而這些人往往是業務主角、而他們所做的事便是業務用例了。是以我認為,繪制業務用例圖和業務場景圖并沒有誰先誰後的問題,這兩個圖是互相驗證的。可以先繪制業務場景圖,然後把其中的泳道和活動拿出來,得到的就是活生生的業務用例。但根據業務場景圖得到的業務用例不一定是完整的,因為可能存在獨立的、未參與互動、但仍貢獻于整個業務目标的業務用例存在。是以,需要業務用例圖與業務場景圖進行互相驗證。這樣才能得到完整并且正确的業務用例。

到了繪制業務用例場景圖的時候,邊界必須要縮小了,縮小到每一個業務用例的大小,透過這個邊界觀看業務用例的内部,看到的是完成這個業務用例所需的步驟,也就是一個人是如何去做一件事的。把邊界重新拉大看,這個人做的這件事是完成某個業務目标的一個步驟。正是這些不同的人做的不同的事才構成了整個宏大的業務目标。

舉個例子,一個人要周遊世界(業務目标),那麼他需要周遊亞洲(業務用例),周遊歐洲(業務用例),周遊拉丁美洲(業務用例)……

他需要把這些地方都周遊過了才能完成周遊世界這個偉大的業務目标,于是他可以列出各洲的周遊計劃表(業務場景圖),比如先亞洲、再歐洲、再拉丁美洲……

周遊計劃表搞定了,那麼僅僅憑這一張空泛的藍圖還是不行的,還需針對每一個步驟設計更詳細的各國周遊計劃表(業務用例場景圖)。比如對周遊亞洲來說,他要先遊中國、再遊日本、越南、印度……

可以看到,一開始的邊界是全世界,以這個邊界繪制了各洲周遊計劃表(業務場景圖)後,然後再将邊界縮小到周遊每一個洲上(業務用例),他開始繪制各國周遊計劃表(業務用例場景圖),如果他還覺得不夠詳盡,還可以以一個國家為邊界,繪制遊覽各風景區的計劃表,得到粒度更小的用例。這樣邊界和抽象層次可以根據需要不斷縮小降低,直至得到滿意的結果。

 故,從業務模組化到系統模組化這一整個過程就是一個邊界不斷縮小、抽象層次不斷降低、用例粒度不斷變小的過程。

以業務目标為邊界時,得到的是業務場景圖,其中的每一個活動往往都是業務用例;

縮小邊界到業務用例,得到業務用例場景圖,而粒度更小的系統用例就是從該圖的活動裡篩選出來的;

然後可以再縮小邊界到每一個系統用例,可以繪制出系統用例場景圖,這個時候對用例的模組化工作就已經差不多了。而在這個過程當中,不同大小的邊界、不同高低的抽象層次是不可交叉的,因為交叉會導緻混亂、會将原來自頂向下井井有條的分析過程徹底打亂。可以想象,對于上面的例子來說,當設計各國的周遊計劃時,不可能出現這種情況:日本--->泰國--->長城--->印度--->歐洲

再舉個例子,當描述一個人的外表時,應當以人的身體外部為邊界,進而得到如此詞彙:身材高挑、發型整齊、鼻梁挺拔……如果混淆了邊界,在這些詞彙後突然冒出來一句血壓偏低,隻會令人莫名奇妙。同樣,體檢單上也不會出現如下描述:血壓正常、心率正常、發型淩亂……

是以在模組化過程中最重要的就是把握邊界。但模組化過程中的邊界有時并不像現實中那樣顯而易見,一不小心就會逾越邊界,我就經常犯錯,在以業務目标為視角的用例圖中拉進了一大堆不同抽象層次的用例,不同邊界的用例交雜在一起,混亂無比,時常把自己搞得也是頭昏腦脹。是以這個時候就要多思考、多與同伴讨論、多向高手請教。

繼續閱讀