SERU最佳需求分析方法

16 評論 22597 瀏覽 554 收藏 10 分鐘

SERU需求分析是由徐峰老師于08年提出的一種以業(yè)務(wù)為驅(qū)動,實踐為載體的需求分析體系。個人認(rèn)為是一種理論最大化應(yīng)用到實際業(yè)務(wù)中的方式:把傳統(tǒng)的分析方法與建模理論應(yīng)用到實際業(yè)務(wù)中,再對業(yè)務(wù)中的場景和問題結(jié)合uml,rup分析的方法進行業(yè)務(wù)建模,具體問題抽象化找到最佳的解決路徑。有時候很多產(chǎn)品人在分析需求的時候只是憑一些邏輯分析的方法,通過幾個原型就去規(guī)劃信息系統(tǒng)或app的架構(gòu)正是缺少需求理論分析的表現(xiàn)。

SERU需求分析意為Subject Area,Event/Report,User case三個需求分析創(chuàng)建的層次。分別對應(yīng)了seru方法中三個重要的階段: 明確目標(biāo)和范圍(開天辟地)、理清脈絡(luò)和框架(涇渭分明)、填充需求細(xì)節(jié)(天圓地方);整個需求體系可劃分為需求定義、需求捕獲和需求分析, 通過主題域、事件、報表/管控點、用例四個關(guān)鍵分解項貫穿分析、建模和描述過程。我認(rèn)為這有點像畫素描的過程,首先把范圍以及大致的框架畫成型,然后畫出各部分的骨架以及結(jié)構(gòu)形成大致的形體,最后再添加每一個層次上的細(xì)節(jié)形成一幅完整的畫作。需求分析建模也是有種藝術(shù)的境界。
1

圖1 SERU模型

明確目標(biāo)和范圍

第一階段,明確目標(biāo)和范圍也就是需求的定義階段,在項目立項初始對需求范圍的梳理階段。這個階段的核心目標(biāo)是通過劃分主題域(subject)、標(biāo)示出每個主題域中的業(yè)務(wù)事件(event)和確定報表(report)的方式明確分析的范圍和目標(biāo)。在上一篇文章我已經(jīng)完整敘述了整個劃分和標(biāo)示的流程,在這里簡單地說一下。筆者提倡一種自上而下、逐層分解的分析思路。 在這個階段需要按照業(yè)務(wù)流程來劃分,以”事”為線索貫穿系統(tǒng),用uml中的構(gòu)件圖建模并表達業(yè)務(wù)流程抽象化的過程。首先應(yīng)該按照業(yè)務(wù)的職責(zé)區(qū)塊來劃分子系統(tǒng),然后根據(jù)實現(xiàn)關(guān)系及使用關(guān)系標(biāo)示出各系統(tǒng)之間的接口并且在這個階段分析各子主題域之間的關(guān)系,最后一步進行主題域范圍的明確,界定每個主題域內(nèi)進行的功能以及相關(guān)的事件并且要考慮到Customer與Worker之間的關(guān)系。找到系統(tǒng)中所有的客戶,考慮這些客戶會引起什么事件的發(fā)生,這些事件會引起Worker什么樣的工作,將這些都考慮進來。然后再補充Worker主動發(fā)起的動作,那么一個系統(tǒng)的所有事件就能沒有遺漏地梳理完整了。
2

圖2 劃分子系統(tǒng),確定關(guān)系

理清脈絡(luò)和框架

第二階段,理清脈絡(luò)階段就是對業(yè)務(wù)粒度的細(xì)化。該階段的任務(wù)就是對每個業(yè)務(wù)事件、每類報表進行人事物三者之間關(guān)系的分析,并標(biāo)示出絕大部分的用例。需求先分解再提煉,第一階段是需求分解并形成組織架構(gòu)的階段,在第二階段就是對需求進行提煉的過程。前面說過分解是一個自上而下的過程,那么按照一種線索進行分解時多個業(yè)務(wù)時間就會產(chǎn)生相互交疊的情況。提煉就是一種自底向上的方式將每個業(yè)務(wù)事件的類進行提煉,抽取出共性的部分,建立針對整個系統(tǒng)的全局領(lǐng)域模型。我們可以使用uml中的領(lǐng)域類圖、流程圖和用例圖來理清需求的結(jié)構(gòu)框架和行為脈絡(luò),把業(yè)務(wù)事件列表以及報表輸出成領(lǐng)域模型和用例模型。業(yè)務(wù)流程的梳理應(yīng)該是每個產(chǎn)品人的基本功,在這里我推薦使用跨職責(zé)流程圖以及完善的活動圖提煉出業(yè)務(wù)模型。
3

圖3 跨職責(zé)流程圖
4

圖4 活動圖

