您的位置:軟件測(cè)試 > 軟件項(xiàng)目管理 > 開(kāi)發(fā)管理 >
軟件開(kāi)發(fā)項(xiàng)目的佳實(shí)踐
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/5/20 15:43:53 ] 推薦標(biāo)簽:

6. 代碼的構(gòu)建-代碼的構(gòu)建雖然只是整個(gè)項(xiàng)目工作的一小部分,但往往是明顯的部分。其他同樣重要的工作還包括需求、體系結(jié)構(gòu)、分析、設(shè)計(jì)以及測(cè)試。在沒(méi)有開(kāi)發(fā)流程(所謂的“編碼加修正”)的項(xiàng)目中,也會(huì)有這些任務(wù),只不過(guò)被統(tǒng)稱為“編程”而已。構(gòu)建代碼的佳實(shí)踐包括每日構(gòu)建和冒煙測(cè)試。Martin Fowler 進(jìn)一步提出了 連續(xù)集成(continuous integration),這個(gè)概念還集成了單元測(cè)試和自測(cè)試代碼概念。注意,即使連續(xù)集成和單元測(cè)試是通過(guò) XP 流行起來(lái)的,您也可以在所有類型的項(xiàng)目中使用這些佳實(shí)踐。我建議使用標(biāo)準(zhǔn)框架(比如 Ant和 JUnit)使構(gòu)建和測(cè)試自動(dòng)進(jìn)行。(冒煙測(cè)試的關(guān)鍵點(diǎn)是用典型的測(cè)試用例來(lái)測(cè)試典型的可能應(yīng)用和過(guò)程。采用JUnit,NuUnit
等測(cè)試框架后可以保證冒煙測(cè)試的自動(dòng)化,持續(xù)集成這個(gè)概念很重要,持續(xù)集成重要的目的是盡早的發(fā)現(xiàn)和解決問(wèn)題)

7. 對(duì)等審查 - 審查別人的工作很重要。經(jīng)驗(yàn)證明這種方法可以及早消除問(wèn)題,審查和測(cè)試一樣有效,甚至比測(cè)試還有效。開(kāi)發(fā)流程中任何構(gòu)件都需要審查,包括:規(guī)劃、需求、體系結(jié)構(gòu)、設(shè)計(jì)、代碼以及測(cè)試案例(test case)。Karl Wiegers 的文章 Seven Deadly Sins of Software Reviews 說(shuō)明了執(zhí)行對(duì)等審查的正確方法。對(duì)等審查有助于以快的速度提高軟件質(zhì)量。

8. 測(cè)試 - 即使日程安排再緊也不可以推遲或省去測(cè)試。測(cè)試是需要計(jì)劃的軟件開(kāi)發(fā)的一個(gè)必不可少的部分。提前測(cè)試也很重要;這意味著要在開(kāi)始編碼前安排好測(cè)試案例,測(cè)試案例的開(kāi)發(fā)與應(yīng)用程序的設(shè)計(jì)和編碼同時(shí)進(jìn)行。同樣也有許多現(xiàn)成的測(cè)試模式。

9. 性能測(cè)試 - 測(cè)試通常是用于檢查應(yīng)用程序缺陷的后一招。它是勞動(dòng)密集型工作,通常只檢查編碼缺陷。體系結(jié)構(gòu)和設(shè)計(jì)上的缺陷可能會(huì)漏掉。一種檢查體系結(jié)構(gòu)缺陷的方法是在部署應(yīng)用程序之前對(duì)其進(jìn)行模擬負(fù)載測(cè)試,并在性能問(wèn)題真正成為問(wèn)題前處理它們。(性能測(cè)試暴露的問(wèn)題更多都是由于架構(gòu)設(shè)計(jì)在對(duì)非功能性需求方面考慮不足)

10. 配置管理 - 進(jìn)行配置管理涉及到了解組成您的系統(tǒng)或項(xiàng)目的所有構(gòu)件的狀態(tài),管理這些構(gòu)件的狀態(tài)并發(fā)布系統(tǒng)的不同版本。配置管理比單獨(dú)的源代碼控制系統(tǒng)(比如 Rational Clearcase)管理的內(nèi)容更多。同樣也有針對(duì)配置管理的佳實(shí)踐和模式 [13]。

