久久久国产精品视频_999成人精品视频线3_成人羞羞网站_欧美日韩亚洲在线

0
首頁 精品范文 項目需求分析

項目需求分析

時間:2022-05-31 06:13:56

開篇:寫作不僅是一種記錄,更是一種創(chuàng)造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇項目需求分析,希望這些內(nèi)容能成為您創(chuàng)作過程中的良師益友,陪伴您不斷探索和進(jìn)步。

項目需求分析

第1篇

2 什么是需求分析

結(jié)構(gòu)化軟件開發(fā)一般分為分析、設(shè)計、開發(fā)、測試、驗收與運行等階段。開發(fā)前,會進(jìn)行前期的可行性研究;在運行開始以后,還要進(jìn)行后期維護(hù)。需求分析是結(jié)構(gòu)化開發(fā)中的重要階段。通常情況下,國內(nèi)軟件開發(fā)公司在做歐美和日本的項目時,對前期的可行性研究參與得較少,一般都是對方已經(jīng)做完可行性研究,國內(nèi)軟件開發(fā)公司從需求分析開始做起,直到軟件開發(fā)后的運行和維護(hù)。所謂需求分析,是指對要解決的問題進(jìn)行詳細(xì)的分析,弄清楚客戶的需求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么,等等。可以說,軟件工程當(dāng)中的需求分析就是確定要計算機(jī)做什么。

3 需求分析的重要性

從需求分析的定義上,就可以看出需求分析在軟件開發(fā)過程中的重要性了。需求分析做得不對,后面的步驟做得再好,也只能是南轅北轍,無法滿足客戶的要求。研究表明,改正產(chǎn)品付諸應(yīng)用后所發(fā)現(xiàn)的一個需求方面的缺陷,比在需求階段改正這個錯誤要多付出大約100倍的成本。而另一項研究發(fā)現(xiàn),在需求開發(fā)階段發(fā)現(xiàn)的一個錯誤,平均僅需要花30分鐘修復(fù),但若在系統(tǒng)測試時發(fā)現(xiàn)則需要5-17個小時來修復(fù)。

需求工程的成功與否直接關(guān)系到系統(tǒng)給的命運,需求工程絕對不是軟件開發(fā)的前期任務(wù),而應(yīng)該在整個系統(tǒng)的生命周期里都扮演著重要角色。在需求工程階段解決和根除需求引起的問題可以大大降低生產(chǎn)和維護(hù)的成本,提高用戶的滿意度。在軟件開發(fā)的過程中,需求工程階段是了解用戶需求的最佳時期,但很大一部分用戶不知道、不了解需求工程,以至于在和他們交流的時候,他們都不能準(zhǔn)確完整的說出自己的需求,因而對于從事需求工程的人員來說,能夠正確的理解用戶的需求觀點,利用一些方法和技巧來啟發(fā)用戶闡述清楚自己的需求是很重要的。需求工程作為了解并實現(xiàn)軟件開發(fā)者的目標(biāo)的重要手段,有著不可替代的作用。

比如一個失敗的案例:由于和客戶簽訂了合同,5個月必須交付軟件,開發(fā)時間緊迫,導(dǎo)致項目計劃時做需求分析的時間只給了2周時間(理由是客戶的文檔已經(jīng)提供好了,照著做即可)。結(jié)果,由于前期對客戶文檔理解得不是很清楚,導(dǎo)致開發(fā)進(jìn)行到3個月的時候發(fā)現(xiàn)需求上有爭議。在和客戶確認(rèn)后得出結(jié)論:如果要滿足客戶的要求,則需要對整體架構(gòu)進(jìn)行修改。雖然最后按期交付了軟件,但是整個項目組最后兩個月每天都在加班,包括周末,而且軟件質(zhì)量也沒有得到客戶的充分認(rèn)可。

再如我們在了解客戶需求的同時,應(yīng)該盡量了解客戶為什么要這么做,幫客戶一起想需求,以便我們開發(fā)的軟件能夠更好地為客戶服務(wù)。每天開完會后,我們應(yīng)該把客戶的需求整理好,發(fā)給同事進(jìn)行研究分析,建立簡單的基礎(chǔ)模型并研究技術(shù)可行性。需求分析結(jié)束后,保持每周至少3次電話會議與客戶進(jìn)行溝通,隨時了解客戶的需求。最后正因為在前期階段進(jìn)行了這種細(xì)致的需求分析,項目組在很少加班的情況下,不但按時交付了項目,并且得到客戶的充分認(rèn)可。

4 軟件需求分析的任務(wù)

軟件工程的發(fā)展來源于信息需求對它的推動,現(xiàn)在互聯(lián)網(wǎng)技術(shù)和應(yīng)用越來越成熟,信息的獲取也逐漸變得簡單和完整,但是由于資源的開放性、系統(tǒng)與系統(tǒng)的相互滲透性、用戶的變動性讓需求變得多目的、多變化,增加了軟件制作的難度,但同樣帶來了巨大的用戶市場。需求的獲取同樣也是困擾軟件工程的絆腳石。需求與資源的搭配不合理,就會影響軟件工程的發(fā)展。未來適應(yīng)變化多端的用戶需求,必須讓軟件也隨之變化。要滿足多樣化的信息需求,提取合適的信息需求建立模式,就要有相應(yīng)的系統(tǒng)對需求信息進(jìn)行分析和總結(jié),通過程序化的模式來制定切實可行的軟件方案。

國項目中,在前期分析時軟件開發(fā)的核心技術(shù)人員和測試人員就已經(jīng)進(jìn)入項目組,每天技術(shù)人員會對分析的結(jié)果提出技術(shù)實現(xiàn)的難點以及改進(jìn)的方法,筆者在隨后的會議上就會和客戶進(jìn)行討論,盡量在滿足客戶需求的同時,使用更簡單可行的技術(shù),這樣就為以后的開發(fā)奠定了基礎(chǔ),使開發(fā)時的工作量大大減少。測試人員也在需求時提出從測試角度看到的問題,同樣在需求分析階段得到解決,節(jié)省了大量的開發(fā)時間。

需求工程在未來發(fā)展中會有如下幾個方面的著重考慮:(1)縮小需求工程在理論研究階段取得的成果同實際應(yīng)用中得到的效果的差距,通過得到的結(jié)論來更好的設(shè)計軟件;(2)規(guī)范需求工程的各種機(jī)制,可以有需求工程規(guī)格數(shù)據(jù)的搜集、整理、制作、實現(xiàn)以及維護(hù),也可以有需求工程的問題的解決辦法;(3)保證需求工程有較高的質(zhì)量。這一點是需求工程最為關(guān)鍵的要求,質(zhì)量的高低直接影響了未來實現(xiàn)效果的好壞。需求工程就是對未知問題進(jìn)行探索、處理的過程。未來必然會朝著對象具體化、分析自動化的方向發(fā)展。

5 進(jìn)行需求分析的注意事項

5.1 需求分析是分析人員與用戶共同的責(zé)任

用戶必須對軟件功能和性能提出初步要求,并澄清一些模糊概念。而需求分析人員則要認(rèn)真了解用戶的要求,細(xì)致地進(jìn)行調(diào)查分析,把用戶做什么的要求最終轉(zhuǎn)換成一個完全的、精細(xì)的軟件邏輯模型,并寫出軟件的需求規(guī)格說明,準(zhǔn)確地表達(dá)用戶的要求。在一些項目中,由于時間緊迫,一些模糊問題沒有及時澄清,導(dǎo)致最后返工,影響了項目進(jìn)度。

5.2 需求分析階段研究的對象是軟件項目的用戶要求

需要注意的是,必須理解用戶的各項要求,但又不能全盤接受所有的要求。在一些項目中,針對客戶提出的需求,了解客戶的意圖后,發(fā)現(xiàn)技術(shù)上實現(xiàn)有很大難度。我們了解到這個需求對客戶來說不是十分重要,于是和客戶商量出一個折中的解決方案,繞過技術(shù)難點,并且沒有降低客戶滿意度。

5.3 主動積極了解客戶業(yè)務(wù)和相關(guān)知識

求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語。客戶應(yīng)將有關(guān)術(shù)語教給分析人員,而客戶不一定要懂得計算機(jī)行業(yè)的術(shù)語。由于通常情況下客戶對計算機(jī)術(shù)語了解不多,需求分析人員應(yīng)該盡量將計算機(jī)術(shù)語轉(zhuǎn)化成通俗易懂的語言,這樣便于和客戶溝通。而對于客戶方面的術(shù)語,一方面不懂的時候一定要問;另一方面也要多學(xué)習(xí)。

第2篇

論文摘要:計算機(jī)軟件項目管理中的需求分析是提高軟件質(zhì)量的基礎(chǔ)也是決定一個軟件項目成敗的關(guān)鍵。本文介紹了在需求分析研究中探索出的一些有效措施。

眾觀國內(nèi)計算機(jī)軟件業(yè)的發(fā)展,除遠(yuǎn)不如歐美等西方發(fā)達(dá)國家外,與人均GDP不及我國的印度相比也相距甚遠(yuǎn),軟件業(yè)的劣勢正嚴(yán)重制約著我國IT業(yè)的發(fā)展。我國軟件業(yè)的劣勢表現(xiàn)在自主開發(fā)的成熟軟件不多,而開發(fā)的大量軟件工程項目(如ERP等)存在缺陷或完全開發(fā)失敗。目前,國家正在加大對軟件工程的研究和對軟件工程人才的培養(yǎng)。根據(jù)資料顯示,屬于需求分析造成軟件設(shè)計的錯誤和缺陷約占軟件失敗的6400,而屬于程序代碼的錯誤僅占軟件失敗的360a,數(shù)據(jù)表明需求分析是提高軟件質(zhì)量的基礎(chǔ)也是決定一個軟件項目成敗的關(guān)鍵。通過對軟件項目管理知識的系統(tǒng)學(xué)習(xí)并結(jié)合近年來自己參與部分軟件項目實施的經(jīng)驗,介紹在需求分析研究中探索出的一些有效措施。

1盡快熟悉項目用戶方干系人全貌

項目用戶方干系人,指所有可能受到項目結(jié)果重大影響的人,即項目的風(fēng)險承擔(dān)者,他可能是項目的受益者,也可能是項目的受害者。因此,應(yīng)當(dāng)從項目的啟動開始,需求分析員及其項目成員就要分清項目用戶方干系人包含哪些人和組織,通過溝通協(xié)調(diào)對他們施加影響,驅(qū)動他們對項目的支持,調(diào)查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。

有些項目在做需求調(diào)查時,由于受進(jìn)度要求等客觀因素影響,需求分析員與建設(shè)單位的技術(shù)部門交流較多,向業(yè)務(wù)管理部門和實際使用者調(diào)查不夠深入,造成軟件試用后不得不再對需求做較大調(diào)整,“從頭再來”的部分比例很高,大大超過進(jìn)度要求時間。因此,熟悉項目用戶方干系人全貌是進(jìn)行需求調(diào)查的第一步,也是需求調(diào)查的基礎(chǔ)。在定制開發(fā)項目的項目用戶方干系人中,最重要的是建設(shè)單位中的人事組織、業(yè)務(wù)關(guān)系。最好是能夠用組織結(jié)構(gòu)圖畫出相關(guān)單位的組織結(jié)構(gòu);還應(yīng)當(dāng)在相關(guān)單位組織結(jié)構(gòu)圖基礎(chǔ)上畫出全體項目用戶方干系人結(jié)構(gòu)圖,以便更好更全面地進(jìn)行需求調(diào)研分析;用責(zé)任矩陣確定各部分的調(diào)研對象;建立調(diào)研對象通訊錄以保證調(diào)研及分析期間及時的溝通。

2采取正確的需求獲取方法

軟件開發(fā)項目的目的就是要實現(xiàn)項目用戶方的需求,項目用戶方的需求包含明確的和隱含的,也可以分為NEED, WANT, WISH等不同的層次。如果對項目所有用戶方干系人沒有進(jìn)行足夠的溝通和影響,使其盡可能地參與項目,則會出現(xiàn)客戶方相關(guān)責(zé)任人不明確或?qū)Ψ秶托枨筘?zé)任心不強(qiáng),提出的需求具有隨意性,項目前期對需求的確認(rèn)不夠積極,或者是多個用戶代表各說各話、昨是今非,項目后期需求變化隨意等現(xiàn)象,這就會造成項目范圍的蔓延,進(jìn)度的拖延,成本的擴(kuò)大,甚至項目的完全失敗。

各種用戶對系統(tǒng)具有不同的要求,如一個沒有經(jīng)驗的用戶關(guān)心系統(tǒng)是否簡單易用,對于高級用戶則關(guān)心產(chǎn)品的易用性和高效性。因而需要對用戶進(jìn)行分類,每一個用戶類將有自己的一系列功能和非功能要求。在項目中,要盡早為產(chǎn)品確定并描述不同的用戶類,這樣就能從每一個重要的用戶類代表中獲取不同的需求。

項目需求具有雙面性(用戶與開發(fā)商)和多面性(項目中各干系人),因此,項目經(jīng)理和系統(tǒng)集成者應(yīng)了解用戶干系人需求,用戶干系人也應(yīng)了解技術(shù)方面的需求,兩者缺一不可。正確的需求獲取需要了解需求的來源、用戶的分類、用戶的代表性、用戶需求誰說了算數(shù)等因素。開發(fā)人員和項目經(jīng)理要有足夠的耐心聆聽用戶的講述,要足夠詳細(xì)地了解每一個細(xì)節(jié)。項目管理者要善于將需求分類、歸類,善于將需求文檔化,并有所查詢標(biāo)記。

3可視化需求調(diào)研,引導(dǎo)各種客戶挖掘他們的需求

有的客戶因為自己缺乏計算機(jī)知識,無法提出完整準(zhǔn)確、隱含的或潛在的需求。若這些需求不能滿足將導(dǎo)致用戶的不滿。因此需求調(diào)研分析人員應(yīng)善于想用戶所想,不但要確定明確的需求,還要善于用啟發(fā)的方式與用戶探討隱含的或潛在的需求,并結(jié)合各種調(diào)研分析技術(shù)挖掘超出客戶期望的令人興奮的需求。這就要求需求調(diào)研分析員要盡快完整地熟悉相關(guān)業(yè)務(wù),從而能夠站在用戶的立場看待軟件需求,想用戶所想,做好業(yè)務(wù)與計算機(jī)之間的橋梁。利用可視化需求調(diào)研的方法可以很好地啟發(fā)用戶深人挖掘潛在的需求。可視化需求調(diào)研就是使用圖表等工具來啟發(fā)引導(dǎo)用戶清楚地敘述需求,并且使需求更加全面完善。

