業務需求分析怎麼寫?
怎麼編寫用戶業務需求分析
需求分析
格式
1 引言
1.1 編寫目的
【說明】目標:對用戶的需求進行收集、整理與分析,弄清楚系統究竟要 “幹什麼”及“由誰幹”,並用合乎規範的文字及圖表予以描述。不需要說明“怎麼幹”,因為那是設計階段的事情。有關文字與圖表應儘量讓用戶便於理解。
預期讀者:用戶方的相關業務人員、雙方的開發人員和系統維護人員。
作用:實現開發方與用戶方的雙向溝通,是把業務需求計算機化的關鍵步驟。
為下一階段的概要設計工作提供依據。當用戶的需求發生變更時,應添寫補充說 明;如變動過大可形成新版本。
軟件需求說明(Software Requirements Specification)的主要作用為:
為用戶方與開發方建立共同協議奠定基礎。
提高開發效率、強化進度控制。
為項目的的評測與驗收提供依據。
便於移植。
作為系統不斷提高的基礎。
1.2 編寫背景
1.2.1 系統名稱及版本號
【說明】形如“網銀三期***系統V3.0.0”。其中,版本號的格式為“XX.XX.XX”,X為阿拉伯數字,左“0”可省略。
1.2.2 使用者
【說明】適應對象和範圍。主要指預期讀者,也供有關領導審閱。
1.2.3 與其它系統的關係
【說明】在用戶現有的及預期的整個應用系統中,給本系統準確定位。用示意圖及相應的文字予以說明。
2 用戶的基本情況
2.1 系統建設背景
【說明】項目背景與依據、現有基礎、項目規模、預期目標等。可繁可簡,格式自定。
2.2 組織機構與職能
【說明】用層次示意圖及相應文字表示(如果需要開發的系統與部門沒有直接依賴關係此節可省略,本章隨後的小節數將順次減1),
加註:組織機構的層次數、數目、各個機構的職能簡述。
2.3 用戶特點
【說明】所在行業特徵、操作人員與系統維護人員的數量、學歷與水平、數據量大小、使用頻度等。
2.4 用戶業務分析
【說明】在本部分,希望系統分析人員能夠對用戶業務現狀進行分析、對用戶對本系統的未來發展方向作出一定的預測等。以便設計人員對業務及其發展有所瞭解,增強系統設計的前瞻性。
2.5 計算機應用現狀
【說明】可繁可簡,格式自定。
3 業務需求
3.1 項目概述
【說明】
第一、 指明項目的開發意圖、應用目標(總目標、分期目標)、作用範圍、預期效益等。
第二、 指明在輸入信息轉變為輸出信息的過程中,為了滿足用戶的業務需求,應用軟件必須完成的基本功能(採用自然語言敘述)。但此時不要求對基本功能進行分解。
第三、 如果本系統與其他系統相關聯,則應確定本系統的基本功能邊界(可採用圖示+文字說明的形式,用藍色標示出本系統的功能,用綠色標示出相關係統的功能)。
3.2 約束條件
3.2.1 費用約束
【說明】 預計投資金額概算、其中軟硬件費用的比例、資金分期到位計劃。
3.2.2 進度約束
【說明】預計完成日期、分步實施期限。
3.2.3 其它約束
【說明】場地面積限制、通信設施基礎、其它干擾因素。
注意:任何計算機系統都不是包羅萬象的;用戶自身的能力也是有限的。輕諾必寡信。故應特別指出:由於哪些條件的約束,本系統不能滿足哪些業務需求與系統需求。
本章主要介紹項目的總體業務功能,要求站在客戶的角度把握系統需求.
3.3 性能需求
【說明】依據ISO9000標準及我們的理解,下面列出了軟件的6組性能,共涵蓋21個子特性。這些性能/子特性的相對重要性並不是等同的。編寫時,......
需求分析具體要怎麼寫?要包括哪些內容?
方法⑴首先調查組織機構情況包括瞭解該組織的部門組成情況,各部門的職能等,為分析信息流程作準備。⑵然後調查各部門的業務活動情況⑶協助用戶明確對新系統的各種要求包括信息要求、處理要求、完全性與完整性要求。⑷確定新系統的邊界常用的調查方法有:⑴跟班作業通過親身參加業務工作來了解業務活動的情況。這種方法可以比較準確地理解用戶的需求,但比較耗費時間。⑵開調查會通過與用戶座談來了解業務活動情況及用戶需求。座談時,參加者之間可以相互啟發。⑶請專人介紹。⑷詢問對某些調查中的問題,可以找專人詢問。⑸設計調查表請用戶填寫如果調查表設計得合理,這種方法是很有效,也很易於為用戶接受的。⑹查閱記錄即查閱與原系統有關的數據記錄,包括原始單據、賬簿、報表等。通過調查瞭解了用戶需求後,還需要進一步分析和表達用戶的需求。分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。
如何寫業務需求
需求分析是一項重要的工作,也是最困難的工作。該階段工作有以下特點:
(1)用戶與開發人員很難進行交流
在軟件生存週期中,其它四個階段都是面向軟件技術問題,只有本階段是面向用戶的。需求分析是對用戶的業務活動進行分析,明確在用戶的業務環境中軟件系統應該"做什麼"。但是在開始時,開發人員和用戶雙方都不能準確地提出系統要"做什麼?"。因為軟件開發人員不是用戶問題領域的專家,不熟悉用戶的業務活動和業務環境,又不可能在短期內搞清楚;而用戶不熟悉計算機應用的有關問題。由於雙方互相不瞭解對方的工作,又缺乏共同語言,所以在交流時存在著隔閡。
(2)用戶的需求是動態變化的
對於一個大型而複雜的軟件系統,用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個大概、模糊的功能,只有經過長時間的反覆認識才逐步明確。有時進入到設計、編程階段才能明確,更有甚者,到開發後期還在提新的要求。這無疑給軟件開發帶來困難。
(3)系統變更的代價呈非線性增長
需求分析是軟件開發的基礎。假定在該階段發現一個錯誤,解決它需要用一小時的時間,到設計、編程、測試和維護階段解決,則要花2.5、5、25、100倍的時間。
因此,對於大型複雜系統而言,首先要進行可行性研究。開發人員對用戶的要求及現實環境進行調查、瞭解,從技術、經濟和社會因素三個方面進行研究並論證該軟件項目的可行性,根據可行性研究的結果,決定項目的取捨。
編輯本段方法
⑴首先調查組織機構情況
包括瞭解該組織的部門組成情況,各部門的職能等,為分析信息流程作準備。
⑵然後調查各部門的業務活動情況
包括瞭解各個部門輸入和使用什麼數據,如何加工處理這些數據,輸出什麼信息,輸出到什麼部門,輸出結果的格式是什麼。
⑶協助用戶明確對新系統的各種要求
包括信息要求、處理要求、完全性與完整性要求。
⑷確定新系統的邊界
確定哪些功能由計算機完成或將來準備讓計算機完成,哪些活動由人工完成。由計算機完成的功能就是新系統應該實現的功能。
常用的調查方法有:
⑴跟班作業
通過親身參加業務工作來了解業務活動的情況。這種方法可以比較準確地理解用戶的需求,但比較耗費時間。
⑵開調查會
通過與用戶座談來了解業務活動情況及用戶需求。座談時,參加者之間可以相互啟發。
⑶請專人介紹。
⑷詢問
對某些調查中的問題,可以找專人詢問。
⑸設計調查表請用戶填寫
如果調查表設計得合理,這種方法是很有效,也很易於為用戶接受的。
⑹查閱記錄
即查閱與原系統有關的數據記錄,包括原始單據、賬簿、報表等。
通過調查瞭解了用戶需求後,還需要進一步分析和表達用戶的需求。
分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。
編輯本段案例
(1)需求分析報告的編寫目的
本需求分析報告的目的是規範化本軟件的編寫,旨在於提高軟件開發過程中的能見度,便於對軟件開發過程中的控制與管理,同時提出了本鐵路售票系統的軟件開發過程,便於程序員與客戶之間的交流、協作,並作為工作成果的原始依據,同時也表明了本軟件的共性,以期能夠獲得更大範圍的應用。
(2)產品背景明細
軟件名稱:鐵路售票系統
(3)縮寫及縮略語
鐵路售票應用系統軟件:基本元素為構成鐵路售票及相關行為所必須的各種部分。
需求:用戶解決問題或達到目標所需的條件或功能;系統或系統部件要滿足合同、標準,規範或其它正式規定文檔所需具有的條件或......
如何寫需求分析報告
資源簡介教會你如何寫需求分析報告~~·需求分析說明書 1 、系統功能結構圖( HIPO 圖) (在該功能結構圖中選一個子系統進行逐層分解) 2 、系統功能說明 (對以上選中的子系統進行功能描述) 3 、現有系統的業務流程圖及說明 (對以上選中的子系統繪製手工系統或舊的計算機系統的業務流程圖並進行簡單的功能說明) 4 、新系統的業務流程圖及說明 (對以上選中的子系統繪製計算機系統下的業務流程圖(重組後的)並進行簡單的功能說明) 採購管理系統分析 採購是企業 物資供應部門 按已確定的物資供應計劃,通過市場採購、加工訂製等各種渠道,取得企業 生產經營活動所需要的各種物資的經濟活動,採購業務的狀況會影響到企業的整體運營狀況。 通常情況,企業的採購業務通常由 採購部 來執行—— 製造部 根據銷售定單制定生產計劃,企業生產 製造系統根據 生產技術部 提供的有關材料定額資料以及 製造部 提供的生產計劃,考慮現有庫存情況, 生成採購計劃。 採購部 根據採購計劃分別進行國內採購和國外採購。 採購管理系統 主要進行 採購訂單 、 採購入庫單 和 採購的管理 。採購業務發生後, 採購部 將 採購錄入 採購管理系統 ,採購物料入庫時, 採購部 儲運科根據驗收單在 庫存管理系統 中錄入入 庫單; 財務部 根據採購和物料驗收單據進行採購結算,系統自動生成相關憑證,登記相關庫存帳。 課程設計應該遞交哪些文檔? 課程設計應提交一份課程設計報告,課程設計報告包括以下幾個方面的內容:①封面、②目錄、③ 系統可行性分析報告、④系統分析報告、⑤課程設計小組成員清單。 如何撰寫課程設計報告? 課程設計報告包括兩個方面的內容,一個是系統可行性分析報告,一個是系統分析報告。可行性分 析報告簡單的來講我們要求大家寫兩個方面的內容,首先是對企業目前的狀況進行描述,指出企業需要用 計算機來進行管理(即需要信息系統),然後從經濟上、技術上、管理上闡述企業是否具備了相應的條件 ,最後得出系統是否可行的結論。我們的課程設計是基於系統可行來進行的。用文字把以上內容描述清楚 就是我們的可行性分析報告。最快線程間數據交換算法有效避免鎖競爭 下載通過IBM存儲解決方案應對信息爆炸問題HTML5 Audio API開發遊戲音樂您的IT安全來自System X服務器下載《從有限資源到無限發展潛力》Windows應用商店全新的商機
軟件的需求分析怎麼寫啊?
1. 引言
1.1 編寫目的:編寫此文檔的目的是進一步定製軟件開發的細節問題,便於用戶與開發商協調工作.本文檔面向的讀者主要是項目委託單位的管理人員.希望能使本軟件開發工作更具體.
1.2 項目背景
1.2.1項目委託單位:****公司
1.2.2開發單位:***公司
1.3 定義
1.4 參考資料
2. 任務概述
2.1 目標:
<1> 決策支持:根據公司的要求及時提供所需報表及文件,並在適當時候對各部門領導給予銷售及進貨等方面的提示
<2>提高效率:利用軟件進行管理,避免人工管理的失誤以及 延遲性,從而實現高效率的管理.
2.2 運行環境:
<1> 硬件方面:Pentium級處理芯片
1兆顯存的兼容顯卡
256色,800*600的兼容顯示器
標準兼容打印機
<2>軟件方面: WIN95操作系統
2.3 條件與限制:
編程用計算機一臺
完成期限2000/7/1
無資金供給
3. 數據概述
數據流程圖如下:
3.1 靜態數據:包括系統登錄密碼,各數據庫所在位置,系統分析原始數據
3.2 動態數據:包括各數據庫內各項顯示數據,用戶登錄信息,系統時間
3.3 數據庫描述:
人事管理數據庫:公司內人員的個人詳細信息,包括檔案信息
銷售管理數據庫:當日銷售記錄及以前的銷售統計,用於銷售分析
財務管理數據庫:公司內部賬目及收支情況詳表
技術管理數據庫:公司所需各技術檔案的詳細記錄(包括文檔)
3.4 數據字典:
<1>數據流詞條描述:
1.數據流名:登錄信息
來源:用戶的輸入
去向:系統內部檢驗部分
組成:用戶名,密碼
流通量:每次登錄輸入一次
2.數據流名:登錄結果
來源:系統
去向:用戶
組成:返回信息
流通量:每次登錄返回一次
3.數據流名:輸入修改信息
來源:用戶
去向:系統判斷部分
組成:根據各數據庫內容而不同
流通量:依用戶輸入而定
4.數據流名:反饋信息
來源:系統判斷部分
去向:用戶
組成:系統經判斷後發回的字符數據
流通量: 依系統當前信息而定
5.數據流名:識別信息
來源:系統內部檢驗部分
去向:系統判斷部分
組成:系統各數據庫的標識信息
流通量:用戶每次輸入流通一次
6.數據流名:處理信息
來源:系統判斷部分
去向:各數據庫處理部分
組成:讀取/修改標識,讀取/修改的變量名稱
流通量:用戶每次輸入流通一次
7.數據流名:讀取修改
來源:系統判斷部分
去向:系統各數據庫
組成:讀取/修改標識,讀取/修改內容
流通量: 用戶每次輸入流通一次
<2>數據文件詞條描述:
1.數據文件名:人事數據
簡述:存儲人員信息
數據文件組成:人員的各項信息(以CString類型為主)
2.數據文件名:銷售數據
簡述:存儲當日及從前的銷售記錄
數據文件組成:銷售的各項信息
3.數據文件名:財務數據
簡述:存儲財務管理信息
數據文件組成:財務管理的各項記錄
4.數據文件名:技術數據
簡述:存儲公司內部使用的技術檔案信息
數據文件組成:技術檔案名稱,內容
<3>加工邏輯詞條描述:
1.加工名:檢驗
......
項目需求分析怎麼寫
項目需求分析的概念 需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發計劃的一個複雜過程。(這個和我在微軟體驗到的又不太一樣,微軟的需求分析大多是市場人員和用戶協助小組的人去評估用戶的接受程度,這一點也可以理解,因為公司的性質有根本差別)在這個過程中,用戶的確是處在主導地位,需求分析工程師和項目經理要負責整理用戶需求,為之後的軟件設計打下基礎。需求分析階段結束後,要求得到:1.SRS文檔(System Requirement Specificatio鄲); 2.DRM 文檔;3.Acceptance Plan. 從廣義上理解:需求分析包括需求的獲取、分析、規格說明、變更、驗證、管理的一系列需求工程。
狹義上理解:需求分析指需求的分析、定義過程。 一、為什麼要需求分析 需求分析就是分析軟件用戶的需求是什麼.如果投入大量的人力,物力,財力,時間,開發出的軟件卻沒人要,那所有的投入都是徒勞.如果費了很大的精力,開發一個軟件,最後卻不滿足用戶的要求,從而要重新開發過,這種返工是讓人痛心疾首的.(相信大家都有體會)比如,用戶需要一個for linux的軟件,而你在軟件開發前期忽略了軟件的運行環境,忘了向用戶詢問這個問題,而想當然的認為是開發for windows的軟件,當你千辛萬苦地開發完成向用戶提交時才發現出了問題,那時候你是欲哭無淚了,痕不得找塊豆腐一頭撞死.
需求分析之所以重要,就因為他具有決策性,方向性,策略性的作用,他在軟件開發的過程中具有舉足輕重的地位.大家一定要對需求分析具有足夠的重視.在一個大型軟件系統的開發中,他的作用要遠遠大於程序設計. 二、需求分析的任務 簡言之,需求分析的任務就是解決"做什麼"的問題,就是要全面地理解用戶的各項要求,並準確地表達所接受的用戶需求.三、需求分析的過程 需求分析階段的工作,可以分為四個方面:問題識別,分析與綜合,制訂規格說明,評審.
問題識別
就是從系統角度來理解軟件,確定對所開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標準.這些需求包括:功能需求(做什麼),性能需求(要達到什麼指標),環境需求(如機型,操作系統等),可靠性需求(不發生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運行是所需的內存,CPU等),軟件成本消耗與開發進度需求,預先估計以後系統可能達到的目標.
分析與綜合
逐步細化所有的軟件功能,找出系統各元素間的聯繫,接口特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分.最後,綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什麼的模型).
制訂規格說明書
即編制文檔,描述需求的文檔稱為軟件需求規格說明書.請注意,需求分析階段的成果是需求規格說明書(好象軟考曾經考過這個問題),向下一階段提交.
評審
對功能的正確性,完整性和清晰性,以及其它需求給予評價.評審通過才可進行下一階段的工作,否則重新進行需求分析。 四、需求分析的方法 需求分析的方法有很多.這裡只強調原型化方法,其它的方法如:結構化方法,動態分析法等(個人認為,對初學者不必深究這些方法,實際上我也從來沒用過這些方法)在此不討論.
原型化方法是十分重要的(是軟考等常考的知識點).原型就是軟件的一個早期可運行的版本,它實現了目標系統的某些或全部功能.
原型化方法就是儘可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能,但是這個......
如何做需求分析
隨著技術的不斷髮展和用戶對網站功能性的需求不斷提高,如今網站項目的設計已經不能再僅僅簡單地利用靜態Html文件來實現,與前幾年網站設計由一兩名網頁設計師自由的創作相比,網站項目的設計和開發越來越像一個軟件工程,也越來越複雜,網站項目的設計和開發進入了需要強調流程和分工的時代,建立規範的、有效的、健壯的開發機制,才能適應用戶不斷變化的需要,達到預期的計劃目標。
網站項目管理(WPM)的含義為Web-based Project Management,即以Web 應用程序為主要表現方式的架構來進行的項目設計及管理,這樣的架構中包含了瀏覽器、網絡和Web
服務器等關鍵主體,主要體現在網站設計、以瀏覽器為客戶端的Web應用程序開發(例如信息類網站、網上商店、虛擬郵局、客戶關係管理。)等項目管理中。
按照筆者的經驗,網站項目管理可以分為以下l六個階段進行控制:
1. 需求分析及變更管理
2. 項目模型及業務流程分析
3. 系統分析及軟件建模
4. 界面設計、交互設計及程序開發
5. 系統測試和文檔編寫
6. 客戶培訓、技術支持和售後服務
需要說明的是,這些階段雖然具有一定的延續性,但是並非完全隔斷的,例如需求變更管理和測試工作、文檔編寫都是貫穿整個項目過程的,許多工作時交叉進行或同時進行的。
(一)如何做好需求分析及變更管理?
業務員與客戶進行的溝通,撰寫需求分析報告是項目展開的基礎。項目是以客戶的需求為中心,而不是為技術而遷就需求。
一:讓客戶暢所欲言,羅列出所有的需求
讓用戶將所有的想法儘可能的闡述清楚,並把所有的要求羅列出來,不要遺漏。這時候不應該害怕“勾引”起客戶的潛在需求而增加設計開發的工作量,從而被今後客戶無止境的變更拖入泥潭,直接明白地跟客戶把問題和要求一條條地列出來,把條理、歸納、分析先都扔到一邊去,將用戶最原始、最完整的要求準確地記錄下來就完成了第一步的工作。
很明顯,假如客戶的需求做的都不完整,隨時可能會產生意想之外的變更,甚至這個變更會破壞已經做的模型及結構,那麼這個項目從開始就註定了會失敗;比如站點所有的功能都實現了,本地測試起來也沒有什麼問題了,但是你卻不知道客戶的系統是要承受每天100萬獨立IP的訪問,而你原來想當然的以為了不起就是1萬獨立IP訪問的訪問流量,稍微有經驗的開發人員都會明白這樣的設計是個災難,無論是應用服務器、數據庫還是程序全部要重新開發!
二:透過現象分析潛在的需求
很多情況下客戶並非專業人士,在他們滔滔不絕的描述中不能指望他們幫助我們整理出重點和技術難關,這需要我們去為客戶進行分析、歸納和整理,尤其是客戶談的不多卻又是技術上實現難度和強度很高的地方特別值得注意。
客戶往往對需求的概念是非常模糊的,大多時候給出的需求都是籠統而且尺度難以控制的,這就要求業務人員在傾聽了客戶的詳細說明以後,幫助客戶進行整理和分析,同時預測客戶在開發過程中變更及今後應用中可能進行修改升級的潛在需求。
比如在為客戶設計辦公自動化系統的時候,也許就要為客戶預留將來與他們的業務單位進行交互的通道;在設計郵件系統的時候要考慮可能會需要廣告管理服務器;設計網絡電子商店時今後增加庫存產品進銷存統計分析等等;限於時間財力的考慮,客戶通常能夠接受分階段實施的開發過程,在需求分析時,提早為客戶設想到今後的需求變更除了使項目開發更加順利以外,也為今後業務的進一步深入打下......
項目需求報告要怎麼寫?
聽棠的“客戶需求何時休”深刻的披露了這個問題存在的根源。需求分析,不僅僅是拿到客戶的需求,更重要的是還需進行分析,瞭解細節,並就細節跟客戶諮詢,獲取最詳細的資料。客戶所能提供給你的只是他們想到的功能需求,很多問題並不在他們考慮的範圍之內,如果作為項目承擔方沒有去做分析,簡單的按照功能要求去設計、規劃,最終出來的系統是很難完全符合客戶的業務流程的,這時,自然需要更改,被看成了需求的更改。其實,都是缺乏分析所一手造成的。問題等到系統出來了才被發現,這樣的系統本身就是先天不足的了。聽棠所說到的幾點,感受特別深:“其實問題出在開頭,客戶需求只是軟件需求分析的一部分,雖然是比較重要的一部分,但也不要只是去記客戶的需求,而是要把客戶的需求進行分析”還有客戶的需求本身會有矛盾(這矛盾是指在邏輯角度來講),客戶本身是意識不到的,只有在分析設計時,才會分析出這裡的矛盾,而這些問題,如果在期初時,軟件負責人不分析,而是純粹的“聽從”客戶要求去做,當暴露這些問題時,你怪客戶也沒用啊。項目需求分析報告,在瞭解客戶需求時,不要不動腦子,不要一味的點頭說“I C”,其實在表面的業務裡面可能包含著N多的細節,這些細節是需要你反問客戶的,只有當你提的問題越多,最終獲取的需求最具體,才能讓項目越順利。而且有很多問題,都是在你的反問中,客戶也才開始思考本來沒思考過的問題,客戶也會找到一種合理的需求給你,有人會覺得這樣瞭解客戶需求未免太麻煩了。至於一些在技術上會遇到問題的地方,也要告訴客戶,別以為到時候再說,客戶是不關心你的技術細節的,但你如果給他解釋的話,他也會試著理解的。客戶的需求本身是無休止,因為他們本身也在變,但當你期初的分析合理,後面的變動也將在邏輯上變動,相信代價已經不會那麼大了。這其實也體現了系統的擴展性。需求分析,是一個項目提出方和承擔方相互溝通的過程,一方是系統的使用者,一方是系統的製造者,在系統製造過程中,只有雙方相互配合,共同對系統進行設計才能最後達到使用的要求。客戶是業務上的熟悉者,對業務流程有非常清晰的瞭解,但是,對於軟件需求方面的描述是不瞭解的,他們所能提供的只是他們最終要達到的功能,但是,這其中包含的業務流程是非常複雜的。我們拿到客戶需求後,應該根據功能、流程進行初步的設計,構造出業務流程圖,再讓客戶進行評審,提出業務流程上不對的地方進行修改。這樣來回的交流,最終才能取得較全面的需求,並減少後期的修改。
需求分析的詳細分析
從廣義上理解:需求分析包括需求的獲取、分析、規格說明、變更、驗證、管理的一系列需求工程。狹義上理解需求分析指需求的分析、定義過程。 需求分析就是分析軟件用戶的需求是什麼。如果投入大量的人力,物力、財力、時間,開發出的軟件卻沒人要,那所有的投入都是徒勞。如果費了很大的精力,開發一個軟件,最後卻不滿足用戶的要求,從而要重新開發過,這種返工是讓人痛心疾首的(相信大家都有體會)。比如:用戶需要一個for linux的軟件,而你在軟件開發前期忽略了軟件的運行環境,忘了向用戶詢問這個問題,而想當然的認為是開發for windows的軟件。當你千辛萬苦地開發完成向用戶提交時才發現出了問題,那時候你是欲哭無淚了,恨不得找塊豆腐一頭撞死。需求分析之所以重要,就因為他具有決策性、方向性、策略性的作用,他在軟件開發的過程中具有舉足輕重的地位,大家一定要對需求分析具有足夠的重視。在一個大型軟件系統的開發中,他的作用要遠遠大於程序設計。 需求分析階段的工作,可以分為四個方面:問題識別、分析與綜合、制訂規格說明、評審。問題識別:就是從系統角度來理解軟件,確定對所開發系統的綜合要求,並提出這些需求的實現條件,以及需求應該達到的標準。這些需求包括:功能需求(做什麼)、性能需求(要達到什麼指標)、環境需求(如機型、操作系統等)、可靠性需求(不發生故障的概率)、安全保密需求、用戶界面需求、資源使用需求(軟件運行是所需的內存、CPU等)、軟件成本消耗與開發進度需求、預先估計以後系統可能達到的目標。分析與綜合: 逐步細化所有的軟件功能,找出系統各元素間的聯繫,接口特性和設計上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分。最後綜合成系統的解決方案,給出要開發的系統的詳細邏輯模型(做什麼的模型)。制訂規格說明書: 即編制文檔,描述需求的文檔稱為軟件需求規格說明書。請注意,需求分析階段的成果是需求規格說明書,向下一階段提交。評審: 對功能的正確性,完整性和清晰性,以及其它需求給予評價。評審通過才可進行下一階段的工作,否則重新進行需求分析。 需求分析的方法有很多,這裡只強調原型化方法,其它的方法如:結構化方法、動態分析法等,從來沒用過這些方法在此不討論。原型化方法是十分重要的,原型就是軟件的一個早期可運行的版本,它實現了目標系統的某些或全部功能。原型化方法就是儘可能快地建造一個粗糙的系統,這系統實現了目標系統的某些或全部功能。但是這個系統可能在可靠性、界面的友好性或其他方面上存在缺陷。建造這樣一個系統的目的是為了考察某一方面的可行性,如算法的可行性、技術的可行性或考察是否滿足用戶的需求等。如:為了考察是否滿足用戶的要求,可以用某些軟件工具快速的建造一個原型系統,這個系統只是一個界面,然後聽取用戶的意見,改進這個原型。以後的目標系統就在原型系統的基礎上開發。原型主要有三種類型:探索型、實驗型、進化型。探索型:目的是要弄清楚對目標系統的要求,確定所希望的特性,並探討多種方案的可行性。實驗型:用於大規模開發和實現前,考核方案是否合適,規格說明是否可靠。進化型:目的不在於改進規格說明,而是將系統建造得易於變化,在改進原型的過程中,逐步將原型進化成最終系統。在使用原型化方法時有兩種不同的策略:廢棄策略、追加策略。廢棄策略:先建造一個功能簡單而且質量要求不高的模型系統,針對這個系統反覆進行修改,形成比較好的思想,據此設計出較完整、準確、一致、可靠的最終系統。系統構造完成後,原來的模型系統就被廢棄不用。探索型和實驗型屬於這種策略。追加策略:先構造一個功能簡單而且質量要求不高......
我們應當怎樣做需求分析:業務流程分析(下)
另外,業務流程分析的另一個重要的分析內容就是流程差異化分析。不同的領導有不同的思路,不同的單位有不同的情況。因此,我們在進行流程分析的時候,常常面臨流程差異化的問題。我們說企業信息化就是一次改革,這首先體現在業務流程的規範化操作,也就是消除這種流程差異。但不同的單位有不同的情況,這特別體現在不同地域和文化的不同,又常常造成這種流程差異不可避免。分與合,分治與一統,常常是一個都要兼顧的問題,非常微妙,我們要小心處理。在這個問題上你也許會問,使用工作流引擎就可以了嘛。工作流引擎不是萬能的,它只能解決一部分問題,更多的問題還需要我們的分析人員去分析與處理。最後,企業信息化就是一次改革,這特別集中地體現在了業務流程分析這一部分。當我們詳細分析了客戶現有的業務流程以後,應當進一步思考這樣的流程是否合理,是否值得改進。信息化對於企業流程管理的衝擊是巨大的,最典型的實例就是ERP。ERP的前身是MRP(Material Requirement Planning 物料需求計劃)。起初,企業也就是希望有一套軟件系統來管理它們的倉庫。後來,企業領導希望他們在進貨的時候能有一定的採購計劃,避免出現倉庫中的物資擠壓,MRP就出現了。然後呢,企業開始思考整個生產製造的鏈條管理,MRPII的概念出現了。再然後呢,物料需求的動因是生產的需求,生產需求的動因是銷售的需求。企業要真正做到零庫存,就必須切切實實地把從銷售到採購的每一個環節都管理好,ERP的概念就出現了。一個典型的信息化流程改進的例子。ERP對企業流程改進的思路是宏大的,但我們在分析每一個系統的時候不可能有如此宏大的雄心與抱負。一般來說,我們可以用以下思路來進行我們對流程改進的分析:清除低效環節、簡化業務瓶頸、整合可用資源,以及將繁瑣任務自動化。清除低效環節,就是清除那些耗費成本高而收效又低的環節,最典型的就是過量的庫存。過量的庫存原因很多,有可能是供銷環節沒有處理好而造成的過量採購,或者生產過剩,也可能是生產計劃沒有制訂好而產生活動間的等待。除此之外,還有重複的活動,等等。簡化業務瓶頸,就是分析業務流程中影響整體進程的瓶頸業務,並有效地簡化它。如很多業務審批流程中都有一個受理環節。大量業務都集中在一兩個人來集中受理,根本忙不過來,造成整個流程的效率下降。解決的辦法有兩個:一個是採用信息化的手段進行批量受理,加快處理效率;另一個是將受理環節的任務分散到更多崗位中,降低受理人員的工作量。整合可用資源,就是更大範圍地整合各個部門、不同職能的人員與社會資源,更加協同地來完成任務,這也是計算機信息化管理最拿手的方面。製造業的供應鏈管理是最典型的例子,因為實在太經典了我就不累贅了。醫院系統也是一個不錯的例子:完成了身體檢查,醫生就立即知道了檢查結果;醫生開完藥,收費處就知道收多少費,藥房就知道拿什麼藥。最後是自動化繁重操作。在財務系統中開了銷售單,就直接開發票了,並且直接形成報稅數據;在網上報完稅就知道該繳多少錢,甚至不用去稅務局,直接上銀行繳,等等等等,不勝枚舉。繁重操作自動化,正是信息化系統價值的體現。我們應當怎樣做需求分析我們應當怎樣做需求調研:初識我們應當怎樣做需求調研:拜訪我們應當怎樣做需求調研:研討會我們應當怎樣做需求調研:需求研討我們應當怎樣做需求調研:迭代我們應當怎樣做需求調研:需求捕獲(上)我們應當怎樣做需求調研:需求捕獲(下)我們應當怎樣做需求分析:功能角色分析與用例圖我們應當怎樣做需求分析:業務流程分析(上)我們應當怎樣做需求分析:用例說明我們應當怎樣做需求分析:查詢報表......