一文理解所有需求分析中的基本術(shù)語
需求分析對產(chǎn)品開發(fā)成敗至關(guān)重要,正因為如此,對需求進行詳細(xì)定義和描述十分重要。然而不同體系往往對需求有不同的定義,也導(dǎo)致需求術(shù)語混亂,本周小編結(jié)合多年需求工作經(jīng)驗,詳解不同術(shù)語的概念與區(qū)別:
業(yè)務(wù)(Business)
?“業(yè)務(wù)”從內(nèi)容上劃分,指“核心域”。
如,餐館系統(tǒng)中訂單和菜品的關(guān)系屬于“業(yè)務(wù)知識”,折扣的計算規(guī)則屬于“業(yè)務(wù)規(guī)則”。
“業(yè)務(wù)”從范圍上的劃分,指“組織級別”。
如:“業(yè)務(wù)建?!笔墙M織級別的建模、“業(yè)務(wù)用例”是組織為其他組織提供的服務(wù),“業(yè)務(wù)流程”是組織內(nèi)各個系統(tǒng)之間協(xié)作的流程。
架構(gòu)(Architecture)
維基百科中這樣描述“架構(gòu)”:
軟件架構(gòu)是一個系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件。各個組件之間的連接則明確和相對細(xì)致地描述組件之間的通訊。
在實現(xiàn)階段,這些抽象組件被細(xì)化為實際的組件,比如具體某個類或者對象。
歸納:架構(gòu)是多個系統(tǒng)內(nèi)部共有的抽象機制。
重點1:內(nèi)部,系統(tǒng)提供的各種功能,不屬于“架構(gòu)”
重點2:共有,架構(gòu)是一種復(fù)用機制。它獨立于單個系統(tǒng),圍繞它可以組裝成系統(tǒng)的家族
如:下圖表達(dá)某個領(lǐng)域內(nèi)部各種領(lǐng)域概念的關(guān)系。不管將核心域概念映射到哪些非核心域上(Android還是iOS,Vue還是React)得到系統(tǒng),機制都可以存在。
業(yè)務(wù)架構(gòu)
業(yè)務(wù)架構(gòu)有兩層含義:
一、組織內(nèi)部機制。“業(yè)務(wù)”以“組織”理解。
二、系統(tǒng)內(nèi)部的核心域機制。“業(yè)務(wù)”作“核心域”解。
用戶(User)
用戶是人,也可以是第三方支付系統(tǒng)”,而且用戶是和系統(tǒng)有交互的人。用戶和系統(tǒng)的交互分為主動交互與被動交互兩種。
需求分析時,“用戶”存在的問題:
(1)隨意推測“用戶”
如下圖。需求人員容易先入為主,認(rèn)定流程中的人就是優(yōu)化方案的“用戶”,然后逐個調(diào)研。
(2)“用戶”混淆了演員和觀眾
用例設(shè)計把軟件看作一部電影,演員(Actor,執(zhí)行者)在臺上表演,觀眾(Stakeholder,涉眾)在臺下看,觀眾按照他們的地位坐好。
演員表演什么由觀眾口味決定,先照顧前排觀眾,再照顧后排觀眾。
用例使用“執(zhí)行者”(Actor)和“涉眾”(Stakeholder)代替了 “用戶”,用來彌補“用戶”這個詞的混淆概念。
?
客戶/用戶需求
基于客戶認(rèn)知或直觀要求,體現(xiàn)用戶需求,常見的是一種理想狀態(tài)。
如:我想要汽車外觀時尚,性能卓越。
用戶需求通常無法直接實現(xiàn),因為用戶對自己的需求常常是模糊的,設(shè)計時要借助原型(demo)、參照物等方法,使客戶需求具體化。
?
市場需求
市場需求不等于客戶需求,市場需求不但描述目標(biāo)客戶的訴求,還反應(yīng)競爭對手針對此需求的表現(xiàn)
如,競爭對手如何實現(xiàn)?如果不實現(xiàn)被競爭對手替代的可能性有多大?如果實現(xiàn)我們是否如何做才能超越競爭對手?
市場需求是經(jīng)過產(chǎn)品經(jīng)理分析后的客戶需求,體現(xiàn)了客戶和競爭的情況。
?
產(chǎn)品需求
IPD把產(chǎn)品需求定義為“產(chǎn)品包需求”,因為我們給客戶交付的不是孤立的產(chǎn)品,而是一個解決方案,同時客戶是否購買一個產(chǎn)品不僅僅看產(chǎn)品本身,還關(guān)注品牌、服務(wù)、渠道等因素,產(chǎn)品需求應(yīng)廣而不深,需要把產(chǎn)品相關(guān)的方方面面都考慮清楚,而不是針對某一點定義的很精細(xì),需要從客戶購買決定的全過程思考。
一般會涉及:價格、渠道、包裝、性能、易用性、保證、服務(wù)、社會接受程度、品牌等;
?
設(shè)計需求
設(shè)計需求是“設(shè)計+需求”,到了設(shè)計需求階段,設(shè)計和需求已經(jīng)融合在一起了,設(shè)計在承載需求了。
設(shè)計需求定義時要在深度上下功夫,細(xì)化到能夠通過設(shè)計來實現(xiàn),并且能落實到具體的物理模塊來承載。
設(shè)計需求是通過產(chǎn)品需求分解而來,分解后就形成了與此產(chǎn)品需求相對應(yīng)的設(shè)計需求清單。
?
規(guī)格
規(guī)格是需求的具體說明。需求和規(guī)格本來就是一體化的,因此才會有《產(chǎn)品需求規(guī)格說明書》。
如:“OA要支持IE瀏覽器” 是需求,規(guī)格是:“需要支持Ie6、Ie7、Ie8”?!奥曇粢_(dá)到120分貝~190分貝”,這本身就需求+規(guī)格。
?
特性
軟件行業(yè)經(jīng)常提到特性這個詞。特性就是產(chǎn)品需求,更精確說特性是產(chǎn)品需求中與其他產(chǎn)品有明顯差異的個性化需求。
產(chǎn)品需求常分為3類:BSA(Basic、Satisfied、Attractive),分別為基本需求、最好滿足的需求、更具有吸引力的需求;特性為:A的需求。
?
測試需求
測試需求通常是研發(fā)中產(chǎn)品需求、設(shè)計需求定義不清,開發(fā)人員就進行設(shè)計和開發(fā)了,測試人員無法從需求中找出測試點,將需求細(xì)化到能提煉出測試點的顆粒度。
?
內(nèi)部需求
產(chǎn)品需求定義時更關(guān)注外部客戶的需求,其實產(chǎn)品還有內(nèi)部客戶,也要關(guān)注內(nèi)部客戶的需求。
例:制造、客服就是內(nèi)部客戶,設(shè)計時沒有考慮制造的要求,導(dǎo)致制造效率低下、良品率低,就會影響產(chǎn)品市場表現(xiàn);
制造部門的需求、客服部門的需求,就是內(nèi)部需求,需要在產(chǎn)品開發(fā)前期識別,成為產(chǎn)品需求和設(shè)計需求的一部分,并在設(shè)計開發(fā)中實現(xiàn)。
?
外部需求
外部需求是客戶、渠道、合作商、用戶等,外部關(guān)聯(lián)單位的需求。
分析時要通過銷售過程,詳細(xì)分析產(chǎn)品從生產(chǎn)線下來到客戶手中經(jīng)過的所有環(huán)節(jié),各環(huán)節(jié)產(chǎn)生的需求稱外部需求
外部需求要重點關(guān)注,一個環(huán)節(jié)不滿足就無法轉(zhuǎn)化為實實在在的商業(yè)利益。
業(yè)務(wù)需求
業(yè)務(wù)需求是從客戶的業(yè)務(wù)發(fā)展、財務(wù)、戰(zhàn)略出發(fā),體現(xiàn)了客戶高層的要求,涉及產(chǎn)品整體宏觀上的要求。
如:ERP產(chǎn)品讓庫存周轉(zhuǎn)率提高50%。
業(yè)務(wù)需求體現(xiàn)客戶經(jīng)營需要,具體業(yè)務(wù)需求需要通過產(chǎn)品需求、設(shè)計需求去細(xì)化和實現(xiàn)。
?
功能
說起功能(Function)這個詞時,研究對象一般是系統(tǒng),功能是一種需求。
功能需求描述系統(tǒng)作為一個整體為其他系統(tǒng)提供的服務(wù),把其他系統(tǒng)給它的輸入變成其他系統(tǒng)所需要的輸出。
?“功能需求”不夠精確。
如:如果以自助柜員機(ATM)為研究對象,
“取現(xiàn)金”是“功能”,“登錄”也是功能,“計算手續(xù)費”也是“功能”,到底“功能”有多大?
用例要嚴(yán)謹(jǐn)?shù)枚啵涸谟美校?/p>
“取現(xiàn)金”是一個用例,“登錄”是用例中的一個回合,“計算手續(xù)費”是一個步驟。
?
模塊
模塊(Module)。指出的研究對象一般是系統(tǒng)。模塊表示系統(tǒng)的組成部分。這個詞與功能一樣不夠準(zhǔn)確,不清楚模塊是一個控件?一個類?若干個類形成的組件?
?
功能&模塊
“功能”是系統(tǒng)對外提供的服務(wù),“模塊”是系統(tǒng)的內(nèi)部結(jié)構(gòu)。
如:完成某個“功能”需要若干“模塊”的協(xié)作,而某個“模塊”也會參與完成若干“功能”,下圖可以看出“模塊6”被反復(fù)用了多次。因此不能將“功能”和“模塊”直接映射,否則系統(tǒng)內(nèi)部將出現(xiàn)大量冗余。
?
功能包
功能包描述若干功能的集合。