全面解讀流程圖|附共享單車摩拜ofo案例分析

150 評(píng)論 385088 瀏覽 3839 收藏 38 分鐘

對(duì)于任何產(chǎn)品設(shè)計(jì)來說,構(gòu)建流程都是一個(gè)繞不開的環(huán)節(jié)。其奠定了后續(xù)的產(chǎn)品框架,是用戶體驗(yàn)的基石。本文將從定義和分類出發(fā),結(jié)合實(shí)際案例,深入淺出地闡述流程圖的作用以及畫法。

誕生之始

其實(shí),之所以我會(huì)寫這篇文章,完全是受老曹(人人都是產(chǎn)品經(jīng)理網(wǎng)——?jiǎng)?chuàng)始人CEO)的邀(hu)請(qǐng)(you)。他說,對(duì)于大多數(shù)新人產(chǎn)品經(jīng)理來說,畫流程應(yīng)該是最基本最必要的技能。但往往大多數(shù)新產(chǎn)品人卻對(duì)流程的概念異常模糊。如果能有一篇全面系統(tǒng)的流程圖解析,那一定會(huì)受到大家的歡迎,幫助大家快速成長(zhǎng)。

我聽后深受老曹的感動(dòng),一個(gè)偉大的CEO就應(yīng)該有這樣堅(jiān)韌的品質(zhì)。是什么樣環(huán)境才能造就這樣偉大的企業(yè)家?我不禁想起了馬云第一次創(chuàng)建阿里巴巴時(shí)的演講,那會(huì)場(chǎng)上奔跑的影子,是老曹逝去的青春。頓時(shí),我對(duì)老曹的佩服有如滔滔江水連綿不絕地涌出,又如黃河泛濫地一發(fā)不可收拾。

老曹充滿鼓勵(lì)的眼神深情望著我,然后拿開了架在我脖子上的40米長(zhǎng)的大砍刀。

我心里默默地回蕩著老曹的話:“好好寫,寫完讓你當(dāng)人人的副總裁,我不騙你?!比缓笪見^筆疾書,于是有了下面的故事……

定義

流程——顧名思義:水流的路程;事物進(jìn)行中的次序或順序的布置和安排。流程是自然而然就存在的,它可以不規(guī)范,可以不固定,可以充滿問題。

由兩個(gè)及以上的步驟,完成一個(gè)完整的行為的過程,可稱之為流程;注意是兩個(gè)及以上的步驟。

流程圖的核心就在于如何排布事物進(jìn)行的次序,不同的順序可能造成截然不同的結(jié)果。

目的

產(chǎn)品經(jīng)理畫流程圖的目的不外乎幾點(diǎn):

  1. 流程圖為產(chǎn)品設(shè)計(jì)基石,可以保證產(chǎn)品的使用邏輯合理順暢
  2. 傳達(dá)需求,用流程圖來更好地表達(dá)產(chǎn)品邏輯
  3. 查漏補(bǔ)缺,檢驗(yàn)是否有遺漏的分支流程

分類

流程圖以描述對(duì)象分類,包括:業(yè)務(wù)流程圖、頁(yè)面流程圖、功能流程圖、數(shù)據(jù)流程圖等。

業(yè)務(wù)流程圖(Transaction Flow Diagram, TFD)

先以宋丹丹小品中的一個(gè)腦筋急轉(zhuǎn)彎為例:把大象裝冰箱,總共分幾步?

三步:

  • 第一步,把冰箱門打開;
  • 第二步,把大象裝進(jìn)去;
  • 第三步,把冰箱門關(guān)上。

這看似是一個(gè)笑話,但其實(shí)蘊(yùn)含著很強(qiáng)的邏輯思維。首先這里忽略了很多現(xiàn)實(shí)中的限制條件。比如,以大多數(shù)冰箱的容積都不可能將大象塞進(jìn)去;比如是否能把大象切成塊放進(jìn)去?如果把大象塞進(jìn)去,它會(huì)不會(huì)又跑出來?但拋開這些限制條件,那把大象塞冰箱的極簡(jiǎn)流程就是三步。打開冰箱門,把大象裝進(jìn)去,最后把門關(guān)上。

我們做業(yè)務(wù)流程圖,其實(shí)很多時(shí)候都需要具有把“大象塞進(jìn)冰箱”的思維方式,拋開很多現(xiàn)有的認(rèn)知局限,將具象的行為一個(gè)個(gè)抽象出來。

結(jié)合上面的例子,再來細(xì)細(xì)品味“業(yè)務(wù)流程圖”的定義:

抽象地描述事物進(jìn)行的次序和順序,不涉及具體操作與執(zhí)行細(xì)節(jié)。在互聯(lián)網(wǎng)軟件行業(yè)通常指脫離產(chǎn)品設(shè)計(jì)的用戶行為流程。業(yè)務(wù)流程圖是一種系統(tǒng)分析人員都懂的共同語(yǔ)言, 用來描述系統(tǒng)組織結(jié)構(gòu)、業(yè)務(wù)流程。

不管是否理解上述定義,下面帶著抽象思維去思考購(gòu)物行為的業(yè)務(wù)流程圖應(yīng)該是什么樣的?

