需求分析類文檔模板
編者說明:
許多有經驗的開發團隊在開始需求調查的時候,總會將“軟件客戶需求權利書”和“軟件客戶需求義務書”提交給客戶,讓客戶明確其權利與義務,將會對需求調研、分析的工作帶來意想不到的效果,你可以一試。
軟件客戶需求權利書
1.要求分析人員使用符合客戶語言習慣的表達;
2.要求分析人員了解客戶系統的業務及目標;
3.要求分析人員組織需求獲取期間所介紹的信息,并編寫軟件需求規格說明。
4.要求開發人員對需求過程中所產生的工作結果進行解釋說明;
5.要求開發人員在整個交流過程中保持和維護一種合作的職業態度;
6.要求開發人員對產品的實現及需求都要提供建議,拿出主意。
7.描述產品使其具有易用、好用的特性;
8.可以調整需求,允許重用已有的軟件組件;
9.當需要對需求進行變更時,對成本、影響、得失有個真實可信的評估;
10.獲得滿足客戶功能和質量要求的系統,并且這些要求是開發人員同意的。
軟件客戶需求義務書
1.給分析人員講解業務及說明業務方面的術語等專業問題;
2.抽出時間清楚地說明需求并不斷完善;
3.當說明系統需求時,力求準確詳細;
4.需要時要及時對需求做出決策;
5.要尊重開發人員的成本估算和對需求的可行性分析;
6.對單項需求、系統特性或使用實例劃分優先級;
7.評審需求文檔和原型;
8.一旦知道要對項目需求進行變更,要馬上與開發人員聯系;
9.在要求需求變更時,應遵造開發組織確定的工作過程來處理;
10.尊重需求工程中開發人員采用的流程(過程)。
軟件項目視圖和范圍
編者說明:
項目所涉及的內容與所解決的問題都是有限的,而且項目應該是十分有目的性的,是為了實現某個可度量的目標而做的。因此,在需求分析的前期應該將“項目的目標與范圍”這一項目的本質文檔化,讓每一個項目成員對其達成共識。該文檔是十分重要,但卻又是十分容易被忽視的。該文檔模板比較適用于定制開發項目。
1.業務需求
[業務需求說明了提供給客戶和產品開發商的新系統的最初利益。不同產品可能會有不同的側重點。本部分描述了你為什么要從事此項項目的開發,以及它將給開發者和購賣者帶來的利益。]
1.1 背景
[在這一部分,總結新產品的理論基礎,并提供關于產品開發的歷史背景或形勢的一般性描述。]
1.2 業務機遇
[描述現存的市場機遇或正在解決的業務問題。描述商品競爭的市場和信息系統將運用的環境。包括對現存產品的一個簡要的相對評價和解決方案,并指出所建議的產品為什么具有吸引力和它們所能帶來的競爭優勢。認識到目前只能使用該產品才能解決的一些問題,并描述產品是怎樣順應市場趨勢和戰略目標的。]
1.3 業務目標
[用一個定量和可測量的合理方法總結產品總結產品所帶來的重要商業利潤。關于給客戶帶來的價值在后面闡述,這里僅把重點放在給業務的價值上。這些目標與收入預算或節省開支有關,并影響到投資分析和最終產品的交付日期。]
1.4 客戶或市場需求
[描述一些典型客戶的需求,包括不滿足現在市場上的產品或信息系統的需求。提出客戶目前所遇到的問題在新產品中將可能(或不可能)出現的闡述,提供客戶怎樣使用產品的例子。確定了產品所能運行的軟、硬件平臺。定義了較高層次的關鍵接口或性能要求,但避免設計或實現細節。把這些要求寫到列表中,可以反過來跟蹤調查特殊用戶和功能需求。]
1.5 提供給客戶的價值
[確定產品給客戶帶來的價值,并指明產品怎樣滿足客戶的需要。可以用下列言辭表達產品帶給客戶的價值:
? 提高生產效率,減少返工;
? 節省開支;
? 業務過程的流水線化;
? 先前人工勞動的自動化;
? 符合相關標準和規則;
? 與目前的應用產品相比較,提高了可用性或減少了失效程度。]
1.6 業務風險
[總結開發(或不開發)該產品有關的主要業務風險,例如市場競爭、時間問題、用戶的接受能力、實現的問題或對業務可能帶來的消極影響。預測風險的嚴重性,指明你所能采取的減輕風險的措施。]
2.項目視圖的解決方案
[文檔中的這一部分為系統建立了一個長遠的項目視圖,它將指明業務目標。這一項目視圖為在軟件開發生存期中作出決策提供了相關環境背景。這部分不包括詳細的功能需求和項目計劃信息。]
2.1 項目視圖陳述
[編寫一個總結長遠目標和有關開發新產品目的的簡要項目視圖陳述。項目視圖陳述將考慮權衡有不同需求客戶的看法。它可能有點理想化,但必須以現有的或所期待的客戶市場企業框架。組織的戰略方向和資源局限性為基礎。]
[如:"化學制品跟蹤系統"可使科學家查詢到化學制品倉庫或供應商將提供的化學制品容器。系統可隨時了解公司每一個化學制品容器所處的位置,容器中所剩余的藥品劑量,任何時候每個容器所處的位置和用法的歷史記錄。通過充分利用公司內部的可用化學制品,廢棄極少量已使用或過期失效的化學制品,使用標準的化學制品的購買過程等將在化學制品上節省25%開支。"化學制品跟蹤系統"還能產生符合政府部門規定所要求的全部報表,包括化學制品的使用、存儲和廢棄等報表。]
2.2 主要特征
[包括新產品將提供的主要特性和用戶性能的列表。強調的是區別于以往產品和競爭產品的特性。可以從用戶需求和功能需求中得到這些特性。]
2.3 假設和依賴環境
[在構思項目和編寫項目視圖和范圍文檔時,要記錄所作出的任何假設。通常一方所持的假設應與另一方不同。如果你把它們都記錄下來,并加以評論,就能對項目內部隱含的基本假設達成共識。比如,"化學制品跟蹤系統"的開發者假設:該系統可以替代現有的倉庫存貨系統,并能與有關采購部門的應用相連接。把這些都記錄下來以防止將來可能的混淆和沖突。還有,記錄項目所依賴的主要環境,比如:所使用的特殊的技術、第三方供應商、開發伙伴及其它業務關系。]
3.范圍和局限性
[項目范圍定義了所提出的解決方案和概念和適用領域,而局限性則指出產品所不包括的某些性能。如果一般客戶所提出的需求超出項目的范圍時就應當拒絕它,除非這些需求是很有益的。記錄這些需求以及拒絕它們的原因,以待查。]
3.1 首次發行的范圍
[總結首次發行的產品所具有的性能。描述了產品的質量特性,這些特性使產品可以為不同的客戶群提供預期的成果。應當避免將想到的每一個特性都包括到1.0版本產品中去。開發者應把重點放在能提供最大價值、花花費最合理的開發費用及普及率最高的產品上。]
3.2 隨后發行的范圍
[如果你想象一個周期性的產品演變過程,就要指明哪一個主要特性的開發將被延期,并期待隨后版本發行的日期。]
3.3 局限性和專用性
[明確定義包括和不包括的特性和功能的界線是處理范圍設定和客戶期望的一個途徑。列出風險承擔者們期望的而你卻不打算把它包括到產品中的特性和功能。]
4.業務環境
[這一部分總結了一些項目的業務問題。]
4.1 客戶概貌
[客戶概述明確了這一產品的不同類型客戶的一些本質特點,以及目標市場部門和在這些部門中的不同客戶的特征。對于每一種客戶類型,概述要包括:
? 各種客戶類型將從產品中獲得的主要益處;
? 它們對產品所持的態度;
? 感興趣的關鍵產品的特性;
? 哪一類型客戶能成功使用;
? 必須適應任何客戶的限制。]
4.2 項目的優先級
[一旦明確建立項目的優先級,風險承擔者和項目的參與者就能把精力集中在一系列共同的目標上。達到這一目的的一個途徑是考慮軟件項目的五個方面:性能、質量、計劃、成本和人員。在所給的項目中,其每一方面應與下面三個因素之一相適應。
? 一個驅動----一個最高級別的目標;
? 一個約束----項目管理者必須操縱一個對象的限制因素;
? 一個自由度----項目管理能權衡其它方面,進而在約束限制的范圍內完成 目標的一個因素。
未必所有的因素都能成為驅動,或所有的因素都能成為約束因素。在項目開始時記錄和分析哪一個因素適用于哪一類型,將有助于使每一個人的努力和期望與普遍認可的優先級相一致。]
5.產品成功的因素
[明確產品的成功是如何定義和測量的,并指明對產品的成功有巨大影響的幾個因素。不僅要包括組織直接控制的范圍內的事務,還要包括我部素。如果可能,可建立測量的標準,用于評價是否達到業務目標,如:市場股票、銷售量及收入、客戶滿意度、交易處理量和準確度。]
項目構想
編者說明:
這個文檔模板與“軟件項目視圖與范圍”文檔的功能十分接近,只不過該文檔更適合于產品型項目。其注重對項目的用戶、市場進行分析,緊抓項目相關人員(也叫做風險承擔者)的需求的本質。
1.文檔簡介
[軟件需求規格說明書的整個內容還是鎖定于整個系統的操作、使用層面之上的功能性需求,只是解決了How的問題,而并未回答Why的問題。這使得系統在開發過程中,開發團隊經常陷入知其然,而不知其所以然的困境,造成了不必要的誤解與錯誤。因此,需要一個側重于對項目的風險承擔者、目標用戶需要的文檔,不僅要了解他們需要的功能,還要找到他們提出這些需求的原因。這就是“項目構想”文檔所要描述的重要內容。]
[本節的內容主要是提供項目構想文檔的目的、范圍、定義、參考資料以及對其的摘要性概述。]
1.1目的
[說明該文檔的寫作目的。]
1.2范圍
[范圍主要用來說明該文檔描述的項目內容,以及與其相關的其它東西。]
1.3 定義、首字母縮寫詞和縮略語
[與其它文檔一樣,該文檔也需要將本文檔中所涉及的所有術語、縮略語進行詳細的定義。還有一種可簡明的做法,就是維護在一個項目詞匯表中,這樣就可以避免在每個文檔中都重復很多內容。]
1.4參考資料
[在這一小節中,應完整地列出該文檔引用的所有文檔。對于每個引用的文檔都應該給出標題、標識號、日期以及來源,為閱讀者查找這些文檔提供足夠詳細的信息。]
1.5 概述
[在本小節中,主要是說明項目構想各個部分所包含的主要內容,就像一個文章摘要一樣。同時也應該對文檔的組織方式進行解釋。]
2.定位
2.1商業機會
[如果該項目是一個產品型項目,那么應該在本小節中描述該產品所針對的商業機會。如果是定制開發項目,那么可以省去本小節。]
2.2問題說明
[使用表格的形式,將該項目將要解決的問題進行概要性地描述:]
存在的問題
[問題的簡要說明]
受影響的人群
[該問題對哪些人群帶來了影響]
導致的后果
[該問題帶來的不利因素]
希望的解決方案
[列出解決方案所能夠解決的問題,以及其相應的優點。]
2.3產品定位說明
[如果是產品型項目,則該小節將以表格的形式對產品的定位進行明確,如果是定制開發項目,可以省略本小節。]
目標市場
[描述產品目標客戶群體]
目標客戶需求
[說明客戶的需要或者潛在的機會]
產品類別
[說明該產品屬于什么領域]
主要優點
[描述讓目標客戶產生興趣和購買欲的理由]
主要競爭對手
[列出與該產品有競爭的其它廠商的產品]
主要優勢
[針對競爭產品的分析]
[一個具有清晰定位的產品,在開發過程中,團隊將更好地理解,更容易開發出滿足目標市場的產品,因而該部分內容是十分重要的。]
3.項目相關人員和用戶說明
[了解用戶、了解所有與該項目相關的人員,是有效地滿足他們對系統、產品需求的基礎。你應該在本小節中將所有的項目相關人員以及用戶收羅在一起,并對他們進行簡要的描述,對他們的需求、習慣、角度進行說明。這些內容將有助于開發團隊更好的理解用戶的需求本質。]
3.1產品用戶分析
[如果是產品型項目,那么你應該本節中對目標客戶進行分析。可以在市場調查的基礎上,對其市場的規模和增長率進行研究,從而估計其潛在的用戶數量。另外,還應結合目標市場的實際情況,分析你的組織是否在該市場上有拓展的優勢,如何獲得這些優勢。如果是定制開發項目,可以省略這一小節。]
3.2項目相關人員一覽表
[使用下面的表格,對項目相關人員進行分析。]
人員類別
代表
作用
[指明項目相關人員的類別]
[列舉該類人員的代表]
[說明其對產品、項目開發的影響]
3.3用戶一覽表
[使用下面的表格,對項目、產品的用戶進行分析。]
用戶類型
說明
代表
[指明用戶類別]
[簡要說明他們在系統中代表的對象和充當的作用]
[列舉出代表]
3.4用戶環境
[了解用戶在使用環境下使用系統或產品,是十分有意義的事,也是實現產品更好地滿足需求,提供更加方便的使用界面的基礎。例如:該任務由多少人來完成?是否總在變化?一個任務周期需要多長時間?執行每項活動要用多長時間?是否總在變化?是否有特殊的環境約束:移動、戶外、乘機旅行等?目前使用的是哪些系統平臺?以后會使用哪些平臺?還在使用哪些應用程序?您的應用程序是否需要和這些應用程序集成?他們的計算機硬件系統的環境情況如何?他們都是在什么樣的工作環境中使用系統的?]
3.5項目相關人員的簡要說明
[以下表的形式,將各類項目相關人員的基本情況進行說明,以幫助開發團隊更好地了解他們的情況。為每一類人員生成一張表格。]
代表
[列出該類項目相關人員的代表。]
說明
[對該類人員進行簡要說明。]
專業技能
[描述本類人員的技能特長、技術背景以及電腦系統操作的熟練程度(可以分成業務用戶、專家用戶、熟練用戶、初級用戶等)]
職責
[描述本類人員對系統開發所承擔的職責,以及應享有的利益。]
驗收標準
[描述驗證系統是否滿足其職責的標準。]
參與方式
[該類人員是否參與系統開發,如果參與將以什么形式參加。]
項目成果
[說明該類項目相關人員是否參與項目成果的開發,是否有與其相關的項目成果。]
意見/問題
[列出與該類項目成員相關的問題與建議。]
3.6用戶簡要說明
[以下表的形式,將與系統相關的各種用戶的信息整理出來,以方便開發團隊針對性的工作。要注意的是,用戶會有不同的類型,有些用戶需要的是靈活性、方便快速操作的高級功能,而有些用戶則側重與用戶界面的友好性。這些與該用戶的基本情況直接相關,了解用戶才能夠真正地開發出符合用戶習慣和水平的系統。為每類用戶生成一張表。]
代表
[列出該類用戶的代表。]
說明
[對該類用戶進行簡要說明。]
專業技能
[描述該用戶的技能特長、技術背景和對計算機系統操作的熟練程度。]
職責
[列出該用戶對所開發的系統負有的關鍵職責,如記錄詳細信息、撰寫報告、協調工作等。]
驗收標準
[描述驗證系統符合用戶需求的標準。]
參與方式
[說明該類用戶是否參與開發,如何參與。]
項目成果
[說明是否有依賴于該類用戶的項目成果。]
意見/問題
[列出一些該類用戶對系統提出的一個意見與建議,并且收集其認為該系統將遇到的問題。]
3.7關鍵的項目相關人員/用戶需要
[列出項目相關人員提出的針對對于該解決方案的關鍵問題。對于列出的每個問題,需澄清:為什么會出現這一問題?目前的解決方案是什么?他們需要什么要的解決方案?或者對新的解決方案有什么樣的預期?]
[還有一個很關鍵的內容就是,每個需求的優先級,這將對制定迭代計劃時提供有效的基礎,而優先級的確定,應該采用分級、累積投票等方法從用戶、項目相關人員那里獲得。應充分考慮項目客戶方的要求。如果是產品型項目,則應該從產品經理、市場調查資料里獲得。]
[經過整理后,將內容填入下表:]
需求
優先級
要點
目前解決方案
提議的解決方案
3.8 備選方案和競爭
[如果是產品型項目,應在此小節列舉出客戶除了購買該產品這外的選擇,其中包括購買競爭對手的產品、自行設計解決方案甚至是維持現狀。對所有潛在的競爭產品做一個列表,并根據客戶的實際情況來確認主要優缺點。]
[而如果是定制開發型項目,則應該了解競爭對手提供的解決方案,比在此進行相應的比較。]
4. 產品概述
[本節主要從產品級、系統級的視角,高度概括產品的功能、與其它應用程序的交互以及所需的系統配置等。]
4.1產品總體效果
[本小節主要將產品話在用戶環境、使用環境的角度來介紹。如果是自成一體,則說明用戶將如何使用;如果是與其它的應用系統進行交互的,則在此小節說明如何與這些系統進行交互?它們之間采用什么樣的通訊方式和接口。在這里最適合的方式是使用UML的部署圖,讓用戶對系統最終的運行環境有一個較宏觀的了解。]
4.2主要功能
[本小節不是對系統或產品所有功能的羅列,而是將能夠體現系統、產品主要優點和特性功能在此列出。在內容組織方面,應該直接與“客戶能夠通過產品獲得的好處”相聯系,使讀者能夠將系統的功能與客戶的價值直接聯系起來,在開發時能夠從本質出發,構建出更加符合客戶需要的系統。]
4.3假設與依賴關系
[在此小節中,列出所有會影響該文檔中所述特性的各種因素。也就是列舉出所有可能讓該文檔發生變化的假設條件。]
4.4成本與定價
[該小節主要是對該項目的成本進行核算,對給出相應的定價策略。對于定制開發的項目,其成本主要包括開發的人工成本、公司管理成本、項目額外開支、相關軟硬件工具投資等方面。而對于產品型項目而言,還包括分銷成本、用戶手冊制作、CD制作等方面的成本。這里的成本核算為最終的合同價格以及產品的銷售價值將提供一個基礎的依據,因此也是十分重要的。]
4.5許可與安裝
[該小節中主要列出影響開發工作的一些許可和安裝相關的問題。例如是否需要加密,如果驗證用戶合法性,安裝界面的要求是什么。這方面對于產品型項目而言顯得更加重要,也是對軟件知識產權保護的一個重要措施。]
5.產品特性
[在本節中將列出系統或產品的特性,特性是指實現用戶價值的系統功能。每一個特性都是一個所需的服務,通常是通過一系列操作實現預期結果。在FDD中,也就是特征。通常一個特征會由一個或多個用例來實現,通常系統的特性應該進行整合打包,以25-99項為合適。]
[本小節的描述應該能夠讓用戶、操作人員、外部系統直接從系統的外邊感受到每項特性,這些特性應該包括功能性說明以及一些可用性問題。但是要注意,在這里不要過早地引入設計的內容,這里說明的是What,而不是How。]
[另外,因在所有特性的描述中,確定其優先級。]
6.約束
[記錄用戶、項目相關人員提供出的一些約束條件,以及與其它系統之間的依賴關系,這是制訂解決方案時必須考慮到的問題。]
7.質量要求
[對于整個系統的質量要求,如可靠性、可用性、性能、容錯等質量要求,在這此節中詳細地定義與描述。]
8.其他產品需求
[一些要求符合的標準、硬件基礎要求、軟件基礎要求、環境要求等。]
8.1適用的標準
[列出產品必須符合的所有標準。其中可能包括法律和法規(FDA、UCC)標準、通訊標準(TCP/IP、ISDN)、平臺一致性標準(Windows、Unix 等)以及質量和安全標準(UL、ISO、CMM)。]
8.2系統需求
[確定支持該應用程序所必需的任何系統需求。其中可能包括操作系統、網絡環境、系統配置、內存大小、硬盤大小、外圍設備和配套軟件。]
8.3性能需求
[本節用于詳細說明性能需求。性能問題可能包括在各種負載條件下的用戶負載因素、帶寬或通信容量、吞吐量、精確度以及可靠性或響應時間。]
8.4環境需求
[對于基于硬件的系統,環境因素可以包括溫度、振蕩、濕度、輻射等。對于軟件應用系統,環境因素可以包括使用條件、用戶環境、資源可用性、維護問題、錯誤處理和恢復。]
*請認真填寫需求信息,我們會在24小時內與您取得聯系。