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