以上的三步組成了一個(gè)最簡(jiǎn)的一個(gè)流程,其完全涵蓋了任何購(gòu)物行為的核心。無(wú)論是網(wǎng)購(gòu)還是在實(shí)體超市,都是以這三個(gè)行為為主體,然后進(jìn)行擴(kuò)展的。相對(duì)于大家平時(shí)看到的復(fù)雜的網(wǎng)購(gòu)流程圖,以上的三步流程簡(jiǎn)直簡(jiǎn)單的令人發(fā)指,而這恰恰是印證了大道至簡(jiǎn)的原理。我始終堅(jiān)信無(wú)論再?gòu)?fù)雜的事情都能簡(jiǎn)化為極其簡(jiǎn)單的事情,如果你無(wú)法將其簡(jiǎn)化,說明只是你沒有理解其核心。

依據(jù)上面的最小流程單元,我們下面嘗試能不能將其擴(kuò)展,嘗試套用在更細(xì)節(jié)的流程圖上面。

頁(yè)面流程圖(Page Flow Diagram)

定義:指電子產(chǎn)品具體所呈現(xiàn)的頁(yè)面跳轉(zhuǎn)流程圖。其承載了業(yè)務(wù)流程圖所包含的業(yè)務(wù)流轉(zhuǎn)信息。

下圖以淘寶為例,展示出了網(wǎng)購(gòu)的頁(yè)面流程。

由上圖紅框中的三個(gè)節(jié)點(diǎn)我們可以看出,頁(yè)面流程圖依然是包含在業(yè)務(wù)流程圖的。這恰恰符合定義中的要求,同時(shí)也印證了頁(yè)面流程圖的正確性。相較于一開始的極簡(jiǎn)流程圖,現(xiàn)在的流程圖已經(jīng)漸漸變得復(fù)雜了一些。我們將抽象的業(yè)務(wù),映射在了具象的頁(yè)面上,用軟件的頁(yè)面承載起了業(yè)務(wù)需求。而以上就是由業(yè)務(wù)流程圖到頁(yè)面流程圖的轉(zhuǎn)化過程。

功能流程圖(Function Flow Diagram)

定義:指單頁(yè)面內(nèi)或多頁(yè)面之間的功能操作流程,其包含在頁(yè)面流程中。

任何功能都是被包含在頁(yè)面內(nèi)的,但一個(gè)頁(yè)面內(nèi)往往不止一個(gè)功能,所以單單頁(yè)面流程圖可能無(wú)法完整表達(dá)所有流程,而這時(shí)就需要用功能流程圖來更加具體表達(dá)每個(gè)頁(yè)面內(nèi)所包含的功能。

由上圖紅框中的四個(gè)節(jié)點(diǎn)我們可以看出,功能流程圖同樣也是由頁(yè)面流程圖拓展而來的。功能流程圖是在頁(yè)面流程圖的基礎(chǔ)上繼續(xù)深化,變得更加復(fù)雜。同時(shí)也漸漸變得像大家日??吹降牧鞒虉D一樣。

數(shù)據(jù)流程圖(Data Flow Diagram)

定義:特指軟件產(chǎn)品中,描述數(shù)據(jù)在不同節(jié)點(diǎn)被處理的過程所畫的圖表。主要表達(dá)計(jì)算機(jī)程序?qū)τ跇I(yè)務(wù)的實(shí)現(xiàn)原理。用戶在功能流程圖中的每一個(gè)操作,對(duì)應(yīng)都會(huì)反映在數(shù)據(jù)流程圖中。同時(shí),數(shù)據(jù)流程圖也可以叫程序流程圖(Program Flow Diagram)。

它是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具。它可以利用少數(shù)幾種符號(hào)綜合的反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)的情況。數(shù)據(jù)流程圖具有抽象性和概括性。

可能業(yè)務(wù)流程圖、頁(yè)面流程圖和功能流程圖大家都耳熟能詳,但數(shù)據(jù)流程圖恐怕了解的就比較少了。其實(shí),每個(gè)流程圖中都有一個(gè)核心伴隨著不同操作在整個(gè)系統(tǒng)中不斷流轉(zhuǎn)。比如業(yè)務(wù)流程圖大多以人為核心,每個(gè)節(jié)點(diǎn)都是在傳遞人的不同行為。而頁(yè)面流程圖和功能流程圖也類似,都是以人的操作行為為核心,在不同頁(yè)面和功能間進(jìn)行流轉(zhuǎn)。但數(shù)據(jù)流程圖不同,它是以數(shù)據(jù)為核心,展示整個(gè)系統(tǒng)中,數(shù)據(jù)是如何被處理的。

其更偏技術(shù)思維,更多的是展現(xiàn)后臺(tái)程序的實(shí)現(xiàn)原理。所以,常常是開發(fā)人員繪制此圖,而產(chǎn)品經(jīng)理涉及較少。但隨著產(chǎn)品經(jīng)理地不斷成長(zhǎng),向上提高到戰(zhàn)略層,而向下則會(huì)深入到實(shí)現(xiàn)層。理解程序的開發(fā)原理和背后的數(shù)據(jù)流轉(zhuǎn),無(wú)疑會(huì)讓產(chǎn)品經(jīng)理對(duì)產(chǎn)品設(shè)計(jì)有更加深刻的理解。

下面仍以購(gòu)物流程為主題來展示數(shù)據(jù)流程圖。

