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