軟件項目設(shè)計過程管理探討_第1頁
軟件項目設(shè)計過程管理探討_第2頁
軟件項目設(shè)計過程管理探討_第3頁
軟件項目設(shè)計過程管理探討_第4頁
軟件項目設(shè)計過程管理探討_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、軟件項目設(shè)計過程管理探討摘要:首先簡要分析了軟件項目設(shè)計的過程管理的內(nèi)涵,并提出了軟件設(shè)計的基本流程步驟,在此基礎(chǔ)上重點探討了軟件項目設(shè)計的過程管理措施,提出應(yīng)力強對軟件設(shè)計過程的周期、質(zhì)量和成本的全過程管理,并強調(diào)重在監(jiān)理、弱化管理、強調(diào)高效溝通的基本管理措施,對于進一步提高我國軟件項目過程管理的應(yīng)用水平具有一定借鑒和指導(dǎo)意義。關(guān)鍵詞:軟件工程;項目設(shè)計;過程管理1軟件項目設(shè)計過程軟件設(shè)計過程的內(nèi)涵軟件的設(shè)計過程是指軟件工程人員為了獲得特定功能與性能的軟件產(chǎn)品,而在一系列軟件的支持下所進行的軟件開發(fā)工程活動。簡而言之,軟件設(shè)計過程就是將需求轉(zhuǎn)變?yōu)檐浖磉_的過程。那么如何將需求轉(zhuǎn)變?yōu)榱塑浖磉_

2、呢?這里首先要明確的是什么是需求。這里所說的需求,主要包含功能需求和性能需求,在一些特定的軟件項目開發(fā)過程中,可能還需要進行數(shù)據(jù)需求的分析。只有明確了軟件系統(tǒng)的功能需求、性能需求和數(shù)據(jù)需求,才能夠有針對性地進行軟件項目的開發(fā)設(shè)計。其次,還需要明確的是軟件設(shè)計過程一般分為兩步,第一步是初步設(shè)計。所謂初步設(shè)計就是將之前所分析的軟件系統(tǒng)的性能需求、功能需求和數(shù)據(jù)需求轉(zhuǎn)換為數(shù)據(jù)表或者軟件框架只有確定了數(shù)據(jù)表或者將軟件框架,才能夠在此基礎(chǔ)上進行有針對性的特定功能開發(fā)與實現(xiàn);第二步是詳細設(shè)計。所謂詳細設(shè)計,就是指將之前所建立起來的數(shù)據(jù)表和軟件框架,逐步求精和細化,最終實現(xiàn)軟件系統(tǒng)所要求的功能或者性能轉(zhuǎn)變?yōu)?/p>

3、具體的數(shù)據(jù)結(jié)構(gòu)或者軟件算法,而且其中每一個細化過程中出現(xiàn)的數(shù)據(jù)結(jié)構(gòu)或者軟件算法,都需要配以合適的軟件界面進行顯示,以提供良好的人機交互桌面,并且要將軟件界面和數(shù)據(jù)結(jié)構(gòu)、軟件算法時刻保持統(tǒng)一,以提高軟件項目的整體一致性和系統(tǒng)性。軟件設(shè)計流程要想做好對軟件項目的過程管理,首先必須明確軟件的設(shè)計流程。因此,這里首先對軟件項目開發(fā)的流程進行簡要分析。軟件設(shè)計過程一般很難用文字語言表述完整清楚,目前也沒有統(tǒng)一的表達能夠說清楚軟件開發(fā)的過程,但是結(jié)合以往的開發(fā)經(jīng)驗,現(xiàn)在的軟件工程師都已經(jīng)清楚認識到,目前開發(fā)出來的支持數(shù)據(jù)流圖、層次式輸入輸出結(jié)構(gòu)圖等相較于傳統(tǒng)的流程圖能夠更加精確、清晰地反映出軟件項目開發(fā)的

