需求分析師軟件開發(fā)的一個(gè)步驟,主要作用是充當(dāng)軟件研發(fā)和客戶之間的橋梁,主要包括對客戶的信息化需求進(jìn)行分析,
(1)將客戶不規(guī)范的、隨意的需求,轉(zhuǎn)換為規(guī)范的、嚴(yán)謹(jǐn)?shù)?、結(jié)構(gòu)化的需求;
(2)將客戶不正確的需求轉(zhuǎn)化為正確的需求;
(3)將客戶不切實(shí)際的需求轉(zhuǎn)換為可以實(shí)現(xiàn)的需求;
(4)將客戶不必要實(shí)現(xiàn)的需求砍掉,將客戶遺漏的需求補(bǔ)上。
需求分析包括:需求獲取、系統(tǒng)規(guī)劃、數(shù)據(jù)建模、功能設(shè)計(jì)、界面設(shè)計(jì)、原型說明書和需求變更
一、需求獲取
需求獲取的方法包括:觀察法、體驗(yàn)法、問卷調(diào)查法、訪談法、單據(jù)分析法、報(bào)表分析法、需求調(diào)研會(huì)法。
(1)觀察法
通過觀察用戶的工作過程,理解用戶業(yè)務(wù),從而獲取用戶關(guān)于信息化的需求。例如,可以通過觀察倉庫保管員的入庫、出庫過程理解倉庫物料的出入流程。
(2)體驗(yàn)法
調(diào)查者親自參與工作,通過體驗(yàn)用戶的工作,理解用戶的業(yè)務(wù),從而獲取用戶關(guān)于信息化的需求。
(3)問卷調(diào)查法
通過發(fā)布調(diào)查問卷,由用戶天填寫問卷的方法獲取需求。這種方法由于需要較高的問卷編寫水平,而回答的人也很少會(huì)在認(rèn)真仔細(xì)思考后作大,效果并不好,用的不多。當(dāng)需要快速、概略性地了解某業(yè)務(wù)時(shí),可以考慮使用功能這種方式。
(4)訪談法
通過與用戶面對面的交談理解用戶業(yè)務(wù),獲取用戶需求。訪談這可以非常正式隨便,在餐桌邊,在電梯上,在電話中,都可以進(jìn)行一次訪談。這是使用得最普遍的需求調(diào)研方式。
(5)單據(jù)分析法
通過分析用戶現(xiàn)有紙質(zhì)單據(jù)獲得需求。由于我們開發(fā)的軟件主要就是用來管理企業(yè)信息的,而在沒有信息化系統(tǒng)時(shí),單據(jù)體系本身就是企業(yè)的信息系統(tǒng),只是沒有電子化而已,所以單據(jù)相當(dāng)重要,如果涉及的軟件承載不了這些單據(jù)所承載咋信息,往往就意味著在軟件使用中會(huì)有大量的麻煩在等著你。
(6)報(bào)表分析法
通過分析用戶當(dāng)前使用的報(bào)表獲取需求。報(bào)表往往是信息的集大成者,在電子化的信息系統(tǒng)中如此,在非電子化的信息系統(tǒng)中也是如此。報(bào)表一般都是管理層用的,理解報(bào)表就是理解管理者的管理思想,通過刨根問底地研究當(dāng)前報(bào)表中的每一個(gè)數(shù)據(jù)的來源,可以深刻理解管理層對信息的要求。
(7)需求調(diào)研會(huì)法
通過召開需求會(huì)議獲取需求。當(dāng)需要討論的需求問題牽涉到的相關(guān)人員較多時(shí)可以組織需求調(diào)研會(huì),可以在會(huì)議上理清流程、確定分工、調(diào)和利益等。由于牽涉的人員較多,并且可能有企業(yè)高層領(lǐng)導(dǎo)參加,在召開需求調(diào)研會(huì)時(shí)需要認(rèn)真組織、認(rèn)真準(zhǔn)備,否則不但可能搞砸,還有可能讓自己威信掃地,給后面的工作帶來不便。
二、系統(tǒng)規(guī)劃
獲取需求之后,需要根據(jù)需求進(jìn)行系統(tǒng)規(guī)劃,系統(tǒng)規(guī)劃的過程就是根據(jù)用戶的需求規(guī)劃企業(yè)的信息化管理體系的過程。
(1)需求確認(rèn)
系統(tǒng)規(guī)劃的第一步就是對用戶需求進(jìn)行校正。要知道用戶的需求并不總是正確的,我們做軟件追求的是“實(shí)現(xiàn)用戶正確的需求”,對于不正確的需求要堅(jiān)決剔除。
(2)需求整理
需求確定之后要將需求文檔整理清楚。如繪制業(yè)務(wù)流程圖等。
(3)系統(tǒng)藍(lán)圖
在進(jìn)行軟件開發(fā)或選型之前,需要對未來的信息化管理有個(gè)總策劃,我們稱之為系統(tǒng)藍(lán)圖,這個(gè)“系統(tǒng)”并不僅僅指軟件系統(tǒng),而是指相關(guān)業(yè)務(wù)的整個(gè)信息化管理體系。
三、數(shù)據(jù)建模
數(shù)據(jù)建模就是設(shè)計(jì)數(shù)據(jù)庫的表結(jié)構(gòu),這項(xiàng)工作可以在功能設(shè)計(jì)之前,也可以在功能設(shè)計(jì)之后,也可以同時(shí)進(jìn)行。
i. 實(shí)體關(guān)系:數(shù)據(jù)庫設(shè)計(jì)所說的實(shí)體是事物的種類,不是個(gè)體,“員工”是一種實(shí)體,而“張三”是這種實(shí)體下的一個(gè)實(shí)例。每一種實(shí)體都有若干屬性信息,如“員工”實(shí)體,包含工號、身份證號碼、生日等各種屬性。實(shí)體關(guān)系一般有三種:一對一,一對多,多對多。
ii. 范式:所謂范式,是指數(shù)據(jù)庫中的表滿足的準(zhǔn)則。三范式。
iii. 數(shù)據(jù)庫設(shè)計(jì):就是設(shè)計(jì)本軟件在數(shù)據(jù)庫中需要哪些表,這些表有什么關(guān)系,每個(gè)表包含哪些字段等。
iiii. 數(shù)據(jù)字典:數(shù)據(jù)建模完成后,需要有文檔對這個(gè)數(shù)據(jù)模型進(jìn)行詳細(xì)說明,這就是數(shù)據(jù)字典應(yīng)該充當(dāng)?shù)慕巧?shù)據(jù)字典需要描述的內(nèi)容有:這個(gè)數(shù)據(jù)模型中有哪些表,每個(gè)表包含哪些字段,每個(gè)字段的類型、長度、取值范圍是什么,哪些字段是外鍵關(guān)聯(lián)字段,對字段值有沒有什么特殊要求,等等。
四、功能設(shè)計(jì)
軟件的功能,從本質(zhì)上說就是對數(shù)據(jù)進(jìn)行輸入、加工、輸出的過程。對于面向數(shù)據(jù)庫的軟件,由于是以數(shù)據(jù)庫為核心的,可以理解為兩個(gè)方面,一是數(shù)據(jù)的收集與處理;而是圍繞數(shù)據(jù)庫對其中的數(shù)據(jù)進(jìn)行的4大操作,即增刪改查。
五、界面設(shè)計(jì)
六、原型說明書
原型說明書是針對設(shè)計(jì)好的軟件原型撰寫的一種偏向于說明功能與操作邏輯的文檔,主要描述每個(gè)功能點(diǎn)的主要用戶,用戶使用該原型的操作場景,有什么權(quán)限控制要求,每個(gè)操作背后是怎么運(yùn)算的,對數(shù)據(jù)有什么要求,等等。
七、需求變更