UML建模方法論(上):建模初期的準(zhǔn)備

10 評(píng)論 26372 瀏覽 282 收藏 18 分鐘

建模語言很重要,建模思想更重要。

接下來大家將會(huì)看到的是一個(gè)系列的文章,分為上中下三篇。本文是第一篇,我將以我在實(shí)際工作中遇到的情景作為案例和大家分享我的“建模方法論”。這個(gè)方法論是我通過看書和自己的思考,再加上工作中的實(shí)際經(jīng)驗(yàn)總結(jié)而來。

建模方法論的概況

1. 整個(gè)建模方法論的結(jié)構(gòu)

2. 為什么需要掌握建模技術(shù)

1)幫你從業(yè)務(wù)出發(fā)推導(dǎo)出具體要做的功能

在我們從0-1 打造一個(gè)軟件的時(shí)候,我們面臨著這樣的問題,這個(gè)軟件應(yīng)該有哪些模塊?每個(gè)模塊有哪些功能?

如果是一個(gè)面向C端的產(chǎn)品,有可能你自己就是一個(gè)目標(biāo)用戶,你可以將自己代入情景,尋找痛點(diǎn),找到要做的功能。

可是,如果是一個(gè)面向B端的產(chǎn)品,因?yàn)锽端軟件的業(yè)務(wù)屬性非常重,如果你對(duì)業(yè)務(wù)不是那么熟悉,那么在一開始你可能對(duì)于上面提到的兩個(gè)問題會(huì)感到?jīng)]有頭緒。即使你對(duì)業(yè)務(wù)非常熟悉,也不一定就能保證你做出的軟件符合業(yè)務(wù)的要求。

因?yàn)?,在熟悉業(yè)務(wù)和做出符合業(yè)務(wù)要求的軟件之間,還有一個(gè)鴻溝,你需要掌握建模技術(shù)幫你跨越這條鴻溝。

2)進(jìn)入大廠的必備技能

騰訊對(duì)于產(chǎn)品經(jīng)理的要求分為通用能力、專業(yè)知識(shí)、專業(yè)技能、組織影響力這幾個(gè)大的模塊,在最重要的專業(yè)技能模塊中包含了對(duì)產(chǎn)品規(guī)劃能力的要求,具體又劃分為5個(gè)等級(jí),其中第3等級(jí)的標(biāo)準(zhǔn)中就包含了對(duì)建模能力的要求。

名詞說明

為了大家看文章的過程更加的順暢,這里對(duì)一些基礎(chǔ)的名詞做一些說明。

1. 業(yè)務(wù)

百度定義:“業(yè)務(wù)”更白話一些來說,就是各行業(yè)中需要處理的事務(wù)。

我的定義:公司為了實(shí)現(xiàn)某個(gè)目標(biāo)而需要開展的工作,或者所需要處理的事務(wù)。

2. 建模

百度定義:建模就是建立模型,就是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無歧義的書面描述。

我的定義:建模是一個(gè)過程,目的是為了把復(fù)雜的事物用圖形或者文字的方式描述出來,便于自己思考和他人的理解,最后輸出的可能是一些圖形或文字的說明;在軟件領(lǐng)域里主要使用UML來進(jìn)行建模。

3. UML

UML全稱是Unified Modeling Language,統(tǒng)一建模語言。

很多人認(rèn)為學(xué)會(huì)了UML就學(xué)會(huì)了建模,這種想法真是大錯(cuò)特錯(cuò)。UML僅僅是我們用來建模的工具,是否真的會(huì)建模取決于你的建模思維,不同的人使用UML建立的模型可謂天差地別。就好比你學(xué)會(huì)了Java編程語言,并不能表明你是個(gè)優(yōu)秀的程序員,你是否是個(gè)優(yōu)秀的程序員取決于你的編程思維。

閱讀本篇文章需要讀者具備一定的UML基礎(chǔ)知識(shí),這樣可以更好地幫助你看懂本文中的一些術(shù)語。不懂UML的小伙伴也不用沮喪,可以先把文章看完,回頭再去充充電,UML學(xué)起來很快的。

建模第一步:了解業(yè)務(wù)概況

