產品經理進階:如何用UML的順序圖表達思想?

2021-01-10 人人都是產品經理

當大家把UML建模語言下的各圖形都有所了解後會發現,通過這些圖可以全面的、立體的從各個角度表達產品,讓產品的表達變得更豐富、更形象。

「手中無劍、心中有劍」,大多數產品人並不了解計算機開發語言,這導致產品人與技術人間的交流總是不夠順暢,如果我們能擁有一套與技術人員溝通的共同語言,在將來的工作中就會變得更輕鬆、順暢。今天,要說的就是這門共同語言——UML(統一建模語言),它包括:活動圖、順序圖、用例圖、部署圖、類圖、包圖、對象圖、合作圖、狀態圖等,每種圖都適用於不同的場景,各有各的適用範圍,綜合起來就是一套全方位、立體化模型,可從不同角度詮釋產品。

順序圖的使用我是在2005年開始的——日本地鐵管理系統。管理系統的特點多是關係複雜、嚴謹性高、流程性強,如ERP、OA、CRM等,為了能更好的梳理業務關係和流程,我們就選用了順序圖這一模型圖表來梳理需求。通過順序圖的使用,需求漸漸清晰、明確,每一個對象、每一次交互、每一個流程都被我們從隱藏的角落裡拉了出來。當遇到不確定的問題再與客戶方溝通了解,並將梳理後的結果反饋給對方。因為模型的使用讓項目團隊從需求到設計過渡的非常順暢,項目也成功完成並上線。

閒話少敘,談一談UML中最重要的模型——順序圖。

細說順序圖

順序圖也叫序列圖,英文是Sequence[ˈsi:kwəns],是UML裡最重要的建模圖形之一。順序圖描述了用例的實現,它表明了由哪些對象,通過消息相互協作來實現用例的功能,在順序圖中,標識了消息發生交互的先後順序。

舉個例子

案例一:去餐廳吃飯

場景:到飯店就餐。就座後服務員送上菜單,點完餐後等待,廚師做好後服務人員送餐,飯後付帳離開。

這個過程用順序圖建模如下:

圖例說明與歸納:

顧客與服務員:這兩個角色為順序圖的對象,為二維圖表縱坐標,橫坐標為對象間的消息交互。進店、選菜、就餐、離開:這些是自己向自己發起的消息,並沒有與服務員產生關係,所以箭頭指向自己。要菜單、點餐、付款:顧客向服務員發起的消息,消息發送人為箭頭尾部,接收人為箭頭頭部,線上文字要用動賓詞語。送菜單、送餐、找零錢:由箭頭方向表示是由服務員向顧客發起的消息,實體線表示此消息為動作。動作要用實體線表示,並用動賓詞語。激活框:在顧客與服務員一側的長條矩形,也叫會話,一個會話為一批有關聯關係的消息組,這裡把就餐的整個過程理解為一個會話。

順序圖各元素說明:

換一種畫風,這張圖還可以這樣表達:

如下圖:

從上圖可以看出,這張圖與上張圖有所不同,發起的消息為實線,返回的消息為虛線。

圖例說明與歸納:

菜單、餐、零錢:虛線表示上一個動作的返回內容,動作由上一消息發起。動作性消息用實線表達,線上文用動賓詞語;返回結果用虛線表達,線上文字用名詞詞語。從開發人員角度分析:如發起的動作性消息有參數返回,則可根據此特點創建函數,虛線上的內容為此函數的返回值;如發起的動作性消息不返回參數則可根據此特點創建方法,方法可以理解為沒有返回值的函數;從這點可以看出,我們如果能畫好順序圖,對開發人員來說是有一定指導意義的。多對象間如何進行信息傳遞?

再延伸思考,顧客向服務員下單,服務員向廚師下單,廚師收到訂單後按單做飯,做完後再把菜給服務員,服務員送餐。埋單時也是一樣,顧客付款後,服務員將錢給收銀員收款,收銀員將零錢給服務員,由服務員給顧客。這就產生了兩個新的角色,廚師、收銀員,這種關係應該如何表達呢?這已經不是兩個對象間的關係,是多對象間的關係問題。

見下圖:

圖示說明與歸納:

不論多少個對象間產生關係,消息只能是兩個對象間產生。顧客付款給服務員,服務員將動作順延給收銀員,多對象間交互信息多是消息及參數的傳遞。如:收銀員把零錢給服務員,服務員把零錢給顧客。一般順序圖的動作與返回參數多是成對出現的,但也會有隻發動作,對方不能回應的情況。總結順序圖特點:順序圖必須是兩個或兩個以上對象間進行交互。強調消息的順序性,生命線的長度為交互對象的全部生命周期。順序圖的閱讀是從上到下、從左到右進行。順序圖的元素有對象、生命線、激活框、消息、返回值,還有循環和分支,但一般不常用,加上這兩個元素後會使順序圖的可讀性下降,圖形顯示比較亂,我一般不使用,循環和分支不是順序圖的強項。順序圖與活動圖的適用場景順序圖對象間的關係非常清晰,誰向誰發起的、誰給誰反饋的。順序圖強調各對象間交互;活動圖一般不強調對象,但也有泳道的概念,泳道的命名也是以對象命名的,在這點上兩圖有些相似。順序圖強調的是消息及消息的返回值,而活動圖強調的是流程。順序圖雖然也可以表達循環和分支,但可讀性差;循環和分支性更適合用活動圖表示。順序圖更強調時間性,動作是在會話下進行;活動圖不強調會話與時間。

