品。通過這些規(guī)范的文檔可以有效的,快速的指導整個軟件開發(fā),給項目管理一個指導性的大綱。在有了正確的管理,高效的開發(fā)過程后才能為企業(yè)和組織帶來更多,更快的效益。
2.軟件過程實踐
下面就一個開發(fā)零售百貨業(yè)ERP項目的公司作為例子來研究一下軟件過程的實踐,包括分析企業(yè)開發(fā)過程的現(xiàn)狀,制定改進計劃,實施和評估。
2.1.分析企業(yè)現(xiàn)有軟件過程的現(xiàn)狀
2.1.1.業(yè)務分析及企業(yè)背景
這個開發(fā)零售百貨業(yè)ERP系統(tǒng)的公司是一個由35人組成的小型企業(yè),是隸屬于某大型賣場的開發(fā)團隊。
擁有一批對零售業(yè)務具備多年經(jīng)驗的需求,開發(fā)和測試人員。
公司內(nèi)部組織分成四個獨立項目組:需求組、開發(fā)組、測試組、系統(tǒng)組。
各個項目組職責明確。
使用J2EE架構,JAVA、JSP語言進行WEB頁面開發(fā)。
使用SYBASE數(shù)據(jù)庫/數(shù)據(jù)倉庫產(chǎn)品進行數(shù)據(jù)存儲及處理,可支持大數(shù)據(jù)量。
在開發(fā)過程中使用CVS、Bugzilla Bug追蹤系統(tǒng)及自主研發(fā)的更新工具支持項目開發(fā)。
行業(yè)領域比較專業(yè),有很多公式、業(yè)務規(guī)則、合同規(guī)則來指導開發(fā)工作。
具有穩(wěn)定的客戶群,分布全國都有客戶分店,但是零售業(yè)客戶的需求不斷變化、新需求層出不窮。
整個軟件產(chǎn)品對客戶的管理工作起到?jīng)Q定性作用??蛻舻挠唵?、進退貨、財務、付款、合同等管理流程全部需要由軟件來完成,因此直接關系到客戶的經(jīng)濟效益。
軟件質(zhì)量和開發(fā)效率極其重要,直接影響公司的命運。
已經(jīng)有成功發(fā)布并運行正常的軟件產(chǎn)品。
2.1.2.項目風險分析
客戶需求不斷變化,給開發(fā)過程的進度控制帶來很大困難業(yè)務范圍廣、流程復雜、專業(yè)程度高(例如財務方面的業(yè)務分析及建模),需要具備一定的行業(yè)知識。
客戶的數(shù)據(jù)安全性、完整性、可靠性、正確性需要得到百分百保證。
系統(tǒng)分為總部和全國各分店系統(tǒng),需要通過網(wǎng)絡交換數(shù)據(jù),網(wǎng)絡安全需要考慮。
服務器訪問量大,需要硬件支持。
2.1.3.內(nèi)部環(huán)境
內(nèi)部組織結構
公司內(nèi)部分成四個項目組:需求組、開發(fā)組、測試組、系統(tǒng)組。
根據(jù)開發(fā)的模塊大小從需求組、開發(fā)組、測試組抽調(diào)部分組員組成模塊開發(fā)小組。
系統(tǒng)組負責環(huán)境架設、程序更新等工作。
公司擁有一批業(yè)務經(jīng)驗、行業(yè)知識豐富的人員。
公司擁有多名開發(fā)經(jīng)驗超過5年的開發(fā)人員。
開發(fā)過程
使用比較傳統(tǒng)的開發(fā)過程:需求分析—》設計開發(fā)—》系統(tǒng)測試—》發(fā)布新版本。
基本類似于瀑布式開發(fā)過程,其中會使用些增量式開發(fā)。
測試方面依據(jù)業(yè)務流程做黑盒測試,主要依靠業(yè)務經(jīng)驗來測試產(chǎn)品,無自動測試工具。
需求階段有詳細的需求文檔作為開發(fā)依據(jù),開發(fā)過程中沒有規(guī)范的設計文檔,很多情況下
僅僅是根據(jù)需求文檔直接做開發(fā)。
有些設計文檔是開發(fā)項目結束后才補寫的。
沒有固定去做測試計劃,有時僅僅是開發(fā)完成后就開始分工測試。
有做測試案例但沒有固定的規(guī)范約束,測試案例交由開發(fā)和需求人員確認。
有BUG系統(tǒng)追蹤需求變更及BUG處理情況,但無系統(tǒng)的測試報告給開發(fā)人員參考,大部分情況下是口頭和開發(fā)/需求人員溝通BUG的問題點。