劉錚
摘 要 在計(jì)算機(jī)軟件項(xiàng)目管理中,進(jìn)一步的明確需求分析的重要性,了解需求分析的一般性流程和注意事項(xiàng)有著重要的戰(zhàn)略指導(dǎo)意義,有助于計(jì)算機(jī)軟件項(xiàng)目的開(kāi)發(fā)目標(biāo)的準(zhǔn)確達(dá)成。
關(guān)鍵詞 軟件項(xiàng)目 需求分析 用戶 報(bào)告
隨著互聯(lián)網(wǎng)+時(shí)代的來(lái)臨,計(jì)算機(jī)軟件項(xiàng)目作為市場(chǎng)經(jīng)濟(jì)中的“紅?!鳖I(lǐng)域,越來(lái)越多的經(jīng)濟(jì)投資進(jìn)入到計(jì)算機(jī)軟件項(xiàng)目開(kāi)發(fā)?,F(xiàn)階段,計(jì)算機(jī)軟件項(xiàng)目開(kāi)發(fā)得到了長(zhǎng)足的發(fā)展,開(kāi)發(fā)技術(shù)也更加科學(xué)可靠。但即便在更加科學(xué)的開(kāi)發(fā)技術(shù)之下,仍舊存在一些失敗的軟件項(xiàng)目開(kāi)發(fā),或者是開(kāi)發(fā)出來(lái)的軟件存在極大的缺陷。通過(guò)調(diào)查表明,忽略了軟件項(xiàng)目開(kāi)發(fā)過(guò)程中的需求分析,是造成軟件項(xiàng)目開(kāi)發(fā)失敗的主要原因。因此,在計(jì)算機(jī)軟件項(xiàng)目管理中,進(jìn)一步的明確需求分析的重要性,了解需求分析的一般性流程和注意事項(xiàng)有著重要的戰(zhàn)略指導(dǎo)意義,有助于計(jì)算機(jī)軟件項(xiàng)目的開(kāi)發(fā)目標(biāo)的準(zhǔn)確達(dá)成。
一、軟件項(xiàng)目管理中需求分析的重要性
在軟件項(xiàng)目的開(kāi)發(fā)系統(tǒng)中,需求分析指的是建立一個(gè)電腦系統(tǒng)時(shí)對(duì)這一新的電腦系統(tǒng)的目標(biāo)、范圍、定義和功能時(shí)所有需要做的工作。在軟件項(xiàng)目開(kāi)發(fā)歷史中,很長(zhǎng)的時(shí)間很長(zhǎng)時(shí)間里人們一直認(rèn)為需求分析是整個(gè)軟件工程中最簡(jiǎn)單的一個(gè)步驟,但在過(guò)去十年中越來(lái)越多的人認(rèn)識(shí)到它是整個(gè)過(guò)程中最關(guān)鍵的一個(gè)過(guò)程。假如在需求分析時(shí)分析者們未能正確地認(rèn)識(shí)到顧客的需要的話,那么最后的軟件實(shí)際上不可能達(dá)到顧客的需要,或者軟件無(wú)法在規(guī)定的時(shí)間里完工。需求分析的重要性與困難性主要體現(xiàn)在以下幾個(gè)方面:
第一,用戶與開(kāi)發(fā)人員的交流容易產(chǎn)生極大的理解誤區(qū)。軟件項(xiàng)目的開(kāi)發(fā)實(shí)際上是為了解決用戶對(duì)計(jì)算機(jī)系統(tǒng)開(kāi)發(fā)的需求,這一階段是軟件項(xiàng)目開(kāi)發(fā)的標(biāo)志時(shí)間,但正由于這是軟件開(kāi)發(fā)的第一道工序,其難度不言而喻,用戶想要進(jìn)行軟件項(xiàng)目開(kāi)發(fā),他有著既定的目標(biāo),他想要通過(guò)軟件工程的開(kāi)發(fā)去得到既定的結(jié)果,但對(duì)于這種既定的結(jié)果,用戶本身是不明確的。對(duì)于開(kāi)發(fā)人員而言,往往會(huì)對(duì)用戶的需求進(jìn)行計(jì)算機(jī)語(yǔ)言的表達(dá),這一思考過(guò)程中,開(kāi)發(fā)人員只是在客觀的理解自己再開(kāi)發(fā)過(guò)程中需要“做什么”,但并不能夠知道能夠產(chǎn)生何種結(jié)果。
第二,用戶的需求不夠精確,一般來(lái)說(shuō),用戶對(duì)于軟件開(kāi)發(fā)的結(jié)果是模糊的,更別提精確到軟件的具體功能。只有經(jīng)過(guò)長(zhǎng)時(shí)間的反復(fù)認(rèn)識(shí)才逐步明確。有時(shí)進(jìn)入到設(shè)計(jì)、編程階段才能明確,更有甚者,到開(kāi)發(fā)后期還在提新的要求。這無(wú)疑給軟件開(kāi)發(fā)帶來(lái)困難。
二、計(jì)算機(jī)軟件項(xiàng)目管理需求分析流程及注意事項(xiàng)
(一)獲取用戶需求
獲取用戶需求是需求分析的第一道工序,也表示軟件項(xiàng)目開(kāi)發(fā)工作的正式開(kāi)始。在獲取用戶需求的過(guò)程中,作為開(kāi)發(fā)人員必須要盡可能迅速的熟悉項(xiàng)目項(xiàng)目的干系人全貌,力求盡可能的精確確定他們對(duì)軟件開(kāi)發(fā)項(xiàng)目的實(shí)際需求和期望定位。應(yīng)該逐步的理清干系人的組織結(jié)構(gòu)、領(lǐng)導(dǎo)層級(jí),盡可能的獲得干系人全體對(duì)軟件開(kāi)發(fā)的支持,降低干系人內(nèi)部對(duì)軟件工程開(kāi)發(fā)的異議帶來(lái)的不良影響。
在獲取用戶需求過(guò)程中,需要注意兩個(gè)方面的事情,一是分析人員要使用符合客戶語(yǔ)言習(xí)慣的表達(dá),需求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語(yǔ)。客戶應(yīng)將有關(guān)術(shù)語(yǔ)(例如:采價(jià)、印花商品等采購(gòu)術(shù)語(yǔ))教給分析人員,而客戶不一定要懂得計(jì)算機(jī)行業(yè)的術(shù)語(yǔ)。二是開(kāi)發(fā)人員不能夠局限于與用戶方的技術(shù)人員進(jìn)行交流,而應(yīng)該與業(yè)務(wù)部門和實(shí)際使用人員進(jìn)行交流。
(二)分析用戶需求
分析用戶需求,是在開(kāi)發(fā)人員完整的獲取到用戶的需求及期望之后,需要做的一項(xiàng)精細(xì)的分析工作。在這一過(guò)程中,開(kāi)發(fā)人員需要針對(duì)軟件的實(shí)際用戶進(jìn)行一定的需求調(diào)研情況,在獲取調(diào)研數(shù)據(jù)的過(guò)程中,應(yīng)該與用戶方進(jìn)行前期交涉和知會(huì),確保數(shù)據(jù)或者信息獲取的有效性和真實(shí)性。分析用戶需求所執(zhí)行的活動(dòng)包括:用業(yè)務(wù)流程圖描述系統(tǒng)的整體業(yè)務(wù)活動(dòng),包括系統(tǒng)之間的接口和邊界;用數(shù)據(jù)流程圖模型來(lái)描述系統(tǒng)的數(shù)據(jù)流關(guān)系;通過(guò)過(guò)原型向用戶展示系統(tǒng)界面以及各項(xiàng)功能模塊;采用實(shí)體關(guān)系圖描述實(shí)體、屬性、關(guān)系三者之間的聯(lián)系。
在需求分析的過(guò)程中,開(kāi)發(fā)人員既要尊重用戶的需求,也要尊重自身的需求分析過(guò)程。一方面,開(kāi)發(fā)人員要進(jìn)一步的提升自己對(duì)客戶需求分析的精準(zhǔn)性和對(duì)應(yīng)性,就是要分析用戶提出的需求當(dāng)中所衍生出的隱含需求,這一點(diǎn)往往容易忽略掉,這就需要系統(tǒng)分析員在與用戶交流當(dāng)中,關(guān)注用戶的表情、眼神、用語(yǔ),避免出現(xiàn)不專業(yè)的現(xiàn)象,讓客戶對(duì)于開(kāi)發(fā)人員的需求分析失去信心,另一方面,開(kāi)發(fā)人員要判斷用戶提出的需求是否合理,對(duì)于不合理的需求,開(kāi)發(fā)方要給出不合理的理由和原因,不能夠一味地去屈從用戶,特別是有的用戶需要一再的縮減開(kāi)發(fā)成本,這對(duì)于軟件開(kāi)發(fā)的質(zhì)量水平是極其不利的。
(三)需求說(shuō)明書的編寫
需求說(shuō)明書的編寫是開(kāi)發(fā)人員需求分析的書面呈現(xiàn),其編寫的主要目的在于更加具象化的將軟件開(kāi)發(fā)過(guò)程描述出來(lái),便于開(kāi)發(fā)人員與客戶進(jìn)行相關(guān)的交流協(xié)作,并且作為軟件開(kāi)發(fā)過(guò)程中的進(jìn)度依據(jù),便于對(duì)軟件開(kāi)發(fā)管理過(guò)程中的控制和管理工作。
在編寫需求說(shuō)明書的過(guò)程中,開(kāi)發(fā)人員首先應(yīng)該注意到需求的全面性以及軟件共性表達(dá)。應(yīng)該特別注重對(duì)于開(kāi)發(fā)過(guò)程中模糊不清的需求進(jìn)行清晰的表達(dá),在需求分析中暫時(shí)加上“待定”標(biāo)志是個(gè)方法。用該標(biāo)志可指明哪些是需要進(jìn)一步討論、分析或增加信息的地方,有時(shí)也可能因?yàn)槟硞€(gè)特殊需求難以解決或沒(méi)有人愿意處理它而標(biāo)注上“待定”??蛻粢M量將每項(xiàng)需求的內(nèi)容都闡述清楚,以便分析人員能準(zhǔn)確地將它們寫進(jìn)“軟件需求報(bào)告”中去。如果客戶一時(shí)不能準(zhǔn)確表達(dá),通常就要求用原型技術(shù),通過(guò)原型開(kāi)發(fā),客戶可以同開(kāi)發(fā)人員一起反復(fù)修改,不斷完善需求定義。
(四)需求確認(rèn)與評(píng)審
需求確認(rèn)與評(píng)審是不可逾越的兩個(gè)階段,有研究表明:由客戶發(fā)現(xiàn)的一個(gè)錯(cuò)誤,然后更正錯(cuò)誤,約需要多花 90 倍的時(shí)間,可以看出,需求確認(rèn)和評(píng)審階段的重要性。
在這一階段,關(guān)鍵過(guò)程在于確立需求評(píng)審的嚴(yán)肅性,在對(duì)需求評(píng)審的現(xiàn)場(chǎng),必須要有開(kāi)發(fā)方和用戶方雙方的領(lǐng)導(dǎo)以及專家的共同在場(chǎng),開(kāi)發(fā)方在對(duì)需求報(bào)告進(jìn)行講解的過(guò)程中,應(yīng)該巨細(xì)無(wú)遺,不能放過(guò)任何一個(gè)功能模塊,使得雙方共同找出需求調(diào)研中不合理的、不完善的、有歧義的、遺漏的問(wèn)題。需求評(píng)審的目的是要獲得用戶的認(rèn)可,如果用戶以種種理由不以確認(rèn),那么系統(tǒng)分析員要盡快拿出原型系統(tǒng)來(lái)給用戶確認(rèn),否則后續(xù)的工作將無(wú)法順利開(kāi)展,并伴隨著無(wú)窮無(wú)盡的需求變更。
(作者單位為華北計(jì)算技術(shù)研究所)
參考文獻(xiàn)
[1] 魏昊,劉建新.淺談軟件項(xiàng)目開(kāi)發(fā)過(guò)程中的需求分析和范圍管理[J].北京工業(yè)職業(yè)技術(shù)學(xué)院報(bào),2014.
[2] 李愛(ài)東.淺談“大學(xué)計(jì)算機(jī)信息技術(shù)”網(wǎng)絡(luò)課件開(kāi)發(fā)的需求分析和需求管理[J].電腦學(xué)習(xí),2013(05).
[3] 郭晉秦.軟件項(xiàng)目管理在實(shí)際開(kāi)發(fā)中的應(yīng)用與實(shí)踐[J].電腦編程技巧與維護(hù),2013 (12).
[4] 孫連英,張德政.基于統(tǒng)一軟件項(xiàng)目過(guò)程管理的監(jiān)理框架[J].北京聯(lián)合大學(xué)學(xué)報(bào) (自然科學(xué)版),2014(03).