所謂業(yè)務(wù)概況,就是先大致了解下公司有哪些業(yè)務(wù),這些業(yè)務(wù)是如何配合從而支撐起公司的運(yùn)轉(zhuǎn)。我們只需要把最主要的業(yè)務(wù)環(huán)節(jié)梳理出來即可,每個(gè)業(yè)務(wù)環(huán)節(jié)具體不需要非常細(xì)致。

我所在的教育培訓(xùn)行業(yè)的業(yè)務(wù)概況:

目的:了解業(yè)務(wù)概況的目的,是讓我們對(duì)于客戶公司的業(yè)務(wù)有一個(gè)大致的認(rèn)知,為我們接下來開展工作奠定基礎(chǔ)。

如何了解業(yè)務(wù)概況

  • 我們可以通過一些行業(yè)分析報(bào)告,或者在網(wǎng)上找到這樣的資料;
  • 如果是給自己的公司做管理軟件,我們也可以通過簡單的調(diào)研了解業(yè)務(wù)概況。

建模第二步:找到業(yè)務(wù)目標(biāo)

1. 什么是業(yè)務(wù)目標(biāo)

簡單說,業(yè)務(wù)目標(biāo)就是客戶或者公司對(duì)于軟件系統(tǒng)的期望??蛻粝M孟到y(tǒng)來做什么,即建設(shè)系統(tǒng)的目的是什么、準(zhǔn)備用它來做什么。

舉例:

  • 為市場(chǎng)人員提供線索管理系統(tǒng);
  • 幫助銷售部管理好客戶,提高銷售部的工作效率;
  • 采集營銷和管理數(shù)據(jù),進(jìn)行商業(yè)分析,提供決策支持。

2. 找到業(yè)務(wù)目標(biāo)的作用

為我們大致劃分了系統(tǒng)將涉及到的業(yè)務(wù)范圍,為后續(xù)的調(diào)研決定了方向。

3. 如何獲取業(yè)務(wù)目標(biāo)

在實(shí)際工作中,業(yè)務(wù)目標(biāo)一般是公司高層領(lǐng)導(dǎo)或者項(xiàng)目發(fā)起人提出來的。比如公司的CEO可能希望為公司開發(fā)一款軟件,用于提高公司辦公效率,節(jié)約公司運(yùn)營成本,也有可能是IT部門根據(jù)公司的業(yè)務(wù)狀況整理得到的。

注意:客戶提出的業(yè)務(wù)目標(biāo)需要評(píng)估后,才能知道軟件是否能夠支持到這些業(yè)務(wù)目標(biāo)。

建模第三步:涉眾分析

1. 什么是涉眾

涉眾是與要建設(shè)的業(yè)務(wù)系統(tǒng)相關(guān)的一切人和事。

首先,要明確的一點(diǎn)是,涉眾不等于用戶,通常意義上的用戶是指系統(tǒng)的使用者,而這僅是涉眾中的一部分。

如何理解與業(yè)務(wù)系統(tǒng)相關(guān)的一切人和事呢?

凡是與這個(gè)項(xiàng)目有利益關(guān)系的人和事都是涉眾,他們都可能對(duì)系統(tǒng)建設(shè)造成影響。

目的:為后續(xù)進(jìn)行業(yè)務(wù)建模分析業(yè)務(wù)主角做準(zhǔn)備。

2. 如何發(fā)現(xiàn)涉眾

大家可以從以下大類去尋找涉眾:

1)業(yè)主

① 業(yè)主和業(yè)務(wù)方的區(qū)別:

業(yè)主是系統(tǒng)建設(shè)的出資方、投資者。雖然大多數(shù)情況下業(yè)主指的就是系統(tǒng)的需求提出者和使用者,即業(yè)務(wù)方,但并不是絕對(duì)的。

比如,可以假設(shè)系統(tǒng)建設(shè)是由一家國際風(fēng)險(xiǎn)投資機(jī)構(gòu)投資的,它本身井不管理和運(yùn)營這個(gè)系統(tǒng),它只是從資本上擁有這個(gè)系統(tǒng)并從運(yùn)營收入中獲得回報(bào)。

