本文以及後續的幾篇文章主要是結合自己的工作經驗,來理解《實戰需求分析》這本書。大致描述需求分析師的主要工作內容以及需求分析師所需要的才能。
需求分析師軟體開發的乙個步驟,主要作用是充當軟體研發和客戶之間的橋梁,主要包括對客戶的資訊化需求進行分析,(1
)將客戶不規範的、隨意的需求,轉換為規範的、嚴謹的、結構化的需求; (
2)將客戶不正確的需求轉化為正確的需求; (
3)將客戶不切實際的需求轉換為可以實現的需求; (
4)將客戶不必要實現的需求砍掉,將客戶遺漏的需求補上。
需求分析包括:需求獲取、系統規劃、資料建模、功能設計、介面設計、原型說明書和需求變更
一、需求獲取
需求獲取的方法包括:觀察法、體驗法、問卷調查法、訪談法、單據分析法、報表分析法、需求調研會法。(1
)觀察法
通過觀察使用者的工作過程,理解使用者業務,從而獲取使用者關於資訊化的需求。例如,可以通過觀察倉庫保管員的入庫、出庫過程理解倉庫物料的出入流程。(2
)體驗法
調查者親自參與工作,通過體驗使用者的工作,理解使用者的業務,從而獲取使用者關於資訊化的需求。(3
)問卷調查法
通過發布調查問卷,由使用者天填寫問卷的方法獲取需求。這種方法由於需要較高的問卷編寫水平,而回答的人也很少會在認真仔細思考後作大,效果並不好,用的不多。當需要快速、概略性地了解某業務時,可以考慮使用功能這種方式。(4
)訪談法
通過與使用者面對面的交談理解使用者業務,獲取使用者需求。訪談這可以非常正式隨便,在餐桌邊,在電梯上,在**中,都可以進行一次訪談。這是使用得最普遍的需求調研方式。
(5)單據分析法
通過分析使用者現有紙質單據獲得需求。由於我們開發的軟體主要就是用來管理企業資訊的,而在沒有資訊化系統時,單據體系本身就是企業的資訊系統,只是沒有電子化而已,所以單據相當重要,如果涉及的軟體承載不了這些單據所承載咋資訊,往往就意味著在軟體使用中會有大量的麻煩在等著你。
(6)報表分析法
通過分析使用者當前使用的報表獲取需求。報表往往是資訊的集大成者,在電子化的資訊系統中如此,在非電子化的資訊系統中也是如此。報表一般都是管理層用的,理解報表就是理解管理者的管理思想,通過刨根問底地研究當前報表中的每乙個資料的**,可以深刻理解管理層對資訊的要求。(7
)需求調研會法
通過召開需求會議獲取需求。當需要討論的需求問題牽涉到的相關人員較多時可以組織需求調研會,可以在會議上理清流程、確定分工、調和利益等。由於牽涉的人員較多,並且可能有企業高層領導參加,在召開需求調研會時需要認真組織、認真準備,否則不但可能搞砸,還有可能讓自己威信掃地,給後面的工作帶來不便。
二、系統規劃
獲取需求之後,需要根據需求進行系統規劃,系統規劃的過程就是根據使用者的需求規劃企業的資訊化管理體系的過程。(1
)需求確認
系統規劃的第一步就是對使用者需求進行校正。要知道使用者的需求並不總是正確的,我們做軟體追求的是「實現使用者正確的需求」,對於不正確的需求要堅決剔除。 (
2)需求整理
需求確定之後要將需求文件整理清楚。如繪製業務流程圖等。
(3)系統藍圖
在進行軟體開發或選型之前,需要對未來的資訊化管理有個總策劃,我們稱之為系統藍圖,這個「系統」並不僅僅指軟體系統,而是指相關業務的整個資訊化管理體系。
三、資料建模
資料建模就是設計資料庫的表結構,這項工作可以在功能設計之前,也可以在功能設計之後,也可以同時進行。
i. 實體關係:資料庫設計所說的實體是事物的種類,不是個體,「員工」是一種實體,而「張三」是這種實體下的乙個例項。每一種實體都有若干屬性資訊,如「員工」實體,包含工號、身份證號碼、生日等各種屬性。實體關係一般有三種:一對一,一對多,多對多。
ii. 正規化:所謂正規化,是指資料庫中的表滿足的準則。三正規化。
iii. 資料庫設計:就是設計本軟體在資料庫中需要哪些表,這些表有什麼關係,每個表包含哪些欄位等。
iiii. 資料字典:資料建模完成後,需要有文件對這個資料模型進行詳細說明,這就是資料字典應該充當的角色。資料字典需要描述的內容有:這個資料模型中有哪些表,每個表包含哪些字段,每個欄位的型別、長度、取值範圍是什麼,哪些欄位是外來鍵關聯字段,對字段值有沒有什麼特殊要求,等等。
四、功能設計
軟體的功能,從本質上說就是對資料進行輸入、加工、輸出的過程。對於面向資料庫的軟體,由於是以資料庫為核心的,可以理解為兩個方面,一是資料的收集與處理;而是圍繞資料庫對其中的資料進行的4大操作,即增刪改查。
五、介面設計
六、原型說明書
原型說明書是針對設計好的軟體原型撰寫的一種偏向於說明功能與操作邏輯的文件,主要描述每個功能點的主要使用者,使用者使用該原型的操作場景,有什麼許可權控制要求,每個操作背後是怎麼運算的,對資料有什麼要求,等等。
七、需求變更
架構設計 需求分析 實戰
本文是溫昱先生著 軟體架構設計 中的乙個小節.感覺很好.所以手打出來,供各位賞讀.需求分析是軟體專案過程中間的乙個環節,上游活動是確定專案願景。下游活動是軟體開發或者是採購 這一句是個人理解 10.4 pm tool 實戰 需求分析 10.4.1 上游活動 確定專案願景 乙個專案要被開發 要拔款立項...
架構設計 需求分析 實戰
本文是溫昱先生著 軟體架構設計 中的乙個小節.感覺很好.所以手打出來,供各位賞讀.需求分析是軟體專案過程中間的乙個環節,上游活動是確定專案願景。下游活動是軟體開發或者是採購 這一句是個人理解 10.4 pm tool 實戰 需求分析 10.4.1 上游活動 確定專案願景 乙個專案要被開發 要拔款立項...
Django實戰(1) 需求分析和設計
depot是 agile web development with rails 中的乙個購物車應用。該書中用多次迭代的方法,逐步實現購物車應用,使很多人走上了rails開發的道路。遺憾的是django世界中好像沒有類似的指引,也許是因為pythoner 不需要具體的例子。但是如果通過這樣乙個例子能夠...