談談需求(上)

談談需求(上)

楔子

? ? ? ? 標題叫《談談需求》其實不確切桨踪,因為需求只是一個名詞页慷,但是很明顯我這所指并不是要闡述“需求”這個概念察郁,而是指需求分析這個階段性動作待逞。但是后續(xù)可能還會寫談談設計受楼、談談測試垦搬、談談寫代碼之類的文章,做成一個系列艳汽,為了標題對仗猴贰,也就把動詞省略了。

? ? ? ? 何謂需求河狐,往小了說米绕,就是用戶想要實現(xiàn)的一個IT系統(tǒng)功能瑟捣;往大了說,其實也是人類求生欲望的延續(xù)义郑,就類比克勞.塞維茨說的——戰(zhàn)爭不過是政治的延續(xù)蝶柿。當然,這里的求生在人類科技文明高度發(fā)展的今天非驮,不僅僅是求生存,而是求生活——渴求更好的生活雏赦。這種生活不僅僅是滿足人的物質生活劫笙,更是為了滿足人的精神生活,以求精神富足星岗。

? ? ? ? 將IT技術拿出來看填大,其實不過是人類更高效工作、更方便生活的工具與手段俏橘,用戶需求允华,本質上不過是人們高效工作或更好生活的欲望的可實現(xiàn)性延續(xù),是為了滿足人的信息生活而存在寥掐。這里所謂“可實現(xiàn)性延續(xù)”靴寂,一不小心又說成了一個IT術語,即是可以在軟件系統(tǒng)中實現(xiàn)的功能延續(xù)召耘。

概念辨析

? ? ? ? 說到“需求分析”百炬,很容易讓人聯(lián)想到《需求分析報告》,但是我這所指并不僅僅是這一步污它,還包括《需求規(guī)格》剖踊。這兩份文檔是需求分析階段中用戶需求分析、功能需求規(guī)整這兩個前后相承的分析設計步驟的階段成果性交付文檔衫贬,而生產(chǎn)出這兩份文檔的這兩個步驟亦是整個需求分析階段的兩大關鍵步驟德澈,這兩個步驟的質量高低很大程度上決定了未來實現(xiàn)所的系統(tǒng)的功能穩(wěn)定程度、與用戶需求期望的匹配程度固惯,也是軟件系統(tǒng)架構是否穩(wěn)定的一大決定性的影響因素梆造。

? ? ? ? 說到《需求分析報告》、《需求規(guī)格說明書》缝呕,很多人總以為這就是一份文檔澳窑,或者分不清這兩者的區(qū)別,其實很簡單供常,各自加上兩個字就一目了然了——《用戶需求分析報告》摊聋、《功能需求規(guī)格說明書》。

? ? ? ? 《需求分析報告》是需求分析師收集了用戶需求進行系統(tǒng)分析后所形成的最終結論性文檔栈暇,而《需求規(guī)格說明書》則是軟件設計師根據(jù)《分析報告》中所分析出的分散的功能需求麻裁,進行系統(tǒng)級的統(tǒng)一規(guī)整的產(chǎn)物,也就是說“需求分析”分析的是用戶需求,而“需求規(guī)格”規(guī)整的則是功能需求煎源∩兀《需求分析報告》是《需求規(guī)格說明書》的輸入,《需求規(guī)格說明書》是《需求分析報告》的最終輸出手销。兩者的描述內(nèi)容可能相近歇僧,但并不等價,各有側重锋拖。用戶需求側重從用戶角度出發(fā)來描述一個需求诈悍,相對而言,比較抽象化兽埃、感性化侥钳;而功能需求側重從產(chǎn)品定位、系統(tǒng)設計與實現(xiàn)的高度來考慮一個需求(對柄错,是高度舷夺,不僅僅是角度),因此會更加系統(tǒng)化售貌、理性化地來考慮需求的實現(xiàn)给猾,若能配上界面原型圖,就能更加具體趁矾、接地氣耙册。

? ? ? ? 史蒂夫.喬布斯說過“用戶永遠不知道他們自己真正想要的是什么『恋罚”详拙,此話同樣適用于軟件工程領域的需求分析工作,因為用戶對IT知識的掌握程度有限蔓同,所以并不能苛求他們能用很專業(yè)的IT術語來將一個業(yè)務需求描述得很清楚饶辙。他們對需求的描述往往會更貼近于他們的具體領域業(yè)務背景,甚至會夾帶很多所在業(yè)務領域的專業(yè)術語斑粱。他們口中所說的需求往往并不是真正的產(chǎn)品功能需求弃揽,而只是他們業(yè)務訴求的一個“外在化、形象化”的展現(xiàn)则北。用戶口中所說要實現(xiàn)的“功能”也許并不是真正能滿足他業(yè)務需求的功能矿微,只是由于他的IT知識所限,只能將描述成到這個專業(yè)深度尚揣。