對于高層領(lǐng)導(dǎo),可以提供系統(tǒng)總體框架圖;對于業(yè)務(wù)管理人員,可以用業(yè)務(wù)流程圖來描述新舊系統(tǒng)的業(yè)務(wù)流程;對于客戶中的技術(shù)人員,可以用數(shù)據(jù)流圖、實體關(guān)系圖或UMI中的各種圖形對系統(tǒng)進(jìn)行各種角度的描述;而對于業(yè)務(wù)管理人員、客戶中的技術(shù)人員、以及各層次各流程中的用戶,畫出用戶界面圖來進(jìn)行需求挖掘,是個比較有效的溝通方式。

這里特別說明一下用戶界面的重要性。用戶界面的設(shè)計按理來說是軟件設(shè)計的責(zé)任,當(dāng)然客戶自己對界面有特別提出要求的除外。但是,如果把它提前到需求調(diào)研時與客戶進(jìn)行討論,則可以大大改善需求調(diào)研的效果。因為這時客戶對于將來的系統(tǒng)還沒有一個形象上的概念,或者有一個模糊的預(yù)想的概念需要表述、驗證、明晰化、完善化,以筆者的經(jīng)驗,畫出用戶界面草圖與客戶進(jìn)行討論,可以大大激發(fā)他們提供更為準(zhǔn)確全面的需求。原來收集資料,描述業(yè)務(wù),說明系統(tǒng)模型到了山窮水盡的時候,這種方法可以達(dá)到柳暗花明又一村的效果。

4詳細(xì)描述各項業(yè)務(wù),以便讓所有客戶確認(rèn)

盡可能全面詳細(xì)地調(diào)查并且描述原有系統(tǒng)和用戶希望將來系統(tǒng)具有的各項業(yè)務(wù)的流程,并將這些業(yè)務(wù)流程文檔化后與客戶進(jìn)行討論,對描述錯誤或不準(zhǔn)確不精確的進(jìn)行修改,最終讓客戶進(jìn)行確認(rèn)。從近年來開發(fā)的軟件看,對業(yè)務(wù)處理過程了解的完整性和準(zhǔn)確性非常重要。雖然對數(shù)據(jù)來說都是SIDUT(查增刪改傳),但具體業(yè)務(wù)都是分為若干步驟,每個步驟都有其業(yè)務(wù)名稱,同一步驟可能對多個數(shù)據(jù)集進(jìn)行不同操作,需要調(diào)查了解清楚才能設(shè)計出適合用戶業(yè)務(wù)特點和習(xí)慣的軟件,使開發(fā)出來的軟件更受歡迎。當(dāng)然在進(jìn)行軟件概要設(shè)計時,要盡量排除業(yè)務(wù)流程的制約,即把流程中的各項業(yè)務(wù)節(jié)點工作作為獨立的對象,充分考慮他們與其他各種業(yè)務(wù)對象的接口,在流程之間通過業(yè)務(wù)對象的相互調(diào)用實現(xiàn)其業(yè)務(wù)流程,這樣,在業(yè)務(wù)流程發(fā)生有限的變化時,就能夠比較方便地修改系統(tǒng)程序而實現(xiàn)新的需求。

對于各項業(yè)務(wù)的調(diào)查可以通過對以下資料的收集整理分析來完成,這些資料來自各種各樣的項目用戶方干系人:遵循的標(biāo)準(zhǔn)、組織發(fā)放的工作手冊、作業(yè)流程、有關(guān)業(yè)務(wù)的上級通知、有關(guān)業(yè)務(wù)的辦事指南、辦理業(yè)務(wù)時需要填寫的登記表、各種相關(guān)的統(tǒng)計報表及通過其他途徑收集的類似系統(tǒng)的介紹、技術(shù)資料等等。

5對項目用戶方干系人的愿望進(jìn)行平衡

不同的項目用戶方干系人其愿望和追求的目標(biāo)往往相差甚遠(yuǎn),因此對項目用戶方干系人的愿望進(jìn)行平衡可能是非常重要而又相當(dāng)困難的事情。例如:我曾在參與的某醫(yī)院計算機(jī)管理系統(tǒng)項目中,遇到醫(yī)院管理層希望能夠采集盡可能多的信息項以便對數(shù)據(jù)進(jìn)行多種多樣的統(tǒng)計分析,同時為了對信息進(jìn)行有效控制而增加一些審批流程;而門診、藥房等對外辦公的基層窗口則因為客流速度的壓力希望減少信息項的輸人量;甚至有些不良的基層部門由于害怕建立透明度高的信息系統(tǒng)會影響他們的利益而消極地應(yīng)付,即所謂反需求;而客戶的客戶(就診的病人)則希望相關(guān)機(jī)構(gòu)能夠簡化工作流程,加快辦事速度,增加診斷情況和就診費用的透明度;甚至項目組本身因為技術(shù)、資源、進(jìn)度等原因,需要對一些功能進(jìn)行優(yōu)先級排序和取舍。雖然不是所有人的需求都是可以滿足的,特別是消極的反需求是不能接受的,但他們的需求都是應(yīng)當(dāng)考慮全面并進(jìn)行平衡的。

如果不同的用戶方干系人有不一致的需求,那么必須決策出滿足哪一類用戶方干系人的需求更為重要。了解可能使用產(chǎn)品的客戶種類的信息和他們的用法與產(chǎn)品的業(yè)務(wù)目標(biāo)的關(guān)系如何,將有助于決定哪一個用戶類所占份額更大。如果系統(tǒng)分析人員提出的需求與開發(fā)者所想要開發(fā)的系統(tǒng)發(fā)生沖突時,通常由于系統(tǒng)分析人員作為客戶的人,市場需求具有更重的分量,但是,系統(tǒng)分析人員不能一味地遷就客戶需求。

不同的用戶方干系人可能都要求產(chǎn)品按照他們各自的喜好來設(shè)計。運用項目的業(yè)務(wù)目標(biāo)來決定哪些是你最關(guān)心的客戶,非核心客戶的需求可以安排在下一個版本中開發(fā)。當(dāng)開發(fā)者想像的產(chǎn)品與客戶需求沖突時,通常應(yīng)該由客戶作出決策,然而,不要陷人“客戶總是對的”的陷阱中去,現(xiàn)實中,客戶并不總是對的。

6強(qiáng)調(diào)實現(xiàn)項目需求的層次遞進(jìn)性

了解該系統(tǒng)或者該項目用戶所能夠提供的最小的工程費用。當(dāng)預(yù)計經(jīng)費不能支持時,應(yīng)當(dāng)考慮將項目分期實施。在系統(tǒng)上、技術(shù)上對用戶進(jìn)行引導(dǎo)性建議,使用戶了解集成商所要進(jìn)行的工作,了解集成商是為了幫助用戶實現(xiàn)他的需要、達(dá)到用戶的目的,而不僅僅是為了賺錢,用戶更了解集成商,也更了解自己的系統(tǒng),有利于以后的項目合作、工程實施和系統(tǒng)維護(hù)。

分析用戶曾用系統(tǒng)模式、數(shù)據(jù)結(jié)構(gòu)和庫模式,看是否保持、共用、轉(zhuǎn)換,這涉及保護(hù)用戶投資的問題。根據(jù)現(xiàn)在工作業(yè)務(wù)流情況確定現(xiàn)有的工作模式,還應(yīng)兼顧將來可能會發(fā)生的變化、擴(kuò)展、新規(guī)定,及與同國際接軌可能的帶來的變化。考查工程實施環(huán)境是否有保證,尤其是網(wǎng)絡(luò)工程,必須在需求調(diào)查時充分了解用戶領(lǐng)域的實施環(huán)境,當(dāng)不具有實施環(huán)境時,要求進(jìn)行配套設(shè)計和環(huán)境改造。

7編寫需求文擋和進(jìn)行需求評審與其他項目小組成員協(xié)作完善系統(tǒng)需求

文檔資料是集成商重要的財富,貫穿于系統(tǒng)集成和項目開發(fā)的整個過程,其中包括法律文檔、技術(shù)文檔、資料文擋。文擋要求完整性、一致性、可修改性、可跟蹤性。

第3篇

關(guān)鍵詞:軟件工程;需求分析與管理

中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2010) 15-0000-01

The Requirements Analysis and Management of Software

Huang Degui

(Communications Information Branch,Zhanjiang Port(Group)Co.,Ltd.,Zhanjiang524019,China)

Abstract:In the process of software development requirements analysis and management,there are some problems.This paper analyzes the problems and issues reference for these recommendations and solutions.

Keywords:Software engineering;Requirements analysis and management

在軟件項目開發(fā)過程中,需求分析與管理十分重要。但在實際的軟件項目開發(fā)的需求分析與管理過程中存在一些問題,如果不重視這些問題,往往導(dǎo)致項目開發(fā)進(jìn)度延期、超出項目預(yù)算甚至項目開發(fā)失敗。

在軟件工程理論中,需求分析是指構(gòu)建一個新的系統(tǒng)或者完善現(xiàn)有系統(tǒng)時,確定系統(tǒng)的目標(biāo)、范圍、功能需求和非功能性需求等方面所涉及的工作。

需求分析是軟件工程的一個關(guān)鍵過程,也是軟件項目開發(fā)的一個關(guān)鍵階段。軟件需求分析人員需要準(zhǔn)確、清晰和形象的表達(dá)和描述用戶的真實需求。需求分析階段的工作是否準(zhǔn)確和充分、提交的軟件需求說明書是否完善和規(guī)范、需求管理的方法是否正確將直接影響和決定整個項目開發(fā)是否能夠按照時間進(jìn)度和在項目預(yù)算范圍內(nèi)完成。

在項目開發(fā)過程中,經(jīng)常出現(xiàn)如下情況:軟件需求分析人員描述的用戶需求不完整、用戶需求經(jīng)常發(fā)生變化、軟件需求分析人員與系統(tǒng)設(shè)計人員的溝通障礙、開發(fā)人員邊做需求分析邊做開發(fā)、用戶需求管理混亂、缺少專業(yè)的需求分析與管理工具等。這些情況的出現(xiàn)使整個項目管理風(fēng)險加大、系統(tǒng)代碼返工率高、項目團(tuán)隊士氣日益低下和用戶對項目開發(fā)進(jìn)度的抱怨越來越多,最終可能導(dǎo)致整個項目開發(fā)失敗。

軟件需求分析人員描述的用戶需求不完整主要原因:一種情況是沒有專職的軟件需求分析人員,兼職的軟件需求分析人員同時擔(dān)當(dāng)該模塊的設(shè)計及開發(fā),導(dǎo)致需求分析沒有真正從業(yè)務(wù)的角度來考慮,而是從技術(shù)實現(xiàn)的角度考慮。有的即使有專職的軟件需求分析人員,該軟件需求分析人員也不具備該行業(yè)的業(yè)務(wù)知識和經(jīng)驗,對行業(yè)術(shù)語不了解,有的甚至聘用剛剛畢業(yè)的學(xué)生去做需求分析,導(dǎo)致整個需求分析不準(zhǔn)確甚至出現(xiàn)偏差。另外一種情況是專職的軟件需求分析人員沒有系統(tǒng)的學(xué)習(xí)和掌握軟件需求分析的基本方法、原則和技巧,了解的業(yè)務(wù)需求不能準(zhǔn)確直觀的表達(dá)和描述,編制的軟件需求說明書過于簡單和形式化,導(dǎo)致項目開發(fā)的其他人員不能很好的理解用戶需求,有的甚至要重新做軟件需求分析。

為詳細(xì)和準(zhǔn)確的描述用戶需求,需要注意以下幾個方面:

首先需要由專職的人員擔(dān)任需求分析工作,而且軟件需求分析人員需要系統(tǒng)的學(xué)習(xí)和掌握需求分析的基本方法、原則和技巧。例如獲取業(yè)務(wù)需求常用的方法有用戶訪談、速記、談話錄音、會議紀(jì)要等;其中用戶訪談的要點包括確定訪談的時間、訪談的對象、設(shè)計用戶訪談計劃并提前發(fā)送給用戶等;速記要求軟件需求分析人員能夠快速準(zhǔn)確的記錄用戶描述的業(yè)務(wù)需求和業(yè)務(wù)流程。談話錄音和會議紀(jì)要是為了更準(zhǔn)確記錄用戶描述的業(yè)務(wù)需求,便于分析和理解用戶需求;軟件需求分析人員最好具備該行業(yè)的業(yè)務(wù)經(jīng)驗和知識或者聘請該行業(yè)的業(yè)務(wù)專家指導(dǎo),這樣有助于軟件需求分析人員準(zhǔn)確分析和理解行業(yè)術(shù)語、行業(yè)業(yè)務(wù)需求和行業(yè)業(yè)務(wù)流程。

其次,描述的軟件需求說明書內(nèi)容應(yīng)該包括系統(tǒng)的目標(biāo)、范圍、功能需求、非功能性需求和系統(tǒng)界面原型等方面。非功能性需求主要包括系統(tǒng)界面的可用性、易用性、操作便捷、時間效率高、出錯率低和操作系統(tǒng)需要的專業(yè)領(lǐng)域知識少等方面;系統(tǒng)界面原形是指使用專業(yè)界面原形工具(Axure等)或者直接使用開發(fā)工具(Visual Studio等)編制系統(tǒng)的初始用戶界面,便于軟件需求分析人員、系統(tǒng)設(shè)計人員和開發(fā)人員更直觀和形象的與用戶溝通和明確需求。非功能性需求和系統(tǒng)界面原形在需求分析階段非常重要,我們在項目開發(fā)過程中應(yīng)該注重非功能性需求和系統(tǒng)界面原形。

最后,對于軟件需求分析人員編制的軟件需求說明書要做好需求驗證工作,參加需求驗證工作的成員應(yīng)該包括項目組所有成員、該行業(yè)的業(yè)務(wù)專家和最終用戶。在需求驗證會議上提供的需求驗證材料應(yīng)該簡單、清晰、直觀和明確,不能籠統(tǒng)的提供一些復(fù)雜的業(yè)務(wù)流程及繁瑣的文字說明。在需求驗證會議上可以通過情景模擬和系統(tǒng)界面原形的方式演示。情景模擬是根據(jù)不同業(yè)務(wù)角色模擬整個業(yè)務(wù)辦理的情況。系統(tǒng)界面原形能讓用戶切身感受到系統(tǒng)的界面效果,便于直觀、形象的溝通和交流業(yè)務(wù)細(xì)節(jié)和業(yè)務(wù)流程。

