許多長期運作的系統仍提供重要功能,卻因文件不足、缺少測試、相依關係混亂或技術停止支援,逐漸難以理解、修改與部署。這類系統通常稱為遺留系統(Legacy System)。
本系列以「重新設計並建置目標系統,最終替換遺留系統」為主線,內容涵蓋需求與範圍確認、舊系統分析、目標設計、功能重新實作、測試、正式切換及舊系統退場。
系列不預設特定框架或架構,適合正在維護長期運作系統、準備替換既有系統,或希望建立完整重構流程的開發與維護人員閱讀。
甚麼是遺留系統(Legacy System)? 遺留系統是指具有 「系統架構不清晰」、「難以維護及修改」、「缺乏測試流程」、「難以遷移及部署」 等性質的系統。這...
重構遺留系統需要做哪些事? 全面重構遺留系統涵蓋從既有系統移轉至目標系統的所有必要工作。建立新專案、遷移既有程式碼與替換正式環境只完成其中一部分,重構工作還可能...
遺留系統需要重構哪些部分? 全面重構的範圍涵蓋目標系統接手遺留系統所需的功能、系統規則、輸入輸出、保存狀態、相依項目、執行設定與維護方式。範圍需要保留仍有需求的...
這個遺留系統在做甚麼? 前一章已經確認目標系統需要接手的範圍,但功能名稱與程式目錄不足以說明遺留系統(Legacy System)實際如何運作。相同名稱的功能可...
如何建立不會影響正式環境的重構環境? 前一章已經分析遺留系統的功能、資料變化與相依關係。接下來要建立獨立的重構工作環境,讓開發人員可以重現問題、修改程式,並且驗...
遺留系統需要保留哪些資料? 前一章已經建立與正式環境隔離的重構環境,讓開發人員可以在不影響現行運作的情況下分析資料。接下來需要確認遺留系統保存了哪些資料、這些資...
如何遷移遺留資料庫的資料? 前一章已經確認哪些資料需要遷移、封存、保留查詢或刪除。接下來需要將核准遷移的資料放入目標資料庫,並且保留資料含義、關係與必要的歷史內...
系統重構應該使用甚麼開發技術? 前面已經確認全面重構的範圍、既有系統行為、保留資料及遷移方式。接下來要為目標系統選擇程式語言、框架(Framework)、資料保...
如何讓團隊使用一致的開發環境? 前一章已經選定目標系統使用的程式語言、框架、測試工具與建置工具。多人開始實作前,還要把這些選擇轉換成共同的開發環境。只有版本名稱...
如何管理函式庫與套件? 前一章已經把程式語言、套件管理工具與其他開發工具納入共同環境。環境可以重建之後,還要進一步管理目標系統使用的外部程式碼。只記住安裝指令,...