那么通過模型,我們可以看到子系統(tǒng)內(nèi)業(yè)務(wù)流轉(zhuǎn)的過程,從而確定邏輯關(guān)系以及數(shù)量關(guān)系??偠灾砬迕}絡(luò)的方式可以通過uml中各種圖例幫助產(chǎn)品人員理清業(yè)務(wù)流程,建立起完善的業(yè)務(wù)邏輯模型。在這里要善于合也要善于舍,合并提煉相同的業(yè)務(wù)類,舍棄細(xì)節(jié)的干擾,整理出子系統(tǒng)內(nèi)層次清晰的架構(gòu)。
5

圖5 梳理脈絡(luò)并且進行建模

填充需求細(xì)節(jié)

第三個階段是填充細(xì)節(jié)階段,該階段的任務(wù)就是填充每個用例的實現(xiàn)細(xì)節(jié),以便于開發(fā)人員進行具體的實現(xiàn)。往往產(chǎn)品人員在考慮需求范圍的時候只考慮到功能性需求,在這個階段要對非功能性需求以及設(shè)計約束進行更細(xì)致的補充。這個階段的任務(wù)是對用例模型、領(lǐng)域模型標(biāo)示出用例、領(lǐng)域類的細(xì)節(jié)進行填充。對于組織行為需求的用例,我們要填充用例的事件流;對于組織數(shù)據(jù)(結(jié)構(gòu))需求的領(lǐng)域類,我們要填充它的字段與格式。很多產(chǎn)品人員在歸納用例的時候會采用“先人后事”的思路,這種方式很容易陷入誤區(qū)。我們應(yīng)該講人(角色,參與者)和事(場景,用例)分開考慮,在確定他們的關(guān)聯(lián)時,要先事后人地考慮。用例說明可以分為兩個層次,第一個層次重點關(guān)注業(yè)務(wù)活動的變化以及其中的約束條件,另外一個層次就是交互/界面在視覺層次上的建模和細(xì)化。這兩個層次其實是縱深對應(yīng)的關(guān)系,先考慮業(yè)務(wù)和規(guī)則,再考慮前端的交互和界面展示。在這個階段不單單是對業(yè)務(wù)的考慮,同時前置條件,后置條件,基本事件流程,拓展事件流程,子事件流程都是用例的核心部分。
6

圖6 填充需求細(xì)節(jié)

總結(jié)

在需求分析,架構(gòu)系統(tǒng)的時候往往我們產(chǎn)品人員會把大量的時間花在探索“怎么做”,很少對現(xiàn)實業(yè)務(wù)的整個過程進行思考。SERU需求分析的核心是從“人,事,物,接口”四條主線著手,沿著業(yè)務(wù)的脈絡(luò)(業(yè)務(wù)主題域-業(yè)務(wù)事件/流程報表-業(yè)務(wù)活動-業(yè)務(wù)步驟)進行有機的分解,再以建模(構(gòu)建-流程圖-用例-事件流)的方式實現(xiàn)定向的需求分析。先從廣義上對問題進行系統(tǒng)的拆分,以子系統(tǒng)的方式單獨成一個封閉的集合,接下來考慮集合與集合之間的關(guān)系,最后完善集合內(nèi)部符合業(yè)務(wù)流轉(zhuǎn)的玩法。實際上我認(rèn)為這個過程很像古代治國的方式,三個步驟對應(yīng)著確定國家邊界,國與國之間的延展,國內(nèi)的治理。或許徐峰老師自身體現(xiàn)的也是一種設(shè)計系統(tǒng)架構(gòu)的兵家思想。

 

本文由 @justinlam(知乎id:justinlam) 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理?,未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 這是傳統(tǒng)的需求分析方法,是否適用于產(chǎn)品分析?我不知道

    來自廣東 回復(fù)
  2. 說的太復(fù)雜了,不是很能理解。

    來自四川 回復(fù)
  3. 謝謝樓主分享

    來自廣東 回復(fù)
  4. 學(xué)習(xí)到了,之前看了volere的需求分析方法,和作者seru分析有點類似,請問有沒有什么具體的案例可以參考學(xué)習(xí)一下呢,謝謝!

    來自廣東 回復(fù)
    1. volere的需求分析方法是《掌握需求過程》這本書的,seru的分析方法是徐峰的《軟件需求最佳實踐》這本書的。后者有參考和借鑒前者。

      來自廣東 回復(fù)
  5. 領(lǐng)教,領(lǐng)教,學(xué)習(xí)學(xué)習(xí)

    來自安徽 回復(fù)
  6. 理論很好,文字好難讀,感覺好生硬

    來自廣東 回復(fù)
    1. 感同身受

      來自四川 回復(fù)
  7. 誰能告訴我文中說的上一篇是哪一篇

    來自湖北 回復(fù)
  8. 上一篇文章是那一片啊 作者怎么不說明啊

    來自湖北 回復(fù)
    1. 同求

      來自江蘇 回復(fù)
    2. 在上一篇文章我已經(jīng)完整敘述了整個劃分和標(biāo)示的流程,同求

      來自北京 回復(fù)
  9. 沒圖 ?? ??

    來自遼寧 回復(fù)
  10. 樓主,看不到圖片哎

    來自安徽 回復(fù)