相較于之前的圖表,數(shù)據(jù)流程圖增加了新的維度——程序。客戶端在展現(xiàn)用戶操作行為的同時(shí),也表達(dá)了程序在用戶行為背后的動(dòng)作。而往往大家說一個(gè)產(chǎn)品復(fù)雜的時(shí)候,可能只注意到了它的前端交互復(fù)雜,而忽視了后端邏輯的復(fù)雜。對(duì)于一個(gè)優(yōu)秀的產(chǎn)品經(jīng)理來說,不止要關(guān)注前端的用戶體驗(yàn),更要能看清事物背后的邏輯。畢竟人人都可以對(duì)用戶體驗(yàn)指手畫腳,而說到程序?qū)崿F(xiàn),那可就體現(xiàn)出產(chǎn)品經(jīng)理的專業(yè)性來了。

小結(jié)

以上幾幅圖片分別展示了一個(gè)產(chǎn)品的業(yè)務(wù)流程、頁(yè)面流程、功能流程和數(shù)據(jù)流程。從中可以發(fā)現(xiàn),由業(yè)務(wù)到頁(yè)面,再到功能,再到數(shù)據(jù)處理,是順序拓展的。一個(gè)產(chǎn)品的頁(yè)面或功能,不是憑空出現(xiàn)的,而是依據(jù)業(yè)務(wù)層的各個(gè)節(jié)點(diǎn)和流程進(jìn)行設(shè)計(jì)的。這就是為什么在做產(chǎn)品設(shè)計(jì)時(shí)一定要先理解業(yè)務(wù)的原因。

在初步學(xué)習(xí)畫流程圖時(shí),盡量將業(yè)務(wù)、頁(yè)面、功能和數(shù)據(jù)區(qū)分清楚,并且逐層遞進(jìn),不要把多種類型的流程圖混雜一起。這樣反而會(huì)將思想搞得混亂。

流程圖的顆粒度

所謂流程圖的顆粒度,其實(shí)就是指流程圖的細(xì)致程度。

我在畫流程圖時(shí)也常常會(huì)猶豫糾結(jié),這個(gè)功能點(diǎn)用不用描寫得更詳細(xì)?這條分支用不用標(biāo)出來?這個(gè)和服務(wù)器的交互事件用不用在流程圖體現(xiàn)?等等這些問題,也都是產(chǎn)品經(jīng)理在日常畫圖時(shí)會(huì)遇到的。

依然拿購(gòu)物流程為例,最簡(jiǎn)的業(yè)務(wù)流程分為三個(gè)步驟,那如果細(xì)化一些,是否可以畫出不同的流程圖呢?

顯而易見,即便針對(duì)同一個(gè)流程,也能畫出不同的流程圖。如上圖,將挑選商品拆分為三個(gè)步驟,將結(jié)賬拆分為兩個(gè)步驟。但兩個(gè)流程圖依然表達(dá)的是一套流程。而這就是每個(gè)人對(duì)于顆粒度的把握有所不同。有很多新人總想一步到位,一次畫出完美的流程圖。但這其實(shí)是一種非常不可取的思維。任何完善的流程圖,都需要經(jīng)過由簡(jiǎn)單到復(fù)雜的過程,而不是一蹴而就。

理論上來說,流程圖的細(xì)致程度越高,產(chǎn)品設(shè)計(jì)就越準(zhǔn)確順暢。但實(shí)際情況中,過度的詳細(xì)反而是浪費(fèi)時(shí)間。而對(duì)于度的把握能力,則需要經(jīng)驗(yàn)積累以及團(tuán)隊(duì)磨合,這里也是體現(xiàn)產(chǎn)品經(jīng)理對(duì)顆粒度把握能力的地方。我們畫流程圖的最終目的是讓團(tuán)隊(duì)成員理解我們的產(chǎn)品設(shè)計(jì),而不是需要畫一幅非常詳細(xì)的流程圖。理想的情況應(yīng)該是以最簡(jiǎn)的形式,畫出團(tuán)隊(duì)都能理解的圖表。

流程圖畫法

上面講解了流程圖的定義和分類,下面就進(jìn)入具體的流程畫法講解

流程圖基本元素

以上為流程圖中最常用的幾種元素。不常用的元素就不在此展示了,大家可以在Microsoft Visio中查看。

泳道圖

泳道圖是流程圖中的一種畫法,是將流程圖中的一些流程節(jié)點(diǎn)按操作角色的不同而劃分。比如剛才的數(shù)據(jù)流程圖其實(shí)就采用泳道圖的畫法展示,其中頂部為兩個(gè)不同角色——用戶和服務(wù)器。同時(shí)在豎向的基礎(chǔ)上也可以添加橫向泳道,以不同頁(yè)面來給操作分類。

對(duì)于涉及到多角色比較復(fù)雜的流程圖來說,畫泳道流程圖會(huì)看起來更加清晰明了。

流程圖的組成部分

流程圖主要由三部分組成:

  1. 主干流程
  2. 分支流程(異常流程屬于分支流程)
  3. 子流程

下圖是將之前功能流程圖的例子作為主干流程,然后添加了分支流程。我們?cè)诋嬃鞒虉D時(shí)應(yīng)該遵循先主干后分支的順序來描繪流程圖,因?yàn)閷?duì)于大多數(shù)用戶來說,主干流程是最常用的路徑。

