• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      八招搞定軟件需求分析

      2012-01-01 00:00:00肖亞紅
      科技資訊 2012年1期


        當(dāng)今,經(jīng)濟(jì)和社會(huì)生活對(duì)軟件的依賴程度急劇增長(zhǎng),軟件需求日益復(fù)雜,軟件開發(fā)成為一項(xiàng)跨越技能、職責(zé)范圍和時(shí)間階段的綜合團(tuán)隊(duì)活動(dòng)。盡管有關(guān)開發(fā)的知識(shí)和經(jīng)驗(yàn)不斷豐富,可利用的工具也不斷增多,但仍然有相當(dāng)比例的軟件項(xiàng)目失敗,原因常常是因?yàn)樵陂_始時(shí)沒(méi)有正確地確定和定義需求,或者隨著項(xiàng)目的展開沒(méi)有正確地管理需求。實(shí)踐證明,編寫良好的需求分析說(shuō)明書對(duì)于降低開發(fā)成本和保障項(xiàng)目成功至關(guān)重要。
        1 編寫難點(diǎn)
        (1)需求并不都是顯而易見(jiàn)的,且來(lái)自各個(gè)方面;(2)需求并不都能簡(jiǎn)單地用文字明白無(wú)誤表達(dá);(3)不同種類的需求,其詳細(xì)程度各不相同;(4)需求之間的相互關(guān)聯(lián);(5)需求的唯一特征或特征值;(6)需求的不確定性。
        2 高質(zhì)量需求描述的特征
        何為良好的需求?一般而言,一項(xiàng)編寫良好的需求描述,應(yīng)該包含以下特征。
        (1)正確(Correct)技術(shù)可行,內(nèi)容合法;(2)完整(Complete)能夠表達(dá)一個(gè)完整的想法;(3)清晰(Clear)不模棱兩可,不易被誤導(dǎo);(4)一致性(Consistent)不與其它需求相沖突;(5)可驗(yàn)證性(Verifiable)可驗(yàn)證系統(tǒng)能夠滿足用戶需要;(6)可追蹤性(Traceable)可唯一識(shí)別并進(jìn)行跟蹤;(7)可行性(Feasible)可在預(yù)期成本和計(jì)劃進(jìn)度內(nèi)完成;(8)模塊化(Modular)可單獨(dú)變更而不會(huì)造成較大影響;(9)獨(dú)立于設(shè)計(jì)(Design-independent)不包括項(xiàng)目設(shè)計(jì)和實(shí)現(xiàn)的細(xì)節(jié)、計(jì)劃信息等。
        軟件開發(fā)團(tuán)隊(duì)在開始一個(gè)新的項(xiàng)目之前,會(huì)通過(guò)詳細(xì)的用戶需求調(diào)研準(zhǔn)確捕獲了用戶需求并匯總分析后,再進(jìn)行下一步的設(shè)計(jì)與實(shí)施工作,以避免因未能正確識(shí)別用戶的真正需求而導(dǎo)致不斷返工和工作成本增加。對(duì)于從事軟件工程的程序員們來(lái)說(shuō),在進(jìn)行項(xiàng)目開發(fā)之前創(chuàng)建和管理良好的需求是非常重要的第一步,同時(shí)也是一項(xiàng)挑戰(zhàn)。需求表述不當(dāng)可帶來(lái)重大影響,如耗時(shí)返工、延期交付及預(yù)算超支,嚴(yán)重的還可造成業(yè)務(wù)違規(guī)。因此,開發(fā)團(tuán)隊(duì)需要首先有效定義和管理需求,才能確保在保證進(jìn)度和控制預(yù)算的同時(shí),產(chǎn)品能夠滿足用戶所需。本文旨在闡述良好需求描述的特征,并介紹有助于更好地編寫軟件工程需求說(shuō)明文檔的幾點(diǎn)經(jīng)驗(yàn),以幫助軟件開發(fā)團(tuán)隊(duì)能夠更快更好地取得投資收益。
        3 提高需求分析說(shuō)明書編寫質(zhì)量的幾招
        在明確了何為良好的需求之后,以下介紹幾點(diǎn)可以幫助開發(fā)團(tuán)隊(duì)編寫出更好的需求分析說(shuō)明書的方法,加速軟件工程投資回報(bào)率。
        第一招:將需求結(jié)構(gòu)化(Structuring):每一項(xiàng)需求既不能被重復(fù)描述也不能被遺漏,訣竅之一是將需求結(jié)構(gòu)化。需求組織應(yīng)具有良好的結(jié)構(gòu),以增進(jìn)理解,同時(shí)避免出現(xiàn)重復(fù)和忽略的情況。同時(shí),須具備對(duì)需求,的向上和向下的追溯能力之后,團(tuán)隊(duì)才能夠評(píng)估需求的覆蓋范圍。結(jié)構(gòu)化組織需求是控制和改善需求質(zhì)量的第一步。
        第二招:重視非功能性需求(Constraints):對(duì)于編寫需求說(shuō)明書而言,涉及法規(guī)遵從和提高軟件系統(tǒng)質(zhì)量的非功能性需求(又稱約束條件,Constraints)同樣重要,它們通常包括軟件的性能、界面和可維護(hù)性等方面。編寫良好需求應(yīng)包含對(duì)約束條件的覆蓋,原因是一旦如下領(lǐng)域(例如:性能、可靠性和易用性等)在開發(fā)完成后出現(xiàn)缺陷,通常都無(wú)法在系統(tǒng)中對(duì)其進(jìn)行重新設(shè)計(jì)。因此,在項(xiàng)目初期將所有類型的非功能性需求考慮在內(nèi),可幫助開發(fā)團(tuán)隊(duì)大幅提高項(xiàng)目成功的幾率。
        第三招:將需求可視化(Visualization):大多數(shù)需求分析人員發(fā)現(xiàn)建模有助于直觀化文字形式的需求。無(wú)論是在白板上繪圖、使用Microsoft PowerPoint演示工具,還是僅僅在腦海中構(gòu)建一個(gè)模型,都可視為一種建模方法。以上這種圖型化的文檔應(yīng)與文字形式的需求描述一起統(tǒng)一管理,以確保一致性、可跟蹤性和變更控制能力??梢暬枨蠼L峁┝艘环N與客戶及最終用戶溝通的簡(jiǎn)單而有效的方法,通過(guò)該方法能夠比較容易地掌握客戶和最終用戶的需求。此外,圖型化還有助于闡明需求,增進(jìn)軟件項(xiàng)目所有相關(guān)人員之間的溝通與協(xié)作。
        第四招:使需求具備可測(cè)試性(Testable):產(chǎn)生良好需求的另一種行之有效的方法,就是從初期就確保每個(gè)需求具備明確的可驗(yàn)證性,這種做法不僅有助于為項(xiàng)目后續(xù)階段做好準(zhǔn)備,還可以幫助編寫者保持正確的思路。對(duì)于非功能性需求此規(guī)則也同樣適用,例如,對(duì)于“軟件必須具有高可用性”這種表述的需求我們無(wú)法進(jìn)行測(cè)試,而改寫為明確的“普通用戶應(yīng)能夠在3min內(nèi)生成一個(gè)報(bào)告”就使該需求具備了可測(cè)試性。
        第五招:管理好需求變更:大多數(shù)軟件工程項(xiàng)目中,來(lái)自用戶的需求經(jīng)常會(huì)發(fā)生變化。隨著項(xiàng)目的進(jìn)展,開發(fā)團(tuán)隊(duì)要保持清醒的頭腦、按照工程要求做出相應(yīng)調(diào)整,并響應(yīng)不斷變化的市場(chǎng)形勢(shì)和客戶需要。僅僅編寫出完美的首版需求描述是不夠的,如果未能對(duì)需求的變更過(guò)程進(jìn)行恰當(dāng)管理,那么控制不善的變更便可能導(dǎo)致系統(tǒng)和軟件功能缺失、返工以及利潤(rùn)損失。開發(fā)團(tuán)隊(duì)?wèi)?yīng)該實(shí)施可靠的、可重復(fù)的變更控制流程。
        第六招:在客戶需求和開發(fā)能力之間找到平衡:許多情況下,較少的需求數(shù)量有助于產(chǎn)生更加優(yōu)秀的需求描述。軟件工程項(xiàng)目不可能實(shí)現(xiàn)既采納和滿足企業(yè)所有用戶的需求、營(yíng)銷理念和商業(yè)計(jì)劃,同時(shí)還符合預(yù)算并能按期交付。項(xiàng)目經(jīng)理必須找到客戶需求和開發(fā)能力之間的平衡點(diǎn),確定可為客戶帶來(lái)最大價(jià)值,并幫助企業(yè)提升創(chuàng)新能力的那些需求,而不是一味地試圖滿足用戶所有需求。
        第七招:重用好的需求片段:當(dāng)之前項(xiàng)目的已編寫的良好需求適用于當(dāng)前情況時(shí),不要單純地將原有需求直接復(fù)制。重新使用以往需求的正確方法是繼續(xù)維持兩個(gè)需求之間的聯(lián)系,如通常打上re-use標(biāo)記。此標(biāo)記使分析人員能夠隨時(shí)查找到原始需求,以檢查需求分解分配等信息。通過(guò)靈活的方法重新用以往需求,開發(fā)團(tuán)隊(duì)可以獲得技能、經(jīng)驗(yàn)和知識(shí)的共享。
        第八招:建立范例知識(shí)庫(kù)(Knowledge Database):提高需求質(zhì)量的另一有效途徑是建立范例知識(shí)庫(kù),并參考其中的典型范例。知識(shí)庫(kù)內(nèi)容應(yīng)該包括:良好需求和文檔的正、反面示例,以往項(xiàng)目中可反映團(tuán)隊(duì)在特定領(lǐng)域內(nèi)專門知識(shí)的良好(和不良)需求。為了使開發(fā)團(tuán)隊(duì)可以更好的參考,知識(shí)庫(kù)中的需求案例應(yīng)具備明顯的積極或消極意義,而非中規(guī)中矩的。通過(guò)知識(shí)庫(kù)示例開發(fā)團(tuán)隊(duì)可以參考以往的經(jīng)驗(yàn)、吸取教訓(xùn),避免重蹈覆轍,進(jìn)而提高需求編寫的質(zhì)量、一致性和完整性。
        4 結(jié)語(yǔ)
        編寫好的需求說(shuō)明書是一個(gè)開發(fā)項(xiàng)目最為重要的活動(dòng)之一,優(yōu)秀的需求描述可以改善并加速項(xiàng)目的投資回報(bào)。如果前期用戶需求收集得不明確,那么后期的開發(fā)過(guò)程注定生產(chǎn)錯(cuò)誤的產(chǎn)品,開發(fā)團(tuán)隊(duì)可以通過(guò)經(jīng)驗(yàn)提升需求文檔的編寫質(zhì)

      长白| 镇沅| 南康市| 盐源县| 卢氏县| 静乐县| 张掖市| 清徐县| 金阳县| 乌鲁木齐县| 镇平县| 大竹县| 武穴市| 漯河市| 临清市| 建昌县| 财经| 靖江市| 潜江市| 寿宁县| 彭山县| 辽宁省| 偏关县| 错那县| 镇雄县| 电白县| 凯里市| 汉阴县| 康乐县| 越西县| 万盛区| 浙江省| 合川市| 台山市| 申扎县| 齐齐哈尔市| 陕西省| 逊克县| 栖霞市| 瑞安市| 甘南县|