在項目開發(fā)過程中,用戶需求發(fā)生變化的情況經(jīng)常出現(xiàn)。我們不能避免和逃避用戶需求變化情況的出現(xiàn),但應(yīng)該控制和管理用戶需求變化,應(yīng)該有需求變更的流程、需求變更的團(tuán)隊、需求變更的平臺、需求變更的影響分析以及固定的需求變更周期。對于用戶提出的需求變更,我們首先應(yīng)該做好詳細(xì)的記錄,然后將需求變更的記錄通過需求變更的流程提交給需求變更團(tuán)隊評估和確認(rèn),最終在需求變更的平臺中反映出來,同時要做好需求變更的影響分析報告并及時反饋給用戶。需要注意的是對于需求變更我們要有固定的需求變更周期,不能用戶有需求變更馬上要求項目團(tuán)隊及時更改系統(tǒng),這樣會加大項目管理的風(fēng)險和影響項目團(tuán)隊的士氣。

第4篇

[關(guān)鍵詞] 需求分析 需求變更 需求控制

一、問題的提出

什么是需求分析?

要知道需求變更是什么,首先要知道什么是需求分析。

需求分析是指理解客戶需求,就軟件功能與客戶達(dá)成一致,估計軟件風(fēng)險和評估項目成本代價,最終形成開發(fā)計劃的一個復(fù)雜過程。需求分析的成果形成需求說明書。

什么是需求變更?

根據(jù)軟件工程思想定義,需求說明書一般要經(jīng)過論證,如果在需求說明書經(jīng)過論證以后,需要在原有需求基礎(chǔ)上追加和補(bǔ)充新的需求,或?qū)υ行枨筮M(jìn)行修改和削減,均屬于需求變更。

二、需求變更的原因及影響

1.需求變更原因

一方面是用戶:他們是項目需求的提出者。一個十分常見的現(xiàn)象是用戶提出需求以后,在軟件開發(fā)過程中用戶改變了需求,這只能迫使開發(fā)工作返工,丟棄一些無法修正的部分。無疑這會造成一定的損失,但又無法完全避免。要求用戶一次性把需求講清楚,并且不允許此后需求有任何變更,這是不現(xiàn)實的。只能盡量減少需求變更,降低它所造成的影響。

二是系統(tǒng)因素:在系統(tǒng)內(nèi)部,如計算機(jī)硬件、系統(tǒng)軟件或數(shù)據(jù)的變更要求與其相適應(yīng)。

三是外部環(huán)境因素:與軟件運行相關(guān)的工作制度或法規(guī)、政策的變更,或是業(yè)務(wù)要求變更導(dǎo)致的需求變更。

四是需求分析階段工作缺陷:需求調(diào)研、分析、定義和評審工作不夠充分,致使需求規(guī)格說明中隱含著問題,在開發(fā)過程中才有所發(fā)現(xiàn)。或者需求開發(fā)中開發(fā)人員與用戶溝通不夠充分,如未能如實獲得用戶的潛在需求等。

軟件需求一旦出現(xiàn)變更,它可能要涉及到一些相關(guān)的代碼和文檔的修改,為此要把這一變更通知到所有相關(guān)人員。提出需求變更有可能在開發(fā)的任何階段,并且隨著項目的進(jìn)展,越晚的需求變更引起的損失越大。

2.需求變更給軟件的開發(fā)工作帶來的影響

需求變更對軟件開發(fā)的影響是多方面的,概括的看,包括以下三個方面:

(1)增加項目的人員、費用開支,影響開發(fā)進(jìn)度。需求變意味著原先的需求調(diào)研、分析的結(jié)果與預(yù)期的軟件實現(xiàn)存在偏差,需要進(jìn)行需求變更。這無疑要增加項目的人員、費用的開支,并對開發(fā)進(jìn)度造成影響。更有甚者,如果變更頻繁,可能對項目造成較大影響,嚴(yán)重時可能直接導(dǎo)致項目的失敗。

(2)影響軟件質(zhì)量。在一個復(fù)雜的軟件系統(tǒng)中,需求之間具有一定的聯(lián)系,相關(guān)需求可構(gòu)成需求鏈。如果由于需求變更導(dǎo)致需求鏈的某些環(huán)節(jié)脫節(jié),就可能引起一些難以察覺的錯誤。當(dāng)需求變更沒能及時修改項目的設(shè)計、開發(fā)文檔時,這些錯誤一般難以被測試人員發(fā)現(xiàn),將直接影響系統(tǒng)質(zhì)量,嚴(yán)重時可導(dǎo)致系統(tǒng)崩潰。

(3)影響開發(fā)者與用戶之間的合作關(guān)系。需求變更的實施是用戶和開發(fā)者相互協(xié)作的過程。開發(fā)者和用戶在是否采用變更問題上常常產(chǎn)生分歧,如果沒有恰當(dāng)處理,影響雙方的互信,從而影響項目開發(fā)進(jìn)程。同時需求變更也會在項目開發(fā)人員之間產(chǎn)生分歧,影響合作關(guān)系。

三、采取的對策

1.首先是預(yù)防

盡量做好需求分析工作,以期減少需求變更的頻次,為此在需求分析階段著重處理好以下問題,力圖使需求分析的結(jié)果更接近目標(biāo)。

(1)培養(yǎng)正確的需求意識。優(yōu)秀軟件產(chǎn)品建立在優(yōu)秀的需求基礎(chǔ)之上,而高質(zhì)量的需求又來源于客戶與開發(fā)人員之間有效的交流與合作。因此,雙方的參與者都需要認(rèn)識到:要想獲得成功,自己需要什么,合作方又需要什么。只有這樣,才能建立融洽的合作關(guān)系。因此,培養(yǎng)正確的需求意識是雙方都需要努力的,而開發(fā)人員在這個階段應(yīng)該發(fā)揮更加積極主動的作用。

首先,需求分析人員應(yīng)該接受一定的正規(guī)培訓(xùn),以提高與人溝通的能力、緩解矛盾的能力、善于傾聽和詢問的技巧,以及收集整理資料的能力等。在參與具體項目時,分析人員也應(yīng)主動學(xué)習(xí)一些項目所涉及的具體應(yīng)用領(lǐng)域的基本知識,以更好地理解用戶的需求。

其次,開發(fā)單位應(yīng)該對那些不想花時間在需求分析上的用戶明確指出:如果用戶不能充分地支持并參與,項目很可能會失敗;開發(fā)單位還可以通過學(xué)習(xí)一些前車之鑒的真實案例警告用戶:低質(zhì)量的需求分析可能導(dǎo)致嚴(yán)重的后果。通過對用戶代表和管理人員的培訓(xùn),使他們真正理解需求分析的重要性和忽略需求帶來的風(fēng)險,并對計算機(jī)系統(tǒng)有一個大體的了解,這樣用戶才能夠主動地參與需求分析。

同時,正因為不可能一次就完全了解用戶的需求,而且在系統(tǒng)開發(fā)過程中還需要不斷地請用戶參與,因此與用戶的溝通是需要貫穿始終的。需求分析中所采取的一些策略可能會讓用戶覺得意外和難以接受。因此,需求分析人員需要對用戶解釋一些做法的必要性和合理性,以得到用戶最大的支持與合作。

(2)從業(yè)務(wù)需求入手。用戶認(rèn)識到了需求分析的重要性,但可能仍然不知道從何處入手表達(dá)自己的需求。這時可以從業(yè)務(wù)需求入手,任何企業(yè)對自己的經(jīng)營運作目標(biāo)應(yīng)該是比較清楚的,這樣的經(jīng)營背景讓用戶不僅有話說,也讓開發(fā)者有章可循。需求分析不可以完全與它所處的背景相脫離,只有當(dāng)系統(tǒng)真正置身于它的社會和組織環(huán)境中,它的需求才能清晰地反映出來。

(3)充分利用需求來源。有了以上需求背景,就比較容易做到有的放矢了。需求分析人員可以直接與系統(tǒng)未來的操作者探討他們希望有什么樣的軟件;觀察系統(tǒng)的潛在用戶當(dāng)前的日常工作以獲取有價值的信息;系統(tǒng)的使用者可能有很多,可以將他們分類以簡化需求;最后一定要與真正的決定者達(dá)成協(xié)議:對于有沖突的需求如何權(quán)衡,對于直接用戶的眾多需求如何取舍等。

同時,用戶往往對計算機(jī)期望過高,認(rèn)為計算機(jī)可以解決當(dāng)前存在的所有問題,因此會提出很多的功能需求,并且希望在很短的時間內(nèi)看到成效。但是,由于技術(shù)、人力等資源的限制,并不一定能夠在設(shè)定的時間期限內(nèi)滿足用戶所有的期望,這時就應(yīng)該盡早確定出交付的產(chǎn)品應(yīng)具備的最重要功能,即設(shè)定需求的優(yōu)先級。

在這個階段,可以采用UML中的用例圖幫助用戶和需求分析人員之間的交流。一個用例圖描述用戶可以用軟件產(chǎn)品執(zhí)行的一個任務(wù)。它不是從軟件的性能和系統(tǒng)的行為方面出發(fā),而是從用戶到底能夠用這個軟件產(chǎn)品干什么入手。這樣的方式用戶比較熟悉,容易溝通;而且不會在需求分析的一開始就陷入過于細(xì)節(jié)化的設(shè)計,也有助于避免分析人員添加一些與所需任務(wù)無關(guān)的自認(rèn)為很好的功能。

(4)提供選擇方案。由于用戶對軟件系統(tǒng)缺乏經(jīng)驗,或者由于用戶的運作機(jī)制還未完善,或者由于其他種種原因,用戶可能仍然不能對一些需求做出明確的說明,收集整理的需求中可能仍然存在一些不確定因素。這時可提出幾份比較詳細(xì)的方案。附帶不同做法的優(yōu)點,供用戶選擇或者啟發(fā)用戶確定需求。

如果需求分析做得好,文檔清晰且又有客戶簽字,那么后期客戶提出的變更就超出了合同范圍,需要另外收費。這個時候,開發(fā)方一定要據(jù)理力爭,此時這并非要刻意賺取客戶的錢財,而是不能讓客戶養(yǎng)成經(jīng)常變更的習(xí)慣,否則后患無窮。

2.分級管理客戶需求

軟件開發(fā)項目中,“客戶永遠(yuǎn)是對的”和“客戶是上帝”并不完全的正確,因為在已經(jīng)簽定的項目合同中,任何新需求的變更和增加除了影響項目的正常進(jìn)行以外,還影響到了客戶的投入收益,所以有的時候項目經(jīng)理反倒應(yīng)該為客戶著想。

對于項目中的需求變更,可以實行分級管理,以達(dá)到對需求變更的控制。

一級需求變更是關(guān)鍵性的需求,這種需求如果不滿足,意味著整個項目不能正常交付使用,前期工作也會被全部否定。這個級別的需求是必須滿足的,否則就意味著否定自已的項目成員和成員的所有努力,所以定為“Urgent”。

二級需求變更是后續(xù)關(guān)鍵性需求,它不影響前面工作內(nèi)容的交付,但不加以滿足,新的項目內(nèi)容無法提交或繼續(xù),所以是“Necessary”。一般新模塊關(guān)鍵性的基礎(chǔ)組件,屬于這個級別。

三級需求是后續(xù)重要的需求,如果不被滿足會令整體項目工作的價值下降,為了體現(xiàn)項目價值,也是開發(fā)人員自已的技術(shù)價值的證明,所以定為“Needed”。一般性的重大的有價值的全新模塊開發(fā),屬于這個級別。

以上三個等級是應(yīng)該實施的,但時間性上可以作優(yōu)先級的排列。

四級需求是改良性需求,沒有滿足這類需求并不影響已有功能的使用,但如果實現(xiàn)了則會更好,定級為“Better”。界面和使用方式的需求,一般在這個檔次。

五級需求是可選性需求,更多的是一種設(shè)想,以及一種可能,通常只是客戶的的一種個人喜好而已,定級為“Maybe”。

對于四級需求,如果時間和資源條件都允許的話,不妨做下去。對于五級需求,正如對它的描述一樣做與不做是“Maybe”。

3.加強(qiáng)需求變更的控制

在需求分析階段工作完成后,需求變更仍可以會發(fā)生,因此就要加強(qiáng)對需求變更的控制,主要有以下原則:

(1)建立需求基線。需求基線是需求變更的依據(jù)。在開發(fā)過程中,需求確定并經(jīng)過評審后(用戶參與評審),可以建立第一個需求基線。此后每次變更并經(jīng)過評審后,都要重新確定新的需求基線。

(2)制訂簡單、有效的變更控制流程,并形成文檔。在建立了需求基線后提出的所有變更都必須遵循這個控制流程進(jìn)行控制。同時,這個流程具有一定的普遍性,對以后的項目開發(fā)和其他項目都有借鑒作用。

(3)成立項目變更控制委員會(CCB)或相關(guān)職能的類似組織,負(fù)責(zé)裁定接受哪些變更。CCB由項目所涉及的多方人員共同組成,應(yīng)該包括用戶方和開發(fā)方的決策人員在內(nèi)。

(4)需求變更一定要先申請然后再評估,最后經(jīng)過與變更大小相當(dāng)級別的評審確認(rèn)。

(5)需求變更后,受影響的軟件計劃、產(chǎn)品、活動都要進(jìn)行相應(yīng)的變更,以保持和更新的需求一致。

(6)妥善保存變更產(chǎn)生的相關(guān)文檔。

這六大原則看起來簡單,但真正實施起來有難度,還需要依據(jù)理論知識配合開發(fā)項目組的實際工作情況,在實踐中不斷摸索總結(jié)。

四、總結(jié)

軟件項目的需求變更是對軟件產(chǎn)品的質(zhì)量、成本、工期帶來巨大的影響。通過預(yù)防性措施和加強(qiáng)需求變更的控制與管理,將需求變更的頻次大幅度降低,從而為軟件項目的順利實施打下堅實基礎(chǔ)。

參考文獻(xiàn):

[1]王 莉 吳潔明:軟件項目中的需求變更管理的研究[J].計算機(jī)技術(shù)與發(fā)展,2007,17(1):120~121

[2]王 強(qiáng):軟件開發(fā)項目中的需求變更管理[J].電腦知識與技術(shù)(學(xué)術(shù)交流),2007,(11)

第5篇