主干流程和分支流程大家都好理解,那到底什么是子流程呢?在畫流程圖的過程中,有一些流程是會(huì)經(jīng)常遇到的,比如登錄流程、注冊(cè)流程、修改密碼流程。對(duì)于電商來說,可能有退貨流程、購(gòu)物券使用流程等等。如果每次畫與之有關(guān)的流程圖的時(shí)候,都將其再畫一遍,那實(shí)在繁瑣。所以,子流程就是將某幾個(gè)具有邏輯關(guān)系的節(jié)點(diǎn)集合而成的,可以復(fù)用在各個(gè)地方。

下圖就是將登錄流程變成子流程后的流程圖。

流程圖的結(jié)構(gòu)

流程圖中大致包含三種結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)(又稱選擇結(jié)構(gòu))、循環(huán)結(jié)構(gòu)?;旧洗蠖鄶?shù)流程圖都是由這三種結(jié)構(gòu)組成的。

案例

上面說了那么多理論知識(shí)和概念,那下面就開始真刀實(shí)槍地展示一個(gè)案例。本來一開始我想以電商產(chǎn)品作為例子,因?yàn)殡娚坍a(chǎn)品是需要極強(qiáng)邏輯思維的產(chǎn)品,并且比較常見。但后來發(fā)現(xiàn)淘寶、京東等都極為龐大和復(fù)雜,分析起來過于笨重。轉(zhuǎn)而想起共享單車是個(gè)非常不錯(cuò)的教材案例。其產(chǎn)品極簡(jiǎn),但背后卻暗藏有趣的邏輯架構(gòu)。尤其是市面上摩拜與ofo不同的產(chǎn)品解決方案,分析起來更加有對(duì)比性。

共享單車的前身

如果要追溯最早的共享單車,恐怕就是政府推出的有樁自行車。其推出目的無(wú)非就是緩解交通壓力,以及減少環(huán)境污染。而當(dāng)時(shí)受限于成本、技術(shù)以及大眾人群的普遍素質(zhì),有樁自行車的解決方案是極其不方便的。想要租一輛有樁自行車,首先要憑身份證在相關(guān)單位辦理IC卡,并繳納押金和預(yù)存費(fèi)用,然后租車和還車只能在定點(diǎn)位置進(jìn)行。先不談辦理卡片有多麻煩,租車還車有多不方便,超時(shí)扣費(fèi)有多驚人,如果只單純將其用業(yè)務(wù)流程圖展示出來,應(yīng)該是什么樣的呢?

下面依然以最簡(jiǎn)單的業(yè)務(wù)形態(tài)來展示使用有樁單車業(yè)務(wù)流程圖:

單看有樁單車的流程圖其實(shí)沒有任何意義,真正的意義在于有樁單車和目前摩拜與ofo的橫向?qū)Ρ?,下面看一下兩家共享單車的業(yè)務(wù)流程圖:

很明顯可以看出,無(wú)論是有樁單車、摩拜單車還是ofo單車,在業(yè)務(wù)流程圖上竟然沒有太大區(qū)別。那為什么多年之前政府主導(dǎo)的有樁單車平平無(wú)奇,而2016年末出現(xiàn)的共享單車紅極一時(shí)?那摩拜和ofo兩款截然不同的單車,區(qū)別點(diǎn)到底在哪里呢?我們需要更加深入地分析每個(gè)業(yè)務(wù)節(jié)點(diǎn),剖析其功能。

因?yàn)閱诬嚨氖褂昧鞒滩粌H是在APP上,還有一部分操作在實(shí)體自行車上,這時(shí)就不能單使用頁(yè)面流程圖,而是要直接使用功能流程圖。并且這里的功能流程圖不局限于頁(yè)面內(nèi)的功能,而是要表達(dá)用戶對(duì)單車和APP的每一步操作。

首先看ofo單車,在APP中支付押金后,接著便需要尋找自行車。而這時(shí)我們發(fā)現(xiàn),雖然ofo有多種單車樣式,多種車鎖機(jī)制。但本案例著重講ofo第一代機(jī)械鎖,與第二代偽智能鎖。

這兩種鎖其實(shí)代表了兩種不同的產(chǎn)品解決方案,我們先討論第一種機(jī)械鎖。(所謂機(jī)械鎖,其實(shí)類似于生活中經(jīng)常見到的密碼箱。每個(gè)密碼箱有預(yù)設(shè)的固定密碼,通過撥弄表盤輸入正確密碼,即可開鎖。并且機(jī)械鎖的密碼是固定的,不會(huì)改變)。

我們從路邊找到機(jī)械鎖單車,然后打開APP,輸入車牌號(hào)或掃描二維碼,從APP中得到本車的機(jī)械鎖密碼,然后輸入密碼,打開單車車鎖。此時(shí)APP中會(huì)進(jìn)行倒計(jì)時(shí),倒計(jì)時(shí)結(jié)束則開始正式計(jì)費(fèi)。最后,騎行到目的地后,需要將車鎖關(guān)閉,并且必須在APP中點(diǎn)擊結(jié)束騎行的按鈕,才能結(jié)算此次行程的訂單。

看完了ofo的流程,下面來對(duì)比看一下摩拜的流程。

摩拜的產(chǎn)品解決方案為,掃描單車的二維碼以后,摩拜單車的車鎖會(huì)自動(dòng)打開,不需要像機(jī)械鎖一樣手動(dòng)操作。并且在鎖車后,摩拜單車自動(dòng)會(huì)結(jié)束行程,無(wú)須在APP中點(diǎn)擊結(jié)束。在下一次APP打開時(shí),才會(huì)進(jìn)行賬單結(jié)算。