通過上面三個示例已經把順序圖的各元素及畫法表達清楚了,圖形繪製的顆粒度可以根據實際情況自行掌握,繪製系統間信息的交互就不適合畫信息交互細節了。以後我還會把用例圖、類圖、部署圖等圖的畫法整理成文章,分享給大家。當大家把UML建模語言下的各圖形都有所了解後會發現,通過這些圖可以全面的、立體的從各個角度表達產品,讓產品的表達變得更豐富、更形象。

相關閱讀:

活動圖實例:細談UML建模語言中的活動圖模型

面向對象的思想:產品經理需要知道的技術知識

#專欄作家#

產品人老吳,微信公眾號:ChanPinLaoWu,人人都是產品經理專欄作家,產品講學堂自媒體人,某公司產品總監。十多年軟體行業從業經驗,做過軟體開發、項目經理、產品經理、產品總監,希望能與大家分享更多產品經驗和知識。

本文原創發布於人人都是產品經理。未經許可,禁止轉載。

收藏已收藏 | {{ postmeta.bookmark }} 點讚已贊 | {{ postmeta.postlike }}

相關焦點

  • 產品經理必看:常用的UML建模詳解
    關於UML,我相信在做B端的產品經理一定知道它的重要性。那麼UML常用的圖都包含哪些呢?它們都在什麼場景什麼階段使用?如何使用?這篇文章主要幫助小夥伴們解答這些問題。
  • 產品經理必學UML(三):活動圖
    活動圖是什麼?活動圖由什么元素組成?活動圖是如何展示系統運作的?我們經常需要用到流程圖,在UML裡,活動圖看起來和流程圖相似,但是與流程圖確實又有一些區別,主要體現在以下幾個方面:流程圖著重描述處理過程,主要控制結構是順序、分支和循環,各個處理過程過程中有嚴格的順序和時間關係;活動圖著重表現系統行為,描述對象活動的順序關系所遵循的原則。活動圖能夠表示並發活動的情形,而流程圖不行。活動圖面向對象,流程圖面向過程。
  • 大話PM|產品經理必備利器:UML
    舉個例子來說,小明有網購的需求,那麼從小明的角度來說,他只要知道某個電商網站滿足他的需求,並且知道如何使用即可,並不關心網站如何開發實現。用一句話總結來說:用例圖強調了從用戶自身角度解決其需求的產品/系統是什麼以及如何使用,不關心它的具體實現。
  • 產品經理必學UML:類圖
    UML(Unified Modeling Language)又稱統一建模語言或標準建模語言,可以看做用於系統設計階段給開發做參考的一種方式,其中很多圖需要用到面向對象程序的思維。上圖為產品經理經常用到的UML圖,包括靜態視圖(類圖)和動態視圖(用例圖、狀態圖、順序圖、活動圖),其中靜態視圖主要用來分析業務概念,描述靜態場景;動態視圖描述業務行為,分析動態場景。
  • UML實踐---UML活動圖、順序圖、狀態圖、協作圖
    UML實踐----UML活動圖、順序圖、狀態圖、協作圖 本文向大家介紹一下UML實踐,UML中有九種建模的圖標,即用例圖、類圖、對象圖、順序圖等,這裡就向大家介紹一下UML實踐中UML活動圖,順序圖,狀態圖花費協作圖。
  • 解析UML順序圖通用規則
    解析UML順序圖通用規則 UML順序圖你是否熟悉,本文就向大家介紹一下,UML順序圖是將交互關係表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。
  • 解析UML順序圖中分類器分層
    解析UML順序圖中分類器分層 UML順序圖有很多值得學習的地方,對它的概念你是否了解,本文就向大家介紹一下UML順序圖中分類器分層,希望本文的介紹對你的學習有所幫助。
  • 產品經理:流程圖你都會畫嗎?
    流程圖是產品經理必不可少的技能之一,但流程圖你僅限於只會畫基本框圖和跨職能流程圖嗎?本文就來介紹下與產品經理相關的各種各樣的流程圖表現形式吧!但是,作為一名產品經理,共有哪些種類的流程圖在工作中有可能會遇到或者用到,你是不是應該要了解一二呢?說不定哪天你就需要用到其中一種。二、行為型的圖說明:作為產品崗,行為型的圖我們要著重了解,甚至是活學活用。UML活動圖UML狀態機圖UML序列圖/時序圖/順序圖UML用例圖1. UML活動圖某一個角色通過多個動作完成某項工作的過程。
  • 產品經理如何做好團隊協作?
    編輯導讀:一個產品的上線和運轉,離不開公司各個部門的協作。而作為產品「父母」的產品經理,需要經常和其他部門溝通協作,這時候溝通能力就顯得尤為重要了。在團隊協作中,產品經理應該具備什麼能力呢?本文作者針對這個問題,發表了自己的看法,與你分享。
  • 解析UML動態建模中消息 狀態圖和順序圖
    用於描述控制如何在對象間進行傳遞,而不考慮通信的細節。同步消息(SynchronousMessage)表示嵌套的控制流。操作的調用是一種典型的同步消息。調用者發出消息後必須等待消息返回,只有當處理消息的操作執行完畢後,調用者才可繼續執行自己的操作。異步消息(AsynchronousMessage)表示異步控制流。
  • 鮑志雲-Topics on Design-UMLChina講座-音頻和幻燈
    和如何使用?(20:00:14)*chenge2k與所有人說:好處?(20:17:50)*chenge2k與所有人說:tdd and(20:18:20)*hellojiabo與[*umlchina_seminar]說:在用ROSE做模型時,是否需要把每個FUNCTION的活動圖都畫出來(20:18:38)zzz與所有人說:你們為什麼沒有用ROSE,可以談談嗎?
  • 產品經理能力解析:通才與專才的結合體
    編輯:Juvae對於一些想要從事產品工作的同學來說,很多時候不知道從何下手,總想一把抓 ,結果什麼也沒抓到,在通往產品經理的道路上這都是很正常的,為了讓大家對產品經理這份工作多一些了解,也便於在學習和進階過程中能有一定的參考,今天我和大家聊一下高階產品經理所具備的能力模型。
  • 多圖預警:產品經理年終述職五部曲
    本文作者為我們總結了產品經理年終述職五部曲,快來一起學習吧!11月份是我們公司述職月,每個小夥伴可以清晰的看到其他部門是如何協同工作的,領導也可以藉此機會了解個人優勢和短板。今天就通過John的述職來拋磚,聊聊產品經理如何述職。
  • 深入剖析建模工具UML中有哪些UML圖
    UML中包括九種圖1)用例圖它是UML中最簡單也是最複雜的一種圖。說它簡單是因為它採用了面向對象的思想,又是基於用戶視角的,繪製非常容易,簡單的圖形表示讓人一看就懂。說它複雜是因為用例圖往往不容易控制,要麼過於複雜,要麼過於簡單。用例圖表示了角色和用例以及它們之間的關係。
  • Axure入門案例系列——進階輪播圖
    編輯導語:圖片輪播是各大網站常常見到的形式,本文作者今天帶領大家坦探討進階的輪播圖的實現效果,例如輪播進度指示、快速跳轉、滑鼠移入暫停輪播等等,希望看後對你有所啟發。二、製作方式以三張輪播為例,使用Axure 8為例:進階輪播圖主要為了適配PC端的操作,加入了指定的輪播圖頁面切換;滑鼠移動停止輪播,移出繼續輪播;手動切換上下輪播圖。1. 製作基礎的輪播圖2.
  • UML圖繪製的注意點和實例分析
    UML可以看做用於系統設計階段給開發做參考的一種方式,其很多圖需要用到面向對象程序的思維。畫UML圖是產品經理的必備技能之一。廢話不多說,本文介紹一下最常見的幾個UML圖:類圖、用例圖、狀態圖、序列圖、活動圖,以及一個並不屬於UML,但也有很大作用的數據流圖。每張圖詳細介紹一下畫法、注意點和具體案例。相關的概念、元素等則簡單介紹。
  • 商業思維,對產品經理有什麼用?
    這主要緣於企業對產品經理要求的更新迭代,它們對產品經理的期待,已不僅僅是能設計出一款滿足用戶需求的產品,更重要的是:為企業創造商業價值。沒錯,任何不以實現商業目標為目的的產品設計都是不講武德。一、如何理解商業思維?商業思維,從狹義角度,可以理解為賺錢的思維能力。
  • 產品經理由初級到高級的必經之路
    自從人人都是產品經理的概念一出來,真的已經實現了人人都是產品經理思來想去,結合本人在產品行業多年的學習和成長的心得,想和大家分享一下我總結的「產品經理由初級到高級的必經之路」。
  • 入行建議|2021年,還要做產品經理嗎? | 人人都是產品經理
    於是很多人去上了個速成班,學會了幾項基本技能——畫原型圖和流程圖、會寫需求文檔,不限經驗和學歷,基本上都能找到產品經理工作。如今,放眼整個行業,騰訊的產品經理算是業內翹楚。今年6月,脈脈職言上就傳出了一則「騰訊內部郵件重新定義產品經理」的消息:12級以上的崗位才是產品經理。
  • 需求分析——掌握和使用UML建模語言順序圖模型
    類圖模型也稱為系統的靜態結構,因此從類圖模型中我們還看不到業務的處理過程以及類與類交互的信息,在UML建模語言中,這些信息是通過順序圖來描述的。順序圖用於描述在業務處理過程中類之間的交互順序,這些交互順序是在場景或用例的信息流中發生的。由於描述的是動態行為,順序圖中類被稱為對象,也就是實例化後的類。