我們的軟件產品或者項目铸抑,其需求都有三個維度,業(yè)務需求衷模、用戶需求和功能需求羡滑,除此之外,每個系統還有各種非功能需求算芯。不是很了解的朋友柒昏,今天一起來了解一下吧!
下圖是需求層次關系圖熙揍,軟件需求包括不同的層次:
業(yè)務需求(Business requirement)標志組織或客戶高層次的額目標职祷。業(yè)務需求通常來自項目投資人、購買產品的客戶、實際用戶的管理者有梆、市場營銷部門或產品策劃部門是尖。業(yè)務需求描述了組織為什么要開發(fā)一個系統,即組織希望達到的目標泥耀。使用前景和范圍(vision and scope)文檔來記錄業(yè)務需求饺汹,這份文檔有時也被稱作項目輪廓圖或市場需求(project charter 或 market requirement)文檔。
用戶需求(user requirement)描述的是用戶的目標痰催,或用戶要求系統必須能完成的任務兜辞。用例、場景描述和事件――響應表都是表達用戶需求的有效途徑夸溶。也就是說用戶需求描述了用戶能使用系統來做些什么逸吵。
功能需求(functional requirement)規(guī)定開發(fā)人員必須在產品中實現的軟件功能,用戶利用這些功能來完成任務缝裁,滿足業(yè)務需求扫皱。功能需求有時也被稱作行為需求(behavīoral requirement),因為習慣上總是用“應該”對其進行描述:“系統應該發(fā)送電子郵件來通知用戶已接受其預定”捷绑。功能需求描述是開發(fā)人員需要實現什么韩脑。
如果覺得上面的語言比較難理解,那么下面我們就簡單的語言給大家講解粹污。
什么是用戶需求段多?什么是功能需求?
我覺得:用戶需求是針對的是人厕怜,描述的是用戶想做某件事情所遇到的問題,或想滿足的欲望蕾总;而功能需求針對的是產品粥航,描述是產品如何解決用戶所遇到的問題,或如何滿足用戶的欲望生百,是方式递雀、方法;
舉個例子:
用戶需求:在決定購買之前蚀浆,用戶想方便的比較一下幾個同系列產品缀程,以此在選擇的時候做出更明智的決定。
功能需求:我們可以讓用戶把購買的商品市俊,都放入“比較欄”杨凑,然后用戶再點擊“去對比”,就會在一個界面同時對比幾個產品摆昧。
用戶需求是前提條件撩满,功能需求是落下來的產品部分,它是可以交付的。
值得注意的一點是業(yè)務需求伺帘,有時候用戶需求與業(yè)務需求是有矛盾 昭躺,那么個功能需求怎么決定呢?
舉個例子:
某個商品界面伪嫁,我發(fā)現我的用戶不是為了買最便宜的貨领炫,我決定產品不把最便宜的商品都展示出來,因為去1张咳、不希望讓用戶買最便宜貨帝洪;2、一旦有太便宜的商品晶伦,用戶就會形成心理落差碟狞,覺得貴的商品不值錢(其實貴的商品的性價比比便宜的商品更高);3婚陪、我想提高單筆成交訂單額度族沃。
所以我就會只展示相對貴一點的商品。讓用戶減少選擇泌参,就有可能購買價值更貴的商品(業(yè)務需求)
如果把最便宜的商品也展示出來脆淹,這對于用戶需求來說是有價值的;(用戶需求)
但是還是堅持了“貴一點”的策略沽一,這就是業(yè)務需求主導了功能需求盖溺;
業(yè)務需求是什么?
業(yè)務需求針對是公司铣缠,描述是公司想如何解決用戶的問題烘嘱,如何滿足用戶的欲望,并將利益最大化蝗蛙。重點是在后面蝇庭,追求商業(yè)可行性與利益最大化。
不過放心捡硅,大部分互聯網公司哮内,他的業(yè)務需求很簡單:讓功能需求最大化滿足用戶需求,不斷追求用戶體驗壮韭,黏住用戶后北发,再謀求規(guī)模化利潤(比如:廣告)喷屋。
在軟件開發(fā)過程中琳拨,最為重要的“用戶需求”往往和數量巨大的”功能需求“混淆在一起,這會讓太多沒有直接提供業(yè)務價值的需求充斥在需求階段屯曹,這會導致沒有突出重點而忽視重要的業(yè)務特性,這對業(yè)務分析來說是非常有害的从绘。 所以在開發(fā)過程中寄疏,很有必要加強認識并區(qū)分開來。