? ? ? ? 所以需求分析工作一定要系統(tǒng)涌矢、客觀、冷靜快骗。需求分析人員應該盡可能地引導用戶將他們心中真實的隱性需求“吐”出來娜庇。為了達到此目的塔次,需求分析人員甚至可能還需要對目標用戶所在業(yè)務領域進行一定深度的專業(yè)理論儲備,以便盡可能地熟悉用戶關注的業(yè)務場景名秀,通過業(yè)務場景的熟識励负,來了解用戶真正的業(yè)務訴求。

需求分析報告內(nèi)容組織

? ? ? ? 講了這么多引導性內(nèi)容匕得,本文總算可以進入正題了继榆,也就是《需求分析報告》具體要做哪些工作、內(nèi)容如何整理輸出耗跛。根據(jù)上文思考裕照,需求分析報告必然以業(yè)務場景為單位進行整理,當業(yè)務場景數(shù)量開始龐大時调塌,就需要將業(yè)務場景進行分類,而分類的標準惠猿,根據(jù)筆者的經(jīng)驗羔砾,傾向于根據(jù)需求來源劃分(每處來源用一個一級標題標識),而不是根據(jù)預先設計的系統(tǒng)大功能模塊來劃分偶妖。這樣做的好處就是便于不同業(yè)務用戶進行需求跟蹤確認姜凄、以及最終的需求簽署確認。業(yè)務用戶只需要關注自己那個一級標題下需求的完整性與正確性即可趾访,而不需要從全篇文檔來檢索過濾到只屬于自己的需求态秧。

? ? ? ? 說完了業(yè)務需求的整理規(guī)范,接下來該討論《需求分析報告》的核心部分——內(nèi)容組織了扼鞋。需求分析報告一般都包括以下幾部分申鱼,也即是可以作為一級標題的內(nèi)容:產(chǎn)品目標與范圍、用戶需求(包括原始需求清單云头、用戶需求分析捐友、安全性需求、質量屬性需求)溃槐、約束條件匣砖、術語約定。

產(chǎn)品目標與范圍

? ? ? ? 簡短描述該軟件產(chǎn)品的開發(fā)目的昏滴,包括功能利益和產(chǎn)品定位目標等猴鲫,把軟件產(chǎn)品開發(fā)與企業(yè)目標或者業(yè)務策略相聯(lián)系,一般包括產(chǎn)品目標描述與業(yè)務范圍界定兩部分谣殊。前者需要明確此項目的業(yè)務期望目標拂共、產(chǎn)品定位;后者需要能明確此系統(tǒng)的用戶范圍蟹倾、功能范圍匣缘、甚至地域范圍猖闪。

業(yè)務功能性需求

? ? ? ? 用戶需求部分是此文檔的核心部分,首先包括一個用于統(tǒng)計跟蹤原始需求用的用戶需求清單肌厨,該清單維護的目的即是方便業(yè)務方跟蹤總攬所有原始需求培慌,一般以表格形式記錄,包括業(yè)務需求編號柑爸、需求來源吵护、原始需求簡短描述等內(nèi)容。

? ? ? ? 對業(yè)務需求有了總體記錄后表鳍,接下來便是詳細的業(yè)務需求分析了馅而,這也是需求分析報告交付質量高低的核心內(nèi)容。此部分內(nèi)容中譬圣,需要對每個業(yè)務需求進行細致系統(tǒng)分析瓮恭,因此一般以表格形式表述為好。每個業(yè)務需求對應一個小表格厘熟,主要包括以下幾個部分內(nèi)容屯蹦,每行描述一條:需求編號、業(yè)務需求描述绳姨、業(yè)務處理流程登澜、用戶范圍、前置條件飘庄、業(yè)務規(guī)則脑蠕、關鍵功能需求點、需求提出人跪削。最好是以表格形式來描述谴仙。

需求編號:這是用來檢索所有業(yè)務需求用的,一般是如下格式:R.BussinessDomain2.008切揭,R是《需求分析文檔》字母簡寫狞甚、BussinessDomain2用于標記來源,008則是需求順序編號廓旬。如果對word文檔操作很熟練哼审,此處編號建議自定義一個自增式編號格式,這樣方便后續(xù)插入業(yè)務需求時文檔自動編號孕豹。

業(yè)務需求描述:以文字形式來記錄業(yè)務提出的原始需求語言涩盾,盡可能細致明確但不羅嗦,多用短句對業(yè)務點進行明晰表述励背。

業(yè)務處理流程:在業(yè)務需求描述基礎上春霍,對業(yè)務期望的處理流程進行描繪,盡量抽取出重要流程節(jié)點叶眉,建議用類似流程圖的格式描述址儒。

用戶范圍:在需求分析階段芹枷,參與者不需要馬上分別出系統(tǒng)角色,可以按照實際業(yè)務角色來記錄即可莲趣。

前置條件:描述執(zhí)行此業(yè)務功能的前提條件鸳慈,有可能由此產(chǎn)生與其他系統(tǒng)集成的接口需求。

業(yè)務規(guī)則:用于描述執(zhí)行此業(yè)務功能的業(yè)務約束性條件喧伞,包括邏輯判定走芋、數(shù)據(jù)邊界值等,例如潘鲫,一個數(shù)據(jù)輸入翁逞,數(shù)據(jù)最大、最小值是多少溉仑。挖函。

