軟件開發(fā)定制是軟件公司的一項團隊使用腦力勞動產(chǎn)出符合用戶需求的計算機產(chǎn)品的過程,整個開發(fā)定制服務(wù)有著科學(xué)和規(guī)范和流程,來提高軟件開發(fā)公司的軟件產(chǎn)品質(zhì)量并滿足用戶提出軟件的需求。
深圳小牛軟件開發(fā)有限公司的軟件開發(fā)定制外包軟件服務(wù)流程如下:
軟件開發(fā)公司會聽取用戶需求、分析用戶需求分析各個業(yè)務(wù)流程、功能點。對各個功能點的業(yè)務(wù)數(shù)據(jù)、數(shù)據(jù)項、表單格式、查詢條件以及其它相關(guān)數(shù)據(jù)進(jìn)行明確的分析調(diào)研。 需要軟件開發(fā)公司與各個模塊相關(guān)負(fù)責(zé)人進(jìn)行多方溝通,確定一個多方滿意的軟件定制外包需求調(diào)研結(jié)果。
軟件開發(fā)公司在了解用戶所面對的問題,知道做什么軟件功能;和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認(rèn)的系統(tǒng)邏輯模型。通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和簡要的算法描述表示系統(tǒng)的邏輯模型。
需求分析是軟件定制開發(fā)過程中的一個重要環(huán)節(jié)。是關(guān)乎軟件公司開發(fā)軟件成敗的重要因素?,F(xiàn)在軟件項目中返工開銷幾乎占了總開發(fā)的一半,而導(dǎo)致返工的主要原因是需求分析不明確。從而引發(fā)軟件開發(fā)中的一些列更改。這些更改可能導(dǎo)致浪費大量資源、軟件項目無法按時完成等嚴(yán)重問題,所以需求分析是軟件設(shè)計和實現(xiàn)的基礎(chǔ),是軟件項目邁向成功的重中之重。需求分析輸出文檔:軟件需求分析書,軟件開發(fā)設(shè)計書,軟件設(shè)計開發(fā)UI原型圖
系統(tǒng)設(shè)計是要是按項目搭建軟件公司內(nèi)部的開發(fā)團隊人員架構(gòu),并根據(jù)軟件項目和項目組的實際情況,建立起一個穩(wěn)定、可控的軟件開發(fā)過程模型,并按照該過程來進(jìn)行軟件開發(fā)。 加強過程控制,包括過程管理、變更控制和配置管理。
軟件開發(fā)實現(xiàn)階段的主要工作是根據(jù)軟件設(shè)計結(jié)果,進(jìn)行軟件開發(fā)中的軟件編制、軟件調(diào)試、軟件代碼審查和軟件程序單元測試。本階段的代碼審查應(yīng)以軟件開發(fā)人員自查自測為主。
實現(xiàn)過程中應(yīng)規(guī)定編碼實現(xiàn)規(guī)則、編程語言、數(shù)據(jù)結(jié)構(gòu)、命名約定和注釋規(guī)則,重用已有的軟件實現(xiàn)規(guī)范、實現(xiàn)方法、代碼片段、數(shù)據(jù)結(jié)構(gòu)、標(biāo)準(zhǔn)函數(shù)等。進(jìn)行規(guī)范化編程,采用統(tǒng)一的編碼風(fēng)格;實現(xiàn)過程中應(yīng)考慮軟件測試工作;充分地考慮到軟件的可維護性。
通過對公司開發(fā)的軟件的測試,發(fā)現(xiàn)軟件開發(fā)中的錯誤,借以減少系統(tǒng)內(nèi)部各模塊的邏輯,功能上的缺陷和錯誤,保證每個單元能正確地實現(xiàn)其預(yù)期的軟件功能。檢測和排除軟件子系統(tǒng)(或系統(tǒng))結(jié)構(gòu)或相應(yīng)程序結(jié)構(gòu)上的錯誤,使所有的系統(tǒng)單元配合合適,整體的軟件性能和功能完整。并且使組裝好的定制軟件的功能與需求保持一致。
輸出:軟件測試用例,軟件測試報告
項目完成集成測試和系統(tǒng)測試后進(jìn)行項目內(nèi)部驗收,主要有三個步驟:項目經(jīng)理提交內(nèi)部驗收計劃、項目開發(fā)總結(jié)報告、產(chǎn)品發(fā)布清單;在試運行的基礎(chǔ),通過這一步,為用戶驗收作充分的準(zhǔn)備。對提交的所有文檔及測試結(jié)果進(jìn)行內(nèi)部評審,完成項目開發(fā)總結(jié)報告。
軟件開發(fā)公司交付用戶試運行,使所有的工作產(chǎn)品到用戶的確認(rèn)。包括:
項目經(jīng)理負(fù)責(zé)檢查產(chǎn)品的完整性,包括文檔、介質(zhì)和中間產(chǎn)品等,以確保現(xiàn)場實施的成功;負(fù)責(zé)應(yīng)用軟件的現(xiàn)場安裝調(diào)試,完成安裝調(diào)試總結(jié)報告;負(fù)責(zé)制定用戶驗收計劃,并到客戶的確認(rèn)。用戶進(jìn)行驗收測試和系統(tǒng)試運行,進(jìn)行文檔和系統(tǒng)的移交。項目經(jīng)理負(fù)責(zé)與客戶協(xié)調(diào),協(xié)助用戶進(jìn)行項目驗收,形成用戶驗收報告。
由于前期的測試不可能暴露軟件系統(tǒng)中所有潛在的和隱含的錯誤,這是一個診斷和改正這些錯誤的過程。在軟件產(chǎn)品正常使用過程中,用戶還會不斷地提出新的需求,為了滿足用戶新的需求而增加軟件功能的活動稱為完善性維護。如果需求變更很大,那完善性維護將轉(zhuǎn)變?yōu)檐浖掳姹镜拈_發(fā)。