11. 質(zhì)量和缺陷管理 - 為項(xiàng)目建立質(zhì)量?jī)?yōu)先級(jí)和發(fā)布標(biāo)準(zhǔn)很重要,這樣可以制定一個(gè)計(jì)劃來(lái)幫助開(kāi)發(fā)小組開(kāi)發(fā)出高質(zhì)量的軟件。當(dāng)對(duì)項(xiàng)目進(jìn)行編碼和測(cè)試時(shí),缺陷的出現(xiàn)和修正比率有助于測(cè)量代碼的成熟程度。使用鏈接到源代碼控制管理系統(tǒng)的缺陷跟蹤系統(tǒng)也很重要。例如,使用 Rational ClearCase 的項(xiàng)目還可以使用 Rational ClearQuest。使用缺陷跟蹤,可以在準(zhǔn)備發(fā)布項(xiàng)目時(shí)對(duì)項(xiàng)目進(jìn)行測(cè)量(gauge)。(小型項(xiàng)目可以使用一些開(kāi)源免費(fèi)的缺陷管理功能,如Bug Tracker等)

12. 部署(Deployment)- 部署是向用戶發(fā)布應(yīng)用程序的后階段。如果您的項(xiàng)目進(jìn)行到了這一步 - 那恭喜您啦!但仍然會(huì)有可能出錯(cuò)的地方。您要制定部署計(jì)劃,并且您可以使用 Construx Web 站點(diǎn)上的部署清單。(硬件環(huán)境,軟件環(huán)境,部署方法和步驟)

13. 系統(tǒng)操作與支持(System operations and support)- 沒(méi)有操作部門(mén)不能部署和支持新應(yīng)用程序。支持范圍對(duì)于回答和解決用戶問(wèn)題至關(guān)重要。為緩解問(wèn)題流,應(yīng)用程序缺陷跟蹤系統(tǒng)中引入了支持問(wèn)題數(shù)據(jù)庫(kù)。

14. 數(shù)據(jù)遷移(Data migration)- 多數(shù)應(yīng)用程序都不是全新的,而是改善或者重寫(xiě)的現(xiàn)有應(yīng)用程序。從現(xiàn)有的數(shù)據(jù)源遷移數(shù)據(jù)這本身通常是一個(gè)比較大的項(xiàng)目。這不是初級(jí)程序員能做的。它與新應(yīng)用程序一樣重要。通常新應(yīng)用程序的業(yè)務(wù)規(guī)則更好,數(shù)據(jù)質(zhì)量有可能更高。提高數(shù)據(jù)質(zhì)量是一個(gè)復(fù)雜的主題,已經(jīng)超出了本文討論的范圍。

15. 項(xiàng)目管理(Project management)- 項(xiàng)目管理是項(xiàng)目取得成功的關(guān)鍵。本文描述的許多其他的佳實(shí)踐都和項(xiàng)目管理有關(guān),出色的項(xiàng)目經(jīng)理已經(jīng)知道了這些現(xiàn)有的佳實(shí)踐。我們推薦的項(xiàng)目管理權(quán)威著作是 Steve McConnell 編寫(xiě)的 Rapid Development [14]。如果把項(xiàng)目管理的其他清單和技巧的數(shù)目考慮進(jìn)去,您會(huì)感到大吃一驚,居然有那么多的項(xiàng)目經(jīng)理不知道這些技巧,并且也沒(méi)有從以前的項(xiàng)目中吸取教訓(xùn),比如:“如果沒(méi)有計(jì)劃好,等于計(jì)劃著要失敗。”一種管理困難項(xiàng)目的方法是通過(guò)使用時(shí)間定量(timeboxing)。

16. 衡量是否成功 - 您可以根據(jù)卡內(nèi)基梅隆大學(xué)軟件工程學(xué)院(Software Engineering Institute at Carnegie Mellon University)的業(yè)界標(biāo)準(zhǔn)軟件能力成熟度模型(Capability Maturity Model,CMM)來(lái)衡量您的開(kāi)發(fā)流程。多數(shù)項(xiàng)目處于 1 級(jí)(初級(jí))。如果按照上面描述的佳實(shí)踐和附帶的文章,軟件開(kāi)發(fā)項(xiàng)目實(shí)施指南,中的執(zhí)行,可以開(kāi)發(fā)出更加成熟的軟件,使項(xiàng)目取得成功。(軟件能力成熟度和項(xiàng)目本身是否成功能否直接劃等號(hào)?)

結(jié)束語(yǔ)

本文提供了一系列有助于提高軟件開(kāi)發(fā)項(xiàng)目成功率的佳實(shí)踐。遵循這些佳實(shí)踐,您的項(xiàng)目成功的機(jī)會(huì)會(huì)更大。

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd