SERU最佳需求分析方法

16 評(píng)論 22529 瀏覽 554 收藏 10 分鐘

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

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

圖1 SERU模型

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

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

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

理清脈絡(luò)和框架

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

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

圖4 活動(dòng)圖

那么通過模型,我們可以看到子系統(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ò)并且進(jìn)行建模

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

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

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

總結(jié)

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    來自安徽 回復(fù)