下圖分別為ofo機(jī)械鎖單車使用流程圖和摩拜單車使用流程圖(APP標(biāo)識(shí)代表用戶在APP上的操作)

我們可以清楚地看到摩拜的流程比ofo的少了兩個(gè)節(jié)點(diǎn),而這就是摩拜對(duì)比ofo第一代機(jī)械鎖的優(yōu)勢(shì)。當(dāng)然,ofo第一代也有其他方面是優(yōu)于摩拜的,比如騎車的舒適程度。但本文主要聚焦于產(chǎn)品流程,所以并不在單車體驗(yàn)上花費(fèi)太多筆墨。

縱觀ofo機(jī)械鎖和摩拜智能鎖的解決方案來看,ofo明顯是遜色很多的。機(jī)械鎖帶來的問題,不止是使用流程的復(fù)雜,還有很多是產(chǎn)品使用上的漏洞。比如,用戶鎖車后,必須手動(dòng)將密碼撥亂,不然下個(gè)人將可以免費(fèi)騎行。比如,用戶在騎行結(jié)束后,忘記在APP點(diǎn)擊結(jié)束,會(huì)造成更額外扣費(fèi)。等等還有很多問題,就不一一列舉了。

說句題外話,這些問題ofo也都明白。機(jī)械鎖的解決方案倘若只在封閉的校園內(nèi)運(yùn)行,那還差強(qiáng)人意。但一經(jīng)投放到校外市場(chǎng),那么這種解決方案無(wú)疑會(huì)給公司帶來巨大的損失。那為什么ofo明知問題,還要大量投放呢?原因很簡(jiǎn)單,以摩拜拓展的速度,如果他不在當(dāng)時(shí)迅速走出校園,那么也許永遠(yuǎn)也沒機(jī)會(huì)走出校園了。

言歸正傳。之前的討論,一直避開了一個(gè)非常重要的節(jié)點(diǎn)——“找車”。拋開路邊隨機(jī)看到單車不談,就拿地圖找車來說,ofo第一代機(jī)械鎖肯定是沒有GPS定位的,為什么也能在地圖上顯示呢?

下面我們嘗試畫一下ofo對(duì)于解鎖的程序流程圖是什么樣的。

我們從“APP掃描二維碼/輸入單車編號(hào)”此節(jié)點(diǎn)開始推導(dǎo)。我要開車牌號(hào)為XXX的單車,那么就需要得到密碼,而所有車的密碼,都應(yīng)該放在ofo的單車數(shù)據(jù)庫(kù)中。我們不論是掃描二維碼,還是輸入單車號(hào),本質(zhì)都應(yīng)該是將單車編號(hào)傳輸給服務(wù)器,告訴它我要哪輛車的密碼。服務(wù)器查詢到此單車的密碼以后,就傳輸回APP,我們就看到了此單車的密碼。

因?yàn)楣?jié)省車鎖電源的原因,服務(wù)器此時(shí)并沒有和單車聯(lián)系,而是靠人工輸入密碼打開車鎖。所以ofo在用戶得到密碼后,就會(huì)開始倒計(jì)時(shí)。倒計(jì)時(shí)內(nèi)可以取消開鎖狀態(tài);倒計(jì)時(shí)結(jié)束,則代表用戶默認(rèn)開始騎行,計(jì)費(fèi)也從此時(shí)開始。

此時(shí)如果是iPhone用戶的話,將ofoAPP最小化時(shí),就會(huì)發(fā)現(xiàn)手機(jī)頂部電池電量條變成了藍(lán)色。其實(shí),這就是ofo獲取單車行程的要點(diǎn)所在。既然機(jī)械鎖無(wú)法向服務(wù)器傳輸數(shù)據(jù)的話,那不如讓用戶手機(jī)代替。以獲取手機(jī)的定位來獲取單車的騎行路線。并且在停車后,點(diǎn)擊結(jié)束騎行時(shí),上報(bào)位置,由此服務(wù)器來標(biāo)記此單車停放的位置。而此時(shí)上報(bào)的位置其實(shí)并沒有單車。這就是ofo地圖上有很多假標(biāo)記產(chǎn)生的原因。

ofo采用的這種標(biāo)記方法其實(shí)非常的粗糙,畢竟如果用戶強(qiáng)制結(jié)束應(yīng)用,也就獲取不到騎行路線了。而ofo針對(duì)獲取不到騎行路線的情況,也做了處理,那就是用標(biāo)記起點(diǎn)到終點(diǎn),然后根據(jù)地圖提供的路線來顯示路程。

上圖我親測(cè)的案例。紅色箭頭是我的實(shí)際騎行的路線,綠色線是ofo自帶地圖上通過起點(diǎn)和終點(diǎn)計(jì)算的路線。

下面我們繼續(xù)分析ofo機(jī)械鎖的程序流程圖

注意上圖服務(wù)內(nèi)的部分,看起來步驟非常少,也非常簡(jiǎn)單,而真實(shí)的服務(wù)器肯定有更多復(fù)雜的邏輯判斷。但對(duì)于產(chǎn)品經(jīng)理畫的流程圖來說,不可能完完全全描繪編程中的技術(shù)細(xì)節(jié),而且也不需要產(chǎn)品經(jīng)理去幫技術(shù)想代碼的實(shí)現(xiàn)邏輯。我們要做得是,理解程序宏觀的實(shí)現(xiàn)邏輯。