4、需求和框架細化精確的層次步驟。概括來說,軟件設(shè)計的一般流程可以分為以下幾個步驟:需求分析。首先需要對軟件系統(tǒng)進行需求分析,正如上文所分析,需要進行功能需求分析、性能需求分析和數(shù)據(jù)需求分析。子系統(tǒng)分離。在明確系統(tǒng)需求的基礎(chǔ)上,需要對整個軟件系統(tǒng)進行子系統(tǒng)的劃分,只有對一個大型軟件項目系統(tǒng)進行合理的分割,甚至是分割成若干軟件算法或者數(shù)據(jù)結(jié)構(gòu)等,才能簡化軟件設(shè)計系統(tǒng)的復(fù)雜性。(3)層次優(yōu)化設(shè)計。為分割后的每一個子系統(tǒng)進行層次設(shè)計,并且需要明確不同子系統(tǒng)之間的層次關(guān)系,為各個層次之間的數(shù)據(jù)流進行導(dǎo)向設(shè)計。(4)軟件框架結(jié)構(gòu)設(shè)計。根據(jù)系統(tǒng)的層次關(guān)系,確定軟件系統(tǒng)的框架結(jié)構(gòu),并在此基礎(chǔ)上確立數(shù)據(jù)表的結(jié)構(gòu),

5、為整個軟件系統(tǒng)的功能實現(xiàn)和數(shù)據(jù)表達奠定技術(shù)基礎(chǔ)。(5)數(shù)據(jù)表設(shè)計(包含算法設(shè)計)。結(jié)合系統(tǒng)的功能需求,為數(shù)據(jù)表達設(shè)計合適的算法,既要實現(xiàn)系統(tǒng)指定的功能,同時還要滿足系統(tǒng)的相關(guān)性能要求和質(zhì)量驗收標準。(6)界面設(shè)計(包含操作設(shè)計)。為整個軟件系統(tǒng)設(shè)計合理的人機交互界面,包括人機操作交互設(shè)計及其操作響應(yīng)的設(shè)計,都包含在此步驟中。通過界面設(shè)計完成數(shù)據(jù)表達和軟件算法的外封裝,將封裝接口留給用戶自行使用或者進行二次開發(fā)。(7)整體測試。根據(jù)所設(shè)計的軟件框架結(jié)構(gòu)、數(shù)據(jù)表結(jié)構(gòu)、軟件算法以及界面操作功能,結(jié)合系統(tǒng)需要實現(xiàn)的功能需求和性能需求,對整個軟件進行白盒測試與黑盒測試,確保整體質(zhì)量達到預(yù)期的設(shè)計要求。這

6、里需要說明的是,設(shè)計階段的測試主要是功能性單步調(diào)試,需要待軟件整體功能完成后才能夠進行各功能的單元測試及系統(tǒng)集成測試。2軟件項目設(shè)計過程的管理建議與措施2.1對軟件項目的進度、質(zhì)量和成本進行全過程跟蹤管理軟件項目開發(fā)最在乎無非是項目的進度、質(zhì)量和成本,因此要實現(xiàn)對軟件項目的過程管理,就必須以軟件項目的進度、質(zhì)量和成本作為突破口,對軟件項目的進度、質(zhì)量和成本實施全過程監(jiān)控管理,才能夠?qū)崿F(xiàn)對軟件項目的全過程管理。具體來說,對軟件項目的進度、質(zhì)量和成本實施全過程監(jiān)控管理,可以從以下幾個方面著手:合理設(shè)置軟件項目的里程碑標志按照軟件開發(fā)計劃的進度安排,為軟件項目的開發(fā)進度設(shè)置階段性里程碑標志,也可以進

7、一步細化為大里程碑和小里程碑。確定了里程碑,軟件開發(fā)的每一階段也就確定下來了,可以依據(jù)每一階段的軟件開發(fā),為軟件項目配備合適的人力資源、軟件開發(fā)資源以及必要的技術(shù)支撐等,就能夠按階段實現(xiàn)軟件的開發(fā)設(shè)計工作。按照軟件開發(fā)計劃的進度,細化分配到每個編程人員軟件模塊完成時間表。由項目負責人監(jiān)督項目進度,并與開發(fā)小組上報的日報、周報進行核對,及時更正項目進度偏差。倘若由于某一環(huán)節(jié)時間發(fā)生偏差,項目負責人也可以對里程碑適當進行調(diào)整,從而保證進度管理的靈活性,也從另一個方面保證軟件項目開發(fā)的質(zhì)量。進行階段性單元測試為了保證軟件開發(fā)的質(zhì)量,需要在開發(fā)的過程中進行階段性測試,包括功能測試、性能測試、容錯測試以

