陳曉瓊 沈一通
需求分析是系統(tǒng)開(kāi)發(fā)的基礎(chǔ)。在信息系統(tǒng)項(xiàng)目的開(kāi)發(fā)過(guò)程中,人們?cè)絹?lái)越體會(huì)到需求分析的重要性,含糊的需求描述,頻繁的需求變更,加重了用戶和系統(tǒng)開(kāi)發(fā)雙方的工作任務(wù),需求分析的偏差,將會(huì)造成設(shè)計(jì),編碼工作的大量返工,甚至導(dǎo)致項(xiàng)目失敗。本文從信息系統(tǒng)項(xiàng)目的特點(diǎn),需求分析的步驟,需求獲取和需求定義的方法幾個(gè)方面論述了如何做好信息系統(tǒng)項(xiàng)目開(kāi)發(fā)中的需求分析。
【關(guān)鍵詞】需求分析 系統(tǒng)開(kāi)發(fā) 信息系統(tǒng)
1 引言
需求分析是系統(tǒng)開(kāi)發(fā)的基礎(chǔ)。在信息系統(tǒng)項(xiàng)目的開(kāi)發(fā)過(guò)程中,人們?cè)絹?lái)越體會(huì)到需求分析的重要性,含糊的需求描述,頻繁的需求變更,加重了用戶和系統(tǒng)開(kāi)發(fā)雙方的工作任務(wù),需求分析的偏差,將會(huì)造成設(shè)計(jì),編碼工作的大量返工,甚至導(dǎo)致項(xiàng)目失敗。
當(dāng)一個(gè)信息系統(tǒng)項(xiàng)目的規(guī)劃獲得批準(zhǔn),進(jìn)入開(kāi)發(fā)階段后,需求分析作為系統(tǒng)分析的第一項(xiàng)工作,要解決系統(tǒng)“做什么”的問(wèn)題,明確系統(tǒng)的功能,確保所開(kāi)發(fā)的系統(tǒng)符合用戶預(yù)期,如果最終系統(tǒng)不能滿足用戶的需求,則一切的工作都是徒勞。
2 信息系統(tǒng)項(xiàng)目的特點(diǎn)
信息系統(tǒng)項(xiàng)目是根據(jù)用戶的需求,選擇適合的先進(jìn)技術(shù),進(jìn)行設(shè)計(jì)開(kāi)發(fā),遵循計(jì)算機(jī)軟硬件開(kāi)發(fā)的技術(shù)規(guī)范,提出全面的解決方案,為用戶最大限度的整合相關(guān)信息資源,提高用戶的工作效率。
信息系統(tǒng)項(xiàng)目通常具有如下特點(diǎn):
目標(biāo)不明確,用戶很難精確的描述最終系統(tǒng)的要求,最初提出一個(gè)大的方向后,只能在開(kāi)發(fā)中漸進(jìn)明細(xì)。
智力密集型,信息系統(tǒng)項(xiàng)目是典型的多學(xué)科合作項(xiàng)目,需要應(yīng)用多個(gè)領(lǐng)域的知識(shí)。在針對(duì)氣象領(lǐng)域開(kāi)發(fā)的系統(tǒng)中,應(yīng)用地理信息系統(tǒng)可以直觀的描述觀測(cè)站點(diǎn)的狀態(tài)。
設(shè)計(jì)人員高度專業(yè)化,行業(yè)特征較明顯。比如氣象數(shù)據(jù)的傳輸對(duì)時(shí)效的要求較高,逐小時(shí)觀測(cè)數(shù)據(jù)需5分鐘內(nèi)傳完,在整點(diǎn)的時(shí)候并發(fā)傳輸數(shù)量達(dá)到峰值。在處理文件時(shí),氣象報(bào)文嚴(yán)格參照行業(yè)制定的編碼規(guī)范。
3 需求分析的步驟
需求分析要實(shí)現(xiàn)對(duì)系統(tǒng)功能和性能的全面描述。具體的說(shuō),需求分析的工作分以下幾個(gè)步驟來(lái)完成。
3.1 需求獲取
需要獲得各類用戶的業(yè)務(wù)需求,了解系統(tǒng)需要完成的工作,并預(yù)估系統(tǒng)可能達(dá)到的目標(biāo)。
3.2 需求分析
對(duì)用戶提出的需求進(jìn)行優(yōu)先級(jí)分類,分析系統(tǒng)需要實(shí)現(xiàn)的功能,要達(dá)到的性能目標(biāo),提出系統(tǒng)的解決方案。
3.3 需求定義
編寫出需求規(guī)格說(shuō)明書(shū),對(duì)確定的需求進(jìn)行詳細(xì)描述,形成文檔。該文檔作為系統(tǒng)開(kāi)發(fā)中分析階段的重要成果,是后期系統(tǒng)開(kāi)發(fā)和維護(hù)的基礎(chǔ),也是系統(tǒng)設(shè)計(jì)和編碼的依據(jù)。
3.4 需求驗(yàn)證
對(duì)已描述需求的完整性和正確性進(jìn)行最后的評(píng)審確認(rèn)。
4 需求獲取的方法
需求獲取是需求分析的前提,直接面向系統(tǒng)的用戶和相關(guān)干系人。需求獲取一般采用訪談,用戶調(diào)查,現(xiàn)場(chǎng)跟班,聯(lián)合討論等多種方法。其中訪談是最基本的一種手段,與項(xiàng)目的關(guān)鍵干系人進(jìn)行特定范圍的訪談,對(duì)了解系統(tǒng)概況大有幫助。有了初步框架后,再結(jié)合其他方法全面收集系統(tǒng)的需求,爭(zhēng)取沒(méi)有遺漏,減少后期變更的成本。
在氣象信息系統(tǒng)的開(kāi)發(fā)中,我們用得最多的就是聯(lián)合應(yīng)用開(kāi)發(fā)這種引導(dǎo)式研討會(huì)的方式。研討會(huì)上干系人和開(kāi)發(fā)人員集中在一起討論系統(tǒng)的功能,鑒于開(kāi)發(fā)人員也熟悉氣象業(yè)務(wù)的數(shù)據(jù)處理流程,在會(huì)上能夠與系統(tǒng)的用戶代表在同一個(gè)緯度和語(yǔ)境下順暢的進(jìn)行溝通。我們將之前收集的需求逐條整理,大家一起有針對(duì)性的討論,將需求漸進(jìn)明細(xì),以保證開(kāi)發(fā)團(tuán)隊(duì)與用戶對(duì)需求的理解達(dá)成一致。
5 需求定義的方法
需求定義的過(guò)程就是將需求文檔化,以形成需求規(guī)格說(shuō)明書(shū),一份高質(zhì)量的需求說(shuō)明書(shū)有助于系統(tǒng)項(xiàng)目的成功。需求定義通常有嚴(yán)格定義和原型化這兩種方法。
嚴(yán)格定義方法主要應(yīng)用于傳統(tǒng)的結(jié)構(gòu)化開(kāi)發(fā)中。結(jié)構(gòu)化開(kāi)發(fā)適用于需求明確,功能相對(duì)簡(jiǎn)單的系統(tǒng)項(xiàng)目,它要求所有的需求都能夠被事先定義,通過(guò)業(yè)務(wù)流程圖等方式表現(xiàn)出系統(tǒng)的邏輯結(jié)構(gòu),但前期不能在用戶的終端顯示出系統(tǒng)的實(shí)際效果,用戶看到成果的周期較長(zhǎng),等系統(tǒng)已出雛型再修改功能需求的話,修改的工作量將會(huì)翻番。而保證需求不發(fā)生變更幾乎是不可能的,因?yàn)殡S著用戶對(duì)系統(tǒng)的認(rèn)識(shí)逐步加深后,會(huì)產(chǎn)生一些新的想法。對(duì)于初期需求不明確的項(xiàng)目更適合采用原型化方法來(lái)定義需求,可以彌補(bǔ)結(jié)構(gòu)化方法中抽象的理論描述,首先快速生成一個(gè)簡(jiǎn)單的系統(tǒng)模型,滿足用戶的基本要求,然后和用戶一起討論修改,逐步增加功能,最終實(shí)現(xiàn)系統(tǒng)的全部需求。
我們?cè)跉庀筚Y料傳輸監(jiān)控平臺(tái)項(xiàng)目的需求定義時(shí),將結(jié)構(gòu)化和原型化方法相結(jié)合,大大提高了工作效率。每個(gè)模塊的功能我們用結(jié)構(gòu)化方法嚴(yán)格定義,該方法的嚴(yán)密性和精確度有效保證了需求在實(shí)現(xiàn)過(guò)程中沒(méi)有遺漏。在網(wǎng)頁(yè)顯示方面的需求定義則采用原型化方法,先取一種資料,生成一個(gè)頁(yè)面,和用戶討論,是否滿足需求,要修改的地方記錄下來(lái)進(jìn)行更新,然后再次與用戶討論,如此反復(fù),直到無(wú)疑義,便形成了網(wǎng)頁(yè)的模版,之后其他資料的顯示頁(yè)面都參照模版即可。
6 小結(jié)
總之,做好信息系統(tǒng)項(xiàng)目開(kāi)發(fā)中的需求分析,需要開(kāi)發(fā)團(tuán)隊(duì)和項(xiàng)目干系人的有效合作,需求分析看似簡(jiǎn)單,但要真正做到位,并不是一件容易的事,像信息系統(tǒng)本身采用的技術(shù)更新快,需求復(fù)雜,就要采用多種方法相結(jié)合來(lái)做好需求分析的工作。仔細(xì)掌握和管理好系統(tǒng)需求對(duì)促進(jìn)項(xiàng)目的成功具有重要作用。
作者單位
云南省氣象信息中心 云南省昆明市 650034endprint