比如,在掃描二維碼后,為什么APP會(huì)顯示這輛車的密碼,而不是其他車輛的密碼呢?很簡(jiǎn)單,服務(wù)器內(nèi)肯定儲(chǔ)存了所有單車的密碼,而掃描二維碼的過程就是將此單車的ID傳送給服務(wù)器,服務(wù)器在數(shù)據(jù)庫(kù)中找到密碼后,返回給用戶手中。

服務(wù)器在此處理過程中,肯定還會(huì)有其他的判斷,比如此用戶賬號(hào)是否正常,有沒有被封號(hào)?此單車是否已被標(biāo)記為故障車?等等。但大家發(fā)現(xiàn),上面的流程圖內(nèi)并沒有畫出這些邏輯判斷,是我忘記了嗎?

其實(shí)并不是。這里又不得不提到本文的核心概念——顆粒度。

此圖想表達(dá)的是宏觀的程序?qū)崿F(xiàn)邏輯,是為了讓讀者更聚焦于問題核心,我們只需要著重表達(dá)主干流程就好。如果添加更多的分支流程、異常流程,那反而會(huì)影響讀者的注意力。所以,還是老生常談的那句話:畫流程圖一定要先主干,后分支,千萬(wàn)別在一開始就盲目追求細(xì)節(jié)。

言歸正傳,ofo的第一代鎖的解決方案雖然漏洞百出,但依然用其巧妙的方式,實(shí)現(xiàn)了地圖上單車位置的顯示。ofo推出的第二代鎖,改進(jìn)了以往機(jī)械鎖的很多問題。其中最大的效果就是車鎖的密碼不再是固定的,并且鎖車之后,不需要再點(diǎn)結(jié)束行程。那既然ofo的鎖已經(jīng)優(yōu)化了,那為什么前文還稱他為偽智能鎖,他和真正的智能鎖差在哪里呢?為什么ofo的車鎖依然需要手動(dòng)輸入密碼,而不是像摩拜一樣,車鎖直接彈開?為什么常常在地圖上看到有車,而實(shí)際地點(diǎn)沒有車呢?

下面引入一個(gè)80、90后童年的回憶:將軍令。

“將軍令”(又名網(wǎng)易帳號(hào)保護(hù)器) 是廣州網(wǎng)易互動(dòng)娛樂有限公司自主研發(fā)的、具有完全知識(shí)產(chǎn)權(quán)的高科技身份認(rèn)證產(chǎn)品。它是專為保護(hù)網(wǎng)易通行證賬號(hào)(游戲賬號(hào))、直銷商帳號(hào)的密碼而出的產(chǎn)品,其特有的60秒密碼動(dòng)態(tài)自動(dòng)更新技術(shù)將盜號(hào)風(fēng)險(xiǎn)降到最低。
“將軍令”的產(chǎn)生伴隨著當(dāng)年夢(mèng)幻西游的風(fēng)靡,其創(chuàng)新技術(shù)確實(shí)解決了大多數(shù)盜號(hào)問題。那將軍令的實(shí)現(xiàn)機(jī)制到底是如何呢?簡(jiǎn)單地說明一下:首先,打開“將軍令”,它會(huì)生成一串?dāng)?shù)字,你在登陸游戲時(shí),輸入這些數(shù)字,系統(tǒng)就會(huì)允許賬號(hào)登陸。同時(shí),“將軍令”的數(shù)字是每隔60秒動(dòng)態(tài)變化的,每次登陸時(shí),“將軍令”的驗(yàn)證碼都會(huì)不一樣。其實(shí)現(xiàn)原理,無(wú)非是“將軍令”和服務(wù)器保持同一種算法,在同一時(shí)間,他們的計(jì)算結(jié)果是一致的。
回來看ofo的偽智能鎖,其實(shí)也是一樣的實(shí)現(xiàn)原理。每個(gè)車鎖在內(nèi)部保存一個(gè)算法,這個(gè)算法在服務(wù)器內(nèi)也保存著一份,車鎖每隔一段時(shí)間就會(huì)根據(jù)算法變換一個(gè)密碼。而當(dāng)你打開APP,查看此單車密碼時(shí),服務(wù)器使用已保存的算法算一遍當(dāng)前時(shí)間下的密碼,那此密碼一定是和車鎖當(dāng)前算的是一致的。這就是ofo偽智能鎖的開鎖原理。
開鎖說完了,下面聊聊關(guān)鎖。如果你騎過小黃車就會(huì)發(fā)現(xiàn),小黃車的智能鎖關(guān)閉以后,并不用手動(dòng)點(diǎn)APP上的結(jié)束行程了。那要做到這點(diǎn),一定是車鎖與服務(wù)器進(jìn)行了通信,告訴服務(wù)器用戶已經(jīng)結(jié)束了行程,可以結(jié)算訂單了。那既然車鎖可以和服務(wù)器通信,為什么ofo還要采用上面的將軍令方式來解鎖呢,為什么不直接用服務(wù)器通信告訴單車自動(dòng)開鎖呢?
其實(shí),就ofo第一代偽智能鎖“海王星”來說,并沒有做到實(shí)時(shí)和服務(wù)器通信。在關(guān)鎖的時(shí)候,只是車鎖單方面向服務(wù)器發(fā)送消息。而同時(shí)服務(wù)器收取到消息后,在地圖上顯示其單車的定位。我想ofo這么做,一定是因?yàn)橄霚p少車鎖的耗電量。要知道實(shí)時(shí)通信是非常耗電的。
下圖是ofo的程序流程圖

