前一章已經建立與正式環境隔離的重構環境,讓開發人員可以在不影響現行運作的情況下分析資料。接下來需要確認遺留系統保存了哪些資料、這些資料目前有甚麼用途,以及目標系統是否仍然需要它們。
直接搬走所有內容,可能把重複、錯誤或已失去用途的資料一併帶入目標系統,也會擴大敏感資料的保存範圍。只按照資料的建立時間或檔案名稱刪除,則可能破壞功能、歷史查詢或必要的保存責任。每一項資料都需要有明確用途、處理方式與確認結果。
本章要將資料分成四種處理方式:
這項分類會成為後續資料模型設計、資料轉換、遷移驗證與既有系統退場的共同依據。
資料的保存位置與格式無法單獨說明它的重要性。同一份資料可能散落在保存狀態、檔案、輸出結果與外部相依項目中;名稱相近的內容也可能代表不同時間點或不同規則。確認範圍時,應該從已經列出的功能與資料流向反向追查:
可以從先前整理出的功能規格、資料流向、保存狀態與相依關係開始,再使用程式碼、實際資料、執行紀錄及現有文件交叉確認。檔名、欄位名稱或註解只能作為線索。如果實際內容與名稱不一致,應該記錄差異並找出能確認資料用途的人員。
如果相同內容存在多份副本,需要分別記錄主要來源、產生方式與使用對象。可以從其他資料重新產生的內容,未必需要遷移。無法重新產生但仍有用途的結果,則需要納入保存範圍。
先按照用途分類,可以降低只檢查單一保存方式而遺漏資料的風險。實際系統不一定具備下列所有類型,應該按照已確認的功能與組成項目選用。
| 資料類型 | 需要確認的內容 | 常見遺漏 |
|---|---|---|
| 功能資料 | 目前狀態、處理中的內容、計算基礎及功能輸出 | 只保留最後結果,遺漏繼續處理所需的中間狀態 |
| 基礎與參照資料 | 分類、代碼、規則參數、對照內容及有效期間 | 保留代碼值,卻遺漏代碼含義或版本 |
| 歷史紀錄 | 狀態變更、處理歷程、錯誤結果及過往輸出 | 只看近期內容,未確認較早資料的查詢與保存用途 |
| 稽核紀錄 | 重要操作、資料異動、執行時間及必要的來源資訊 | 保留結果,卻無法還原變更順序或判斷內容來源 |
| 檔案與其他非結構化資料 | 附件、圖片、匯出檔、文件範本及其關聯資訊 | 保留檔案本身,卻遺漏檔名規則、對應關係或版本 |
| 系統設定 | 會影響功能結果的參數、開關、排程內容及外部互動規則 | 只保存程式碼,未保留執行時才提供的規則 |
如果系統具備身分識別或存取限制,相關識別資料、角色對應與驗證資訊也需要另行列出。這些內容的處理方式與一般功能資料不同,不能因為目標系統需要登入功能,就直接複製所有既有驗證資訊。
只有資料內容,未必足以讓目標系統正確解讀。例如,數字 1 可能代表啟用狀態、分類代碼或處理順序;日期可能使用不同時區或只記錄到日期;空白值也可能分別代表未知、不適用或尚未處理。這些差異如果沒有記錄,後續轉換時就容易把有效資料改成錯誤結果。
每一類準備保留的資料,至少需要補充下列資訊:
這些資訊可以整理成資料字典、代碼對照表與關係說明。它們不一定會成為目標系統直接處理的資料,卻是設計目標資料結構、撰寫轉換規則及驗證遷移結果的必要依據。
四種處理方式代表不同目的與後續責任,不能只用「保留」概括。判斷時需要同時考慮功能用途、相依關係、保存要求、資料品質與敏感程度。
| 處理方式 | 適用情況 | 必須確認的結果 |
|---|---|---|
| 遷移 | 目標系統的功能、規則或輸出仍會使用這項資料 | 遷移範圍、時間區間、資料關係及驗證條件均已記錄 |
| 封存 | 日常功能不再使用,但在一段期間內仍有保存責任 | 保存期限、保存格式、保護方式、取回程序及期限結束後的處理方式均已確認 |
| 保留查詢 | 仍需要查看既有內容,但目標系統不會繼續修改 | 可查詢的對象、查詢範圍、查閱方式、回應需求及停止提供的條件均已確認 |
| 刪除 | 已無功能、查詢、外部相依或保存用途 | 影響範圍、相關副本、核准人員、執行時機及完成紀錄均已確認 |
同一類資料可以按照時間或狀態採用不同方式。例如,近期內容由目標系統繼續處理,較早內容只提供查詢,更早且仍有保存責任的內容則封存。切分條件需要寫成可以執行與驗證的規則,避免只使用「近期」或「重要資料」等無法判斷的描述。
資料品質問題也不會自動決定資料去留。仍被功能或規範要求使用的錯誤資料,需要先記錄問題與核准的處理方式;沒有用途的完整資料,也不需要只因內容齊全就遷移。無法立即確認的資料可以暫列為待決定,但必須記錄確認人員與完成期限。
個人資料、機密內容及其他敏感資訊會提高複製、保存與查閱的風險。列出這些資料時,只記錄類型、位置、用途與保護需求,不要把實際內容貼入清單、文件或執行紀錄。
如果系統保存密碼、權杖(Token)、憑證(Credential)或私密金鑰(Private Key),這些資訊不能視為一般設定直接搬移:
如果保存內容包含敏感資訊,保存位置需要符合組織核准的用途與保護要求,並且視實際風險採用加密、存取限制、查閱紀錄及期限管理。內部或敏感內容不應該放在私人儲存空間。為分析或測試建立的副本,也需要移除不必要的敏感內容,並在用途結束後按照既定期限清除。
保存期限與處理方式需要符合適用規範、契約與組織要求。無法確認時,先交由負責該資料或規範的人員判斷,不要自行設定期限或直接刪除。
資料保留清單需要讓後續人員知道要處理哪些內容、為甚麼這樣處理,以及如何確認結果。每一列代表一個能採用相同決策與期限的資料範圍;同一來源內需要不同處理方式的內容,應該拆成不同項目。
| 欄位 | 記錄內容 |
|---|---|
| 資料項目與範圍 | 名稱、內容說明、時間區間、狀態條件及預估數量 |
| 主要來源與副本 | 主要保存位置、其他副本、產生方式及更新關係 |
| 使用目的 | 讀取或修改資料的功能、輸出、外部相依及查詢需求 |
| 資料負責人 | 能確認資料含義、用途與保存責任的人員 |
| 敏感程度 | 敏感內容類型、必要保護方式及可查閱範圍 |
| 品質與關係 | 缺漏、重複、錯誤、識別內容及與其他資料的關係 |
| 處理決策 | 遷移、封存、保留查詢或刪除,以及採用該決策的理由 |
| 保存期限 | 起算條件、期限、到期後處理方式及適用依據 |
| 驗證條件 | 數量、關係、抽樣內容、可讀性或刪除完成的確認方式 |
| 決策紀錄 | 核准人員、核准日期、待確認事項及變更原因 |
「資料負責人」是能確認資料含義與使用責任的人員,不代表由一個人完成所有技術處理。「核准人員」則需要有權決定保留期限與刪除方式;兩者可能是不同角色。責任不清楚時,先記錄目前能確認的來源與待決定事項,避免讓暫時推測成為正式決策。
清單完成後,還需要確認每項決策可以實際執行。可以選取具代表性的內容進行取回與解讀,確認保存的資料、結構說明與關係資訊足以回答原本的查詢需求。只留下無法開啟的格式、缺少對照內容的代碼,或需要依靠特定人員記憶才能解讀,都不算完成保存。
刪除前應該重新檢查功能、外部相依、歷史查詢與保存要求,並取得核准。刪除範圍也要包含為分析、測試、轉換或傳遞而建立的副本與暫存內容。執行後記錄處理時間、範圍、結果與例外項目,讓既有系統退場時可以確認沒有遺留不受管理的資料。
完成本章工作後,資料保留清單應該能回答下列問題:
如果其中一項仍無法回答,就將它保留在待確認清單,不要直接進入刪除或正式遷移。後續章節會使用已核准的遷移範圍與資料解讀資訊,建立來源與目標之間的對應、轉換及驗證方式。