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