8、及安全測試等等。這里所說的階段性測試主要是指單元測試。要按照軟件設(shè)計開發(fā)的進度進行相應(yīng)的單元測試,因為每一階段都有不同的測試內(nèi)容和測試目的,應(yīng)該在軟件開發(fā)設(shè)計的相應(yīng)階段之前就確定好測試的手段、方法以及相關(guān)測試報表。如果測試成功,則可以順利進入到下一里程碑階段;如果測試失敗,則應(yīng)當詳細分析導(dǎo)致失敗的原因,指出功能測試或者性能測試的缺陷,同時完成測試報表,以供后向通道的測試。如有必要,應(yīng)當對系統(tǒng)發(fā)生失敗的測試項目逐條語句進行單步調(diào)試,直至完成階段性測試。對軟件開發(fā)費用進行控制一般而言,當軟件系統(tǒng)的功能需求和性能需求分析完畢后,只要確定好系統(tǒng)的里程碑標志,即可確定軟件系統(tǒng)開發(fā)的相關(guān)資源,嚴格來說軟件

9、系統(tǒng)的開發(fā)成本基本也已經(jīng)明確了,因此對于軟件開發(fā)的可預(yù)見性成本的控制是不難的,關(guān)鍵是在開發(fā)過程中,需要對一些不可預(yù)見性的成本開支進行嚴格控制,如設(shè)計更改、人員調(diào)整等等,這些因素都有可能導(dǎo)致軟件系統(tǒng)開發(fā)的成本大幅上升。因此,軟件系統(tǒng)的成本管理重點是要控制不可預(yù)見性的成本費用。項目經(jīng)理或者項目負責人正確的決策是減少項目不可預(yù)見費用的重要因素,錯誤的決策會導(dǎo)致項目部分返工,甚至于項目方案變動,造成人力物力的浪費。對軟件設(shè)計過程進行監(jiān)理,重在溝通過去軟件系統(tǒng)的開發(fā)過程管理存在著一個誤區(qū),就是重管理輕監(jiān)理。在這樣的管理方針下,很多軟件工程師在實際開發(fā)設(shè)計過程中會感覺束手束腳,最后不是質(zhì)量打了折扣,就是開

10、發(fā)周期一拖再拖,管理效果差強人意。因此,要加強對軟件設(shè)計過程的管理,就必須改變這一傳統(tǒng)的管理手段,對設(shè)計過程重在監(jiān)理,強調(diào)溝通,發(fā)揮效率,真正為軟件設(shè)計的過程去服務(wù),而不是去管理。溝通主要包括跟用戶進行溝通和開發(fā)團隊內(nèi)部的溝通。開發(fā)團隊與用戶溝通在需求分析階段要做到最大可能的到位,用戶方的技術(shù)人員和用戶方的高層在需求理解上經(jīng)常會不一致,在項目開發(fā)過程中會提出需求變更或者添加功能需求,用戶方的高層之間也會有不同的意見。因此正確全面地把握用戶需求,才能做出最正確的決策,拿出最經(jīng)濟有效的方案。開發(fā)團隊的溝通管理重在監(jiān)理,對軟件設(shè)計過程的人力、周期、質(zhì)量、資金等等進行監(jiān)理,當發(fā)生偏差時就進行自上而下的

11、溝通,再自下而上進行信息反饋,這樣既不會束縛軟件工程師的手腳,同時對于軟件設(shè)計本身而言,其質(zhì)量、進度和成本在經(jīng)過有效的溝通和反饋之后,依然在項目管理軌道上行進。需要說明的是,這里強調(diào)的溝通并不是指出現(xiàn)問題,大家坐下來討論問題出現(xiàn)的原因,然后提出解決的辦法和措施,這樣無疑是耽誤了軟件設(shè)計的周期。這里所強調(diào)的溝通,實際上是指當監(jiān)理人員發(fā)現(xiàn)軟件設(shè)計開發(fā)過程中某一指標或者某些指標發(fā)生了偏離,與項目協(xié)調(diào)員或者項目專員進行溝通,由項目專員與軟件工程師進行溝通協(xié)調(diào),在進行設(shè)計的過程中實現(xiàn)自下而上及自上而下的雙向信息流通。對軟件設(shè)計過程中產(chǎn)生的設(shè)計文檔嚴格要求,對開發(fā)過程記錄嚴加管理軟件設(shè)計過程中產(chǎn)生設(shè)計文檔

