需求的表達(dá):能用圖講的就別用文字。
統(tǒng)一建模語(yǔ)言(UML吹缔,UnifiedModelingLanguage)是面向?qū)ο筌浖臉?biāo)準(zhǔn)化建模語(yǔ)言煤蚌。UML因其簡(jiǎn)單、統(tǒng)一的特點(diǎn)舷礼,而且能表達(dá)軟件設(shè)計(jì)中的動(dòng)態(tài)和靜態(tài)信息泻轰,目前已成為可視化建模語(yǔ)言的工業(yè)標(biāo)準(zhǔn)。
UML統(tǒng)一建模語(yǔ)言建立了一套采用圖解需求的標(biāo)準(zhǔn)方法且轨,用它來(lái)解析和呈現(xiàn)業(yè)務(wù)需求浮声,就能事半功倍~接下來(lái)詳細(xì)說(shuō)下需求文檔中用圖說(shuō)到的事兒虚婿。
用流程圖呈現(xiàn)業(yè)務(wù)流程
先簡(jiǎn)單講講畫(huà)流程圖的需要知道的基本元素
組成流程圖的元素
- 開(kāi)始/結(jié)束 Begin/End
用于描述一個(gè)流程的開(kāi)始和結(jié)束。 - 活動(dòng)Action
是描述一個(gè)業(yè)務(wù)流程中最基本的步驟泳挥,用來(lái)描述對(duì)象的一個(gè)動(dòng)作然痊,比如一次點(diǎn)擊、一次選擇屉符。 - 判斷Judge
用于描述業(yè)務(wù)流程中需要根據(jù)條件進(jìn)行判斷的步驟剧浸,比如系統(tǒng)根據(jù)數(shù)值大小系統(tǒng)會(huì)提供有不同信息。 - 子流程/其他流程Subflow
比較復(fù)雜的流程圖往往是先用一個(gè)比較大的粒度(稱為一級(jí)流程)先去描述的矗钟,因?yàn)樵谶@些流程中唆香,往往會(huì)包含一些子流程,在一級(jí)流程中吨艇,不便將子流程的細(xì)節(jié)展示出來(lái)躬它,就可以先用它來(lái)表示。 - 連接線Connection line
用于連接活動(dòng)东涡,并指明下一步冯吓,更重要的是,在連接線上疮跑,還可以填寫一些額外的信息组贺。
用“在超市購(gòu)物完后結(jié)賬時(shí)的流程”舉個(gè)??:
基本步驟.png
由于大家對(duì)這個(gè)超市結(jié)賬的流程都比較熟悉,可以腦補(bǔ)出以上步驟所對(duì)應(yīng)的角色祖娘,但是面對(duì)千千萬(wàn)萬(wàn)的業(yè)務(wù)場(chǎng)景失尖,可能用以上簡(jiǎn)單的步驟圖就描述不出來(lái)了,接下來(lái)簡(jiǎn)單介紹可以用到的泳道圖渐苏。
結(jié)合泳道區(qū)分流程中的角色
在描述流程中活動(dòng)的時(shí)候雹仿,可以使用泳道來(lái)區(qū)分角色即“誰(shuí)做的什么事情”。如圖:
實(shí)體關(guān)系圖
產(chǎn)品經(jīng)理在了解業(yè)務(wù)的流程后整以,為了便于后續(xù)的產(chǎn)品設(shè)計(jì)工作胧辽,還需要關(guān)注業(yè)務(wù)中的數(shù)據(jù)關(guān)系,接下來(lái)簡(jiǎn)單講下可以用到的實(shí)體關(guān)系圖公黑。
E-R圖為實(shí)體-聯(lián)系圖邑商,提供了表示實(shí)體型、屬性和聯(lián)系的方法凡蚜,用來(lái)描述現(xiàn)實(shí)世界的概念模型人断。實(shí)體關(guān)系圖表示在信息系統(tǒng)中概念模型的數(shù)據(jù)存儲(chǔ)。
實(shí)體關(guān)系圖朝蜘,又稱做ER圖恶迈,用來(lái)描述實(shí)體間的數(shù)據(jù)關(guān)系。
以上ER圖(只畫(huà)了一部分實(shí)體關(guān)系谱醇,像賬單等實(shí)體省略掉了)表示:
- 一個(gè)營(yíng)業(yè)員可以為多個(gè)顧客執(zhí)行結(jié)賬流程
- 一個(gè)顧客可以購(gòu)買多種物品
- 一種物品也可以被多個(gè)顧客購(gòu)買
- 一個(gè)營(yíng)業(yè)員也可以掃描多種物品
產(chǎn)品經(jīng)理在需求分析時(shí)暇仲,還需要理清每個(gè)實(shí)體的屬性步做,也就是對(duì)于一個(gè)實(shí)體【顧客】,它有哪些數(shù)據(jù)屬性奈附,比如顧客的手機(jī)號(hào)全度、性別、年齡斥滤、是否是VIP等等将鸵。B端產(chǎn)品經(jīng)理經(jīng)常會(huì)設(shè)計(jì)配置后臺(tái)等產(chǎn)品,用戶在配置后臺(tái)進(jìn)行創(chuàng)建佑颇、刪除顶掉、編輯、搜索等操作就是對(duì)數(shù)據(jù)的CRUD(增刪改查)挑胸,理清了這些數(shù)據(jù)屬性痒筒,我們可以試著從數(shù)據(jù)角度進(jìn)行需求的探索,即對(duì)需求進(jìn)行查漏補(bǔ)缺嗜暴。
舉個(gè)??-賬單實(shí)體:
- 創(chuàng)建:顧客結(jié)賬,收營(yíng)員掃描完該顧客的所有物品時(shí)议蟆,生成一份賬單闷沥。
- 修改:收營(yíng)員在掃描錯(cuò)誤物品時(shí),會(huì)有編輯的需求咐容。
- 刪除:對(duì)于收營(yíng)員或顧客來(lái)說(shuō)舆逃,好像沒(méi)有刪除的需求。
- 查詢:當(dāng)超市的會(huì)計(jì)對(duì)某份賬單有疑問(wèn)時(shí)戳粒,可能會(huì)有搜索的需求路狮。
數(shù)據(jù)流圖
數(shù)據(jù)流圖可以呈現(xiàn)數(shù)據(jù)的扭轉(zhuǎn),用戶在系統(tǒng)中的每一步操作可以說(shuō)都存在數(shù)據(jù)的輸入和輸出蔚约,了解這些不僅能讓產(chǎn)品經(jīng)理自身更清楚產(chǎn)品的功能和范圍奄妨,還能跟開(kāi)發(fā)更好地溝通。完整的數(shù)據(jù)流圖難度較大苹祟,一般不做要求砸抛,有興趣的可以去了解數(shù)據(jù)流圖。
需求文檔的內(nèi)容結(jié)構(gòu):
- 需求名稱
- 背景
- 目標(biāo)/收益
- 功能需求
- 業(yè)務(wù)概念
- 流程展示
- 需求描述
- 非功能需求
需求名稱
概括性地描述這是一件什么樣的事情以及要實(shí)現(xiàn)的目標(biāo)树枫,這可能是產(chǎn)品的名稱也可能是項(xiàng)目的名稱直焙。
背景
背景主要是說(shuō)明為什么要做這個(gè)需求,通常是說(shuō)明現(xiàn)狀及現(xiàn)狀帶來(lái)的問(wèn)題砂轻。
目標(biāo)/收益
講清楚做了這個(gè)需求后預(yù)計(jì)達(dá)到的目標(biāo)或是收益奔誓,比如能賺多少錢、能節(jié)省多少人力等等
需求范圍
在這里可以把需求以列表的方式概括性展示出來(lái)搔涝,可以讓團(tuán)隊(duì)成員大概知道這些需求包含哪些內(nèi)容厨喂,便于后續(xù)評(píng)估工作量和措。
功能需求
業(yè)務(wù)概念
這里需要放上實(shí)體關(guān)系圖,以及每個(gè)實(shí)體的屬性杯聚,有助于理清業(yè)務(wù)概念臼婆,也可以幫助開(kāi)發(fā)拿到需求后設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)。
流程展示
這里需要放上流程圖和數(shù)據(jù)流圖幌绍,用于描述業(yè)務(wù)流程和數(shù)據(jù)扭轉(zhuǎn)颁褂。
需求描述
這是文檔的核心部分,在這個(gè)階段描述需求時(shí)傀广,建議不要描述界面相關(guān)的內(nèi)容颁独,避免增加文檔的復(fù)雜性,以下是對(duì)一個(gè)需求/用例的描述伪冰。
內(nèi)容 | 描述 |
---|---|
名稱 | 用例的名稱叫什么誓酒,比如:結(jié)賬 |
角色 | 誰(shuí)在系統(tǒng)中使用這個(gè)功能 |
前置條件 | 用例的前提條件,或者系統(tǒng)正處于什么狀態(tài) |
需求描述 | 對(duì)需求內(nèi)容的描述贮聂,可以是操作成功的正向流程靠柑,也可以是操作失敗的逆向流程。 |
后置條件 | 操作這個(gè)用例后吓懈,信息是否改變歼冰。 |
備注 | 可以填寫一些備忘或需要注明的信息 |
非功能需求
除了功能性的需求,非功能需求是用戶指對(duì)產(chǎn)品的期望耻警,舉例說(shuō)明:
- 功能適應(yīng)性
- 功能完整性
- 功能適當(dāng)性
- 功能正確性
- 性能效率
- 時(shí)間特性
- 資源利用率
- 容量
- 易用性
- 易學(xué)習(xí)性
- 易操作性
- 用戶錯(cuò)誤防御
- UI美觀
- 可靠性
- 容錯(cuò)性
- 易恢復(fù)性
- 安全性
- 保密性
- 責(zé)任
- 可維護(hù)性
- 可復(fù)用性
- 易修改性