隨著計算機(jī)技術(shù)的發(fā)展,我國逐漸在軟件工程理論中取得了很大的成就。對于軟件需求分析取得的結(jié)果也是軟件項目開發(fā)的重點,軟件開發(fā)項目的成本其實取決于軟件需求的分析。由此可見,提高軟件需求分析質(zhì)量不僅能夠促進(jìn)軟件項目的發(fā)展,更是提高計算機(jī)軟件技術(shù)的重要手段。本文就軟件需求分析的任務(wù)與要點進(jìn)行分析,并針對存在的問題提出具體措施。

【關(guān)鍵詞】計算機(jī)技術(shù) 軟件技術(shù) 軟件需求分析 存在的問題

計算機(jī)技術(shù)與信息技術(shù)的飛速發(fā)展,不僅給人們的工作生活帶來了方便,更促進(jìn)了經(jīng)濟(jì)的發(fā)展,使得其被廣泛運用到各個行業(yè)中。計算機(jī)技術(shù)的發(fā)展帶來的不僅是硬件方面的技術(shù)提升,各種軟件也逐漸趨于多元化。隨著人們對于計算機(jī)軟件的需求越來越高,軟件產(chǎn)品的需求分析質(zhì)量直接關(guān)系到軟件成品的質(zhì)量。下文就軟件需求分析的任務(wù)和基本特點進(jìn)行分析,就怎樣提高軟件需求分析質(zhì)量展開討論。

1 軟件需求分析任務(wù)分析。

1.1 軟件工程概述

IEEE將軟件工程定義為能夠系統(tǒng)的、規(guī)范的、可度量化的工程方法運用到軟件開發(fā)、運行以及維護(hù)等全過程中去的方法。軟件工程由方法、工具以及過程三部分組成,所謂方法就是指完成軟件工程項目的一種技術(shù)手段,是支持整個軟件生命周期的手段。而軟件開發(fā)的方法必須遵循一定的方法和步驟,軟件開發(fā)模型是軟件開發(fā)過程的一種概括。現(xiàn)代軟件開發(fā)模型可以分為以軟件需求確定為基本條件的瀑布模型、處于軟件開發(fā)初期,卻只能提供基本去修采用的迭代式、漸進(jìn)式開發(fā)模型以及以形式化開發(fā)方法為前提的變換模型三種類型。

1.2 軟件需求分析的任務(wù)

所謂軟件需求分析就是指客戶對目標(biāo)軟件產(chǎn)品在功能、行為、性能以及設(shè)計約束上的期望,軟件需求分析就是對這些問題或者涉及到的信息、功能建立模型,將客戶的需求進(jìn)一步精確化、完全化。軟件需求分析的主要任務(wù)就是借助當(dāng)前系統(tǒng)的邏輯模型對目標(biāo)系統(tǒng)進(jìn)行邏輯模型建立,并解決需求的具體問題。

1.3 軟件需求分析的重要性

總的來說,軟件需求分析對軟件產(chǎn)品起著決定性的作用,軟件的開發(fā)必須滿足客戶的要求,客戶的要求必須由軟件分析來挖掘,并根據(jù)客戶的需求來完善軟件的性能、功能以及設(shè)計。此外,軟件需求分析更是對軟件的后期開發(fā)具有一定的引導(dǎo)作用,可以讓軟件項目人員明確好開發(fā)的方向并加以實施,通過合理的軟件需求分析,才能更好的將軟件的功能、性能總體概括出來成為具體的規(guī)格說明,為軟件開發(fā)指明方向。

2 提高軟件需求分析質(zhì)量的控制要點分析

2.1 軟件開發(fā)成本的控制

軟件開發(fā)也是決定軟件開發(fā)質(zhì)量的重要因素,包括管理成本、人力成本、設(shè)備成本以及環(huán)境等成本內(nèi)容。在軟件開發(fā)的時間過程中,軟件開發(fā)項目的風(fēng)險是產(chǎn)生需求變化最主要的原因。對于軟件需求者來說,軟件開發(fā)和需求分析是一個漫長的過程,如果超過了預(yù)期的時間,很可能帶來開發(fā)成本的上升。因此,為了控制軟件開發(fā)的成本,提高軟件成品的質(zhì)量,則需要在軟件需求確定、人員正確分配的基礎(chǔ)上探索新的方法,創(chuàng)造新的標(biāo)準(zhǔn)化流程。

2.2 軟件需求分析的流程改造

盡管人們對軟件需求分析工作的重要性有所認(rèn)識,但在這方面的研究還少。事實上,軟件需求分析可以分為軟件開發(fā)和軟件管理兩大環(huán)節(jié),且都是為人服務(wù)的。所以軟件需求分析有三大重點要素,分別是界面、說明和函數(shù)關(guān)系。改變傳統(tǒng)的軟件工程理論生產(chǎn)順序,將驗收標(biāo)準(zhǔn)與操作使用手冊提前制定,這樣一來,既徹底明確了用戶和開發(fā)者之間的責(zé)任,使得軟件開發(fā)的目標(biāo)更加明確,又能將需求分析與后續(xù)的開發(fā)階段進(jìn)行分離,以減少用戶在開發(fā)過程中投入的人力、降低軟件開發(fā)對專業(yè)人員的依賴。更是為后期的外包創(chuàng)造了條件,且降低了對需求分析人員的高要求。

2.3 人員分配策略分析

實際上,人員分配策略對于軟件開發(fā)成本的影響非常明顯,高質(zhì)量的人才對于成本的要求就越高,而合適的人員才能發(fā)揮最佳的作用后,有效降低開發(fā)成本,兩者是互相作用的。針對人員分配中存在的問題,加以改進(jìn),以確定更適應(yīng)的需求方法,從需求分析階段起就應(yīng)針對性的進(jìn)行人員分配策略改造,在保證軟件開發(fā)質(zhì)量的基礎(chǔ)下,降低總體開發(fā)成本。與此同時,按照現(xiàn)有的軟件需求來確定軟件工程理論進(jìn)行軟件生產(chǎn),最終交付合格的產(chǎn)品,不僅減少了需求分析的人力成本,更提高了軟件生產(chǎn)的效率。

3 結(jié)語

總的來說,軟件需求分析是軟件開發(fā)整個過程中非常重要的環(huán)節(jié),完善的軟件需求分析不僅是降低軟件開發(fā)成本的重要措施,更是促進(jìn)軟件產(chǎn)品獲得更大經(jīng)濟(jì)收益的手段。顯然,提高軟件需求分析質(zhì)量是順利進(jìn)行軟件開發(fā)工作的必要策略。

參考文獻(xiàn)

[1]楊毅,楊杰.一種提高軟件需求分析質(zhì)量的方法[J].計算機(jī)系統(tǒng)應(yīng)用,2014(05):16-20.

[2]王蘭. 提高軟件需求分析質(zhì)量的探討[J]. 電腦知識與技術(shù),2013,23:5270-5272.

[3]鄧蓉蓉.基于敏捷建模方法的軟件需求分析研究[D].武漢理工大學(xué),2009.

[4]徐賽華. 軟件需求分析研究[J].吉林師范大學(xué)學(xué)報(自然科學(xué)版),2006(01):104-105+110.

作者單位

第6篇

在進(jìn)行培訓(xùn)需求分析預(yù)測以后,對培訓(xùn)需求分析預(yù)測的情況進(jìn)行整理和匯總,形成書面報告。

培訓(xùn)需求分析報告不但作為某一培訓(xùn)項目開發(fā)前的培訓(xùn)需求分析預(yù)測工作的總結(jié)材料,而且還是企業(yè)總體培訓(xùn)計劃制定前的調(diào)研報告。

一、培訓(xùn)需求分析報告的基本內(nèi)容

1、標(biāo)題:

2、分析預(yù)測工作概況。此次培訓(xùn)需求分析預(yù)測的組織領(lǐng)導(dǎo)、工作目的、起止時間、接觸的組織和人員(包含數(shù)量)、采用的方法、工具等等。

3、分析預(yù)測的主要內(nèi)容:

(1)企業(yè)的情況分析。企業(yè)面臨的外部背景、市場競爭的形勢、本行業(yè)的發(fā)展?fàn)顩r;企業(yè)內(nèi)部面臨的問題和改革情況,做出較為全面細(xì)致的分析。分析盡量與培訓(xùn)需求分析預(yù)測的相關(guān)性強(qiáng)一些。

(2)企業(yè)員工基本素質(zhì)狀況分析。對于企業(yè)員工素質(zhì)的分析,應(yīng)根據(jù)崗位任職資格和能力要求,結(jié)合企業(yè)生產(chǎn)、經(jīng)營的實際需要,從員工隊伍的年齡、文化結(jié)構(gòu)、管理人員與操作人員比例、技術(shù)登記結(jié)構(gòu)、崗位能力勝任程度等方面入手,重點分析出問題和差距。

(4)對培訓(xùn)的認(rèn)知程度分析。領(lǐng)導(dǎo)對培訓(xùn)的重視程度、各部門的配合程度、員工的認(rèn)可和需求的程度。

(5)培訓(xùn)資源條件分析。包括企業(yè)內(nèi)外可利用的教師、教材、設(shè)施、工具和企業(yè)培訓(xùn)經(jīng)費支持情況等。

4、分析預(yù)測的具體成果:

通過對以上幾個方面內(nèi)容的分析,應(yīng)當(dāng)主要回答以下問題:

(1)在制約企業(yè)發(fā)展的諸多因素中,哪些是因員工素質(zhì)和能力方面的差距所致?其中哪些是通過培訓(xùn)能夠解決的差距。

(2)解決以上差距需要開發(fā)哪些培訓(xùn)項目?其中哪些培訓(xùn)項目是最緊迫的?

(3)每一培訓(xùn)項目又要具體說明以下問題:

①為什么進(jìn)行培訓(xùn)?(培訓(xùn)目的)

②誰需要培訓(xùn)(培訓(xùn)對象及其目標(biāo)人群)

③培訓(xùn)的深度和廣度(培訓(xùn)的目標(biāo))

④培訓(xùn)什么(培訓(xùn)內(nèi)容)

⑤怎樣培訓(xùn)好(培訓(xùn)方式、時間、考核方式)

(4)企業(yè),特別是企業(yè)領(lǐng)導(dǎo)對培訓(xùn)的態(tài)度。

(5)企業(yè)具有的培訓(xùn)資源

(6)可利用的外部資源

(7)項目運行可能出現(xiàn)的障礙和問題

5、其他相關(guān)建議和說明。

6、報告撰寫時間及執(zhí)筆人、負(fù)責(zé)人等。

二、撰寫培訓(xùn)需求分析報告應(yīng)注意哪些問題

1、報告中各項情況的分析和說明,必須有出處、有依據(jù),不能主觀臆造。

2、報告內(nèi)容要全面,基本上涵蓋以上6項內(nèi)容。

第7篇

【關(guān)鍵詞】軟件工程 軟件需求 需求工程 需求開發(fā) 需求管理

【中圖分類號】TP311.5 【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2015)06-0181-02

軟件工程師所需解決的問題往往十分復(fù)雜,了解問題的性質(zhì)可能是非常困難的,尤其當(dāng)系統(tǒng)是全新的時候。

1.綜述

軟件工程中包含需求、設(shè)計、編碼和測試四個階段,其中需求工程是軟件工程第一個也是很重要的一個階段,這個階段的任務(wù)仍然不是具體地解決問題,而是準(zhǔn)確地確定“為了解決這個問題,目標(biāo)系統(tǒng)必須做什么”,主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。本文以企業(yè)人事信息管理系統(tǒng)為例詳細(xì)介紹了需求工程的構(gòu)成和進(jìn)行方法。

2.需求的標(biāo)準(zhǔn)

定義需求標(biāo)準(zhǔn)有所不同,但在思想上是相同的,都是為了保證項目的順利進(jìn)行。一般的標(biāo)準(zhǔn)為:明確(Clear)、完整(Complete)、一致(Consistent)、可測試(Testable),還有可跟蹤、可修改等等。

明確:目前大多數(shù)的需求分析采用的仍然是自然語言,自然語言對需求分析最大的弊病就是它的二義性。所以對需求分析中采用的語言應(yīng)該做某些限制盡量采用主語+動作的簡單表達(dá)方式。還有,不要使用計算機(jī)術(shù)語。需求分析最重要的是和用戶溝通,可是用戶多半不是計算機(jī)的專業(yè)人士,如果在需求分析中使用了行話,就會造成用戶理解上的困難。

完整:需求的完整性是非常非常重要的,要做到需求的完整性是很艱難的一件事情,它涉及到需求分析過程的各方各面,貫穿了整個過程,從最初的計劃制定到最后的需求評審。

一致:用戶需求必須和業(yè)務(wù)需求一致,功能需求必須和用戶需求一致。嚴(yán)格的遵守不同層次間的一致性關(guān)系,就可以保證最后開發(fā)出來的軟件系統(tǒng)不會偏離最初的實現(xiàn)目標(biāo)。

可測試:需求的幾項標(biāo)準(zhǔn)都是為了保證需求的可測試性,只有系統(tǒng)的所有需求是可以被測試的,才能夠保證軟件始終圍繞著用戶的需要,保證軟件系統(tǒng)是成功的。

需求工程分為了需求開發(fā)和需求管理兩個階段:下面就以這兩個階段說明:

3.需求開發(fā)

需求開發(fā)又分為需求獲取、需求分析、編寫規(guī)格說明書和需求驗證。以下列出和講解分析常規(guī)的步驟,當(dāng)然應(yīng)按照項目的大小和特點等實際情況我們應(yīng)該自己確定合適的步驟。

3.1需求獲取:

這是該階段的一個最重要的任務(wù)。以下為獲取用戶需求需要執(zhí)行的活動。

了解客戶方的所有用戶類型以及潛在的類型。然后,根據(jù)他們的要求來確定系統(tǒng)的整體目標(biāo)和系統(tǒng)的工作范圍。

對用戶進(jìn)行訪談和調(diào)研。交流的方式可以是會議、電話、電子郵件、小組討論、模擬演示等不同形式。需要注意的是,每一次交流一定要有記錄,對于交流的結(jié)果還可以進(jìn)行分類,便于后續(xù)的分析活動。例如,可以將需求細(xì)分為功能需求、非功能需求(如響應(yīng)時間、平均無故障工作時間、自動恢復(fù)時間等)、環(huán)境限制、設(shè)計約束等類型。

需求分析人員對收集到的用戶需求做進(jìn)一步的分析和整理。

需求分析人員將調(diào)研的用戶需求以適當(dāng)?shù)姆绞匠式唤o用戶方和開發(fā)方的相關(guān)人員。大家共同確認(rèn)需求分析人員所提交的結(jié)果是否真實地反映了用戶的意圖。

