要想開發(fā)出客戶滿意的軟件,需求分析是必不可少的環(huán)節(jié)。軟件需求分析就是把軟件計劃期間建立的軟件可行性分析求精和細化,分析各種可能的解法,并且分配給各個軟件元素。需求分析是軟件定義階段中的最后一步,是確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。
那么如何才能做好軟件需求分析呢?中培偉業(yè)的郭老師認為應(yīng)該在以下幾個方面作出切實努力。
一、與客戶充分溝通,了解客戶的所有需求
在軟件開發(fā)之前,技術(shù)人員應(yīng)該與用戶充分溝通,全面了解用戶的需求。這時候不應(yīng)該害怕激發(fā)起客戶的潛在需求而增加設(shè)計開發(fā)的工作量,從而被今后客戶無止境的變更拖入泥潭,直接明白地跟客戶把問題和要求一條條地列出來,把條理、歸納、分析先都扔到一邊去,將用戶最原始、最完整的要求準(zhǔn)確地記錄下來就完成了第一步的工作。
很明顯,假如客戶的需求做的都不完整,隨時可能會產(chǎn)生意想之外的變更,甚至這個變更會破壞已經(jīng)做的模型及結(jié)構(gòu),那么這個項目從開始就注定了會失敗;比如站點所有的功能都實現(xiàn)了,本地測試起來也沒有什么問題了,但是你卻不知道客戶的系統(tǒng)是要承受每天100萬獨立IP的訪問,而你原來想當(dāng)然的以為了不起就是1萬獨立IP訪問的訪問流量,稍微有經(jīng)驗的開發(fā)人員都會明白這樣的設(shè)計是個災(zāi)難,無論是應(yīng)用 服務(wù)器、數(shù)據(jù)庫還是程序全部要重新開發(fā)!
二、透過現(xiàn)象分析潛在的需求
很多情況下客戶并非專業(yè)人士,在他們滔滔不絕的描述中不能指望他們幫助我們整理出重點和技術(shù)難關(guān),這需要我們?nèi)榭蛻暨M行分析、歸納和整理,尤其是客戶談的不多卻又是技術(shù)上實現(xiàn)難度和強度很高的地方特別值得注意。
客戶往往對需求的概念是非常模糊的,大多時候給出的需求都是籠統(tǒng)而且尺度難以控制的,這就要求業(yè)務(wù)人員在傾聽了客戶的詳細說明以后,幫助客戶進行整理和分析,同時預(yù)測客戶在開發(fā)過程中變更及今后應(yīng)用中可能進行修改升級的潛在需求。
三、利用自然的語言描述項目模型
在業(yè)務(wù)員與客戶進行溝通和調(diào)查時撰寫的需求分析,盡可能用自然的語言進行描述,雖然客戶的水平和資歷有所不同,但是最自然的描述能夠使項目開發(fā)的各個成員都能清楚地理解需求含義,不至于在理解上產(chǎn)生偏差。對客戶而言,這樣的模型描述最接近真實,容易參與修訂,并能以此為測試和驗收的依據(jù)。
四、積極利用示意圖和圖表來表現(xiàn)用戶的需求
需求分析無論文字上怎么樣表述都還是抽象的,對客戶而言理解畢竟是困難的,將基本確定的需求制作出示意圖是最直觀有效的。
制作示意圖可以有很多種方式,用PowerPoint或Visio制作流程示意,用Html文檔制作界面示意都是可行的,最簡單利用畫圖和Word表格方式也完全可以,關(guān)鍵是利用示意圖將客戶的需求和即將開始設(shè)計的系統(tǒng)體現(xiàn)起來,在進行系統(tǒng)分析和程序開發(fā)之前,雙方對今后要完成的產(chǎn)品就能夠有直觀的認識,換言之,就是在產(chǎn)品還沒有真正進入開發(fā)階段的時候,雙方就對工作的結(jié)果達成統(tǒng)一的意見,這將大大地減輕需求變更所帶來的困擾,同時客戶更容易地參與到項目的開發(fā)過程,保證項目往正確的方向進行。
五、什么人要看需求分析報告
項目經(jīng)理、系統(tǒng)分析員、開發(fā)經(jīng)理、交互設(shè)計師、測試人員、文檔人員包括客戶代表都應(yīng)該看需求分析,并進行共同的討論,達成一致的意見。
我們經(jīng)常會遇到業(yè)務(wù)人員辛辛苦苦談下來的項目,對開發(fā)人員來說卻是難以實現(xiàn)的,而技術(shù)人員設(shè)計的產(chǎn)品卻常常得不到客戶的認可,甚至發(fā)生糾紛,因此參與項目開發(fā)的人員都應(yīng)該對這份需求有統(tǒng)一清晰的認識,并根據(jù)自己的工作對需求提出意見,通過與客戶的溝通修訂,最終確定項目實現(xiàn)的目標(biāo)。
六、為需求變更建立日志,制作新版本的需求分析報告
盡管需求分析需要耗費技術(shù)人員大量精力,但幾乎可以肯定的是,這份需求分析在開發(fā)過程中一定會發(fā)生變化,也許是出自客戶的遺漏,也可能是在開發(fā)過程中被激發(fā)出來的,這種變更有時是如此的頻繁和瑣碎,以至于往往不能將變更及時反饋到項目的各個角色中,那么做好需求變更日志就顯得非常重要。
七、明確本階段重點工作角色
在需求分析和變更管理的過程中,工作量最大的角色為客戶代表、業(yè)務(wù)員和項目經(jīng)理。在這些角色中,客戶代表提出需求,業(yè)務(wù)員幫助整理和分析,項目經(jīng)理對整個項目進行評估。
這七個方面的條件,是做好需求分析的重要前提。中培偉業(yè)作為專業(yè)的IT培訓(xùn)機構(gòu),在需求分析方面具有強大的培訓(xùn)實力。歡迎有志于從事軟件開發(fā)方面的IT從業(yè)人員積極參加集團相關(guān)的培訓(xùn)。中培偉業(yè)將是您理想的選擇!