12、、記錄,必須按照軟件工程開發(fā)規(guī)范,與實際的代碼一一對應(yīng)。一套高水平的規(guī)范文檔,可以將在項目中的開發(fā)人員由于各種原因離崗帶來的項目進度損失、人力資源損失都記錄在內(nèi),這樣新來的開發(fā)人員看著文檔就可以接替這個崗位的工作。對軟件設(shè)計開發(fā)過程實行文檔管理,不僅僅是為了防范崗位接替帶來的損失,更重要是依靠完善的文檔管理,能夠?qū)浖_發(fā)設(shè)計過程中的任意一個環(huán)節(jié)都可以進行回顧、監(jiān)測;在強調(diào)弱化管理、加強監(jiān)控的軟件過程管理模式的同時,只有依靠文檔管理,才能夠最終實現(xiàn)對軟件開發(fā)設(shè)計過程細致入微的管理。軟件設(shè)計模型選取和注意項目積累開發(fā)團隊在經(jīng)過一段時期的開發(fā)后,有了一定項目經(jīng)驗和技術(shù)積累。當新的項目需求與以前的項

13、目需求很接近時,可以采用原型法開發(fā),列出需求變化的部分和新增的功能、要刪掉的功能,這樣可以沿用前項目的開發(fā)文檔(當然要根據(jù)項目修改)和開發(fā)方案、思路、技術(shù),進行快速有效的開發(fā)。新開發(fā)的項目成功后又可以作為以后項目的原型,這也是軟件構(gòu)件重用的基本思路,這樣能夠利用積累下來的軟件模型、程序代碼和開發(fā)經(jīng)驗,實現(xiàn)高效的組裝式的軟件開發(fā)程式,大大降低后續(xù)軟件開發(fā)的出錯率,極大地提高后續(xù)軟件開發(fā)的穩(wěn)定性與可靠性。對軟件設(shè)計過程中的部分軟件功能模塊化以供復(fù)用軟件模塊復(fù)用是軟件快速高效開發(fā)中經(jīng)常用到的,對某特定行業(yè)、特定需求,特別約定俗成的軟件功能需求盡量提出來設(shè)計成軟件模塊。將軟件開發(fā)設(shè)計重復(fù)使用的一部分稱

14、之為軟件構(gòu)件,這是近幾年來逐步盛行的一種高效、低成本的軟件開發(fā)模式。重復(fù)使用某一軟件構(gòu)件,首先需要明確該軟件構(gòu)件定義中所使用的技術(shù)標準和規(guī)范,倘若連技術(shù)標準語規(guī)范都無法明確,那么很難保證利用該軟件構(gòu)件開發(fā)出來的軟件具有全局統(tǒng)一的技術(shù)規(guī)范,從而軟件的可靠性也無法得到保證。因此,確定構(gòu)件使用的技術(shù)標準與規(guī)范,對于軟件構(gòu)件的應(yīng)用也是基礎(chǔ)技術(shù)保障。3結(jié)束語軟件的開發(fā)設(shè)計已經(jīng)逐漸成為第三產(chǎn)業(yè)中越來越重要的分支,同時軟件開發(fā)設(shè)計水平也標志著一個國家的計算機自主知識創(chuàng)新能力和水平。因此,我國目前也逐步加大了對軟件產(chǎn)業(yè)的投資,從目前全國各地普遍興建軟件產(chǎn)業(yè)園就可以看出軟件產(chǎn)業(yè)的強勁發(fā)展勢頭。要想做大做強軟件產(chǎn)業(yè),質(zhì)量是關(guān)鍵,管理是根本。因此本文詳細探討了軟件項目開發(fā)的過程管理,給出了具體的過程管理建議與措施,對于進一步提高軟件開發(fā)設(shè)計的過程管理水平具有較好的指導(dǎo)借鑒意義。當然,更多的軟件過程管理措施還有待于廣大軟件工程師在實際開

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論