需求分析 及需求文件的編寫
通常,軟體開發工程師和軟體測試工程師的工作都開始於軟體需求說明書成型的基礎上。那麼軟體需求說明書到底是怎麼來的,軟體的需求分析到底怎麼做?今天我就針對這個話題結合我自己的一些理解和經歷來梳理一下。
需求分析的目標是將產品的需求功能梳理,並且用通俗易懂的文字描述,為開發人員和測試人員提供依據。那麼需求的分析梳理細化,直至成文這個過程,就是需求分析師的主要工作內容了。
需求一般分為四種需求:原始需求、使用者需求、產品需求、個性需求
原始需求:就是最原始的,未經加工的需求,可能是客戶提出的,也可能是行業共性(有可能是監管機構提出的)。
使用者需求:使用系統的人提出的需求,可以根據使用者角色,使用者型別劃分來歸類。提取使用者群需求的共性,找出使用者需求的矛盾點,進行綜合分析處理。
產品需求:從產品層面出發,對產品未來發展方向有益的,對產品的迭代有幫助的,有益於產品的使用者體驗,有益於市場認同和提高競爭力的需求。
個性需求:使用者提出的個性化需求,並不一定適用於所有客戶。
需求分析一般分為幾步走:
1. 獲取需求:瞭解所有使用者型別,包括潛在使用者型別,以確定整體目標和方向
a) 對使用者進行訪談和調研,對各個角色的需求進行歸納整理分析
b)業務需求,模擬業務場景,對業務邏輯業務流程進行梳理,整理出業務需求
2. 分析需求:
a)根據業務邏輯和業務流程畫出流程圖,分析需求以及業務走向(資料流圖DFD:Data flow Define,實體關係圖ERD,使用者用例use case)
b)挖掘每個需求點的產生原因(知道為什麼,)
c)挖掘每個需求點的隱含需求
d)挖掘每個需求的必要性
3. 需求確認: 整理分析階段的所有需求,確保需求一致
a)整理不清晰的需求
b)分別將以上需求點與對應使用者進行確認,保證需求的一致性和清晰性
4. 編寫需求文件:使用自然語言,通俗易懂的方式展現,可以新增圖形來增強閱讀力
a)應該包含功能需求和非功能需求
b)最好把原始需求加入到需求文件中,單獨列出一章節
需求文件模板 例子:
1.版本資訊
版本號 |
修訂人 |
修訂日期 |
版本內容 |
V1.0 |
XXX |
2019.1.1 |
|
... |
|
|
|
V2.0 |
XXX |
2019.4.1 |
|
... |
|
|
|
前哨APP版本資訊表示意圖
2.產品簡介
2.1產品定位:
定位: XXXApp致力於提供最方便的基因檢測體驗,為患者打造最優秀的健康檢測軟體,為醫院打造最方便使用的管理軟體.
2.2 產品特色:
就醫流程不再繁瑣,多種醫療健康方案可供選擇,貼心的評價體系讓您知己知彼等
2.3 使用者分析:
主要使用者為,重視健康卻面對眾多醫院無從選擇的患者.
醫院的醫護人員、保險公司的保險經紀人、醫療美容機構的健康顧問、城市合夥人
3.產品架構
3.1產品結構圖
此文僅述主要模組,應展開至使用者最小可見單元
3.2使用者操作流程圖
3.3 醫護人員操作流程圖
4.詳細功能說明
5.非功能需求說明
5.1 效能需求
1、前端內容展現應保證使用者在WIFI及行動網路下體驗流暢;
2、萬級使用者線上時後臺資訊處理穩定且快速等等。
5.2 系統需求
相容Andriod、IOS各系統版本(包括最新版本)
5.3 運營需求
使用者/內容管理系統開發、使用者資料分析系統開發等
6.專案規劃
6.1時間規劃
6.2 版本規劃
6.3 應急恢復
7.附錄