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

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

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

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

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

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

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

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

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

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

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

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

結(jié)束語

本文提供了一系列有助于提高軟件開發(fā)項目成功率的佳實踐。遵循這些佳實踐,您的項目成功的機會會更大。

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