出版時間:2008 出版社:電子工業(yè)出版社 作者:徐峰 頁數(shù):396
Tag標(biāo)簽:無
前言
寫一本書不容易,寫一本讓自己滿意的書更不容易,而寫一本讓讀者喜歡的書則是難上加難?;蛟S這一“冠冕堂皇”的理由可以作為筆者一再錯過向關(guān)注本書的讀者所承諾的上市時間的借口。但是沒有任何理由可以讓筆者松懈下來,畢竟自己一直在標(biāo)榜要解決“我們并不缺乏需求的理論,缺少的是真正落地的方法”的問題,為所有讀者提供一種切實可行的實踐手段,是筆者寫作本書的核心目標(biāo)?! ≡诜x本書時,或許你會從本書的字里行間讀到幾分輕松,這是因為書中有不少的文字是筆者在風(fēng)景秀麗的員當(dāng)湖畔的咖啡廳里寫就的,希望筆者這種輕松的心情能夠透過這些文字傳遞給每位工作在“沉重”的需求分析過程中的所有讀者?! ≡诩?xì)究本書時,或許你會從本書的文字里頭看到幾處零亂,這是因為文中有很多的段落是筆者在吚哎學(xué)語的一歲小兒的惡作劇邊碼成的,希望筆者這些零碎的想法能夠借助書的脈絡(luò)傳達(dá)給每位工作在“繁雜”的需求分析原則下的所有讀者。 在將書稿交付編輯之時,我深刻地感到:本書雖然沒有Martin七年磨一劍的鋒芒,卻也有三年憋一本的艱辛。在整個寫作過程中,多次經(jīng)歷了自我否定、推倒重來的痛苦,也享受了許多自我升華的樂趣;當(dāng)然筆者衷心地希望本書能夠向大家傳遞樂趣。
內(nèi)容概要
本書首先從軟件需求實踐中出現(xiàn)的主要問題和困難入手,指出了改進(jìn)的主要方向;然后逐一說明了需求定義、需求捕獲、需求分析與建模、編寫規(guī)約、需求驗證等需求開發(fā)活動的任務(wù)、要點和具體手段;并提出了一個可操作性強、易于上手的SERU過程框架,能夠幫助讀者清晰地了解整個過程,理解各階段的關(guān)鍵產(chǎn)物和產(chǎn)物之間的關(guān)系?! ”緯€對包括需求基線、變更管理、需求跟蹤在內(nèi)的需求管理活動的操作要點進(jìn)行了闡述,給出了具有很強實踐性的具體建議。綜觀全書,語言淺顯、文字生動,蘊含了許多人文、心理、交流方面的知識,即使非技術(shù)背景的讀者也能夠輕松讀懂大部分內(nèi)容,從中受益?! ”緯勺鳛橛嬎銠C(jī)軟件專業(yè)本科生、研究生和軟件工程碩士的軟件需求分析教材,也可以作為軟件工程、軟件開發(fā)管理培訓(xùn)的教材,更是一線項目經(jīng)理、需求分析人員、資深開發(fā)人員、信息系統(tǒng)運行管理人員、研發(fā)企業(yè)管理人員的必備參考書。
作者簡介
徐鋒,中國系統(tǒng)分析員顧問團(tuán)(CSAI)軟件工程首席顧問,中國軟件技術(shù)大會杰出貢獻(xiàn)專家,資深咨詢顧問、培訓(xùn)講師。主要研究領(lǐng)域為需求工程、系統(tǒng)分析與設(shè)計、軟件估算,致力于推動軟件工程方法論的落地應(yīng)用。作者具有聿富的軟件開發(fā)、信息系統(tǒng)運行與管理、市場規(guī)劃、企業(yè)管理等領(lǐng)域的從業(yè)經(jīng)驗,善于從業(yè)務(wù)、技術(shù)兩個視角審視軟件開發(fā)工作?! ≡凇冻绦騿T》等媒體發(fā)表了《實戰(zhàn)OO》、《項目管理三步曲》、《大話Design》等多個專欄文章,著有《UML面向?qū)ο蠼;A(chǔ)》等多本書籍,翻譯了(UML 2.O實戰(zhàn)》、《AOSD中文版》、《Cloud to CodedP文版》等多本技術(shù)書籍。
書籍目錄
第1部分 原理、模型與誤區(qū)第1章 需求實踐現(xiàn)狀分析 2在信息化高速發(fā)展的今天,構(gòu)建與時俱進(jìn)的信息化系統(tǒng)已成為所有政府、企事業(yè)單位的重點課題之一。然而在軟件項目實施過程中,進(jìn)度超期、經(jīng)費超預(yù)算、變更頻繁的現(xiàn)象層出不窮,甚至有許多項目根本無法達(dá)到預(yù)期的目標(biāo),更談不上為業(yè)主創(chuàng)造真正的效益。歸根結(jié)底,軟件需求實踐這一共同的軟肋是問題的根源。1.1 軟件項目失敗的根源 21.1.1 CHAOS Report 1994 21.1.2 CHAOS Report后續(xù)版本 31.1.3 需求相關(guān)敗因簡要分析 41.1.4 一幅漫畫帶來的思考 81.2 透過表象,分析本質(zhì) 121.2.1 需求變更頻繁 121.2.2 上線阻力大 131.2.3 運行效果差 141.2.4 完全崩潰 151.3 方法論與需求工作 161.3.1 計算模式 161.3.2 軟件工程方法論 171.3.3 開發(fā)思想 181.4 小結(jié) 19第2章 不同軟件項目的需求視圖 20隨著信息化應(yīng)用的逐漸深入,軟件項目在企業(yè)、政府等各類組織中所擔(dān)負(fù)的角色也越來越多,應(yīng)用層面也在逐漸地深入,同時也意味著不同的軟件項目具有不同的特點,這也就對需求工作產(chǎn)生了諸多影響。 在本章中,我們就將針對信息系統(tǒng)、嵌入式系統(tǒng)、軟件產(chǎn)品等不同角度來說明如何進(jìn)行相應(yīng)的需求工作,為需求分析師提供一個切實有效的視圖。2.1 信息系統(tǒng)的需求視圖 202.1.1 信息系統(tǒng)的本質(zhì)與分類 202.1.2 聯(lián)機(jī)事務(wù)處理系統(tǒng)——流程電子化 222.1.3 管理信息系統(tǒng)——數(shù)據(jù)信息化 252.1.4 其他信息系統(tǒng) 292.1.5 信息系統(tǒng)的多維視圖 312.2 嵌入式系統(tǒng)的需求視圖 332.2.1 面向直接用戶的嵌入式系統(tǒng) 342.2.2 面向特定設(shè)備的嵌入式系統(tǒng) 352.3 軟件產(chǎn)品的需求視圖 362.4 小結(jié) 40第3章 軟件需求與需求工程 41筆者在做需求分析師的培訓(xùn)時,經(jīng)常會問學(xué)員這樣的一個問題:什么是軟件需求?這個看似簡單的問題卻并不好回答,也許很多人會簡單地認(rèn)為軟件需求就是用戶需要實現(xiàn)的功能加上一些非功能方面的要求。但這樣的理解卻并不完整,如果對用戶所處的業(yè)務(wù)場景沒有建立正確認(rèn)識,經(jīng)常會給工作帶來麻煩。因此本章將對一些與需求、需求工程相關(guān)的關(guān)鍵概念進(jìn)行闡釋。3.1 什么是軟件需求 413.1.1 需求的三個層次 413.1.2 需求的三種類型 433.1.3 優(yōu)秀需求的標(biāo)準(zhǔn) 463.2 需求工程解析 503.2.1 需求工程的范疇 503.2.2 需求開發(fā)工作要點 513.2.3 需求管理工作要點 563.2.4 需求分析人員的技能組成 583.2.5 SERU模型概述 593.3 小結(jié) 61第2部分 需求開發(fā)第4章 需求定義最佳實踐 64需求定義活動準(zhǔn)確來說是不屬于需求工程范疇的,它實際上是立項管理需要做的工作。但需求定義階段的產(chǎn)物對于需求捕獲、分析與建?;顒佣加兄苯拥挠绊懀绻@個階段的工作做得不理想,就會出現(xiàn)“上梁不正下梁歪”的結(jié)果。因此本書還是將這個活動納入進(jìn)來,并將給大家提供一個能夠與后續(xù)活動結(jié)合緊密的方法。4.1 需求定義任務(wù)概述 644.1.1 需求定義的時機(jī) 644.1.2 需求定義的理念與策略 654.2 問題分析的五步法 664.2.1 在問題定義上達(dá)成共識 674.2.2 分析問題背后的問題 734.2.3 確定相關(guān)人員和用戶 774.2.4 定義解決方案的界限 784.2.5 確定加在解決方案上的約束 804.2.6 小結(jié) 814.3 需求定義的產(chǎn)物與要素 814.3.1 需求定義的產(chǎn)物 814.3.2 需求定義的要素 824.4 定義需求范圍 874.4.1 案例說明 874.4.2 劃分主題域 884.4.3 確定主題域范圍 974.4.4 標(biāo)識業(yè)務(wù)事件與報表 1014.4.5 生成需求大綱 1044.5 小結(jié) 108第5章 需求捕獲最佳實踐 109需求捕獲是需求開發(fā)中的第一個活動,可以說任何一個需求團(tuán)隊對它都不陌生,但如何提高需求捕獲的有效性卻一直以來是困擾大家的問題。需求捕獲的要點在于計劃性和科學(xué)性,計劃性體現(xiàn)在對捕獲對象、問題、時間的計劃,科學(xué)性則表現(xiàn)在如何有效地選擇合適的捕獲方法。本章的目的就在于幫助大家更好地達(dá)到這兩個目標(biāo),從而提高需求捕獲活動的質(zhì)量。5.1 需求捕獲的策略 1095.1.1 需求捕獲應(yīng)該是主動的 1095.1.2 需求捕獲應(yīng)該是聚焦的 1105.1.3 破解需求的冰山模型 1115.1.4 破解阻礙需求捕獲的心理現(xiàn)象 1135.1.5 不要忽視對變更可能的捕獲 1175.1.6 需求協(xié)商 1185.2 需求捕獲的主要方法 1255.2.1 用戶訪談 1255.2.2 用戶調(diào)查 1375.2.3 文檔考古 1425.2.4 情節(jié)串聯(lián)板 1445.2.5 現(xiàn)場觀摩 1455.2.6 聯(lián)合開發(fā) 1475.3 需求捕獲的記錄工具 1505.3.1 工具的選擇與定義 1505.3.2 任務(wù)卡片 1515.3.3 場景說明 1525.3.4 其他工具 1535.4 小結(jié) 154第6章 需求分析與建模最佳實踐 156需求分析是需求工程中最為核心的工作,而需求建模則是需求分析的主要手段。但由于分析這個詞比較抽象,很多時候讓人感到無從入手,甚至導(dǎo)致被輕易地滑過了,直接將需求捕獲的結(jié)果整理到軟件需求規(guī)格說明書中。而需求建模也有很多工具,到底怎么有效地應(yīng)用到需求分析過程中也是令人感到難以掌握的東西。因此本章的目標(biāo)就是為讀者勾勒出需求分析的階段與任務(wù),指出如何選擇適合的建模工具,以及在什么時機(jī)、如何應(yīng)用這些建模工具。6.1 需求分析與建模的要點與誤區(qū)分析 1566.1.1 需求分析到底做什么 1566.1.2 建模的目標(biāo)與要點 1596.1.3 選擇建模工具的要點 1606.2 周期一:理清框架與脈絡(luò) 1646.2.1 業(yè)務(wù)流程分析 1656.2.2 業(yè)務(wù)實體分析 1916.2.3 角色與使用場景分析 2166.2.4 周期一的產(chǎn)物 2326.3 周期二:確定需求細(xì)節(jié) 2496.3.1 確定行為需求的細(xì)節(jié) 2506.3.2 確定結(jié)構(gòu)需求的細(xì)節(jié) 2706.3.3 周期二的產(chǎn)物 2796.4 其他需求分析 2926.4.1 接口需求 2926.4.2 非功能需求的追蹤 2946.4.3 設(shè)計約束 2976.5 小結(jié) 301第7章 需求描述最佳實踐 302需求描述就是將需求捕獲、分析的結(jié)果進(jìn)行文檔化的過程。在軟件開發(fā)時,將分析的結(jié)果文檔化是不可或缺的任務(wù),也稱為編寫規(guī)約活動;而在某個項目中,可能還會由用戶代表或需求捕獲人員對捕獲的內(nèi)容進(jìn)行整理,形成用戶需求說明書。具體要干什么,想必大家并不陌生,而且在前一章中也看到了一些實例的片段。因此本章將重點從需求描述的風(fēng)格與格式、寫作策略與技巧兩個方面做些強調(diào)和補充。7.1 需求描述的風(fēng)格與格式 3027.1.1 常見的描述風(fēng)格與選用標(biāo)準(zhǔn) 3027.1.2 典型軟件需求規(guī)格說明書模板解析 3037.1.3 定義模板的技巧 3187.1.4 用戶需求說明與軟件需求規(guī)格說明 3267.2 寫作策略與技巧 3287.2.1 文字表達(dá)的先天不足 3287.2.2 需求描述的兩大原則 3307.2.3 不要忽視陳述需求理由的重要性 3327.2.4 注意措辭 3347.3 小結(jié) 335第8章 需求驗證最佳實踐 336需求驗證是需求開發(fā)的最后一個環(huán)節(jié),它是一個質(zhì)量關(guān)。也就是說,其目標(biāo)是發(fā)現(xiàn)盡可能多的錯誤,減少因為需求的錯誤而帶來的工作量浪費。而需求驗證的主要手段就是Review(復(fù)查,也常譯為評審)。但是許多需求團(tuán)隊都覺得需求驗證比較容易變得“務(wù)虛”,收效很少,本章的目標(biāo)就是幫助大家緩解這個問題。8.1 需求驗證的主要手段 3368.1.1 不同正式化程度的評審 3368.1.2 審查過程概述 3388.2 需求驗證的主要誤區(qū)與解決方案 3408.2.1 需求驗證的5大要點 3418.2.2 需求驗證常見的5大問題 3448.3 小結(jié) 346第3部分 需求管理第9章 需求基線操作實務(wù) 348需求基線是需求管理活動中最為基礎(chǔ)的一個,通常也是在項目中首先應(yīng)該引入的管理活動。但許多相關(guān)書籍中對需求基線的介紹相對比較理論化,很少給出具體的操作方法,往往使得許多軟件開發(fā)團(tuán)隊無從入手。為了幫助大家更好地引入需求基線,本章的重點將是結(jié)合具體的實例來說明需求基線的劃分方法。9.1 需求基線的理念與策略 3489.1.1 基線思想的起源 3489.1.2 基線的策略 3509.2 基線劃定的基礎(chǔ):優(yōu)先級評價 3519.2.1 組織需求項 3519.2.2 業(yè)務(wù)優(yōu)先級評價 3529.2.3 根據(jù)技術(shù)依賴性和項目風(fēng)險調(diào)整優(yōu)先級 3569.3 基線劃定的要素:工作量估算 3569.3.1 估算的意義與要點 3569.3.2 定義階段的估算示例 3589.3.3 分析一階段的估算示例 3619.4 基線劃定與管理 3629.4.1 劃定基線 3629.4.2 管理基線 3639.5 小結(jié) 364第10章 變更管理操作實務(wù) 365需求變更頻繁恐怕是困擾無數(shù)軟件開發(fā)團(tuán)隊的惡魔之首,而且在美國權(quán)威的第三方機(jī)構(gòu)Standish Group的CHAOS報告中,也將其列為困擾軟件開發(fā)團(tuán)隊、導(dǎo)致項目失敗的5大原因之一,其中原因?qū)嶋H上也充分暴露了整個產(chǎn)業(yè)的不成熟。需求變更在CHAOS報告中是排名第四的問題,而在中國軟件開發(fā)團(tuán)隊中卻是排名第一的問題,這里面就意味著存在距離,本章的目的就是希望幫助大家找到其中的差距。10.1 變更管理的理念 36510.2 變更管理要點一:統(tǒng)一渠道 36610.2.1 CCB背后的道理 36610.2.2 變更處理過程 36810.3 變更管理要點二:統(tǒng)一平臺 37310.3.1 變更管理平臺的選擇 37310.3.2 變更管理平臺的應(yīng)用要點 37410.4 小結(jié) 375第11章 需求跟蹤操作實務(wù) 376需求跟蹤是一個高階的管理活動,它的目標(biāo)是為了更好地管理需求的狀態(tài)、更好地分析需求變更產(chǎn)生的影響。雖然執(zhí)行需求跟蹤會帶來不錯的效益,但其所需付出的工作量也是巨大的。本章我們就對跟蹤的一些要點做一簡要的說明。11.1 需求跟蹤的基本概念 37611.1.1 用戶需求到軟件需求的跟蹤 37711.1.2 軟件需求到軟件需求的跟蹤 37711.1.3 軟件需求到下游工作產(chǎn)品的跟蹤 37711.2 需求跟蹤的操作方法 37811.2.1 表格法 37811.2.2 鏈表法 37911.3 小結(jié) 381第4部分 總結(jié)第12章 SERU過程框架總結(jié) 384筆者經(jīng)常說一個觀點:“我們并不缺乏軟件工程、需求工程的理論、技術(shù),缺乏的是將這些理論與技術(shù)有效地應(yīng)用到實踐中去的具體方法”。而貫穿全書的SERU過程框架(也稱為SERU模型)正是筆者基于多年不同領(lǐng)域、不同規(guī)模的軟件項目實踐的基礎(chǔ)上,通過對許多重型方法的剪裁而得到的一個清晰、實用的軟件需求過程框架。12.1 SERU過程框架要點概述 38412.1.1 SERU過程框架的理論基礎(chǔ) 38412.1.2 SERU過程框架全景圖 38512.1.3 SERU過程框架導(dǎo)入建議 38812.2 需求實作要點概述 38812.3 結(jié)語 391參考文獻(xiàn) 392SERU誡語目錄第1章 需求實踐現(xiàn)狀分析 2SERU誡語1-1:需求規(guī)格說明書應(yīng)該采用業(yè)務(wù)導(dǎo)向的樹型層次結(jié)構(gòu)來組織。 6SERU誡語1-2:對于需求分析員而言,真正的專業(yè)主義是基于業(yè)務(wù)利益SERU誡語1-2:(解決問題、創(chuàng)造機(jī)會、提高管控力等)的溝通。 6SERU誡語1-3:緩解溝通失真最有效的方法是及時復(fù)述。 9SERU誡語1-4:需求分析的本質(zhì)在于業(yè)務(wù)分析,而非技術(shù)分析。 11SERU誡語1-5:業(yè)務(wù)場景是需求之魂。 12SERU誡語1-6:需求分析人員對于技術(shù)方法論的評價重在適用性。 16SERU誡語1-7:對預(yù)設(shè)計的需求是評判敏捷方法論是否適用的關(guān)鍵。 18第2章 不同軟件項目的需求視圖 20SERU誡語2-1:流程分析(業(yè)務(wù)事件)是OLTP系統(tǒng)的關(guān)鍵線索和主要視圖。 23SERU誡語2-2:報表分析是MIS系統(tǒng)的關(guān)鍵線索和主要視圖。 26SERU誡語2-3:決策場景是DSS系統(tǒng)的關(guān)鍵線索和主要視圖。 29SERU誡語2-4:工作場景是專家系統(tǒng)的關(guān)鍵線索和主要視圖。 30SERU誡語2-5:并行工作流是OA系統(tǒng)的關(guān)鍵線索和主要視圖。 30SERU誡語2-6:高層管理人員的關(guān)注點往往在問題和機(jī)會。 33SERU誡語2-7:對于面向用戶的嵌入式系統(tǒng),行為分析是要點。 35SERU誡語2-8:面向特定設(shè)備的嵌入式系統(tǒng),外部接口和事件分析是要點。 36SERU誡語2-9:信息系統(tǒng)類軟件產(chǎn)品的需求重點在于針對不同目標(biāo)客戶群體的SERU誡語2-9:不同商業(yè)模式分離變化點;經(jīng)常需要減出通用性,再通過插接SERU誡語2-9:解決擴(kuò)展性。 39SERU誡語2-10:基于使用場景的困難點分析是工具軟件的需求要點。 40第3章 軟件需求與需求工程 41SERU誡語3-1:業(yè)務(wù)需求是需求定義的產(chǎn)物,用戶需求是需求捕獲的產(chǎn)物,SERU誡語2-9:軟件需求是需求分析與建模的產(chǎn)物。 43SERU誡語3-2:功能需求的要點在于如何組織。 44SERU誡語3-3:非功能需求的要點在于保證信息的有效傳遞和注意其局部性。 44SERU誡語3-4:設(shè)計約束包括非技術(shù)因素的技術(shù)選型、預(yù)期的軟硬件環(huán)境和預(yù)期的SERU誡語2-9:使用環(huán)境三大類型。 45SERU誡語3-5:業(yè)務(wù)導(dǎo)向的層次結(jié)構(gòu)是保障完整性的關(guān)鍵。 46SERU誡語3-6:需求有時會戴上“高優(yōu)先級”的面具,實際上就是擔(dān)心SERU誡語2-9:你不去實現(xiàn)它。 48SERU誡語3-7:滿意/不滿意度模型是需求必要性評價的有效手段。 49SERU誡語3-8:在需求捕獲活動中,化被動為主動是關(guān)鍵。 52SERU誡語3-9:需求分析就是向下分解+向上提煉,外加一些規(guī)格化。 53SERU誡語3-10:需求分析是目標(biāo),需求建模是手段。 54SERU誡語3-11:在編寫需求規(guī)格說明書時,應(yīng)確保一類信息只在一處描述。 55SERU誡語3-12:劃分出大小合適、粒度均勻的需求項是需求管理的前提。 57SERU誡語3-13:需求優(yōu)先級與工作量估算是基線管理的關(guān)鍵。 57SERU誡語3-14:SERU模型是需求分析的工作指南。 60第4章 需求定義最佳實踐 64SERU誡語4-1:清晰的項目目標(biāo)和范圍定義,能夠引導(dǎo)需求工作順利進(jìn)行。 65SERU誡語4-2:對混沌不清的目標(biāo),可以通過內(nèi)部尋根或外部溯源來破解。 65SERU誡語4-3:對問題進(jìn)行了正確的定義,意味著成功解決了一半。SERU誡語2-9:而在問題定義時應(yīng)該善于使用轉(zhuǎn)換和本源兩個技巧。 68SERU誡語4-4:需求定義階段要善于將未知解問題轉(zhuǎn)換成已知解問題。 68SERU誡語4-5:在確定某問題的解決方案時,一定要思考是否會引發(fā)新問題。 70SERU誡語4-6:直接修改錯誤,不要用其他方案來彌補錯誤。 71SERU誡語4-7:魚骨圖為解決問題找到了靶子,帕累托圖則標(biāo)上了環(huán)數(shù)。 76SERU誡語4-8:范圍是涉及的事、物,邊界是人與系統(tǒng)的職責(zé)邊界。 79SERU誡語4-9:用戶永遠(yuǎn)會希望花同樣的錢,獲得盡可能多的功能。 79SERU誡語4-10:需求階段描述的是用戶的能力特點,旨在提高可用性。 86SERU誡語4-11:你可以不做一件事,但一定不能不知道為什么需要做這件事。 86SERU誡語4-12:在分解系統(tǒng)時,應(yīng)該按業(yè)務(wù)的脈絡(luò)來劃分成不同的主題域。 89SERU誡語4-13:各個主題域之間的服務(wù)接口是需求變更的防火墻。 91SERU誡語4-14:確保能做的事和知道的事相匹配是職責(zé)驅(qū)動設(shè)計的要點。 93SERU誡語4-15:目標(biāo)決定范圍。 96SERU誡語4-16:繪制上下文關(guān)系圖,先考慮Customer再考慮Worker是要點。 98SERU誡語4-17:業(yè)務(wù)事件應(yīng)該是主動觸發(fā)的,并且將會產(chǎn)生一系列后續(xù)行為。 103SERU誡語4-18:業(yè)務(wù)事件是直接作用于系統(tǒng)的,也就是將觸發(fā)系統(tǒng)行為。 103第5章 需求捕獲最佳實踐 109SERU誡語5-1:需求捕獲是撒網(wǎng)打魚,不是休閑釣魚。 109SERU誡語5-2:善于聚焦訪談話題是需求捕獲人員成功的關(guān)鍵。 111SERU誡語5-3:嘗試?yán)斫鈽I(yè)務(wù)場景是合格需求分析人員的良好習(xí)慣。 112SERU誡語5-4:善于利用技術(shù)為用戶創(chuàng)造全新體驗是優(yōu)秀需求人員的特質(zhì)。 113SERU誡語5-5:通過比較用戶代表的表述來識別言過其實,利用差異展現(xiàn)、SERU誡語2-9:瓶頸分析法來緩解影響。 114SERU誡語5-6:針對越俎代庖心理現(xiàn)象最有效的方法是識別正確的被訪談?wù)摺?114SERU誡語5-7:離開辦公室、對訪談進(jìn)行計劃是避免非正事現(xiàn)象的主要手段。 115SERU誡語5-8:化敵為友是緩解抗拒心態(tài)的主要方向。 116SERU誡語5-9:傾聽對方的抱怨是化敵為友的有效手段之一。 116SERU誡語5-10:突破推卸責(zé)任心理的簡單手段是讓被訪談?wù)呓榻B工作場景。 117SERU誡語5-11:需求捕獲時不要忽視對變更可能的了解。 117SERU誡語5-12:在需求捕獲時要善于使用“?”之箭,找到真正的需求。 120SERU誡語5-13:“撥開立場,尋找利益訴求”是需求協(xié)商的要點。 122SERU誡語5-14:不要孤立地看待需求項,應(yīng)該將所有需求視為一個整體。 123SERU誡語5-15:“環(huán)境”將改變結(jié)果,切換不同的視角會得到不同的認(rèn)識。 124SERU誡語5-16:善于打比方是提高跨專業(yè)溝通效果的好方法。 125SERU誡語5-17:占用時間長和信息的片面性是用戶訪談的兩大敵人。 126SERU誡語5-18:訪談的線索是因“人”(用戶類型)而異的。 126SERU誡語5-19:盡量將訪談問題事先發(fā)給被訪談?wù)?,讓他打一場有?zhǔn)備之戰(zhàn)。 128SERU誡語5-20:在需求捕獲時別忘了“一圖抵千言”這句經(jīng)典提示。 132SERU誡語5-21:用戶訪談是一個有計劃的、科學(xué)的過程。 135SERU誡語5-22:用戶調(diào)查能夠有效克服用戶訪談中存在的片面性。 137SERU誡語5-23:在需求捕獲過程中,先訪談再調(diào)查是更合理的方式。 137SERU誡語5-24:大樣本用戶、跨地域用戶的存在就是使用用戶調(diào)查的時機(jī)。 138SERU誡語5-25:分析文檔資料時應(yīng)該思考新流程對其的影響。 143SERU誡語5-26:收集文檔時,應(yīng)該盡可能讓用戶提供帶有真實數(shù)據(jù)的樣本。 143SERU誡語5-27:需求捕獲人員要善于根據(jù)流程分析的結(jié)果主動收集相關(guān)文檔。 144SERU誡語5-28:情節(jié)串聯(lián)板是消除用戶盲區(qū)的有效技術(shù)。 144SERU誡語5-29:情節(jié)串聯(lián)板應(yīng)該以業(yè)務(wù)場景作為展示的主線索。 145SERU誡語5-30:交互才是情節(jié)串聯(lián)板的本質(zhì),不要只關(guān)注于界面的靜態(tài)效果。 145SERU誡語5-31:現(xiàn)場觀摩技術(shù)是消除開發(fā)團(tuán)隊認(rèn)識盲區(qū)的有效手段。 146SERU誡語5-32:現(xiàn)場觀摩技術(shù)能夠使開發(fā)團(tuán)隊實現(xiàn)對業(yè)務(wù)場景“感同身受”。 146SERU誡語5-33:聯(lián)合開發(fā)是突破雙方需求盲區(qū)的有效手段。 147SERU誡語5-34:出現(xiàn)“上面開大會,下面開小會”現(xiàn)象,一半責(zé)任在組織者。 148SERU誡語5-35:溝通決定內(nèi)容,內(nèi)容決定格式。 150第6章 需求分析與建模最佳實踐 156SERU誡語6-1:需求分析就是先分解,再提煉,在這個過程中消除矛盾。 156SERU誡語6-2:需求建模的過程遠(yuǎn)比建模的結(jié)果更重要。 159SERU誡語6-3:模型是用來溝通的,因此僅當(dāng)需要時才構(gòu)建它。 160SERU誡語6-4:建模的要點是根據(jù)要完成的任務(wù)選擇合適的建模工具。 161SERU誡語6-5:UML本身不是方法論。 163SERU誡語6-6:業(yè)務(wù)流程是對信息系統(tǒng)進(jìn)行“庖丁解?!钡暮诵木€索。 165SERU誡語6-7:流程有組織級、部門級、崗位級三個層次,其中部門級是SERU誡語2-9:需求分析的主線索,崗位級是需求細(xì)節(jié)填充時的工作內(nèi)容,SERU誡語2-9:組織級是對部門級流程的抽象概括。 170SERU誡語6-8:應(yīng)該根據(jù)項目的特點和團(tuán)隊的技能情況選擇合適的模型。 172SERU誡語6-9:模型最有效的方式是在交流中演化出來的。 176SERU誡語6-10:流程圖繪制完成之后,花些時間進(jìn)行瓶頸和利益分析會有意SERU誡語6-10:想不到的收獲。 185SERU誡語6-11:在需求建模時,應(yīng)該大膽地用中文命名類和類的屬性。 194SERU誡語6-12:需求階段的類建模應(yīng)該盡可能保持簡單,引入過多的輔助建模SERU誡語6-10:元素反而會降低圖的可讀性。 199SERU誡語6-13:領(lǐng)域模型是自底向上合并出來的。 205SERU誡語6-14:領(lǐng)域模型的要點是拒絕實現(xiàn)、保持簡單、忠于問題域。 207SERU誡語6-15:領(lǐng)域建模時應(yīng)遵循“拒絕實現(xiàn)細(xì)節(jié)、大類不分拆、子類不合并、SERU誡語6-10:同類不抽象”的原則。 207SERU誡語6-16:團(tuán)隊的分工不明確往往是導(dǎo)致視圖交疊的原因,了解不同視圖的SERU誡語6-10:關(guān)注點,是理解不同模型的關(guān)鍵。 214SERU誡語6-17:僅在需求規(guī)格中出現(xiàn)用例圖并不意味著應(yīng)用了用例技術(shù)。 216SERU誡語6-18:千萬不要為了使用擴(kuò)展、包含關(guān)系而使用它們。擴(kuò)展用例SERU誡語6-18:建模的通常是優(yōu)先級較低的擴(kuò)展事件流,包含關(guān)系建模的SERU誡語6-18:通常是多個用例所包含的公共子事件流。 222SERU誡語6-19:在訪談現(xiàn)場,就流程圖討論出用例圖是高效的建模方法。 226SERU誡語6-20:如果說用例有粒度,那么它取決于業(yè)務(wù)流程和任務(wù)分工。 230SERU誡語6-21:系統(tǒng)動作(諸如新增、刪除之類)和業(yè)務(wù)名詞在用例名稱中SERU誡語6-18:相遇時,就是一個十分危險的信號。 230SERU誡語6-22:對不影響泳道間協(xié)作的判斷、活動均屬于細(xì)節(jié)信息。 234SERU誡語6-23:對于報表而言,并不一定非得按用例模板來組織需求描述。 238SERU誡語6-24:諸如Rose之類的建模工具,對模型抽象的支撐是最重要的。 249SERU誡語6-25:前、后置條件出現(xiàn)的頻度并不高,不要畫蛇添足。 254SERU誡語6-26:避免在用例事件流描述中出現(xiàn)實現(xiàn)細(xì)節(jié)、分支結(jié)構(gòu)、SERU誡語6-18:循環(huán)結(jié)構(gòu);特別是不應(yīng)該出現(xiàn)多路分支結(jié)構(gòu),如果出現(xiàn)SERU誡語6-18:要反思用例抽象是否正確。 261SERU誡語6-27:界面原型部分是約束、是建議,目的是支持有效的UI設(shè)計。 266SERU誡語6-28:建議使用不同的字體風(fēng)格約定,以表達(dá)出數(shù)據(jù)的結(jié)構(gòu)特點。 276SERU誡語6-29:歷史記錄的標(biāo)準(zhǔn)也是數(shù)據(jù)需求的一部分。 276SERU誡語6-30:哪里有分解,哪里就有接口。 292第7章 需求描述最佳實踐 302SERU誡語7-1:需求規(guī)格的格式取決于開發(fā)團(tuán)隊的特點及所選的開發(fā)方法論。 324SERU誡語7-2:用戶需求說明書是為生成軟件需求規(guī)格說明書服務(wù)的。 328SERU誡語7-3:文字的歧義可能與其長度成正比。 330SERU誡語7-4:要使需求描述更加清晰,就應(yīng)該轉(zhuǎn)用“結(jié)構(gòu)化文本”式描述。 332SERU誡語7-5:在你被逼在需求描述中增加How的信息之前,先確認(rèn)自己已經(jīng)SERU誡語7-5:嘗試過為需求添加了Why。 334SERU誡語7-6:對于非功能需求而言,應(yīng)該拋棄定性,改用場景化描述;SERU誡語7-5:并通過選取指標(biāo)、積累經(jīng)驗值的方法過渡到定量描述。 335第8章 需求驗證最佳實踐 336SERU誡語8-1:需求驗證的目標(biāo)是盡可能暴露問題,而不是證明無錯。 341SERU誡語8-2:在企業(yè)中推行即時評審、同級桌查等正式化程度不高的評審手段,SERU誡語7-5:是創(chuàng)建企業(yè)評審文化的有效手段。 342SERU誡語8-3:在評審會中,不要用“評價者”的口氣談?wù)撃愕挠^點。 343SERU誡語8-4:參加需求評審的人不是越多越好,一定要保證同級、適合。 343SERU誡語8-5:評審時要確保評審內(nèi)容、缺陷檢查表的規(guī)模適合,內(nèi)容應(yīng)該按每SERU誡語7-5:小時30~40頁的速度來準(zhǔn)備,缺陷檢查表盡量在9條之內(nèi)。 344第9章 需求基線操作實務(wù) 348SERU誡語9-1:優(yōu)先級是相對的,要在同一級中進(jìn)行比較。 355SERU誡語9-2:評價具體功能點的優(yōu)先級時,應(yīng)將其放到業(yè)務(wù)場景甚至是業(yè)務(wù)SERU誡語7-5:流程環(huán)境中考慮。 356SERU誡語9-3:軟件估算是隨著工作任務(wù)的細(xì)化不斷提高精確度的。 357SERU誡語9-4:不同階段進(jìn)行軟件估算時,應(yīng)該采用不同的計數(shù)單元。 357SERU誡語9-5:悲觀估計、樂觀估計應(yīng)和“風(fēng)險”理由對應(yīng)起來。 362第10章 變更管理操作實務(wù) 365SERU誡語10-1:需求變更管理的目標(biāo)是控制變更,而非避免變更。 365SERU誡語10-2:控制變更的目標(biāo)是減少變更對開發(fā)工作的影響。 365SERU誡語10-3:需求團(tuán)隊的貢獻(xiàn)在于“盡早標(biāo)識變更”,設(shè)計團(tuán)隊的貢獻(xiàn)在于SERU誡語10-3:“盡可能以彈性的設(shè)計來減少變更的影響”。 366SERU誡語10-4:建立統(tǒng)一的渠道讓客戶意識到變更的成本,減少“來路不正”SERU誡語10-3:的變更,記錄“變更的工作”。 366SERU誡語10-5:CCB的核心人員只有兩個,分別代表用戶團(tuán)隊和開發(fā)團(tuán)隊,SERU誡語10-3:其他組成人員都是協(xié)作者和決策者。 367SERU誡語10-6:基于業(yè)務(wù)驅(qū)動的需求項(樹型)列表,是對變更進(jìn)行業(yè)務(wù)SERU誡語10-3:影響分析的有效方法。 372SERU誡語10-7:對變更進(jìn)行分類、再分類,是管理變更的重中之重。 375第11章 需求跟蹤操作實務(wù) 376SERU誡語11-1:需求跟蹤是高階管理活動,所需的工作量很大,特別是軟件需求SERU誡語10-3:到設(shè)計元素的跟蹤,因此一定要考慮投入與產(chǎn)出是否成正比。 377
章節(jié)摘錄
第1章 需求實踐現(xiàn)狀分析 在信息化高速發(fā)展的今天,構(gòu)建與時俱進(jìn)的信息化系統(tǒng)已成為所有政府、企事業(yè)單位的重點課題之一。然而在軟件項目實施過程中,進(jìn)度超期、經(jīng)費超預(yù)算、變更頻繁的現(xiàn)象層出不窮,甚至有許多項目根本無法達(dá)到預(yù)期的目標(biāo),更談不上為業(yè)主創(chuàng)造真正的效益。歸根結(jié)底,軟件需求實踐這一共同的軟肋是問題的根源?! ?.1 軟件項目失敗的根源 “在中國做軟件太難了!客戶連自己的需求都說不清楚!”,這種抱怨的話總是在筆者耳邊響起。實際上,軟件項目失敗率居高不下、需求問題層出不窮的現(xiàn)象并不僅僅是中國軟件業(yè)的困擾,在大洋彼岸的美國軟件業(yè)也未能幸免。 第三方機(jī)構(gòu)Standish Group每隔幾年都會對軟件項目實踐現(xiàn)狀進(jìn)行分析與統(tǒng)計,其顯示的“成績單”(CHAOS Report)十分令人擔(dān)憂。正所謂“他山之石可以攻玉”,下面我們分別來看看幾次報告中顯示的數(shù)據(jù),分析失敗的原因,以便從中獲得一些幫助我們改進(jìn)工作的思路?! ?.1.1 CHAOS Report 1994 1994年度發(fā)布的報告顯示,美國每年的IT應(yīng)用開發(fā)項目大約有175 000個,總投資高達(dá)2500億美元,大型、中型、小型企業(yè)的軟件開發(fā)項目的平均成本分別是232.2萬美元、133.I萬美元和43.4萬美元?! 《鳶tandish Group的研究顯示:高達(dá)31.1%的項目徹底失敗,高達(dá)52.7%的項目進(jìn)度超期或成本超支,被認(rèn)為成功的項目僅有可憐的16.2%?! 《鴮?dǎo)致進(jìn)度超期、成本超支的項目中,最主要的原因之一是項目的重新啟動,而每100個項目中就有94個曾經(jīng)遇到這個問題,甚至在這94個項目中還有許多項目經(jīng)歷了多次的重新啟動?! 《煌捻椖康倪M(jìn)度超期、成本超支情況還是有所不同的,下面我們就通過CHAOS報告中總結(jié)的表格來了解一下,如表1.1所示?! ≡诒?—2中可以看出,十大成功保證中有三個是直接與需求相關(guān)的(已加粗顯示),累計權(quán)重達(dá)到37.1%;而十大敗因中與需求直接相關(guān)的更是高達(dá)五個,累計權(quán)重高達(dá)51.6%,可見需求問題對項目影響程度之高?! 《鴮τ谀切┏杀境А⑦M(jìn)度超期的項目而言,報告也總結(jié)出了導(dǎo)致這一結(jié)果出現(xiàn)的十大因素:缺乏用戶參與(12.8%)、不完整的需求(12.3%)、需求變更頻繁(11.8%)、缺乏執(zhí)行層的支持(7.5%)、技術(shù)能力缺乏(7.0%)、資源不足(6.4%)、不切實際的用戶期望(5.9%)、沒有清晰的愿景和目標(biāo)(5.3%)、不切實際的時間限制(4.3%)、新技術(shù)風(fēng)險(3.7%)、其他(23.0%)。
媒體關(guān)注與評論
六年前,當(dāng)我認(rèn)識徐鋒時,他就是軟件需求領(lǐng)域的高手。潛心實踐、研究,六年磨一劍,如今鋒利出鞘。中國的軟件產(chǎn)業(yè)并不缺乏軟件工程理論,而是我們沒有很好地運用這些理論。我給軟件工程碩士講授課程,使用過各種版本的教材,這些書籍的通病就是實踐性不強。當(dāng)我讀到這本書稿時,倍感親切,這不是一本軟件需求的理論書,而是一本需求實踐指導(dǎo)手冊?! 獜堄焉┦浚ㄏY惥W(wǎng)首席架構(gòu)師,著名計算機(jī)教育專家) 涵蓋面廣,實用性強,有理有據(jù)(例),亦莊亦諧,樸實無華又非常受用,在技術(shù)類書籍中當(dāng)屬不可多得的佳作?! 锟ㄓ糜汛髮W(xué)執(zhí)行校長,高級企業(yè)培訓(xùn)師) ?。ㄜ浖枨笞罴褜嵺`>是一本足以令人拍案叫好的書。它經(jīng)驗密集,直擊需求實踐中各種問題,給出令人信服的問題解決思路。它實踐體系完善,貫穿全書的SERLJ過程框架,詳盡地覆蓋了需求工作中各個環(huán)節(jié)的任務(wù)、要點及產(chǎn)物,脈絡(luò)清晰,可操作性極強。最可貴的是,SERU過程框架漂亮地 “打通了”業(yè)務(wù)工程到傳統(tǒng)需求的“鴻溝”,而眾多企業(yè)需求實踐中的最大困惑恰恰常在于此。故此,鄭重推薦徐鋒的這本佳作! ——溫昱資深咨詢顧問.軟件架構(gòu)高級培訓(xùn)講師)
編輯推薦
《軟件需求最佳實踐:SERU過程框架原理與應(yīng)用》可作為計算機(jī)軟件專業(yè)本科生、研究生和軟件工程碩士的軟件需求分析教材,也可以作為軟件工程、軟件開發(fā)管理培訓(xùn)的教材,更是一線項目經(jīng)理、需求分析人員、資深開發(fā)人員、信息系統(tǒng)運行管理人員、研發(fā)企業(yè)管理人員的必備參考書?! ×昵?,當(dāng)我認(rèn)識徐鋒時,他就是軟件需求領(lǐng)域的高手。潛心實踐、研究,六年磨一劍,如今鋒利出鞘。中國的軟件產(chǎn)業(yè)并不缺乏軟件工程理論,而是我們沒有很好地運用這些理論。我給軟件工程碩士講授〈需求工程〉課程,使用過各種版本的教材,這些書籍的通病就是實踐性不強。當(dāng)我讀到這本書稿時,倍感親切,這不是一本軟件需求的理論書,而是一本需求實踐指導(dǎo)手冊。 ——張友生博士(希賽網(wǎng)首席架構(gòu)師,著名計算機(jī)教育專家) 涵蓋面廣,實用性強,有理有據(jù)(例),亦莊亦諧,樸實無華又非常受用,在技術(shù)類書籍中當(dāng)屬不可多得的佳作。 ——田俊國(用友大學(xué)執(zhí)行校長,高級企業(yè)培訓(xùn)師) ?。ㄜ浖枨笞罴褜嵺`〉是一本足以令人拍案叫好的書。它經(jīng)驗密集,直擊需求實踐中各種問題,給出令人信服的問題解決思路。它實踐體系完善,貫穿全書的SERLJ過程框架,詳盡地覆蓋了需求工作中各個環(huán)節(jié)的任務(wù)、要點及產(chǎn)物,脈絡(luò)清晰,可操作性極強。最可貴的是,SERU過程框架漂亮地 “打通了”業(yè)務(wù)工程到傳統(tǒng)需求的“鴻溝”,而眾多企業(yè)需求實踐中的最大困惑恰恰常在于此。故此,鄭重推薦徐鋒的這本佳作! ——溫昱資深咨詢顧問.軟件架構(gòu)高級培訓(xùn)講師)
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載