SERU最佳需求分析方法
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 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 劃分子系統(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ù)模型。
圖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 梳理脈絡(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 填充需求細(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)載。
這是傳統(tǒng)的需求分析方法,是否適用于產(chǎn)品分析?我不知道
說的太復(fù)雜了,不是很能理解。
謝謝樓主分享
學(xué)習(xí)到了,之前看了volere的需求分析方法,和作者seru分析有點(diǎn)類似,請(qǐng)問有沒有什么具體的案例可以參考學(xué)習(xí)一下呢,謝謝!
volere的需求分析方法是《掌握需求過程》這本書的,seru的分析方法是徐峰的《軟件需求最佳實(shí)踐》這本書的。后者有參考和借鑒前者。
領(lǐng)教,領(lǐng)教,學(xué)習(xí)學(xué)習(xí)
理論很好,文字好難讀,感覺好生硬
感同身受
誰(shuí)能告訴我文中說的上一篇是哪一篇
https://www.zhihu.com/people/hannah-56-7/activities我想可能是這一篇,如何畫構(gòu)件圖
上一篇文章是那一片啊 作者怎么不說明啊
同求
在上一篇文章我已經(jīng)完整敘述了整個(gè)劃分和標(biāo)示的流程,同求
沒圖 ?? ??
樓主,看不到圖片哎