需求分析是一個軟件成敗的決定因素,對于第一次獨立承擔這項任務的新人來說,有可能無從下手,臨時看書好像又來不及。這里將我的理解和大家分享一下,希望對新人能有所幫助。
無論是什么項目,假設我們已經對客戶的大概需求做過一些收集,好的客戶可能有一些需求文檔,差一點的用嘴零散的說過;收到這些信息后,我們如何分析呢?很多第一次做需求分析的人,會很自然的將分析后的功能變成數據庫的CRUD;比如:添加員工、刪除員工、修改員工等,但這里客戶可能要的是員工入職、員工離職、員工異動。
為了簡化分析過程,我們可以考慮分四步,每一步都建立在前一半之上的。
Ø 識別主題對象
這是分析的第一步,簡單的方法是將業務方面的相關名詞進行收集,從中選出相應的名詞作為主題對象;以車購稅為例:最后確定為“納稅申報表”、“稅票”、“車輛檔案”、“最低計稅價格”、“免征車”等。
識別后再對主題對象的結構性的需求進行分析,說白了就是確定每個主題對象的內容,以及主題對象間的依賴關系;確定結構最初來源于一些客戶提供的表格,依賴關系要根據業務分析才能得出。
Ø 識別主題對象上的業務規則
識別出了主題對象,下一步從規則上描述業務對主題對象的約束,比如:納稅申報時如何確定計稅價格,如何確定稅率,如何確定免稅等。
Ø 識別主題對象上的業務流程和事件
圍繞主題對象它有哪些流程,以及可預見的驅動流程的事件。流程可以分為三類:主題對象從無到有的流程、主題對象生命周期內的業務流程、主題對象生命周期結束的流程。
比如一個員工從非員工變成員工,有入職流程;
員工在職內流程就很多:考勤有關的請假、加班、出差,還有很多異動流程;
從員工變成非員工,有離職流程。
對每一個流程來總結事件,事件分為:系統事件和人工事件;系統事件是機器自動執行的比如:超時等,而人工事件是由交互完成的比如:領導批準請假等。
在分析流程的過程中,逐步完善業務規則和主題對象的結構性需求。
Ø 識別主題對象上的數據分析價值
最后,也是新人最容易忽視的一點;以上所有的分析更多的站在基本交互業務分析的;接下來我們應該考慮從管理角度來分析需求,也就是在每一個主題對象上我們能提供哪些有價值的分析報告(一般意義上的報表)。這樣就照顧到了客戶的管理層。
通過每一步的分析,就能引出很多需要和客戶交流的問題;這樣就避免了總想客戶能講講需求,可是又不知道要客戶講哪方面的內容。
需求分析是一個很大的話題,這里僅僅是一些提示性的,希望有心人跟帖完善。
聲明:此文章并非本人原創,轉自公司的內部論壇,是公司一的位同事也是我的領導所寫,覺得不錯轉出來與大家共勉。