- 相關(guān)推薦
軟件項目設(shè)計過程的管理
國目前也逐步加大了對軟件產(chǎn)業(yè)的投資,從目前全國各地普遍興建軟件產(chǎn)業(yè)園就可以看出軟件產(chǎn)業(yè)的強勁發(fā)展勢頭。要想做大做強軟件產(chǎn)業(yè),質(zhì)量是關(guān)鍵,管理是根本。yjbys小編下面為你整理了軟件項目設(shè)計過程管理的文章,希望對你有所幫助。
1軟件項目設(shè)計過程
1.1軟件設(shè)計過程的內(nèi)涵
軟件的設(shè)計過程是指軟件工程人員為了獲得特定功能與性能的軟件產(chǎn)品,而在一系列軟件的支持下所進行的軟件開發(fā)工程活動。簡而言之,軟件設(shè)計過程就是將需求轉(zhuǎn)變?yōu)檐浖磉_的過程。
那么如何將需求轉(zhuǎn)變?yōu)榱塑浖磉_呢?這里首先要明確的是什么是需求。這里所說的需求,主要包含功能需求和性能需求,在一些特定的軟件項目開發(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)榫唧w的數(shù)據(jù)結(jié)構(gòu)或者軟件算法,而且其中每一個細化過程中出現(xiàn)的數(shù)據(jù)結(jié)構(gòu)或者軟件算法,都需要配以合適的軟件界面進行顯示,以提供良好的人機交互桌面,并且要將軟件界面和數(shù)據(jù)結(jié)構(gòu)、軟件算法時刻保持統(tǒng)一,以提高軟件項目的整體一致性和系統(tǒng)性。
1.2軟件設(shè)計流程
要想做好對軟件項目的過程管理,首先必須明確軟件的設(shè)計流程。因此,這里首先對軟件項目開發(fā)的流程進行簡要分析。
軟件設(shè)計過程一般很難用文字語言表述完整清楚,目前也沒有統(tǒng)一的表達能夠說清楚軟件開發(fā)的過程,但是結(jié)合以往的開發(fā)經(jīng)驗,現(xiàn)在的軟件工程師都已經(jīng)清楚認識到,目前開發(fā)出來的支持數(shù)據(jù)流圖、層次式輸入輸出結(jié)構(gòu)圖等相較于傳統(tǒng)的流程圖能夠更加精確、清晰地反映出軟件項目開發(fā)的需求和框架細化精確的層次步驟。
概括來說,軟件設(shè)計的一般流程可以分為以下幾個步驟:
(1)需求分析。
首先需要對軟件系統(tǒng)進行需求分析,正如上文所分析,需要進行功能需求分析、性能需求分析和數(shù)據(jù)需求分析。
(2)子系統(tǒng)分離。
在明確系統(tǒng)需求的基礎(chǔ)上,需要對整個軟件系統(tǒng)進行子系統(tǒng)的劃分,只有對一個大型軟件項目系統(tǒng)進行合理的分割,甚至是分割成若干軟件算法或者數(shù)據(jù)結(jié)構(gòu)等,才能簡化軟件設(shè)計系統(tǒng)的復雜性。
(3)層次優(yōu)化設(shè)計。
為分割后的每一個子系統(tǒng)進行層次設(shè)計,并且需要明確不同子系統(tǒng)之間的層次關(guān)系,為各個層次之間的數(shù)據(jù)流進行導向設(shè)計。
(4)軟件框架結(jié)構(gòu)設(shè)計。
根據(jù)系統(tǒng)的層次關(guān)系,確定軟件系統(tǒng)的框架結(jié)構(gòu),并在此基礎(chǔ)上確立數(shù)據(jù)表的結(jié)構(gòu),為整個軟件系統(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è)計及其操作響應的設(shè)計,都包含在此步驟中。通過界面設(shè)計完成數(shù)據(jù)表達和軟件算法的外封裝,將封裝接口留給用戶自行使用或者進行二次開發(fā)。
(7) 整體測試。
根據(jù)所設(shè)計的軟件框架結(jié)構(gòu)、數(shù)據(jù)表結(jié)構(gòu)、軟件算法以及界面操作功能,結(jié)合系統(tǒng)需要實現(xiàn)的功能需求和性能需求,對整個軟件進行白盒測試與黑盒測試,確保整體質(zhì)量達到預期的設(shè)計要求。這里需要說明的是,設(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)控管理,可以從以下幾個方面著手:
2.1.1合理設(shè)置軟件項目的里程碑標志
按照軟件開發(fā)計劃的進度安排,為軟件項目的開發(fā)進度設(shè)置階段性里程碑標志,也可以進一步細化為大里程碑和小里程碑。確定了里程碑,軟件開發(fā)的每一階段也就確定下來了,可以依據(jù)每一階段的軟件開發(fā),為軟件項目配備合適的人力資源、軟件開發(fā)資源以及必要的技術(shù)支撐等,就能夠按階段實現(xiàn)軟件的開發(fā)設(shè)計工作。按照軟件開發(fā)計劃的進度,細化分配到每個編程人員軟件模塊完成時間表。由項目負責人監(jiān)督項目進度,并與開發(fā)小組上報的日報、周報進行核對,及時更正項目進度偏差。倘若由于某一環(huán)節(jié)時間發(fā)生偏差,項目負責人也可以對里程碑適當進行調(diào)整,從而保證進度管理的靈活性,也從另一個方面保證軟件項目開發(fā)的質(zhì)量。
2.1.2進行階段性單元測試
為了保證軟件開發(fā)的質(zhì)量,需要在開發(fā)的過程中進行階段性測試,包括功能測試、性能測試、容錯測試以及安全測試等等。這里所說的階段性測試主要是指單元測試。要按照軟件設(shè)計開發(fā)的進度進行相應的單元測試,因為每一階段都有不同的測試內(nèi)容和測試目的,應該在軟件開發(fā)設(shè)計的相應階段之前就確定好測試的手段、方法以及相關(guān)測試報表。如果測試成功,則可以順利進入到下一里程碑階段;如果測試失敗,則應當詳細分析導致失敗的原因,指出功能測試或者性能測試的缺陷,同時完成測試報表,以供后向通道的測試。如有必要,應當對系統(tǒng)發(fā)生失敗的測試項目逐條語句進行單步調(diào)試,直至完成階段性測試。
2.1.3對軟件開發(fā)費用進行控制
一般而言,當軟件系統(tǒng)的功能需求和性能需求分析完畢后,只要確定好系統(tǒng)的里程碑標志,即可確定軟件系統(tǒng)開發(fā)的相關(guān)資源,嚴格來說軟件系統(tǒng)的開發(fā)成本基本也已經(jīng)明確了,因此對于軟件開發(fā)的可預見性成本的控制是不難的,關(guān)鍵是在開發(fā)過程中,需要對一些不可預見性的成本開支進行嚴格控制,如設(shè)計更改、人員調(diào)整等等,這些因素都有可能導致軟件系統(tǒng)開發(fā)的成本大幅上升。因此,軟件系統(tǒng)的成本管理重點是要控制不可預見性的成本費用。
項目經(jīng)理或者項目負責人正確的決策是減少項目不可預見費用的重要因素,錯誤的決策會導致項目部分返工,甚至于項目方案變動,造成人力物力的浪費。
2.2對軟件設(shè)計過程進行監(jiān)理,重在溝通
過去軟件系統(tǒng)的開發(fā)過程管理存在著一個誤區(qū),就是重管理輕監(jiān)理。在這樣的管理方針下,很多軟件工程師在實際開發(fā)設(shè)計過程中會感覺束手束腳,最后不是質(zhì)量打了折扣,就是開發(fā)周期一拖再拖,管理效果差強人意。因此,要加強對軟件設(shè)計過程的管理,就必須改變這一傳統(tǒng)的管理手段,對設(shè)計過程重在監(jiān)理,強調(diào)溝通,發(fā)揮效率,真正為軟件設(shè)計的過程去服務,而不是去管理。
溝通主要包括跟用戶進行溝通和開發(fā)團隊內(nèi)部的溝通。開發(fā)團隊與用戶溝通在需求分析階段要做到最大可能的到位,用戶方的技術(shù)人員和用戶方的高層在需求理解上經(jīng)常會不一致,在項目開發(fā)過程中會提出需求變更或者添加功能需求,用戶方的高層之間也會有不同的意見。因此正確全面地把握用戶需求,才能做出最正確的決策,拿出最經(jīng)濟有效的方案。
開發(fā)團隊的溝通管理重在監(jiān)理,對軟件設(shè)計過程的人力、周期、質(zhì)量、資金等等進行監(jiān)理,當發(fā)生偏差時就進行自上而下的溝通,再自下而上進行信息反饋,這樣既不會束縛軟件工程師的手腳,同時對于軟件設(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)自下而上及自上而下的雙向信息流通。
2.3對軟件設(shè)計過程中產(chǎn)生的設(shè)計文檔嚴格要求,對開發(fā)過程記錄嚴加管理
軟件設(shè)計過程中產(chǎn)生設(shè)計文檔、記錄,必須按照軟件工程開發(fā)規(guī)范,與實際的代碼一一對應。一套高水平的規(guī)范文檔,可以將在項目中的開發(fā)人員由于各種原因離崗帶來的項目進度損失、人力資源損失都記錄在內(nèi),這樣新來的開發(fā)人員看著文檔就可以接替這個崗位的工作。對軟件設(shè)計開發(fā)過程實行文檔管理,不僅僅是為了防范崗位接替帶來的損失,更重要是依靠完善的文檔管理,能夠?qū)浖_發(fā)設(shè)計過程中的任意一個環(huán)節(jié)都可以進行回顧、監(jiān)測;在強調(diào)弱化管理、加強監(jiān)控的軟件過程管理模式的同時,只有依靠文檔管理,才能夠最終實現(xiàn)對軟件開發(fā)設(shè)計過程細致入微的管理。
2.4軟件設(shè)計模型選取和注意項目積累
開發(fā)團隊在經(jīng)過一段時期的開發(fā)后,有了一定項目經(jīng)驗和技術(shù)積累。當新的項目需求與以前的項目需求很接近時,可以采用原型法開發(fā),列出需求變化的部分和新增的
功能、要刪掉的功能,這樣可以沿用前項目的開發(fā)文檔(當然要根據(jù)項目修改)和開發(fā)方案、思路、技術(shù),進行快速有效的開發(fā)。新開發(fā)的項目成功后又可以作為以后項目的原型,這也是軟件構(gòu)件重用的基本思路,這樣能夠利用積累下來的軟件模型、程序代碼和開發(fā)經(jīng)驗,實現(xiàn)高效的組裝式的軟件開發(fā)程式,大大降低后續(xù)軟件開發(fā)的出錯率,極大地提高后續(xù)軟件開發(fā)的穩(wěn)定性與可靠性。
2.5對軟件設(shè)計過程中的部分軟件功能模塊化以供復用
軟件模塊復用是軟件快速高效開發(fā)中經(jīng)常用到的,對某特定行業(yè)、特定需求,特別約定俗成的軟件功能需求盡量提出來設(shè)計成軟件模塊。將軟件開發(fā)設(shè)計重復使用的一部分稱之為軟件構(gòu)件,這是近幾年來逐步盛行的一種高效、低成本的軟件開發(fā)模式。重復使用某一軟件構(gòu)件,首先需要明確該軟件構(gòu)件定義中所使用的技術(shù)標準和規(guī)范,倘若連技術(shù)標準語規(guī)范都無法明確,那么很難保證利用該軟件構(gòu)件開發(fā)出來的軟件具有全局統(tǒng)一的技術(shù)規(guī)范,從而軟件的可靠性也無法得到保證。因此,確定構(gòu)件使用的技術(shù)標準與規(guī)范,對于軟件構(gòu)件的應用也是基礎(chǔ)技術(shù)保障。
【軟件項目設(shè)計過程的管理】相關(guān)文章:
項目管理把控過程03-18
關(guān)于軟件項目管理的建議03-18
軟件項目的質(zhì)量管理05-23
怎樣控制軟件項目管理的成本03-22
軟件項目溝通管理的重要性03-07
軟件開發(fā)項目管理制度01-15
營銷管理過程03-18
軟件項目開發(fā)崗位的設(shè)置02-27