邵靜
【摘 要】隨著信息技術(shù)的快速發(fā)展,各行業(yè)利用信息化手段提升各自的核心競爭力成為趨勢。信息系統(tǒng)建設(shè)過程中,需求是所有活動的基礎(chǔ),起著極其關(guān)鍵的作用。但是在日常的項(xiàng)目實(shí)施推進(jìn)中,往往因忽略該重要環(huán)節(jié)而給信息系統(tǒng)建設(shè)的帶來諸多問題,本文主要討論了需求工程中遇到的常見問題和預(yù)防措施。
【關(guān)鍵詞】需求工程 信息系統(tǒng)建設(shè) 需求變更
近年來,各類滿足不同領(lǐng)域業(yè)務(wù)發(fā)展需要的信息系統(tǒng)層出不窮,信息系統(tǒng)建設(shè)成為滿足業(yè)務(wù)需求的重要措施。信息系統(tǒng)建設(shè)由需求工程、系統(tǒng)設(shè)計(jì)、開發(fā)、測試、運(yùn)護(hù)組成。系統(tǒng)建設(shè)的首要任務(wù)是明確建設(shè)的目的,因此需求工程在系統(tǒng)建設(shè)過程中具有方向性和決策性的作用。根據(jù)Standish Group的統(tǒng)計(jì)分析,信息系統(tǒng)建設(shè)未按期完成的比例占84%,超預(yù)算的比例為189%,項(xiàng)目的成功率僅為34%。對項(xiàng)目失敗的因素進(jìn)行詳細(xì)分析,導(dǎo)致項(xiàng)目失敗的最重要的原因與需求有關(guān),需求工程占了45%的失敗因素,即需求工程出現(xiàn)問題是導(dǎo)致系統(tǒng)建設(shè)失敗的重要原因。
1 基本概念
需求工程是指采用有效的技術(shù)、方法和工具從客戶處獲取需求,并對需求開展一系列不斷反復(fù)的分析、表示和驗(yàn)證,定義目標(biāo)系統(tǒng)的特征和相關(guān)的約束,了解客戶的需求和業(yè)務(wù),使得客戶、用戶和開發(fā)者之間達(dá)成共同的理解的活動。開展需求工程的目的是準(zhǔn)確說明系統(tǒng)建設(shè)的目標(biāo),描述客戶需要開發(fā)者“做什么(WHAT)”,確定要計(jì)算機(jī)“做什么”,要達(dá)到什么樣的效果?它是一個(gè)概念性的工作,直接影響整個(gè)項(xiàng)目建設(shè)周期。
2 常見問題現(xiàn)象
2.1 需求不完整、不準(zhǔn)確
用戶在需求描述時(shí),不能準(zhǔn)確、完整地說出個(gè)中緣由,只提大概。大多數(shù)用戶在調(diào)研過程中只提系統(tǒng)在正常情況下出現(xiàn)的結(jié)果,但未考慮異常情況,對一些常識性的業(yè)務(wù)忽略不提;用語不準(zhǔn)確,可能內(nèi)心清楚,但缺乏表達(dá)能力;把解決方案誤認(rèn)為是需求,基于個(gè)人在認(rèn)識的不足所提出的解決方案往往不完善,但又被當(dāng)作需求混淆在一起;功能性和非功能性需求上存在復(fù)雜的聯(lián)系。
2.2 用戶參與度不夠
用戶在整個(gè)需求開發(fā)過程中只充當(dāng)旁觀者,不愿參與到需求開發(fā)活動中,認(rèn)為這是項(xiàng)目建設(shè)方的義務(wù)和責(zé)任,這些活動都是系統(tǒng)建設(shè)方面的內(nèi)容,與本人的工作無關(guān),參與與否對整個(gè)項(xiàng)目沒有影響。部分建設(shè)方認(rèn)為用戶參與到需求開發(fā)活動會帶來頻繁更改的問題,根據(jù)經(jīng)驗(yàn),自己可以做出讓客戶滿意的需求規(guī)格說明。
2.3 需求動態(tài)變更
對業(yè)務(wù)的熟悉程度不夠、建設(shè)者和用戶不能密切合作、需求工作不細(xì)致、接受不合理建議等都會造成需求不斷更改。用戶不能一次性全面地提出具體的需求,導(dǎo)致反復(fù)的訪談,在溝通過程中,用戶可能會產(chǎn)生許多新想法和新需求,為了滿足客戶的新需要,多次修改需求方案,導(dǎo)致背離最初的目標(biāo)值。
2.4 資源不足
因項(xiàng)目成本不足或項(xiàng)目周期短的制約,建設(shè)方對需求工程階段的投入不夠,將用戶提出的需求弱化,裁剪部分功能模塊,降低產(chǎn)品的質(zhì)量。導(dǎo)致進(jìn)入到系統(tǒng)設(shè)計(jì)、程序開發(fā)階段發(fā)現(xiàn)許多工作無法開展,甚至推翻原有的需求規(guī)格。
3 解決措施
因需求工程中出現(xiàn)問題帶來了項(xiàng)目進(jìn)度拖延、項(xiàng)目成本增加、項(xiàng)目質(zhì)量失控和系統(tǒng)生命期縮短等后果,對信息系統(tǒng)建設(shè)方和客戶都會帶來巨大的損失。為預(yù)防這些問題的發(fā)生,我們應(yīng)該從以下幾方面著手:
3.1 利用需求管理技術(shù)
借助先進(jìn)的需求開發(fā)工具,建立需求分析模型,幫助需求分析人員對用戶的需求進(jìn)行提取、整理、分析并得到完整、正確的軟件需求分析式樣,以達(dá)到滿足用戶對系統(tǒng)功能、性能方面直觀展示要求。例如:使用數(shù)據(jù)流圖(DFD)建立需求分析模型,可以將數(shù)據(jù)傳遞和加工的流向以圖形符號的方式逐層細(xì)分,可具體地描述系統(tǒng)內(nèi)各個(gè)部件的功能和數(shù)據(jù)在各功能點(diǎn)間的傳遞情況。
3.2 加強(qiáng)溝通,達(dá)成共識
組建項(xiàng)目團(tuán)隊(duì),需建設(shè)方和用戶共同組成,制定相應(yīng)的需求工程流程規(guī)范,確立用戶和建設(shè)者雙方的角色和職責(zé),以便雙方及時(shí)溝通。由于需求獲取的范圍廣、類型多,需求收集后,需認(rèn)真梳理和分析需求中是否存在沖突,是否存在定義錯(cuò)誤或描述不嚴(yán)謹(jǐn)。只有用戶親身參與到需求開發(fā)和管理中,才能保證雙方在需求的認(rèn)識上達(dá)成一致,減少需求變更的發(fā)生。
3.3 開發(fā)與管理反復(fù)迭代
編寫詳細(xì)而具體的說明材料,做到事后有據(jù)可查。在需求調(diào)查過程中的得到的需求往往是雜亂無章的,可能在需求中存在沖突,需及時(shí)把這些需求材料整理轉(zhuǎn)換為有效的用戶需求,從中提煉、分析得出相應(yīng)的記錄和報(bào)告。
需求工程階段涉及的文件資料有:需求規(guī)格說明書、項(xiàng)目視圖與范圍文檔、需求分析說明書、調(diào)研記錄、需求討論記錄等。其中,需求規(guī)格說明書作為需求工程階段的重要輸出,系統(tǒng)設(shè)計(jì)的輸入,是項(xiàng)目開發(fā)的基礎(chǔ),指導(dǎo)整個(gè)項(xiàng)目建設(shè)的全過程,其內(nèi)容包含的需求具有最高優(yōu)先級,應(yīng)保證內(nèi)容的準(zhǔn)確性、完整性和易理解性。需求評審是需求控制的關(guān)鍵環(huán)節(jié),主要檢查系統(tǒng)需求分析人員和用戶之間的溝通是否一致,雙方是否均理解和認(rèn)可需求內(nèi)容,用戶可在評審中提出個(gè)人建議,幫助糾正錯(cuò)誤,及時(shí)進(jìn)行需求變更修正,避免事倍功半的現(xiàn)象發(fā)生。通過需求開發(fā)和管理的反復(fù)迭代,為用戶找到最佳的需求解決方案,同時(shí)為系統(tǒng)實(shí)施過程中的質(zhì)量提供了保障。
4 結(jié)語
需求工程是決定信息系統(tǒng)建設(shè)成敗的關(guān)鍵因素,如果我們要較好地管控信息系統(tǒng)建設(shè)的周期、成本和質(zhì)量,那么就需要加大在需求開發(fā)和管理上的投入,有效地界定項(xiàng)目的需求范圍,分析變更的合理性和必要性,制定出合理有效的的需求工程交付物等,為整個(gè)項(xiàng)目順利開展奠定基礎(chǔ),驅(qū)動信息系統(tǒng)的快速建成。
參考文獻(xiàn):
[1]劉華航,金英,馬騰飛.一種需求變更影響分析方法計(jì)算機(jī)研究與發(fā)展[J].計(jì)算機(jī)研究與發(fā)展,2013(8):1769-1777.
[2]劉小波,郭荷清.軟件系統(tǒng)需求變更影響分析及解決方案[J].華南理工大學(xué)學(xué)報(bào)(自然科學(xué)版)2002(4):56-59.
[3]曹溫,溫麗.信息系統(tǒng)項(xiàng)目管理師考試輔導(dǎo)[D].清華大學(xué)出版社,2011.