摩拜單車的智能鎖

上面分析了ofo的機(jī)械鎖和偽智能鎖以后,我們?cè)賮砜纯茨Π輪诬嚨闹悄苕i,到底智能在哪里。
首先通過實(shí)際體驗(yàn)我們知道,摩拜單車是不需要輸入密碼的。拋開藍(lán)牙本地驗(yàn)證密碼的方式,那摩拜車鎖需要和服務(wù)器實(shí)時(shí)通信,才能實(shí)現(xiàn)APP掃描之后自動(dòng)打開。
可能有些讀者不明白為什么一定要實(shí)時(shí)通信呢?難道在開鎖時(shí),服務(wù)器給車鎖發(fā)送打開的指令不行嘛?舉個(gè)例子,手機(jī)開飛行模式的時(shí)候,是無(wú)法接聽電話和數(shù)據(jù)上網(wǎng)的。手機(jī)想接聽電話和上網(wǎng),就一定要每時(shí)每刻和通信基站連在一起,這樣才能保證通信基站想要找你的時(shí)候可以找到。如果你和通信基站斷開,基站是無(wú)法知道你位置的。但如果你想要連接基站,只需要關(guān)閉飛行模式,打開信號(hào),就可以和基站重新連接起來。這就是摩拜單車需要實(shí)時(shí)連接服務(wù)器的原因。只有這樣才能實(shí)現(xiàn)單車在地圖上的定位以及掃碼開鎖。其實(shí)摩拜為了實(shí)現(xiàn)此功能也是大費(fèi)周章。因?yàn)檐囨i比較耗電,傳統(tǒng)電池是無(wú)法支撐的,所以摩拜的車采用了機(jī)械發(fā)電的原理。只要有人騎車,就會(huì)將機(jī)械能轉(zhuǎn)化為電能,給車鎖充電。這也解釋了為什么摩拜的車比較難騎,阻力大,車身重。
下面依據(jù)上述原理,畫出摩拜單車的程序流程圖

由上圖對(duì)比ofo的流程,可以看出摩拜采用的解決方案是將自行車與服務(wù)器連接。讓每一個(gè)自行車都成為一個(gè)終端,實(shí)時(shí)同步在整個(gè)地圖上面。這樣既獲得了良好的用車體驗(yàn),也收集到了用戶數(shù)據(jù)。就解決方案來看摩拜是比ofo完善很多的。

單車車鎖的藍(lán)牙解決方案

大家在用摩拜或ofo時(shí),可能經(jīng)常會(huì)看到提示:用藍(lán)牙解鎖更加快捷方便。那其實(shí)現(xiàn)原理是什么樣的呢?我們不妨推測(cè)一下。首先,用戶在打開藍(lán)牙后要讓單車解鎖,那就一定要和單車連接起來,否則不可能實(shí)現(xiàn)解鎖。那單車的藍(lán)牙就必須是實(shí)時(shí)打開的狀態(tài),以供任何時(shí)候用戶進(jìn)行解鎖。那這時(shí)又有一個(gè)問題,如果周圍有很多單車,那我的藍(lán)牙到底要和哪輛單車匹配呢?這時(shí)就體現(xiàn)出掃碼的作用了。我一定是掃碼的時(shí)候,告訴服務(wù)器:我要解鎖XX編號(hào)的單車。那服務(wù)器會(huì)返回給你這個(gè)單車的藍(lán)牙”口令”,你通過“口令”與附近的藍(lán)牙匹配,能匹配成功的一定是你想開的那輛自行車。因?yàn)槟闶謾C(jī)的藍(lán)牙和單車的藍(lán)牙距離非常近,藍(lán)牙匹配是非??焖俚?。所以,通常摩拜或ofo都會(huì)推薦大家使用藍(lán)牙解鎖,這樣的成功率更高,速度更快。就藍(lán)牙解決方案來說,ofo和摩拜其實(shí)沒有太大區(qū)別的。
至于藍(lán)牙解決方案的流程圖,就交給大家當(dāng)作本文的作業(yè)。如果你想檢驗(yàn)一下本文對(duì)你到底有沒有幫助,那么你可以嘗試去畫一畫藍(lán)牙解決方案的流程圖。相信我,非常簡(jiǎn)單的。
以上就是整個(gè)ofo與摩拜解決方案的對(duì)比,其中我也畫出了不同階段的流程圖?;究梢源砦曳治霭咐囊恍┧悸贰W钪饕倪€是讓大家能夠理解并應(yīng)用流程圖到日常產(chǎn)品設(shè)計(jì)與分析中。我們?cè)跇?gòu)建流程圖時(shí),如果能按照本文的方法,由業(yè)務(wù)到程序,由簡(jiǎn)單到復(fù)雜,那相信一定會(huì)讓自己的思路更加清晰順暢。

總結(jié)