即使業(yè)主與業(yè)務(wù)主是重合的, 但是業(yè)主從概念上講井不等于業(yè)務(wù)方,他們關(guān)心的內(nèi)容是不一樣的。了解業(yè)主的期望是必需的和重要的,業(yè)主的錢是這個(gè)項(xiàng)目存在的原因。若系統(tǒng)建設(shè)不符合業(yè)主的期望,撤回投資,那么再好的愿望也是空的。

② 業(yè)主關(guān)心的點(diǎn):

一般來說,業(yè)主關(guān)心的是建設(shè)成本、建設(shè)周期以及建成后的效益。

雖然這些看上去與系統(tǒng)需求沒什么大的關(guān)系,但是建設(shè)成本、建設(shè)周期將直接影響到你可以采用的技術(shù),可以選用的軟件架構(gòu),可以承受的系統(tǒng)范圍。

一個(gè)不能達(dá)到業(yè)主成本和周期要求的項(xiàng)目是一個(gè)失敗的項(xiàng)目,同樣,一個(gè)達(dá)到了業(yè)主成本和周期要求,但卻沒有賺到錢的項(xiàng)目仍然是一個(gè)失敗的項(xiàng)目。

2)業(yè)務(wù)提出者

① 業(yè)務(wù)提出者簡介:

業(yè)務(wù)提出者是業(yè)務(wù)范圍、業(yè)務(wù)模式和業(yè)務(wù)規(guī)則的制定者,一般是指業(yè)務(wù)方的高層人物,比如CEO、高級(jí)經(jīng)理等。他們制定業(yè)務(wù)規(guī)則,圈定業(yè)務(wù)范圍,規(guī)劃業(yè)務(wù)目標(biāo)。他們的期望十分十分重要。實(shí)際上,系統(tǒng)建設(shè)正是業(yè)務(wù)提出者經(jīng)營目標(biāo)和管理意志的體現(xiàn)。

雖然他們的期望一般都比較原則化和粗略化,但是卻不能違反和誤解,否則系統(tǒng)將有徹底失敗的危險(xiǎn)。換句話說,業(yè)務(wù)提出者的期望是系統(tǒng)建設(shè)的最高綱領(lǐng)。

② 業(yè)務(wù)提出者關(guān)心的點(diǎn):

業(yè)務(wù)提出者一般最關(guān)心系統(tǒng)建設(shè)能夠帶來的社會(huì)影響、效率提升、管理改進(jìn)、成本節(jié)約等宏觀效果。換句話說,他們只關(guān)心統(tǒng)計(jì)意義而不關(guān)心具體細(xì)節(jié)。

但是,如果建設(shè)完成的系統(tǒng)不能給出他們滿意的統(tǒng)計(jì)結(jié)果,這必定是一個(gè)失敗的項(xiàng)目.在系統(tǒng)建設(shè)過程的溝通中,他們的意志一般是極少妥協(xié)的,系統(tǒng)分析員不必太費(fèi)心去試圖說服他們接受一個(gè)與他們意志相左的方案。

實(shí)際上,由于他們的期望是非常原則化和粗略化的,因此留給了系統(tǒng)建設(shè)者很大的調(diào)整空間和規(guī)避風(fēng)險(xiǎn)的余地。

3)業(yè)務(wù)管理者

① 業(yè)務(wù)管理者簡介:

業(yè)務(wù)管理者是指實(shí)際管理和監(jiān)督業(yè)務(wù)執(zhí)行的人員, 一般是指中層干部,他們將業(yè)務(wù)提出者的意志付諸實(shí)施,并監(jiān)督底層員工工作的作用。他們的期望也很重要,一般也是系統(tǒng)的主要用戶之一。

② 業(yè)務(wù)管理者的關(guān)心點(diǎn):

業(yè)務(wù)管理者關(guān)心系統(tǒng)將如何實(shí)現(xiàn)他們的管理職能,如何能方便地得知業(yè)務(wù)執(zhí)行情況,如何下達(dá)指令、如何得到反饋、如何評(píng)估結(jié)果等。

業(yè)務(wù)管理者的期望相對(duì)比較細(xì)節(jié),是需求調(diào)研過程中最重要的信息來源。系統(tǒng)建設(shè)的好壞與業(yè)務(wù)管理者的關(guān)系最多,也是系統(tǒng)分析員最需要下功夫的。