3.2需求分析

需求分析是軟件定義時期中很重要的一個階段,它的基本任務(wù)是準(zhǔn)確地回答“系統(tǒng)必須做什么?”這個問題。在很多情形下,分析用戶需求是與獲取用戶需求并行的,主要通過建立模型的方式來描述用戶的需求,為客戶、用戶、開發(fā)方等不同參與方提供一個交流的渠道。這些模型是對需求的抽象,以可視化的方式提供一個易于溝通的橋梁。用戶需求的分析與獲取用戶需求有著相似的步驟,區(qū)別在于分析用戶需求時使用模型來描述,以獲取用戶更明確的需求。

用于需求建模的方法有很多種,最常用的包括數(shù)據(jù)流圖(DFD)、實體關(guān)系圖(ERD)和用例圖(Use Case)三種方式。DFD作為結(jié)構(gòu)化系統(tǒng)分析與設(shè)計的主要方法,已經(jīng)得到了廣泛的應(yīng)用,DFD尤其適用于MIS系統(tǒng)的表述。DFD使用四種基本元素來描述系統(tǒng)的行為,過程、實體、數(shù)據(jù)流和數(shù)據(jù)存儲。DFD方法直觀易懂,使用者可以方便地得到系統(tǒng)的邏輯模型和物理模型,但是從DFD圖中無法判斷活動的時序關(guān)系。

ERD方法用于描述系統(tǒng)實體間的對應(yīng)關(guān)系,需求分析階段使用ERD描述系統(tǒng)中實體的邏輯關(guān)系,在設(shè)計階段則使用ERD描述物理表之間的關(guān)系。需求分析階段使用ERD來描述現(xiàn)實世界中的對象。ERD只關(guān)注系統(tǒng)中數(shù)據(jù)間的關(guān)系,而缺乏對系統(tǒng)功能的描述。如果將ERD與DFD兩種方法相結(jié)合,則可以更準(zhǔn)確地描述系統(tǒng)的需求。

3.3編寫規(guī)格說明書

項目視圖和范圍文檔包含了業(yè)務(wù)需求,而使用實例文檔則包含了用戶需求。你必須編寫從使用實例派生出的功能需求文檔,還要編寫產(chǎn)品的非功能需求文檔,包括質(zhì)量屬性和外部接口需求。軟件需求規(guī)格說明闡述一個軟件系統(tǒng)必須提供的功能和性能以及它所要考慮的限制條件,它不僅是系統(tǒng)測試和用戶文檔的基礎(chǔ),也是所有子系列項目規(guī)劃、設(shè)計和編碼的基礎(chǔ)。它應(yīng)該盡可能完整地描述系統(tǒng)預(yù)期的外部行為和用戶可視化行為。

采用軟件需求規(guī)格說明模版:采用需求規(guī)格說明書模板在你的組織中要為編寫軟件需求文檔定義一種標(biāo)準(zhǔn)模板。該模板為記錄功能需求和各種其它與需求相關(guān)的重要信息提供了統(tǒng)一的結(jié)構(gòu)。注意,其目的并非是創(chuàng)建一種全新的模板,而是采用一種已有的且可滿足項目需要并適合項目特點的模板。

3.4需求驗證

需求分析階段的工作結(jié)果是開發(fā)軟件系統(tǒng)的重要基礎(chǔ),大量統(tǒng)計數(shù)字表明,軟件系統(tǒng)中15%的錯誤起源于錯誤的需求。為了提高軟件質(zhì)量,確保軟件開發(fā)成功,降低軟件開發(fā)成本,一旦對目標(biāo)系統(tǒng)提出一組要求之后,必須嚴(yán)格驗證這些需求的正確性。一般說來,要按以下步驟進(jìn)行需求驗證:

1)審查需求文檔;2)依據(jù)需求編寫測試用例;3)編寫用戶手冊;4)確定合格的標(biāo)準(zhǔn)。

4.需求管理

需求開發(fā)的結(jié)果應(yīng)該有項目視圖和范圍文檔、使用實例文檔、軟件需求規(guī)格說明及相關(guān)分析模型。經(jīng)評審批準(zhǔn),這些文檔就定義了開發(fā)工作的需求基線。這個基線在客戶和開發(fā)人員之間就構(gòu)筑了計劃產(chǎn)品功能需求和非功能需求的一個約定。需求約定是需求開發(fā)和需求管理之間的橋梁,需求管理包括在工程進(jìn)展過程中維持需求約定集成性和精確性的所有活動。

5.企業(yè)人事管理系統(tǒng)

5.1企業(yè)人事管理系統(tǒng)概述

企業(yè)人事管理系統(tǒng)是針對企業(yè)人事方面的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件。根據(jù)用戶的要求,實現(xiàn)人員基本情況管理、工資管理、和考勤管理等幾個方面的功能。用戶通過輸入工資、考勤、職工履歷等基本信息,由系統(tǒng)自行生成相應(yīng)的統(tǒng)計數(shù)據(jù)及各類統(tǒng)計報表以供用戶查詢、打印。

5.2系統(tǒng)功能分析

系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)企業(yè)人事信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化。

系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成的。經(jīng)過按照以上分析過程進(jìn)行分析,分析出企業(yè)人事信息管理需要完成功能。

6.總結(jié)

以上詳細(xì)介紹了軟件需求分析過程。軟件工程中包含需求、設(shè)計、編碼和測試四個階段,其中需求工程是軟件工程第一個也是很重要的一個階段,要想做好一個項目,必須先做好需求分析,需求工程分為了需求開發(fā)和需求管理兩個階段:需求開發(fā)又分為需求獲取、需求分析、編寫規(guī)格說明書和需求驗證。需求管理就是對需求變更控制的過程。通過介紹企業(yè)人事信息管理系統(tǒng)的需求分析階段,更好地說明了需求分析過程。

第8篇

關(guān)鍵詞:軟件項目;需求管理;意識;溝通

隨著計算機(jī)和信息技術(shù)的發(fā)展,軟件的需求越來越復(fù)雜,規(guī)模越來越大,而且隨著軟件企業(yè)的日益壯大,軟件需求管理已成為日常軟件開發(fā)中不可或缺的組成部分。在軟件項目的開發(fā)過程中,需求管理貫穿了軟件項目的整個生命周期,是軟件項目管理中一項十分重要的工作,據(jù)調(diào)查顯示在許多失敗的軟件項目中,由于需求原因而導(dǎo)致的約占到四至六成,因此,需求管理做得好壞直接影響到軟件質(zhì)量的高低,甚至軟件項目的成功與否。

需求管理是每個軟件項目開發(fā)的基礎(chǔ),是一種用于查找、記錄、組織和跟蹤系統(tǒng)需求變更的系統(tǒng)化方法,可用于獲取、組織和記錄系統(tǒng)需求并使客戶和項目團(tuán)隊在系統(tǒng)需求變更上保持一致。目前,軟件工程仍然是一種新興的工程領(lǐng)域,它遠(yuǎn)遠(yuǎn)沒有其他傳統(tǒng)工程領(lǐng)域那么規(guī)范,其開發(fā)過程缺乏成熟的理論和統(tǒng)一的標(biāo)準(zhǔn)。因此,軟件需求管理具有相當(dāng)?shù)膹?fù)雜性和特殊性,當(dāng)然仍存在著各種問題,下面將針對需求管理的相關(guān)問題進(jìn)行探討。

1.意識問題

在許多軟件企業(yè)中,從事需求管理的人員大多是技術(shù)骨干,在需求管理方面的培訓(xùn)較少或不夠系統(tǒng),未能掌握需求管理的常用工具及方法,在實際的需求分析中主要依靠個人現(xiàn)有知識經(jīng)驗,需求管理隨意性和盲目性較大。其中部分需求管理人員都沒有意識到自己是從事需求管理的角色,而是局限于軟件技術(shù)的分析,造成需求管理計劃不周、任務(wù)不均、安排不明、資源浪費。

目前軟件企業(yè)中,很少有專門從事需求管理的專業(yè)人員,被任命為需求管理的人員往往都是具體負(fù)責(zé)軟件開發(fā)的技術(shù)人員,而這些技術(shù)人員在溝通、技能以及專業(yè)知識方面與專業(yè)軟件需求管理人員仍有很大的差距,因此造成在軟件開發(fā)時并不清楚究竟該做什么,但卻在一直忙碌不停地開發(fā)。這個現(xiàn)象,已經(jīng)成為國內(nèi)軟件業(yè)的頑疾。

需求的復(fù)雜性以及不確定因素的存在,加之意識上的不重視,使需求管理人員對需求分析認(rèn)識不足,認(rèn)為需求分析做得再好也不如實際變化快,導(dǎo)致做需求分析走過場而留于形式,造成需求分析與實際情況脫節(jié),無法獲知真實有效的需求。因此,加強(qiáng)需求管理人員意識的培養(yǎng),提高需求分析的技能是更好地做好需求管理工作的基礎(chǔ)。

2.溝通問題

在軟件需求調(diào)研過程中,很多客戶都不能正確表達(dá)自身的需求,常常碰到用戶對自己真正的需求并不是十分明確的情況,他們認(rèn)為只要簡單的說說自己意圖就是把需求說明白了,而對業(yè)務(wù)的規(guī)則、工作流程卻談及甚少,也講不清楚。更有甚者,在調(diào)研過程中參與度不高,對需求的確認(rèn)不夠積極,提出的要求也較隨意;或者多個用戶代表各說各話,昨是今非但又要求項目盡早交付。這些情況往往會增加需求調(diào)研的工作難度,分析人員需要花費更多的時間和精力與用戶盡心溝通,幫助他們梳理思路,搞清用戶的真實需求。

客戶溝通是需求管理中的劑,在需求管理過程中與客戶的溝通很重要,因為它直接決定著最終軟件產(chǎn)品是否滿足客戶的要求,在很大程度上決定著項目的成敗。在溝通時,雙方對需求的認(rèn)識要一致,不能模棱兩可。

建立良好的溝通環(huán)境和氛圍。需求管理人員與用客戶溝通的程度關(guān)系到需求分析的質(zhì)量,因此建立一個良好的溝通氛圍、處理好需求管理人員與客戶之間的關(guān)系顯得尤其重要。通常情況下,客戶作為投資方會有一些心理優(yōu)勢,希望他們的意見得到足夠的重視,分析人員應(yīng)該充分的認(rèn)識到這一點,做好心理準(zhǔn)備,盡量避免與他們發(fā)生爭執(zhí),因為我們的目的是幫助用戶說出他們的最終需要。

在溝通時需求管理人員應(yīng)注意以下幾個方面:

(1)和具體業(yè)務(wù)執(zhí)行者的溝通。要盡量深入他們的實際工作,了解軟件項目需要解決的實際問題的關(guān)鍵點。做一個優(yōu)秀的傾聽者,以最快的速度適應(yīng)客戶的語言風(fēng)格,理解他們要表達(dá)的意思。以及使用不同的溝通手段和溝通工具來和客戶溝通,比如片界面或者文檔規(guī)格說明書等等,爭權(quán)把軟件開發(fā)語言和客戶語言能夠很好的在表述上達(dá)到一致,切忌自以為是,答非所問。

(2)和決策者的溝通。項目產(chǎn)品基本定型和相對完整的產(chǎn)品需求,需要經(jīng)過客戶決策者的認(rèn)可,以確認(rèn)項目建設(shè)思路和方向沒有偏離,利于投入更多的資源來細(xì)化和付諸開發(fā)實現(xiàn)。和客戶決策者要定期匯報溝通項目進(jìn)展,及時修正項目目標(biāo)偏離,爭權(quán)客戶更大力度的協(xié)調(diào)配合,裁定項目范圍需求便捷,貫穿始終。

3.管理問題

需求管理工作應(yīng)該是需求全生命周期的管理,從用戶原始需求的提出,到最終形成軟件產(chǎn)品后客戶對需求實現(xiàn)情況的驗證以形成閉環(huán)流程。因此我們需要跟蹤和了解到需求狀態(tài)的演變過程。大型的項目軟件生命周期模型較為復(fù)雜,一個需求的實現(xiàn)會經(jīng)過用戶需求,軟件需求,總體設(shè)計,詳細(xì)設(shè)計,開發(fā)和單元測試,集成測試,系統(tǒng)測試和驗收測試多個環(huán)節(jié),在這個過程中需要建立需求追蹤以確認(rèn)需求和中間階段產(chǎn)生的工作產(chǎn)品的一致性。

變更管理是需求管理的另外一個重點,對于軟件項目來的需求而言,客戶會經(jīng)常性地提出需求變更要求,主要原因有:客戶對系統(tǒng)功能理解的分歧。在前期需求調(diào)研時,需求分析人員的知識、業(yè)務(wù)水平與客戶的溝通交流情況等因素會造出雙方在功能理解上的分歧,隨著軟件項目開發(fā)的進(jìn)行,這種分歧會導(dǎo)致需求的變更;客戶業(yè)務(wù)邏輯發(fā)生改變。客戶在競爭激烈的市場環(huán)境中隨著市場發(fā)展情況的變化而調(diào)整自己的業(yè)務(wù)邏輯,從而對軟件項目需求提出新的變更要求。各種原因?qū)е滦枨蟮牟粩嘧兏蛊涫冀K困擾著軟件需求管理人員。

為此就要引進(jìn)規(guī)范而又專業(yè)的管理機(jī)制,使得需求管理更加規(guī)范。需求管理的重要性則體現(xiàn)在項目計劃的嚴(yán)肅性和可執(zhí)行性,以保證項目目標(biāo)的實現(xiàn)。通過引入了需求變更管理后,使軟件項目需求文檔成為大家都共同承諾和作為依據(jù)參考的文檔,這個文檔需要在設(shè)計,開發(fā),測試等多種角色之間充分傳遞和共享。另外通過需求管理工作,使每個人意識到變更對項目的影響和變更的代價,從而促進(jìn)需求開發(fā)質(zhì)量的提高。

對軟件需求管理中存在的常見問題進(jìn)行了淺顯的分析,軟件需求管理涵蓋了意識、技術(shù)和管理等多方面的知識,對軟件項目開發(fā)的成敗有著 非常重要的意義,它是一個軟件項目成功與否的關(guān)鍵因素之一。在軟件開發(fā)過程中,要樹立既要注重技術(shù),又要注重管理的意識,努力提高需求管理的水平。