本文從定義、分類以及畫法,分層講解了各種流程圖的特點(diǎn)。嘗試以教科書的方式來闡述其原理和機(jī)制。因?yàn)槟壳安]有統(tǒng)一的流程圖規(guī)范,所以文中難免有錯(cuò)誤和理解偏差,也希望大家能指證與交流。
雖然本文的目的是介紹流程圖,但其整個(gè)思維過程才是真正我想表達(dá)的核心。任何復(fù)雜事物都可以拆解為最小單元,然后由最小單元逐漸還原復(fù)雜事物。引申下去,這種思維方式其實(shí)是一種剖析事物的思維模型,熟練掌握以后可以套用于多種分析場(chǎng)景,希望以后有機(jī)會(huì)單獨(dú)寫一篇文章來詳細(xì)介紹思維模型。

附件下載

如果你想下載文中涉及的流程圖案例的源文件,請(qǐng)關(guān)注公眾號(hào)起點(diǎn)學(xué)院(ID:qidianxueyuan666)回復(fù)關(guān)鍵詞“流程圖”即可免費(fèi)下載。

參考引用:

  1. 流程_百度百科
  2. 產(chǎn)品經(jīng)理業(yè)務(wù)流程圖的繪制流程分享
  3. 如何繪制業(yè)務(wù)流程圖
  4. 談?wù)勴?yè)面流程圖(附案例)
  5. 產(chǎn)品設(shè)計(jì)流程系列:業(yè)務(wù)流程和流程圖介紹
  6. 眾云行第二彈:從BRD到頁(yè)面流程圖
  7. 數(shù)據(jù)流程圖_百度百科
  8. 解讀NB-Iot智能鎖:為何ofo和摩拜都要做NB-Iot智能鎖?

#專欄作家#

臻龍,人人都是產(chǎn)品專欄作家,全面發(fā)展型產(chǎn)品經(jīng)理,喜歡認(rèn)知心理學(xué)與神經(jīng)科學(xué),特別鐘愛討論抽象算法問題,歡迎撕逼交流。

本文為作者獨(dú)家發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)本站許可,禁止轉(zhuǎn)載。謝謝合作。

題圖來自u(píng)nsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 看過這么多關(guān)于流程圖,這個(gè)才是真干貨啊

    回復(fù)
  2. 干貨!新人受教了

    回復(fù)
  3. 寫的真的很詳細(xì)很系統(tǒng),干貨滿滿,收獲很多,感謝作者!

    回復(fù)
  4. 看完茅塞頓開,文章邏輯清晰,作者厲害,受教

    來自廣東 回復(fù)
  5. 很受用,感謝

    來自上海 回復(fù)
  6. 真是干貨,之前想寫流程圖,不知如何動(dòng)手,按照作者的方法,分析業(yè)務(wù)、功能,事半功倍。

    來自廣東 回復(fù)
  7. 每篇文章都這么有深度,夠?qū)W習(xí)很久了。特別是那篇寫文檔的,一直在學(xué)習(xí)。請(qǐng)收下我的膝蓋。

    來自浙江 回復(fù)
  8. 看了三四遍,很有收獲。作者好厲害。

    回復(fù)
  9. 看了之后,收獲頗豐

    回復(fù)
  10. 多謝多謝

    回復(fù)
  11. 這篇文章的引流效果應(yīng)該很不錯(cuò)

    來自廣東 回復(fù)
  12. 請(qǐng)收下我的膝蓋,這是我迄今為止看到流程圖講的最好的文章~

    回復(fù)
  13. 狗蛋兒男神,嘔心瀝血半年大作,6到起飛,快撈我上去,讓男神看到我! ??

    來自四川 回復(fù)
    1. 這妹子很open,我喜歡!

      來自廣東 回復(fù)
  14. 超贊 超專業(yè)

    來自廣東 回復(fù)
  15. 干貨,值得收藏

    來自湖北 回復(fù)
  16. 好東西,贊!

    回復(fù)
  17. 絕對(duì)干貨,謝謝分享!

    回復(fù)
  18. 太厲害了,感謝作者

    來自廣東 回復(fù)
  19. 很專業(yè),收藏了

    來自江蘇 回復(fù)
  20. 已收藏

    來自江蘇 回復(fù)
  21. 請(qǐng)問都是visio畫的嗎 ofo 摩拜那個(gè)怎么畫的

    來自北京 回復(fù)
  22. 有沒有相關(guān)介紹如何畫功能流程圖,頁(yè)面流程圖,數(shù)據(jù)流程圖之類的,感覺網(wǎng)上的好雜,也不知道哪個(gè)畫出來的是正確的。

    來自河南 回復(fù)
  23. 這個(gè)刁了,太全面…. :mrgreen:

    來自四川 回復(fù)
  24. 滿眼的收獲地址,哈哈;告訴我不止我一個(gè)

    來自上海 回復(fù)
  25. 受益匪淺

    來自重慶 回復(fù)
  26. 現(xiàn)在才知道原來網(wǎng)上流傳那個(gè)很專業(yè)的需求文檔也是作者的出品,厲害了!

    來自廣東 回復(fù)
    1. 是哪一份啊,求分享

      回復(fù)
  27. 不錯(cuò)不錯(cuò)

    來自北京 回復(fù)
  28. 閱讀感受真TMD爽!

    來自廣東 回復(fù)
  29. 這才是tmd 干貨 好知識(shí) 贊揚(yáng)?。?! ??

    來自浙江 回復(fù)
  30. mark

    回復(fù)