重构业务系统,我是这样做的
重構(gòu),是任何一個技術(shù)團(tuán)隊(duì)都無法繞過和回避的話題。
重構(gòu)的原因有很多,可能是伴隨著業(yè)務(wù)的發(fā)展與升級,系統(tǒng)無法快速支持需求迭代,這時就有了重構(gòu)的念頭,一般情況下不建議對老系統(tǒng)進(jìn)行重構(gòu),畢竟重構(gòu)是有代價的。
我最近參與了一個重構(gòu)項(xiàng)目,接下來給大家分享下,我在重構(gòu)業(yè)務(wù)系統(tǒng)過程中的經(jīng)驗(yàn)總結(jié)。
1. 了解系統(tǒng)
接到重構(gòu)任務(wù)后,不要立刻動手執(zhí)行重構(gòu),而是對當(dāng)前的業(yè)務(wù)流程和架構(gòu)狀態(tài)有個清晰的了解,如果開發(fā)過當(dāng)前系統(tǒng)的同事還在公司,一定要拉著同事好好討論。
我們要知道系統(tǒng)一定是給人用的,是給哪些人用的?不同的人使用系統(tǒng)的側(cè)重點(diǎn)有哪些不同?他們使用系統(tǒng)主要是解決什么問題?這些問題我們一定要弄清楚。
要知道怎么給自己創(chuàng)建不同角色的用戶,然后登錄系統(tǒng)進(jìn)行操作使用,如果涉及到了一些專有名詞,一定要和團(tuán)隊(duì)成員溝通并達(dá)成一致。
2. 業(yè)務(wù)流程圖
通過了解系統(tǒng)之后,清楚業(yè)務(wù)的核心流程,這時要按照理解繪制 業(yè)務(wù)核心流程圖,這里面涉及到與各系統(tǒng)的交互,需要考慮跨系統(tǒng)之間的交互可否使用異步完成,盡量減少循環(huán)調(diào)用的情況,同時還要確定出當(dāng)前系統(tǒng)的邊界。核心流程圖畫好了,還要根據(jù)不同的業(yè)務(wù)分支繪制 業(yè)務(wù)各分支流程圖。
這種圖有很多工具都可以畫,軟件可以使用 EdrawMax,在線版可以使用 ProcessOn。
3. 業(yè)務(wù)功能模塊圖
根據(jù)業(yè)務(wù)流程圖、業(yè)務(wù)各分支流程圖,我們要確定出哪些功能模塊?各功能模塊之間是如何交互的?原來數(shù)據(jù)是如何存儲的?根據(jù)以上問題,我們要繪制 業(yè)務(wù)功能模塊圖 ,然后再繪制 業(yè)務(wù)各模塊詳細(xì)圖。
根據(jù)模塊詳細(xì)圖,需要畫出清晰的層次結(jié)構(gòu),梳理出 提供給他方的接口(約定接口名稱) 和 依賴他方的接口,這時還要考慮規(guī)劃出系統(tǒng)需要的基礎(chǔ)服務(wù)功能,比如日志記錄,監(jiān)控預(yù)警等,然后根據(jù)功能點(diǎn)考慮分工,并評估出排期。
4. 約定時間
接口文檔約定完成時間
開發(fā)完成時間
聯(lián)調(diào)完成時間
自測完成時間
提測時間
上線時間
如果開發(fā)時間比較長,開發(fā)期間還要約定 “里程碑時間” ,整體采取前緊后松的節(jié)奏,先往前趕,保證在 “里程碑時間” 符合預(yù)期。
5. 約定規(guī)范
編碼規(guī)范
代碼管理規(guī)范
例會規(guī)范(早、晚會制度)
例會規(guī)范,讓項(xiàng)目人員輪流主持,鼓勵每人發(fā)言,及時給予反饋。
6. 非技術(shù)問題
舒緩團(tuán)隊(duì)的壓力,給予團(tuán)隊(duì)更多的鼓勵,定期向團(tuán)隊(duì)同步狀態(tài),得到大家的理解和支持,還有一些無法把控的各系統(tǒng)間交互溝通,我們要做到與各對接方坦誠溝通。
7. 上線準(zhǔn)備
上線前做好上線準(zhǔn)備,充分準(zhǔn)備出需要提前配置的東西,同時想好 B 方案。
8. 上線后復(fù)盤
這個點(diǎn)非常重要,總結(jié)這過程中的經(jīng)驗(yàn)與不足,同時表揚(yáng)大家做了一件很牛X的事情,團(tuán)建一波 Happy 起來。
小結(jié)
以上,僅供參考。
上面的這個過程,其實(shí)是重點(diǎn)關(guān)注了 研發(fā)計劃管理 和 研發(fā)項(xiàng)目管理 ,關(guān)于 研發(fā)質(zhì)量管理 如果沒時間的話,可以上線后再制定計劃完善。
總結(jié)
以上是生活随笔為你收集整理的重构业务系统,我是这样做的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RC专题:阻容串并联电路
- 下一篇: 题目二:课程设计报告