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