參考文獻(xiàn):

     [1]吳艷艷,周長倫﹒軟件項目管理中的需求管理[J]﹒信息技術(shù)與信息化研究與探討,2008.

     [2]陳俊霞,王衛(wèi)東﹒軟件項目管理的若干問題探討[J]﹒現(xiàn)代計算機(jī),1999.

第9篇

【關(guān)鍵詞】電子政務(wù)軟件 信息系統(tǒng) 軟件項目

1 電子政務(wù)信息系統(tǒng)的特殊性

受到廣泛認(rèn)可的聯(lián)合國經(jīng)濟(jì)社會理事會的對電子政務(wù)進(jìn)行定義,即政府為了提高公共服務(wù)效率、增強(qiáng)政府的透明度、改善公共管理的質(zhì)量,利用信息通信技術(shù)(ICTs)手段應(yīng)用組織公共管理的方式,建立良好的政府之間、政府與社會、社區(qū)以及政府與公民之間的關(guān)系,提高公共服務(wù)的質(zhì)量,贏得廣泛的社會參與度。這在一定程度上說明電子政務(wù)系統(tǒng)涉及的用戶角色多,情況復(fù)雜。需要處理政府、社會、公民三者之間關(guān)系,不用用戶立場不同對系統(tǒng)的要求不同,這就要求對所用用戶的需求進(jìn)行收集匯總,然后進(jìn)行整理確定最終的需求。

2 軟件需求分析的過程

軟件需求分析過程包括四個環(huán)節(jié)。可以分為系統(tǒng)可行性研究,需求導(dǎo)出和分析,需求描述,需求有效性驗證。軟件系統(tǒng)的需求通常分為功能需求和非功能需求。

(1)功能需求包括對系統(tǒng)應(yīng)該提供的服務(wù)、如何對特殊收入做出反應(yīng),以及系統(tǒng)在特定條件下的行為的描述。在某些情況下,功能需求可能還需明確聲明系統(tǒng)不應(yīng)該做什么。

(2)非功能需求對系統(tǒng)提供的服務(wù)或功能給出的約束。包括時間約束、開發(fā)過程的約束和所受到的標(biāo)準(zhǔn)的約束。非功能需求經(jīng)常適用于整個系統(tǒng)而不是個別的系統(tǒng)功能或服務(wù)。

3 電子政務(wù)軟件需求分析方法

軟件需求的方法很多,通常包括:面談、問卷調(diào)查、小組討論、情景串聯(lián)、參與觀察業(yè)務(wù)流程、用例等。選擇那種方法需要根據(jù)具體應(yīng)用實際情況而定,綜合考慮選擇哪些方法對系統(tǒng)開發(fā)最為有效,但不能盲目套用。下面將重點闡述在電子政務(wù)軟件需求中用例分析的方法和快速原型分析方法。

3.1 用例分析方法

用例是一種需求發(fā)現(xiàn)技術(shù),這種技術(shù)起先是在面向?qū)ο蠓椒ㄖ斜灰氲摹,F(xiàn)在已經(jīng)成為統(tǒng)一建模語言的一個基本特征。一個最簡單的形式是,一個用例識別在一個交互中所參與的所有角色并命名該交互類型。然后還會附加一些描述系統(tǒng)交互的額外信息。這些信息可能是文本描述或是一個或多個圖形化模型,例如UML序列圖或狀態(tài)圖。

用例通過一個高層用例圖記錄下來。用例的集合代表所有將會在系統(tǒng)需求中出現(xiàn)的交互。過程中的角色可能是人,也可能是其他系統(tǒng),用人形圖標(biāo)來表示。每一個交互類用一個命名的橢圓來表示。用例和交互類之間用線相連。也可以選擇把箭頭添加在連線一端,代表交互的開始方向。

在電子政務(wù)軟件的需求收集過程中,傳統(tǒng)的面談、問卷調(diào)查過程,由于客戶的計算機(jī)水平、對需求的理解、表達(dá)程度都參差不齊,有些客戶只有朦朧的感覺,當(dāng)然說不清楚具體的需求,有些客戶心里非常清楚想要什么但卻說不明白等多種原因,引起分析人員理解錯誤。特別是因為分析人員對于政府最初運作流程不熟悉,在與具體使用客戶交流時就會引起某些誤解,語言上表達(dá)一樣但實際并不是一致。采用用例的圖形表達(dá)方式,就能夠在一定程度上解決對文字描述的理解歧義。用例圖采用圖形的方式描述系統(tǒng)的交互,比較直觀,能夠讓用戶與分析人員交流更明確更順暢。

3.2 快速原型分析方法

在傳統(tǒng)的軟件工程方法學(xué)中,一貫強(qiáng)調(diào)的是自上而下的分階段開發(fā)方式,在各個階段具體開發(fā)之前必須對所開發(fā)項目需求進(jìn)行嚴(yán)格意義上的定義。具體實踐表明,在系統(tǒng)未建立起來之前很難僅僅依靠分析就確定出一套完整、有效的需求應(yīng)用,并且這樣預(yù)先定義的需求也無法適應(yīng)用戶需求的不斷變化。因此,快速原型分析方法應(yīng)運而生,其自頂而下的開發(fā)模式是目前應(yīng)用十分廣泛的開發(fā)模式。

快速原型模型在功能上等價于最終系統(tǒng)的一個子集。瀑布模型的缺點就在于不夠直觀,快速原型法就解決了這個問題。一般來說,根據(jù)客戶的需要在很短的時間內(nèi)解決用戶最迫切需要,完成一個可以演示的產(chǎn)品。在得到用戶的需求之后,原型將被拋棄。因為原型開發(fā)的速度很快,設(shè)計方面是幾乎沒有考慮的,如果保留原型的話,在隨后的開發(fā)中會為此付出極大的代價。在快速原型模型中,原型最重要的目的是為了確定用戶的真正需求。從某種程度上,可以將快速原型理解為需求分析的一種更直觀的方式,也是業(yè)界比較認(rèn)可和取得良好效果的一種方式。

快速原型分析的顯著特點是增進(jìn)軟件分析人員與客戶對需求的理解,將比較模糊的且具有不確定性的軟件需求明確化,同時快速原型分析方法有利于更好發(fā)掘客戶的潛在需求,將盡量降低需求變更頻率,有效地控制軟件的開發(fā)成本,保證軟件項目最終取得成功。

4 結(jié)束語

電子政務(wù)信息系統(tǒng)需要處理的數(shù)據(jù)越來越復(fù)雜,對其進(jìn)行的需求分析也變得越來越重要。在電子政務(wù)信息系統(tǒng)的開發(fā)過程中,如何使軟件系統(tǒng)需求過程更加合理有效,是提高電子政務(wù)信息系統(tǒng)質(zhì)量的關(guān)鍵。本文通過對電子政務(wù)信息系統(tǒng)中軟件需求分析的詳細(xì)闡述,來說明軟件需求分析是軟件設(shè)計實現(xiàn)的基礎(chǔ),直接關(guān)系整個軟件項目成敗。如果能科學(xué)地進(jìn)行需求分析,采用合適的技術(shù)及方法避免可能引起需求分析缺陷的問題,獲取用戶完整的需求規(guī)格說明書,能夠為后面的設(shè)計階段打下良好的基礎(chǔ)。

參考文獻(xiàn)

[1]阮俊杰.軟件開發(fā)方法與管理教程[M].北京:海洋出版社,2003.

第10篇

關(guān)鍵詞:系統(tǒng)集成;項目管理;問題;對策

中圖分類號: N945 文獻(xiàn)標(biāo)識碼: A 文章編號:

一、大型信息系統(tǒng)集成項目管理問題

(一)項目范圍管理欠缺。缺少正確的項目定義和范圍核實是導(dǎo)致項目失敗的主要因素。因此,項目管理最重要也是最難做的一項工作就是確定項目的范圍。

范圍是指項目的任務(wù)是什么,包含兩方面的含義:一是產(chǎn)品范圍,即產(chǎn)品或服務(wù)所包含的特征或功能;二是項目范圍,即為交付具有規(guī)定特征和功能的產(chǎn)品或服務(wù)所必須完成的工作。簡單地說,就是產(chǎn)品范圍決定項目范圍。目前,在大型信息系統(tǒng)集成項目范圍管理中主要存在兩方面的問題:

1、項目范圍界定不清。引起這個問題的主要根源是項目需求分析不完整。造成需求分析不完整的具體原因如下:

(1)項目初期客戶對自身需求不清晰。在這個階段,客戶一般會要求項目承包方替他們設(shè)想需求。這種情況下的需求分析存在一定的主觀性,并不能完全表達(dá)用戶真正的需要,可能為項目未來實施埋下隱患。

(2)項目實施過程中客戶需求自身發(fā)生變動。隨著項目進(jìn)展深入,客戶方人員對信息系統(tǒng)的認(rèn)識會逐步加深,以及自身業(yè)務(wù)水平的提高,他們會在項目實施的不同階段對項目的需求提出新的要求和需求變更。

(3)需求分析人員和客戶對需求的理解有誤。由于雙方人員各自的專業(yè)背景和行業(yè)背景不同,對事物的認(rèn)識角度不同,往往會發(fā)生對同一個問題的理解產(chǎn)生一定程度的偏差。

(4)缺少客戶業(yè)務(wù)部門參與。一般來說,系統(tǒng)集成項目是由客戶的業(yè)務(wù)部門提出具體需求,由信息技術(shù)管理部門組織實施,最終供業(yè)務(wù)部門使用。業(yè)務(wù)部門參與不足,就可能產(chǎn)生需求分析偏差;業(yè)務(wù)部門不理解、不認(rèn)可等問題。

2、項目范圍變更失控。在項目范圍管理過程中,出現(xiàn)變更失控的原因有以下幾個:

(1)項目團(tuán)隊成員對項目變更管理不夠重視,直接導(dǎo)致當(dāng)范圍變化發(fā)生的時候不能及時地反饋給項目經(jīng)理。

(2)項目范圍蔓延的問題。是指一個項目接受了很多小的變化,當(dāng)這些小的變化都聚合到一起的時候,項目團(tuán)隊才意識到項目范圍已發(fā)生重大變更。

(3)項目的變更控制缺少統(tǒng)一的流程和標(biāo)準(zhǔn)。這個問題會直接導(dǎo)致項目變更管理自身的失控,無法起到有效控制項目實施的作用。

(二)項目團(tuán)隊疏于管理。一般來說,參與大型系統(tǒng)集成項目的人員中并不缺少精通技術(shù)和業(yè)務(wù)的人才,但能夠有效調(diào)動、合理使用這些人員,共同實現(xiàn)項目目標(biāo)并不是一件容易的事情。實際上不良的項目團(tuán)隊管理直接導(dǎo)致了項目的最終失敗。究其根源在于“重視技術(shù),疏于管理”,這主要體現(xiàn)在溝通不良、合作意識差、分工不夠細(xì)致和項目成員流動等方面。

(三)項目風(fēng)險管理落后。目前,雖然風(fēng)險管理已經(jīng)在國內(nèi)大型信息系統(tǒng)集成項目的管理中開始采用,但是因為在具體實踐中還存在的一些問題,阻礙了項目風(fēng)險管理在大型信息系統(tǒng)集成項目中的合理應(yīng)用。

1、缺乏風(fēng)險意識。缺乏項目風(fēng)險意識,對項目風(fēng)險管理的必要性和重要性缺乏足夠的認(rèn)識,這正是影響風(fēng)險管理合理運用的主要問題。

2、風(fēng)險識別的偏差。進(jìn)行有效的項目風(fēng)險管理,必然要從風(fēng)險識別開始,如果這個階段的工作不到位,勢必會影響到后續(xù)的風(fēng)險分析評估,進(jìn)而造成應(yīng)對措施失誤等問題。

3、風(fēng)險評估客觀性差。風(fēng)險評估也可稱為風(fēng)險量化,是指確定風(fēng)險發(fā)生的概率與后果。目前國內(nèi)項目風(fēng)險評估的方法大部分采用專家預(yù)測法。這種專家主觀性判斷得到的數(shù)據(jù)可能存在不真實、不可靠的問題,這就可能給后面的決策埋下隱患。

二、大型信息系統(tǒng)集成項目管理策略

(一)項目范圍管理

1、真實需求的獲取。最終用戶真實需求的獲取就是需求分析的過程,它是一個項目的基石。一般來說,需求分析的過程分為四個階段:挖掘需求、引導(dǎo)需求、證實需求和確認(rèn)需求。

(1)挖掘需求。在收集用戶零散的信息后,在了解用戶業(yè)務(wù)流程以及結(jié)合專業(yè)知識的基礎(chǔ)上,找出這些信息之間的邏輯關(guān)系并且用常識性的語言表述出來。

(2)引導(dǎo)需求。挖掘需求階段后,需要與用戶溝通,引導(dǎo)用戶,使雙方對需求的理解達(dá)到一致。

(3)證實需求。在雙方對需求理解一致的基礎(chǔ)上,形成一份完整、可操作的、真實表達(dá)用戶需要的需求分析說明書。

(4)確認(rèn)需求。這一階段的目的就是通過證實需求階段收集的信息,確認(rèn)用戶的真實需要,審核完成需求分析說明書。

2、利用 WBS 分解項目。工作分解結(jié)構(gòu)(WBS)是指把主要可交付成果分成較小的、便于管理的組成部分,直到可交付成果定義明晰到足以支持各項項目活動(計劃、實施、控制和收尾)的制定。

使用WBS的最大優(yōu)點是可以監(jiān)控以及預(yù)測成本、進(jìn)度等不同的項目信息,并且給所有的項目參與者提供了一個均可與之做對比的一致基準(zhǔn)。WBS有以下四個原則:

(1)“四十小時原則”。四十小時原則是指處于WBS 層次最末端的工作可以在七個工作日內(nèi)完成,這樣可以把任務(wù)執(zhí)行檢查的周期控制在一個星期內(nèi),從而大幅度地提高了任務(wù)分解的可靠性和任務(wù)執(zhí)行的及時性。

(2)最末端的工作可以由某個具體的人或者某個團(tuán)隊完成。最末端的工作需要明確責(zé)任人或者資源。如果某個任務(wù)雖然可以在一周內(nèi)完成,但是執(zhí)行該任務(wù)的資源卻大于一個人,則應(yīng)該按照每個人的任務(wù)再進(jìn)行分解,直到明確每個人或者每個團(tuán)隊具體的任務(wù)和職責(zé)。

(3)最末端的工作不應(yīng)有較高的風(fēng)險。例如,解決某個技術(shù)難題的任務(wù),或許這項任務(wù)可以在一周內(nèi)完成,但是在執(zhí)行該任務(wù)過程中存在較大的風(fēng)險,能否解決不確定因素過多,因此需要將該任務(wù)按照解決問題的步驟進(jìn)一步分解,通過進(jìn)一步的細(xì)化,很大程度上降低了該任務(wù)的風(fēng)險。

3、范圍的驗證。項目范圍驗證不應(yīng)該僅僅發(fā)生在項目結(jié)項的時候,這樣做往往會流于形式。比較理想的做法是在項目各個階段,至少是里程碑的階段,由項目需求分析小組的成員(特別是用戶方代表)、項目經(jīng)理、該階段可交付成果的負(fù)責(zé)人組成評估小組,由階段工作成果的負(fù)責(zé)人進(jìn)行宣講,評估小組一起進(jìn)行評審和驗證。

(二)項目團(tuán)隊管理

1、項目經(jīng)理的選擇。對于大型項目的項目經(jīng)理要具備以下能力:有管理經(jīng)驗,是一個精明而且講究實際的管理者;擁有成熟的個性,具有個人魅力;具備良好的人際關(guān)系,尤其是能夠處理好與項目各干系方的關(guān)系;有一定的技術(shù)背景。

2、項目小組的構(gòu)成。一個大型信息系統(tǒng)集成項目團(tuán)隊可以分為需求分析組、設(shè)計組、開發(fā)組、商務(wù)組、實施組等若干個項目組,每個項目組還可以細(xì)分成若干個子項目小組。

根據(jù)大型信息系統(tǒng)集成項目的特點,在構(gòu)建每個項目小組時,應(yīng)考慮以下兩點因素:(1)適度地安排不同的人員去做不同的工作,做到人盡其能;(2)加強(qiáng)項目人才梯隊培養(yǎng),在人員發(fā)生變動時可以“無縫”交接。

3、項目團(tuán)隊的成長。借用著名心理學(xué)家 B.W.塔克曼的團(tuán)隊管理理論,項目團(tuán)隊的成長一般需要經(jīng)過四個階段,即形成階段:促使個體成員轉(zhuǎn)變成項目團(tuán)隊成員;震蕩階段:團(tuán)隊成員之間的相互磨合;正規(guī)階段:形成團(tuán)隊,形成合力;表現(xiàn)階段:積極工作,向目標(biāo)沖刺。根據(jù)項目實際進(jìn)展情況,其他階段的激勵方式也可以同時被很好地采用。當(dāng)然,足夠的物質(zhì)激勵是不可缺少的最有效的激勵方式。實質(zhì)上,“以人為本”的理念要貫穿于從項目團(tuán)隊組建開始的全部工作中,以項目團(tuán)隊成員為本,從項目團(tuán)隊成員的角度上去思考問題,可以很快地增強(qiáng)團(tuán)隊凝聚力和團(tuán)隊效率。

(三)持續(xù)改進(jìn)的項目風(fēng)險管理方法。持續(xù)改進(jìn)思想主要針對:一是對可能會出現(xiàn)風(fēng)險的部分持續(xù)評估;二是決定哪類風(fēng)險最主要,并且進(jìn)行重要程度描述;三是實施處理風(fēng)險的策略。持續(xù)改進(jìn)的風(fēng)險管理具有以下優(yōu)點:能夠在問題發(fā)生前預(yù)防、改進(jìn)產(chǎn)品質(zhì)量,使得資源更好地被利用、增進(jìn)團(tuán)隊合作,為投資決策設(shè)立預(yù)期目標(biāo),并且提供解決方案。

參考文獻(xiàn):

[1] 左美云. 信息系統(tǒng)項目管理. 北京:清華大學(xué)出版社,2008.

[2]劉曉紅,徐玖平. 項目風(fēng)險管理. 北京:經(jīng)濟(jì)管理出版社,2008.

第11篇

金融業(yè)的發(fā)展與計算機(jī)軟件工程之間存在著高度融合,作為金融業(yè)的重要組成,郵政銀行與市場上的工商企業(yè)存在一定的差別,是一個特殊企業(yè),因此,在軟件工程項目的要求及開發(fā)原則上具有獨特的要求。郵政銀行信息工程項目建設(shè)要注重質(zhì)量管理、成本管理及風(fēng)險管理,保障郵政銀行借助軟件工程項目,達(dá)到預(yù)期的經(jīng)營目標(biāo)。

1郵政儲蓄銀行軟工工程項目的基本目標(biāo)及原則

郵政銀行的信息系統(tǒng)要采用科學(xué)先進(jìn)的項目設(shè)計思路和項目架構(gòu),集中處理郵政銀行的資金儲蓄及現(xiàn)金匯兌業(yè)務(wù),信息系統(tǒng)要具備可操作性、高性能、伸縮性強(qiáng)的特點。此外,除了能夠有效處理銀行業(yè)務(wù)需求外,在系統(tǒng)的擴(kuò)展性及維保的便捷性上,也要具備相當(dāng)大的彈性空間,以促進(jìn)郵政銀行發(fā)展目標(biāo)的達(dá)成。郵政銀行軟件信息系統(tǒng)項目要遵循先進(jìn)性、安全性、前瞻性、可擴(kuò)展性、可維護(hù)性及經(jīng)濟(jì)適用性等原則,強(qiáng)化信息系統(tǒng)項目的質(zhì)量。

2郵政儲蓄銀行軟工工程項目的開發(fā)管理過程

(1)需求分析。根據(jù)用戶準(zhǔn)確要求,找準(zhǔn)市場定位,是進(jìn)行需求分析的基礎(chǔ)。需求分析的目的,在于保證軟件開發(fā)的準(zhǔn)確到位,以節(jié)約時間和成本,提高系統(tǒng)利用率。需求分析的主要內(nèi)容為需求的符合程度、項目系統(tǒng)的安全性、穩(wěn)定性、可擴(kuò)展性及容錯性等,在此基礎(chǔ)上形成完整一致、可控性強(qiáng)的文檔,以滿足郵政銀行的各項業(yè)務(wù)需求。由于軟件用戶在軟件的功能性上有著一個較為清晰化的框架,對軟件要處理哪些數(shù)據(jù)有著明確的需求,因此,在對軟件投入研發(fā)前,要和用戶及時交流溝通,以便軟件在使用中達(dá)到高效完美的最佳效果[1]。(2)概要設(shè)計需求分析階段,只是根據(jù)用戶需求大體劃分出目標(biāo)系統(tǒng)的類型,并沒有設(shè)計到具體設(shè)計思路,如使用何種編程語言,運用哪個操作平臺等,而概要設(shè)計階段,就是著重對這些要素進(jìn)行甄選[2]。要實現(xiàn)概要設(shè)計與需求分析的有效銜接,根據(jù)具體情況選擇合適的開發(fā)方式,需求變化幅度較小的,選擇采用瀑布式開發(fā)模型,以形成較完整的分析文檔,需求變化幅度較大的,采用更穩(wěn)妥的設(shè)計方式,以便及時返回上一級進(jìn)行修繕。郵政銀行信息系統(tǒng)項目設(shè)計,要依據(jù)設(shè)計文檔整體要求,對整體系統(tǒng)項目及各個子系統(tǒng)項目加以編碼,形成開發(fā)文檔。(3)細(xì)致設(shè)計。細(xì)致設(shè)計階段可以采用成熟度模型(CMM),這一模型涵蓋了軟件工程,硬件工程和系統(tǒng)工程三個環(huán)節(jié),并細(xì)分了各自環(huán)節(jié)的等級,各等級中又有對應(yīng)的過程域。細(xì)致設(shè)計環(huán)節(jié)著重對分析模型進(jìn)行詳細(xì)校驗修改,因為編程環(huán)境的改變,或為了細(xì)致定義軟件界面,需要對相關(guān)類結(jié)構(gòu)進(jìn)行修改。詳細(xì)設(shè)計的過程主要是根據(jù)概要設(shè)計的脈絡(luò),對軟件體系結(jié)構(gòu)作細(xì)化處理,設(shè)計各軟件單元外部接口、輸入輸出、算法、流程邏輯、占用資源比、性能表現(xiàn)、單元調(diào)試與測試等方面,從而完成對整體數(shù)據(jù)庫的詳細(xì)設(shè)計。通過對這些環(huán)節(jié)的細(xì)致設(shè)計,對軟件的系統(tǒng)性能,邏輯集中系統(tǒng)是否健壯、安全進(jìn)行分析驗證,以滿足郵政業(yè)務(wù)開展需求。(4)編碼單元測試和聯(lián)合測試。軟件開發(fā)人員以特定軟件開發(fā)工具為基礎(chǔ),通過操作每個軟件單元及數(shù)據(jù)庫定義的形式,在相應(yīng)語言開發(fā)工具的配合下,正確研發(fā),調(diào)測系統(tǒng),從而更貼合軟件用戶需求。郵政銀行信息系統(tǒng)項目要借助工具模擬運營后的業(yè)務(wù)最高峰值時的系統(tǒng)承壓能力、穩(wěn)定能力及性能表現(xiàn)能力,以便有效處理郵政銀行的各類業(yè)務(wù)。測試的內(nèi)容有穩(wěn)定性測試、容災(zāi)測試、異常測試及雙機(jī)切換測試等。測試中要注意軟件單元的集中性,做到將模塊、硬件及網(wǎng)絡(luò)其他資源有機(jī)結(jié)合,測試結(jié)果與需求不符時,要適時地返回修改[3]。此外,對系統(tǒng)的功能、性能,也需進(jìn)行測試,以保證軟件的運行需求得以滿足,最后形成測試報告。(5)試運行和后期維護(hù)。挑選試用范圍,開發(fā)人員與試用用戶對系統(tǒng)運行情況進(jìn)行記錄,以便分析總結(jié)試運行中出現(xiàn)的問題。試用人員要接受開發(fā)人員的相關(guān)培訓(xùn)。后期維護(hù)涉及到軟件系統(tǒng)的升級變更,此時就要進(jìn)行性能回歸測試,驗證業(yè)務(wù)更新后系統(tǒng)的邏輯性能能否及時跟進(jìn),避免因性能不佳致使銀行業(yè)務(wù)的滯后及癱瘓。此外,在銀行業(yè)務(wù)增加時,要選取郵政銀行典型業(yè)務(wù)開展綠燈測試,確保業(yè)務(wù)在軟件系統(tǒng)上的兼容性、可操作性。

3結(jié)語

信息化時代,計算機(jī)軟件工程與郵政銀行的業(yè)務(wù)發(fā)展結(jié)合得越來越緊密,同時,軟件工程項目的安全可靠也是郵政銀行系統(tǒng)穩(wěn)定安全的技術(shù)保障。郵政銀行要著力提高軟件工程項目的應(yīng)用管理,通過設(shè)計檢驗的規(guī)范化、科學(xué)化,不斷提高軟件運行的精準(zhǔn)度,從而在金融市場競爭中占得先機(jī)。

作者:張倩 單位:中國郵政儲蓄銀行

第12篇

論文關(guān)鍵詞:軟件項目;軟件過程;CMM;KPA

1.引言

項目管理(PM,projectmanagement)是指利用現(xiàn)有的知識、方法和技術(shù)手段,有效地計劃、調(diào)度、控制和跟蹤項目的開始、執(zhí)行、直止終止的過程,是項目順利實現(xiàn)的有效手段。軟件項目管理則是在項目管理的基礎(chǔ)上,結(jié)合軟件產(chǎn)品的實際,利用工程的概念和方法來開發(fā)與維護(hù)軟件,對成本、風(fēng)險、時間、質(zhì)量、過程、配置等進(jìn)行分析、管理、控制,最終目的是為了讓軟件項目的整個生命周期都在管理者的控制范圍內(nèi),以預(yù)定成本按期、按質(zhì)完成軟件的開發(fā)并交付用戶使用。目前,軟件產(chǎn)品已廣泛應(yīng)用于各個領(lǐng)域,但是很多軟件項目的成功率并不高.雖然有些公司根據(jù)軟件工程理論建立了一些軟件開發(fā)管理規(guī)范.但并沒有從根本上提高軟件項目管理問題,這就導(dǎo)致軟件產(chǎn)品質(zhì)量不穩(wěn)定甚至是項目的失敗,同時也損害了用戶的利益。本文結(jié)合我國軟件項目管理的特點并經(jīng)實踐應(yīng)用.以提高軟件質(zhì)量、降低成本、加強(qiáng)軟件項目的可控性為目標(biāo),通過對CMM的研究和改進(jìn),給出了一個基于CMM加強(qiáng)軟件項目管理的實踐模式,在這個模式中對目前CMM中的KPA做適當(dāng)?shù)牟脺p,定義了6個關(guān)鍵過程域和3個工作組。

2.軟件項目管理中目前存在的問題

影響軟件項目成功率的因素主要是軟件質(zhì)量問題,而在整個軟件項目的實施過程中需求不明確、跟蹤和監(jiān)督不力、缺乏客觀的軟件評審和軟件配置以及風(fēng)險管理意識不足等都阻礙著軟件質(zhì)量的提高。

2.1需求不明確

需求管理是軟件項目管理中非常關(guān)鍵的一個步驟.需求分析的完整與否可以降低軟件質(zhì)量、延長項目周期、加大成本。由于用戶對計算機(jī)系統(tǒng)認(rèn)識的不足,對于系統(tǒng)的需求往往比較模糊,遺漏甚至是錯誤的問題經(jīng)常出現(xiàn)(包括管理流程、業(yè)務(wù)流程、數(shù)據(jù)或報表的分析處理等),但這些問題往往沒有暴露給開發(fā)人員,而是隨著項目的進(jìn)展才逐漸明確。對于開發(fā)人員來說,需求的變更意味著軟件產(chǎn)品的部分內(nèi)容必須重新開發(fā),而對于整個軟件項目管理而言,勢必要重新分配資源、調(diào)整計劃、估算成本等等,導(dǎo)致軟件產(chǎn)品質(zhì)量下降。

2.2跟蹤和監(jiān)督不力

跟蹤和監(jiān)督主要針對過程而言,也是項目管理中最容易被忽視的環(huán)節(jié)。軟件項目過程由多個任務(wù)構(gòu)成,大部分任務(wù)都有前置任務(wù)和后置任務(wù),這就要求項目管理者要嚴(yán)格跟蹤和監(jiān)督每一個任務(wù)。任務(wù)的完成主要從時間進(jìn)度和質(zhì)量兩方面來衡量,還要充分考慮因客戶方引起的一些客觀因素(更改需求分析等)。項目管理者雖然制定了具體的項目進(jìn)度內(nèi)容,但如果缺乏有效的跟蹤和監(jiān)督機(jī)制,對于每一個階段所要完成的任務(wù)疏于評價,就會影響下階段軟件產(chǎn)品的質(zhì)量,有時甚至是軟件產(chǎn)品的重新開發(fā),最終影響整個軟件項目。

