想做好定制軟件開發(fā)工作,必須對定制軟件開發(fā)流程管理必須做科學(xué),每一步定位清晰,目標明確,下面對定制軟件開發(fā)工作流進行拆解分析:
需求分析
資深軟件系統(tǒng)分析師對企業(yè)所面臨的管理問題進行分析
需求初步確認
軟件系統(tǒng)分析師初步確認企業(yè)需求,作為合同確認的依據(jù)
系統(tǒng)調(diào)研
軟件系統(tǒng)分析師對企業(yè)的初步需求進行詳細調(diào)研,確定系統(tǒng)界面的設(shè)計和運行的流程
需求說明書
將軟件系統(tǒng)分析師對企業(yè)詳細調(diào)研文稿化,經(jīng)雙方討論確認后,開始系統(tǒng)界面設(shè)計
界面設(shè)計
專業(yè)軟件開發(fā)工程師及美工設(shè)計師完成系統(tǒng)界面設(shè)計,經(jīng)用戶確認,開始軟件開發(fā)
開發(fā)及測試
專業(yè)軟件開發(fā)工程師和測試工程師完成系統(tǒng)軟件開發(fā)和測試,強大測試力量和一對一軟件測試體系,確保系統(tǒng)軟件質(zhì)量
使用培訓(xùn)
專業(yè)培訓(xùn)講師對企業(yè)進行軟件基礎(chǔ)知識和系統(tǒng)軟件運作流程全面培訓(xùn)
初始化試運行
專業(yè)軟件工程師輔導(dǎo)用戶使用系統(tǒng),協(xié)助用戶進行初始化工作;系統(tǒng)初始化完畢,進行試運行階段,測試系統(tǒng)功能的完善性和全面性
正式切換 雙方共同測評系統(tǒng),確保系統(tǒng)能全面符合用戶需求說明書定義的所有功能,正式切換系統(tǒng)
從項目推動過程來講,可以分為:
1、 項目啟動階段
這一階段主要是為實施做好準備,由項目指導(dǎo)委員會召開項目動員大會,確定項目組成員,確定項目的計劃和目標,建立實施所必須的系統(tǒng)環(huán)境。
2、調(diào)研分析階段
項目實施小組在開始系統(tǒng)實施前,先對公司現(xiàn)有的應(yīng)用系統(tǒng)進行詳細調(diào)研和分析,根據(jù)企業(yè)的具體情況和信息化管理的特點確定目標業(yè)務(wù)流程。對各級用戶進行需求調(diào)研。最終以雙方確認的目標作為下一步具體實施的業(yè)務(wù)藍圖,并結(jié)合軟件產(chǎn)品和技術(shù)開發(fā)實際情況,規(guī)劃設(shè)計詳細的解決方案,并進行確認,作為設(shè)計開發(fā)的基礎(chǔ)。
3、 系統(tǒng)開發(fā)階段
根據(jù)調(diào)研分析的結(jié)果,進行系統(tǒng)設(shè)計、編碼、測試,完成軟件的開發(fā)。
4、 項目實施階段
在系統(tǒng)開發(fā)完成之后,軟件實施進入實質(zhì)性階段。項目實施小組要在項目指導(dǎo)委員會的全力支持和相關(guān)部門、人員的協(xié)作配合下完成大量的具體工作,比如數(shù)據(jù)分析與導(dǎo)入、系統(tǒng)設(shè)置、人員培訓(xùn)、規(guī)章制度建立、實施文件歸檔、客戶化修改等。軟件的使用者尤其是關(guān)鍵用戶必須在這段時間內(nèi)掌握相關(guān)功能模塊的操作和應(yīng)用,以便在系統(tǒng)正式運行后能夠獨立地使用軟件。
5、 試運行階段
在經(jīng)過項目實施階段后,各個模塊及整個系統(tǒng)需要試運行一段時間,以確信軟件能夠在企業(yè)中運行良好,并達到預(yù)期效果。同時,根據(jù)試運行階段中發(fā)現(xiàn)的問題進行系統(tǒng)調(diào)整。
6、 系統(tǒng)切換/正式運行
在試運行階段后,確信軟件可以正式開始運行后,需要進行系統(tǒng)切換,企業(yè)正式切換到新的業(yè)務(wù)流程,并在軟件上進行企業(yè)日常業(yè)務(wù)處理。至此,軟件的實施已經(jīng)全部完成,進入后期維護階段。
架構(gòu)設(shè)計
設(shè)計的中心思想
1、 以業(yè)務(wù)邏輯建模,而不是以數(shù)據(jù)庫為中心建立系統(tǒng)模型
對信息系統(tǒng)的設(shè)計,應(yīng)緊緊專注于將企業(yè)生產(chǎn)的系統(tǒng)抽象轉(zhuǎn)化為信息系統(tǒng)的模型,能夠準確、完整、清晰地了解業(yè)務(wù)邏輯和業(yè)務(wù)流程,并且對業(yè)務(wù)的變化作預(yù)先考慮,是項目成功的關(guān)鍵。開發(fā)人員容易出現(xiàn)的問題是以關(guān)系數(shù)據(jù)庫設(shè)計或數(shù)據(jù)控件的設(shè)計代替系統(tǒng)建模,造成的問題是以數(shù)據(jù)為中心,其結(jié)果是系統(tǒng)與數(shù)據(jù)緊密耦合,難以實現(xiàn)業(yè)務(wù)邏輯的變化和擴展。
2、 定制軟件開發(fā)是否滿足了用戶的期望
為了實現(xiàn)這個目標,完善準確的需求收集和需求分析,是項目成功設(shè)計的前提。否則無論這個軟件再先進,從用戶角度看,也是失敗的軟件。因此,在設(shè)計前期,對需求分析所必須的資源和時間投入,必須有足夠的重視和充分的計劃。
3、 必須要考慮非軟件的因素
任何一個項目都是為了用戶實現(xiàn)其業(yè)務(wù)目的,軟件工程也不例外。同時,企業(yè)用戶作為一個實體,其決策收到其行業(yè)特點、用戶、市場、上級主管部門、決策人員的個性、企業(yè)的定位、企業(yè)的現(xiàn)狀、長遠發(fā)展規(guī)劃、歷史因素等綜合情況的影響,因此,在架構(gòu)設(shè)計上,應(yīng)綜合考慮這些因素。
設(shè)計原則
4、 在可能的情況下,按照“統(tǒng)一規(guī)劃、統(tǒng)一架構(gòu)、統(tǒng)一標準”的原則。
5、 以良好的設(shè)計模式來保證系統(tǒng)的先進性、合理性和應(yīng)用擴展性。
6、 系統(tǒng)的模塊之間應(yīng)用和交互,盡可能采用松耦合,以實現(xiàn)系統(tǒng)的靈活性和實用性,延長系統(tǒng)的生命周期,保護用戶的投資。
7、 采用以SOA作為體系架構(gòu)的核心,以保證系統(tǒng)級別和部件級別重復(fù)使用和業(yè)務(wù)重組,便于用戶長遠的。
8、 系統(tǒng)的開放性要求能軟件實現(xiàn)三個無關(guān)性:通訊組件的網(wǎng)絡(luò)及協(xié)議無關(guān)性,數(shù)據(jù)來源無關(guān)性和用戶對流程無關(guān)性。
9、 采用有效的需求分析手段,力圖實現(xiàn)準確到位的需求分析,
為良好的人機界面設(shè)計提供堅實的基礎(chǔ)。高度重視用戶界面的設(shè)計,作到符合不同用戶的實際經(jīng)驗和使用習(xí)慣,減少對信息系統(tǒng)的畏懼感,提高用戶使用信息系統(tǒng)的信心,真正使系統(tǒng)成為提高生產(chǎn)管理效率的有效工具。
10、盡可能采用經(jīng)過實際運行檢驗的成熟模塊,
從而節(jié)省開發(fā)資源和縮短開發(fā)周期,確保項目按時交付使用。