主要功能需求點:此處是業(yè)務需求分析的主要交付成果,需求分析人員根據(jù)上面的“業(yè)務需求描述”內(nèi)容浊竟,并參考“業(yè)務處理流程”挪圾,初步抽取出核心功能需求點,此處需求點盡量以列表展示逐沙,句式簡潔扼要但必須語意清晰,盡可能挖潛出用戶尚未表達出的真實需求洼畅。對于需要集成業(yè)務需求的軟件系統(tǒng)吩案,此處可能會產(chǎn)生與外部軟件集成的接口需求,此接口需求將對應《需求規(guī)格》中的外部系統(tǒng)集成需求部分內(nèi)容帝簇。

需求提出人:此處記錄此業(yè)務需求的提出人徘郭,也是業(yè)務需求確認人,若后續(xù)需求蔓延丧肴,或者因開發(fā)技術性原因導致需求無法全部實現(xiàn)残揉,均跟此人溝通確認。

非功能性需求

非功能性需求包括可用性需求芋浮、可靠性需求抱环、可擴展性需求、性能需求纸巷、安全需求等內(nèi)容镇草。某些文檔中還包括硬件需求等。

這些內(nèi)容大多跟具體業(yè)務相關瘤旨,本系列文章著重軟件系統(tǒng)設計梯啤,在此就不過多細述了。

費了這么多口舌存哲,堪堪寫完需求分析因宇,需求規(guī)整還沒開始七婴,那就未完待續(xù)咯。不過行家應該知道的察滑,《需求規(guī)格說明書》核心就是Use

Case打厘。

散論

? ? ? ? 用戶需求實現(xiàn)的最終目的并不在于為討部分用戶歡心而去花大力氣實現(xiàn)某個好看花哨但不實用的功能,而在于通過此系統(tǒng)更好的滿足絕大部分用戶的業(yè)務需要杭棵,提高其業(yè)務執(zhí)行效率婚惫。注意,我這講的是“此系統(tǒng)”而不是“此功能”魂爪,因為功能永遠是局部的先舷,而系統(tǒng)則是整體的。局部功能強大所致的局部工作效率提升并不一定就能代表整個事務效率的提升滓侍。只有開發(fā)系統(tǒng)的幫助事務在各個重要節(jié)點都得到普遍效率提升蒋川,才算是真正地滿足了用戶需求,達到了業(yè)務期望撩笆。

? ? ? ? 一個一直堅持的觀點:其實捺球,軟件工程文檔的模板并不僅僅是模板,而且并非各自獨立的文檔夕冲,而是一整套相互聯(lián)系的設計說明書氮兵,是系統(tǒng)開發(fā)思路的節(jié)奏性體現(xiàn),就像剝洋蔥歹鱼,層層剝開泣栈,循序漸進,每一個步驟都馬虎不得弥姻,這類設計文檔寫到一定程度南片,設計人員就能根據(jù)當前階段文檔撰寫的流暢程度去判斷前一階段文檔交付質量的好壞。因此庭敦,可以這么說疼进,這一套文檔模板水平的高度就直接決定了軟件設計水平的高低。

? ? ? ? 寫這些文章的用意秧廉,其實很簡單伞广,軟件設計之路漫漫兮,望乞高人指點一二定血,望與同仁切磋切磋赔癌,以不至于把路走偏走絕。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澜沟,一起剝皮案震驚了整個濱河市灾票,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茫虽,老刑警劉巖刊苍,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件既们,死亡現(xiàn)場離奇詭異,居然都是意外死亡正什,警方通過查閱死者的電腦和手機啥纸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來婴氮,“玉大人斯棒,你說我怎么就攤上這事≈骶” “怎么了荣暮?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長罩驻。 經(jīng)常有香客問我穗酥,道長,這世上最難降的妖魔是什么惠遏? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任砾跃,我火速辦了婚禮,結果婚禮上节吮,老公的妹妹穿的比我還像新娘抽高。我一直安慰自己,他們只是感情好透绩,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布厨内。 她就那樣靜靜地躺著,像睡著了一般渺贤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上请毛,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天志鞍,我揣著相機與錄音,去河邊找鬼方仿。 笑死固棚,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的仙蚜。 我是一名探鬼主播此洲,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼委粉!你這毒婦竟也來了呜师?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤贾节,失蹤者是張志新(化名)和其女友劉穎汁汗,沒想到半個月后衷畦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡知牌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年祈争,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片角寸。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡菩混,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扁藕,到底是詐尸還是另有隱情沮峡,我是刑警寧澤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布纹磺,位于F島的核電站帖烘,受9級特大地震影響,放射性物質發(fā)生泄漏橄杨。R本人自食惡果不足惜秘症,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望式矫。 院中可真熱鬧乡摹,春花似錦、人聲如沸采转。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽故慈。三九已至板熊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間察绷,已是汗流浹背干签。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拆撼,地道東北人容劳。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像闸度,于是被迫代替她去往敵國和親竭贩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容