2.3缺乏客觀的軟件評審

客觀的軟件評審是軟件產(chǎn)品質(zhì)量的直接保障,軟件評審一直貫穿于整個軟件項目的過程中,對軟件產(chǎn)品的評審應(yīng)有客戶使用人員和軟件業(yè)中的同行來進(jìn)行。客戶使用人員對軟件產(chǎn)品做階段性的評審可以及時發(fā)現(xiàn)軟件產(chǎn)品功能方面的不足,同行評審可以從軟件業(yè)的規(guī)范及標(biāo)準(zhǔn)去發(fā)現(xiàn)問題.軟件評審可以降低軟件開發(fā)的成本提高軟件產(chǎn)品的質(zhì)量。大多情況下項目管理者沒有做任何階段性的評審,通常只是在軟件產(chǎn)品開發(fā)基本完成之后來組織評審,果發(fā)現(xiàn)了很多問題,但要修改已經(jīng)非常困難.要花費很長的時間甚至從頭再來。

2.4軟件配置混亂

軟件配置是指軟件產(chǎn)品在各個階段各種版本的文檔、程序及數(shù)據(jù)的集合,貫穿于整個軟件項目的始終。隨著軟件產(chǎn)品開發(fā)的進(jìn)行,由于各種客觀原因,其中的預(yù)算、設(shè)計方案、進(jìn)度等內(nèi)容都有可能需要大大小小的更改(這些改動可能是合理的),整個改變的過程對軟件項目的參與人員來說必須是可視的,以便提高軟件的可靠性和質(zhì)量,而這一切都應(yīng)該有正確的軟件配置來控制如果失去正確的軟件配置管理,那么針對軟件產(chǎn)品發(fā)生的任何更改或者是維護(hù)都會給軟件項目帶來混亂甚至是失敗。

2.5風(fēng)險管理意識不足

風(fēng)險管理是軟件項目中防止失敗的一種重要手段,軟件項目不同的階段存在著不同的風(fēng)險,并且風(fēng)險會隨著項目的進(jìn)展而變化,目前國內(nèi)的軟件企業(yè)大都不注意軟件項目的風(fēng)險管理。除了社會環(huán)境風(fēng)險、商業(yè)風(fēng)險等這些客觀風(fēng)險之外.可控的軟件項目風(fēng)險主要指技術(shù)風(fēng)險。技術(shù)風(fēng)險主要是指與軟件項目本身相關(guān)的的技術(shù)因素變化帶來的風(fēng)險,如果在一定的條件下達(dá)不到技術(shù)條件能夠?qū)崿F(xiàn)的目標(biāo),不但延緩項目的進(jìn)度而且會增加項目的成本.繼而使整個項目受到影響。

3.通過過程管理加強(qiáng)軟件項目管理的實踐模式

利用cMM fCapabilityMaturityModeforSoftware)的核心思想把軟件項目管理看作一個軟件過程,并根據(jù)這一原則對整個軟件項目的開發(fā)和管理進(jìn)行過程監(jiān)控,監(jiān)督發(fā)現(xiàn)過程中影響項目的關(guān)鍵問題并予以解決。軟件過程是指軟件開發(fā)人員開發(fā)和維護(hù)軟件及相關(guān)產(chǎn)品的一套行為、方法、實踐及變換過程,包括軟件開發(fā)過程和軟件管理過程。CMM把軟件開發(fā)機(jī)構(gòu)按照不同開發(fā)水平劃分為5個級別。每個等級被分解為幾個KPA(關(guān)鍵過程域),KPA是指在某個成熟度等級應(yīng)重點關(guān)注的區(qū)域,也是達(dá)到此成熟度等級必須解決的關(guān)鍵點。①初始級,無過程意義。軟件過程是無序的、隨機(jī)的、缺乏總計劃,無預(yù)見性,大多數(shù)活動是應(yīng)付危機(jī),經(jīng)常超期超支,成功取決于個人。②可重復(fù)級,具備基本的項目管理。KPA分別是:需求管理、軟件項目計劃、軟件跟蹤與監(jiān)督、軟件子合同管理、軟件質(zhì)量保證、軟件配置管理;③已定義級,已定義軟件過程。已將軟件管理和軟件工程兩方面的過程文檔化、標(biāo)準(zhǔn)化,并綜合成該組織的標(biāo)準(zhǔn)軟件過程。KPA分別是:組織過程焦點、組織過程定義、培訓(xùn)大綱、集成軟件管理、軟件產(chǎn)品工程、組間協(xié)調(diào)、同行評審;④可管理級,過程可度量。已收集了軟件過程和產(chǎn)品質(zhì)量的詳細(xì)度量方法,軟件過程和產(chǎn)品均可被定量地理解和控制。KPA分別是:定量過程管理、軟件質(zhì)量管理;⑤優(yōu)化級,過程控制。通過過程的量化反饋以及新技術(shù)、新方法促使過程不斷改進(jìn)。KPA分別是:缺陷預(yù)防、技術(shù)更新預(yù)防、過程更改管理。

CMM只是一個過程改進(jìn)的框架.并沒有給出具體實施的辦法。在該模式中對目前CMM中的KPA做適當(dāng)裁減.定義了6個關(guān)鍵過程域:軟件項目計劃(SPP)、需求管理(RM)、軟件項目跟蹤和監(jiān)督(SPTO)、軟件質(zhì)量保證(SQA)、軟件配置(SCM)、同行評審(PR),設(shè)置了三個工作組:軟件項目過程組(SPPG)、軟件工程組(SEG)、軟件質(zhì)量保證組(SQAG)。通過工作組對關(guān)鍵過程域的操作來加強(qiáng)軟件項目的管理。

3.1定義KPA

3.1.1軟件項目計劃(SPP)

軟件項目計劃是為要實施的軟件項目編制軟件過程活動的安排,包括進(jìn)度控制、成本控制、質(zhì)量控制、風(fēng)險控制等,也是實施CMM2的核心此階段在安排過程活動的同時開展項目設(shè)計的前期工作,設(shè)計和界定在整個項目中各階段所需的開發(fā)、質(zhì)量、跟蹤、評審、風(fēng)險、成本等工作。項目計劃是指導(dǎo)項目過程的具體措施,要在有軟件項目實施經(jīng)驗的人員領(lǐng)導(dǎo)下投人大量的時間和人力資源來完成。制定項目計劃應(yīng)注意7個問題。①在科學(xué)論證的基礎(chǔ)上制定過程,充分調(diào)動人員積極性合理地確定項目組的參加人員;②對軟件項目各程中的任務(wù)進(jìn)行分解,明確項目的里程碑和檢查點;③正確估計軟件項目中的軟件資源、硬件資源、人力資源及其它費用;④正確估計各方面因素帶來的風(fēng)險并制定應(yīng)對措施;⑤制定項目實施過程中的跟蹤和監(jiān)督措施;⑥確定軟件的評審和測試方法;⑦詳細(xì)的文檔資料。

3.1.2需求管理(RM)

需求分析主要包括面向用戶的用戶需求和面向開發(fā)人員的系統(tǒng)需求.是整個軟件工程的第一步.也是非常關(guān)鍵的一個環(huán)節(jié)。需求分析主要針對用戶的業(yè)務(wù)流程、系統(tǒng)功能、性能、數(shù)據(jù)分析進(jìn)行嚴(yán)格的定義.是設(shè)計一個軟件應(yīng)用系統(tǒng)的起點與基本依據(jù),通過它來評判軟件產(chǎn)品是否能夠解決用戶問題,也是項目成功與否的標(biāo)準(zhǔn)。就目前國內(nèi)現(xiàn)狀來講,一般簽定軟件項目合同的用戶是主管信息技術(shù)的負(fù)責(zé)人,它所關(guān)心的可能是整個系統(tǒng)的目標(biāo)需求,用戶方中層管理人員關(guān)心的是業(yè)務(wù)流程需求.終端操作人員則注重軟件本身的易操作性和功能特性,因此.面向用戶的需求一定要和用戶多方人員多溝通、交流.最終通過雙方有關(guān)部門人員的論證以文檔資料的形式確定下來。任何一個需求分析因客觀原因可能存在著需求更改的現(xiàn)象,對于這種情況一定要注意需求更改的可控性.要建立需求的基準(zhǔn)版本和更改版本控制文檔資料.使受需求變化影響的產(chǎn)品與需求變更一致。但要注意在更改需求的同時要衡量需求的穩(wěn)定性,如果一個需求的變更比較頻繁,意味著本項目并沒有真正了解用戶想要解決的實際問題。可以說需求分析的完整性和變更可控性直接影響到軟件過程的改進(jìn),它可以降低軟件質(zhì)量、加大軟件開發(fā)的成本、甚至是導(dǎo)致項目的失敗。軟件工程組(SEG)中要明確定義一個需求管理員。

3.1.3軟件項目跟蹤和監(jiān)督(SPTO)

軟件項目的跟蹤和監(jiān)督始終貫穿于整個軟件項目的過程中,是項目得以控制的前提和條件、是軟件質(zhì)量的根本保障,其目的是增加軟件過程中進(jìn)度、成本、工作量、質(zhì)量、風(fēng)險等內(nèi)容的可視性,也是實施CMM2的核心。除去市場、法律等不可控制因素外,根據(jù)項目計劃對項目進(jìn)展的有關(guān)情況及影響項目實施的相關(guān)因素進(jìn)行及時、客觀、準(zhǔn)確的信息采集,將采集到的需求、成本、進(jìn)度、風(fēng)險等內(nèi)容形成文檔并建立一個項目跟蹤信息平臺。項目負(fù)責(zé)人定期召集軟件過程人員、開發(fā)人員、質(zhì)量保證人員、用戶方有關(guān)人員召開開放式的例會,例會的主要內(nèi)容是檢查項目進(jìn)展、數(shù)據(jù)的分析、認(rèn)識的偏差、資源的搭配、相關(guān)的風(fēng)險等問題并討論確切的解決辦法,通過跟蹤和監(jiān)督使項目始終處于可視化的受控狀態(tài)。

3.1.4軟件質(zhì)量保證(SQA)

軟件質(zhì)量保證是與軟件產(chǎn)品滿足規(guī)定的和隱含的需要能力有關(guān)的特征或特性的組合。對用戶來講主要體現(xiàn)在軟件產(chǎn)品的有效性、一致性、完整性、可靠性和可操作性等方面,對于軟件產(chǎn)品本身來講體現(xiàn)在軟件產(chǎn)品的可移植性、易維護(hù)性、健壯性、可重用性等方面。具體實踐中.軟件質(zhì)量保證應(yīng)在軟件項目計劃、需求分析、跟蹤和監(jiān)督、軟件配置和軟件評審的相互配合下完成.軟件質(zhì)量保證要做到以事先預(yù)防和跟蹤為主,事后糾偏為輔。

3.1.5軟件配置(SCM)

軟件配置是針對軟件產(chǎn)品的跟蹤和控制活動.貫穿于整個軟件項目的過程中.目的是建立和維護(hù)在整個生命周期內(nèi)軟件產(chǎn)品的完整性和一致性,使整個軟件產(chǎn)品的演進(jìn)過程處于可控的狀態(tài),繼而提高軟件的可靠性和質(zhì)量。在實踐應(yīng)用中主要做到五個子項的配置①配置項的標(biāo)識。標(biāo)識做到唯一性。便于跟蹤和管理。②版本管理。對整個軟件過程中的文件和目錄提供有效的跟蹤手段。③變更控制。保持并傳遞修改信息。④配置審計。確定整個項目生產(chǎn)周期中產(chǎn)品在技術(shù)和管理上的完整性。⑤系統(tǒng)整合。把系統(tǒng)的不同部分集成后完成一組特定的功能。

3.1.6同行評審(PR)

同行評審是根據(jù)預(yù)定的規(guī)范和標(biāo)準(zhǔn)對軟件產(chǎn)品進(jìn)行評審。評審的結(jié)果是衡量軟件產(chǎn)品質(zhì)量的依據(jù)。在整個軟件過程中對詳細(xì)設(shè)計和軟件綜合測試作為兩個關(guān)鍵評審點來進(jìn)行評審,評審的過程中注意要結(jié)合本軟件項目的具體要求和標(biāo)準(zhǔn)。

3.2組的定義

在具體的實踐應(yīng)用中設(shè)置了三個組,在降低了人員成本的同時提高了軟件過程改進(jìn)能力和軟件質(zhì)量。

軟件項目過程組(SPPG)組織具體的項目實施活動,管理并協(xié)調(diào)整個軟件項目的過程,主要完成SPP和SPTO。

軟件工程組(SEG)負(fù)責(zé)軟件工程的需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、測試、維護(hù)工作。

軟件質(zhì)量保證組(SQAG)主要完成SPTO、SCM、PR、SQA等工作。

4.實踐模式效率評估

4.1開發(fā)時間

軟件開發(fā)由需求分析、概要設(shè)計、詳細(xì)設(shè)計、編碼、軟件測試、項目維護(hù)和軟件集成幾部分內(nèi)容組成,在需求分析和設(shè)計階段采用CMM框架實施過程管理所花費的時間要多于沒有實施過程管理花費的時間。首先對項目做大量分析,論證項目的可行性。然后在和用戶做良好溝通、反復(fù)論證的基礎(chǔ)上做需求分析,形成文檔資料。這種模式下花費在需求分析和設(shè)計上的時間大約占項目總開發(fā)時間的40%,但這兩個階段完成了數(shù)據(jù)流程、算法描述、詳細(xì)的規(guī)格說明等內(nèi)容,為代碼編寫、軟件測試、軟件維護(hù)等后續(xù)內(nèi)容的工作節(jié)省了時間,軟件項目的開發(fā)周期大大縮短。經(jīng)過評估,采用該實踐模式實施軟件過程管理的軟件項目開發(fā)周期比沒有實施軟件過程管理的軟件項目開發(fā)周期縮短20%。

4.2開發(fā)質(zhì)量

采用CMM標(biāo)準(zhǔn)通過軟件過程管理加強(qiáng)軟件項目管理的實踐模式使軟件質(zhì)量明顯提高、需求分析周密、代碼錯誤率明顯降低、軟件產(chǎn)品完整性好、功能齊全、維護(hù)量下降,軟件項目最終得以順利實現(xiàn)。