業(yè)務(wù)流程、業(yè)務(wù)規(guī)則、業(yè)務(wù)模式等絕大部分來自業(yè)務(wù)管理者。系統(tǒng)分析員必須要把業(yè)務(wù)管理者的思路想法弄清楚,業(yè)務(wù)建模的結(jié)果也必須與業(yè)務(wù)管理者達(dá)成一致。

業(yè)務(wù)管理者應(yīng)當(dāng)成為需求評(píng)審小組的成員,如果可能,他們甚至應(yīng)當(dāng)成為需求分析小組的成員與系統(tǒng)分析員一同工作。

③ 對(duì)于業(yè)務(wù)管理者的期望可以提出建議:

在系統(tǒng)建設(shè)過程中,業(yè)務(wù)管理者的期望可以有所妥協(xié),一個(gè)經(jīng)驗(yàn)豐富的系統(tǒng)分析員可以給他們灌輸合理的管理方式,提供可替代的管理方法,以規(guī)避導(dǎo)致高技術(shù)風(fēng)險(xiǎn)或高成本。

4)業(yè)務(wù)執(zhí)行者

① 業(yè)務(wù)執(zhí)行者是哪些人:

業(yè)務(wù)執(zhí)行者是指底層的業(yè)務(wù)操作人員,是與將來的計(jì)算機(jī)直接交互最多的人員。

他們最關(guān)心的內(nèi)容是系統(tǒng)會(huì)給他們帶來什么樣的方便,會(huì)怎樣的改變他們的工作模式。

② 業(yè)務(wù)執(zhí)行者的需求的特點(diǎn):

業(yè)務(wù)執(zhí)行者的需求最為細(xì)節(jié),系統(tǒng)的可用性、友好性、運(yùn)行效率等與他們關(guān)系最多。

系統(tǒng)界面風(fēng)格、操作方式、數(shù)據(jù)展現(xiàn)方式、錄入方式、業(yè)務(wù)細(xì)節(jié)都需要從他們這里了解。他們將成為系統(tǒng)是否成功的試金石。系統(tǒng)的界面風(fēng)格、操作方式、表單細(xì)節(jié)等是系統(tǒng)分析員向他們調(diào)研時(shí)需要多下功夫的地方。

③ 管理業(yè)務(wù)執(zhí)行者的期望:

這類人員的期望靈活性最大,也最容易說服和妥協(xié)。同時(shí),他們的期望又往往是最不統(tǒng)一的,各種各樣的古怪要求都有。

但是,不管他們的期望有多古怪,都必須服從業(yè)務(wù)管理者的期望。系統(tǒng)分析員需要做的事情是從他們的各種期望中找出普遍意義,解決大部分人的問題,對(duì)于特殊的問題盡量予以說服,必要時(shí)可以依靠說服業(yè)務(wù)管理者,來影響和消除那些不合理的期望。

5)第三方

第三方是指與這項(xiàng)業(yè)務(wù)有關(guān)系的,但并非業(yè)務(wù)方的其他人或事。比如購物網(wǎng)站系統(tǒng),如果交易雙方是通過網(wǎng)上銀行完成支付交易的,則網(wǎng)上銀行就成為了購物網(wǎng)站系統(tǒng)的一個(gè)涉眾;如果貨物是通過郵政系統(tǒng)交付的,那么郵政系統(tǒng)就成為購物網(wǎng)站系統(tǒng)的一個(gè)涉眾。

一般來說,第三方的期望對(duì)系統(tǒng)來說不會(huì)產(chǎn)生什么決定性影響,但大多會(huì)起到限制作用,成為系統(tǒng)的一個(gè)約束。通常,在最終系統(tǒng)中,這些期望將體現(xiàn)為標(biāo)準(zhǔn)、協(xié)議和接口。

另一種典型的第三方是項(xiàng)目監(jiān)理,項(xiàng)目監(jiān)理的期望也會(huì)對(duì)系統(tǒng)建設(shè)起到約束作用。

6)承建方

承建方,也就是你的老板。實(shí)際上老板的期望也是不容忽視的。

