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