摘 要:目前 ,電力行業(yè)應(yīng)用軟件需求研究常常流于形式。由于缺乏用戶參與的合理機(jī)制、缺乏對需求文檔資料的有效管理、缺乏用戶與開發(fā)人員之間有效的交流方法,使需求研究效率低、效果差。為改變這種狀況 ,需要引入需求工程的方法 ,發(fā)揮用戶在需求研究中的主導(dǎo)作用 ,并對需求過程進(jìn)行必要的管理。本文結(jié)合本單位各應(yīng)用軟件的成功建設(shè)經(jīng)驗,探討應(yīng)用軟件建設(shè)過程中需求工程與用戶的關(guān)系問題。
關(guān)鍵詞:需求工程;需求獲取;需求分析;需求表述;需求評審;需求管理
中圖分類號:TM732 文獻(xiàn)標(biāo)識碼:A
1、前言
需求工程是從軟件工程中發(fā)展起來的,是軟件工程的一個組成部分,也是軟件生命周期的第一個階段。雖然大家都知道需求對于整個軟件生命周期的重要性,但對它的研究往往沒有軟件工程的其它部分研究那么深入。近年來,電力行業(yè)軟件信息化建設(shè)步伐越來越快,投入也越來越大,各類應(yīng)用軟件需求不斷增加,系統(tǒng)規(guī)模越來越大,復(fù)雜程度也越來越高。面對如此龐大且不斷變化的需求,軟件開發(fā)人員越來越感到難以把握,各級電力單位部門對“已完成”的系統(tǒng)不滿意的現(xiàn)象時有發(fā)生,系統(tǒng)的建設(shè)往往達(dá)不到預(yù)期的目標(biāo),需求問題已經(jīng)成為制約電力應(yīng)用軟件發(fā)展的重要因素。
2、需求工程的概念
在CMMI中對于需求工程主要分為兩大方面:需求開發(fā)和需求管理。其中需求開發(fā)又可以細(xì)分為需求獲取、需求分析、需求表述和需求確認(rèn)。
需求獲取:就是與用戶共同分析研究用戶的工作過程,協(xié)助用戶搞清楚他們想要的東西,并準(zhǔn)確記錄下來。
需求分析:軟件開發(fā)人員與用戶一起對需求進(jìn)行分析、綜合、定義、建模的過程,其目的是從用戶提供的各式各樣的需要說明中,提取精華和實質(zhì)性的內(nèi)容,找出相應(yīng)的軟件解決方法。
需求表述:是一個將軟件需求進(jìn)行規(guī)格化說明的過程。
需求確認(rèn):是一個驗證需求的過程,對需求規(guī)格說明的正確性和可行性進(jìn)行分析和檢驗,并使用戶和軟件開發(fā)人員對于需求規(guī)格說明達(dá)成共識。
需求管理:對用戶不斷增加和變化的需要進(jìn)行管理,通過對不斷變化的需求進(jìn)行管理,來確定軟件發(fā)展的策略等。
3、電力信息化建設(shè)的成功經(jīng)驗
本單位在最近幾年的信息化建設(shè)工作中,吸取了以前項目建設(shè)的教訓(xùn),充分認(rèn)識到了需求工程對整個軟件工程乃至信息化建設(shè)所發(fā)揮到的巨大作用,并通過各種有效的手段來保證,獲得了良好的效果,信息化水平在兩年內(nèi)得到了很大的提升,實現(xiàn)了預(yù)期目標(biāo),并獲得了上級單位的好評。
本文將從需求工程五個方面,就如何充分發(fā)揮需求工程在系統(tǒng)建設(shè)中的作用進(jìn)行分析和探討。
3.1建立強(qiáng)有力的項目組織機(jī)構(gòu)是重要前提
很多軟件的失敗,很大的因素就是沒有獲取到真正的需求。很多軟件開發(fā)人員抱怨找不到對應(yīng)的用戶來了解需求,歸根結(jié)底還是用戶對軟件的重視程度不夠。要提高大家對軟件的重視程度,靠宣傳、靠提升意識是遠(yuǎn)遠(yuǎn)不夠的,更重要的還是要從制度層面去保證。公司在信息化項目管理辦法中就確定了每個項目必須成立領(lǐng)導(dǎo)工作組、專業(yè)工作組和開發(fā)工作組三個組織,通過這三級組織機(jī)構(gòu)的設(shè)立,落實了人員的職責(zé),確保了項目各項工作,特別是需求調(diào)研工作的順利開展。
3.2與軟件開發(fā)人員一起分析需求
通過建立項目組織確保用戶需求的獲取后,最關(guān)鍵的還是對需求的分析,將用戶的需求轉(zhuǎn)變成軟件開發(fā)的需求。很多軟件公司的做法是做完需求獲取后,就自己進(jìn)行需求分析,但往往由于理解的不一致、不透徹,導(dǎo)致分析出的軟件需求與當(dāng)初用戶提出的需求差別很大。在CMMI1.2需求開發(fā)域中也明確提出要“在需求開發(fā)和分析時,納入相關(guān)干系人的參與,藉此使他們了解需求的演進(jìn)過程”,所以用戶的作用至關(guān)重要。
3.3需求確認(rèn)保證軟件應(yīng)用
需求以規(guī)格化的方式描述出來后,要通過評審、功能驗證等方式來對需求進(jìn)行確認(rèn),確保不發(fā)生偏差。本單位主要通過以下三種手段進(jìn)行保證:
(1)對需求進(jìn)行評審。需求評審會被看成是整個項目最重要的會議之一,在項目管理辦法中也明確定義了會議要求。會前組織者會把待評審的材料發(fā)給各個評審專家,評審專家在會前仔細(xì)閱讀需求并標(biāo)注問題。在評審會上大家一起對問題進(jìn)行確認(rèn),會后還要對問題進(jìn)行跟蹤,使得很多需求上的問題在進(jìn)入開發(fā)之前就被發(fā)現(xiàn),有效地降低了成本,提高了效率。
(2)及時進(jìn)行演示。在開發(fā)過程中每完成一個模塊的開發(fā),就盡快給業(yè)務(wù)人員進(jìn)行演示。通過演示,業(yè)務(wù)人員能更直觀的對系統(tǒng)進(jìn)行了解,盡早地發(fā)現(xiàn)其中的問題,開發(fā)人員也能盡早對其進(jìn)行修改。
(3)進(jìn)行功能驗證。在系統(tǒng)試運行之前,組織各業(yè)務(wù)專家一起再對整個系統(tǒng)進(jìn)行嚴(yán)格的功能驗證,檢查功能是否滿足需求,避免了系統(tǒng)上線后再進(jìn)行頻繁修改而導(dǎo)致的大量成本增加。
3.4共同管理需求
需求發(fā)生變化是正常的,系統(tǒng)不會一成不變。對待需求變更要采取歡迎但謹(jǐn)慎的態(tài)度,需求變更一定要受控。在完成需求變更收集后,會有專門的人員來統(tǒng)一整理。再由開發(fā)商和信息部門一起評估這些變更對項目范圍、工期、成本等因素的影響,將評估影響結(jié)果提交給由業(yè)務(wù)部門領(lǐng)導(dǎo)、專家和開發(fā)商代表一起組成的項目裁決組來裁決是否執(zhí)行這項變更。對于一些想法很好但短期無法實現(xiàn)的需求,會納入需求庫中,為將來項目建設(shè)提供有效地需求支撐。
通過這些措施,既保證了系統(tǒng)的穩(wěn)定,又提高了系統(tǒng)使用人員的積極性,大家都可以提出各類意見,使得系統(tǒng)實用化程度不斷提高,能真正地對工作有幫助。
4、結(jié)束語
本單位在近幾年信息化建設(shè)中,通過引入需求工程取得了較好效果,相關(guān)的措施和做法或許不一定完美,但都充分考慮了自身在人員、環(huán)境和業(yè)務(wù)方面的特點。如何更進(jìn)一步挖掘需求工程乃至軟件工程對信息化建設(shè)的指導(dǎo)作用,還需要我們深入研究。
作者簡介:黃劍男 (1986—) ,廣西南寧人,本科,學(xué)士,項目管控專員,研究方向:企業(yè)管理及項目管理。