通常老板關(guān)心的是通過這個(gè)項(xiàng)目是否能賺到錢、是否能積累核心競爭力、是否能樹立品牌、是否能開拓市場(chǎng)等。老板的期望將很大的影響—個(gè)項(xiàng)目的運(yùn)作模式、技術(shù)選擇、架構(gòu)建立和范圍確定。

比如,如果老板試圖通過這個(gè)項(xiàng)目打開和培育一個(gè)新興市場(chǎng),樹立起公司品牌,并不惜成本,那么系統(tǒng)分析員就要盡可能的深入挖掘潛在業(yè)務(wù),建立擴(kuò)展能力很強(qiáng),但成本較高的業(yè)務(wù)架構(gòu);選擇那些比較新、具有一定領(lǐng)先優(yōu)勢(shì)但風(fēng)險(xiǎn)較高的技術(shù)。

反之,如果老板只想通過這個(gè)項(xiàng)目賺更多的錢,關(guān)心的是投入產(chǎn)出比,那么系統(tǒng)分析員就需要引導(dǎo)業(yè)務(wù)方壓縮業(yè)務(wù)范圍,選擇風(fēng)險(xiǎn)小的成熟技術(shù)。甚至可能放棄成本較高的架構(gòu)化開發(fā)模式,僅僅考慮系統(tǒng)的可維護(hù)性是否能夠接受,而較少考慮系統(tǒng)擴(kuò)展能力。

一個(gè)業(yè)主滿意但老板不滿意的項(xiàng)目,恐怕也不是一個(gè)成功的項(xiàng)目吧?

7)相關(guān)的法律法規(guī)

相關(guān)的法律法規(guī)是一個(gè)很重要的,但也最容易被忽視的涉眾。

這里的法律法規(guī),既指國家和地方法律法規(guī),也指行業(yè)規(guī)范和標(biāo)準(zhǔn)。例如,服務(wù)行業(yè)建立客戶檔案,就必須保障客戶的隱私權(quán),系統(tǒng)設(shè)計(jì)時(shí)就不能夠?qū)⑸婕半[私的信息向非授權(quán)用戶開放。

極端情況下,業(yè)務(wù)方有時(shí)提出來的一些需求違反了法律法規(guī),系統(tǒng)分析員如果知曉則應(yīng)當(dāng)指出來,說服無果的情況下則應(yīng)當(dāng)與老板商量在合同里留下免責(zé)條款。

另外,有時(shí)必須得遵守一些行業(yè)規(guī)范?,F(xiàn)在許多行業(yè)都有本行業(yè)的信息系統(tǒng)建設(shè)標(biāo)準(zhǔn),如信息安全標(biāo)準(zhǔn)系統(tǒng)建設(shè)時(shí)就必須考慮信息安全的問題。

3. 制作涉眾匯總表格

在分析完涉眾后,我們可以簡單整理成表格,為我們后續(xù)的調(diào)研打下基礎(chǔ),知道哪塊業(yè)務(wù)去找哪些人。

至此前三個(gè)步驟告一段落,后面的兩個(gè)步驟是整個(gè)建模過程的核心,將會(huì)在接下來的一周內(nèi)分享給大家。

 

作者:一點(diǎn)優(yōu)秀,教育行業(yè)產(chǎn)品經(jīng)理,微信號(hào):gentleman52520,歡迎交流

本文由 @一點(diǎn)優(yōu)秀 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 沒看懂~

    來自河北 回復(fù)
  2. 講得不清晰啊

    來自陜西 回復(fù)
  3. 騰訊對(duì)產(chǎn)品經(jīng)理能力框架的定義能提供一份嗎?謝謝ducow@qq.com

    回復(fù)
    1. 伸手黨?

      回復(fù)
    2. 和你有啥關(guān)系

      來自北京 回復(fù)
    3. 反正和你沒關(guān)系,呵呵

      來自貴州 回復(fù)
  4. 這是《大象UML》的知識(shí)吧。請(qǐng)標(biāo)注申明

    回復(fù)
    1. 《Thinking in UML》譚云杰老師,沒錯(cuò)~

      來自香港 回復(fù)
  5. ????????期待下一篇

    回復(fù)
  6. 沙發(fā)沙發(fā) 碼了再看 :mrgreen:

    來自四川 回復(fù)