黃敏珍 王璐璐 林曉蕾 李一丹
(1.中國鐵道科學研究院集團有限公司電子計算技術研究所,北京 100081; 2.國家鐵路智能運輸系統工程技術研究中心,北京 100081; 3.北京市人大常委會,北京 101169)
大數據、物聯網、人工智能、區塊鏈等技術的融合應用促進了各行業的數字化、智慧化轉型升級,不斷推動數字經濟向前發展。特別是隨著大數據技術的快速發展,數據成為重要資源。數據尤其是大數據的重要性已成為社會共識,相關人員對大數據技術、數據治理和數據生命周期管理等開展了大量研究,但數據生命周期管理與項目管理之間的關系、如何將數據生命周期管理的理念融入軟件研發生命周期成為項目管理實踐中常見的問題。
近年來,國內外學者開展了大量關于數據生命周期管理理論的研究,并提出了各種數據生命周期的模型。不同的業務場景有不同的數據生命周期模型,而數據來源于信息系統,所以信息系統的研發過程對數據的影響十分重要。本文從軟件研發的角度分析各個環節存在的問題,將數據生命周期和軟件生命周期理論進行融合研究,從數據生命周期管理的角度出發,研究加強軟件項目管理的策略,將數據治理理念融入軟件項目管理過程,從數據源頭上做好數據管理,從而為后期大數據應用以及信息系統從信息化向數字化、智能化轉型奠定良好的數據基礎。
數據生命周期模型不固定,國外學者從質量、安全、生態、政府數據開放等不同的角度出發,提出了各種不同的生命周期模型。例如,1993年,Levitin等[1]基于數據質量的角度,提出了數據質量生命周期包括數據生產、數據存儲、數據檢索、數據使用4個階段;2010年,Yu等[2]從數據安全的角度,提出了針對云數據的數據安全生命周期包括數據生產、數據存儲、數據使用、數據分享、數據存檔、數據銷毀6個階段;2014年,Ruegg等[3]從強調數據管理對生態學研究重要性的角度,將數據生命周期劃分為數據計劃、數據收集、數據質量確保和控制、數據分析、數據描述、數據保存、數據整合和再次分析8個階段;2015年,Goben等[4]提出了數據生命周期模型包括數據識別、數據數字化、數據清洗、數據描述、數據存儲、數據分享和數據分析7個階段;2016年,Charalabidis等[5]從開放政府數據角度,提出了開放政府數據生命周期模型包括創建、預處理、策劃、存儲/獲取、發布、檢索、處理、使用和用戶協作9個階段。
國內學者也對數據生命周期模型進行了大量研究。例如,黃如花等[6]構建的政府數據生命周期模型包括數據創建與采集、數據組織與處理、數據存儲與發布、數據發現與獲取、數據增長與評價5個階段;丁紅發等[7]分析了政府數據開放過程中各個環節存在的數據安全和隱私保護問題,并提出相應對策;張聰叢等[8]主要研究了數據共享和使用過程中的隱私保護問題;師榮華等[9]結合數據生命周期理論,提出了圖書館可以嘗試開展的科學數據服務;李平等[10]構建了面向全生命周期的鐵路大數據安全保障技術體系;劉桂鋒等[11]構建了基于數據生命周期的高校科學數據安全內容框架;聶云貝等[12]基于數據生態鏈視角對科學數據生命周期運行過程進行了分析;劉露等[13]提出了以數據生命周期為主線的治理框架。
從國內外數據生命周期的研究來看,數據生命周期沒有統一、固定的模型,不同的角度、不同的業務場景有不同的數據生命周期模型。數據的產生往往來自信息系統,而信息系統建設也就是軟件研發的生命周期對數據的影響十分重要。
如圖1所示,軟件的生命周期包括立項、需求分析、概要設計、詳細設計、編碼、測試、運維、消亡8個階段,可簡化為系統的規劃、分析、設計、實施和運行維護5個階段,也可簡化為立項、開發、運維及消亡4個階段,開發階段又可以分為需求分析、概要設計、詳細設計、編碼、測試5個環節。

圖1 軟件生命周期各階段數據管理需求圖
軟件生命周期各階段與數據相關的內容以及可能存在的數據管理風險和問題如下:
(1)立項階段。包括項目可行性分析、立項建議、項目規劃等,主要內容有項目背景及必要性分析、立項依據、建設目標、系統架構、系統功能、信息資源共享、風險分析、安全措施、進度計劃、投資估算、效益分析等。這一階段的數據管理需要規劃各系統間的數據關系、數據資源共享、數據安全管理、數據風險分析和評估等。
(2)需求分析階段。需要調研各方用戶的需求,形成調研記錄,最終形成需求規格說明文件。這一階段存在著如何將用戶的需求轉化為數據模型、主要系統功能中的數據需求、數據接入要求、數據接入規范、各系統間關聯關系等與數據相關的內容。
(3)概要設計階段。設計人員根據需求規格說明文件進行設計,包括數據表設計,數據接口設計,每個表的字段名稱、長度、類型設計,各個表之間的主從關系、一對一關系、多對一關系設計,可以用相關的工具軟件設計出數據模型。從數據管理的維度看,存在元數據、主數據、參考數據的設計和規范制定等問題。
(4)詳細設計階段。詳細設計是概要設計的深入,將上一階段的數據概念模型、邏輯模型轉化為具體的物理模型,包括詳細制定數據標準、數據模型、元數據、業務規則、參考數據、安全規范等與數據相關的一系列內容。
(5)編碼階段。該階段的主要任務是研發系統頁面,涉及接入數據格式是否規范、錄入或接入的數據是否需要進行校驗。該階段數據管理執行的質量將對數據的完整性、唯一性、實時性、有效性、準確性和一致性產生根本性影響,執行不到位將影響數據質量,增加數據處理和清洗的難度和工作量等,如果將不準確的數據錄入系統還會影響后期數據利用。
(6)測試階段。該階段的主要任務是對比之前相關的設計文件,對系統進行功能測試、安全測試和性能測試,測試案例設計是否全面合理,并對數據的質量進行把關和檢測,如頁面字段的測試要進行數據的唯一性、準確性等方面的檢測,業務流程的設計要覆蓋整個流程和各個路徑,檢測數據的實時性、一致性等方面的內容。安全測試涉及數據的接入和共享等方面的安全。性能測試即壓力測試,在測試系統最大并發壓力的情況下,還要測試相關的回滾策略是否會造成臟數據的生成等內容。
(7)運維階段。該階段又分為實施與運維,系統經過測試正式上線試運行穩定后,即進入運維階段。系統是否按照設計好的網絡架構和安全架構方案實施,關系到數據傳輸過程是否安全、數據是否完整備份等。另外,在系統運維階段發現系統問題時需進行漏洞修復,此過程將涉及數據結構的變更、數據接口的變更和相應相關數據設計文件的及時更新等問題。
(8)消亡階段。從軟件研發的角度,系統消亡很少被提及,因為系統消亡則意味著所有操作終止。但從數據管理的角度則不然,因為一旦系統消亡過程中的數據處理不當,將造成數據泄漏、隱私保護、安全等方面的問題。
上文提及,數據的全生命周期沒有統一、固定的模型。從軟件研發過程的角度來看,可將數據的全生命周期分為數據創建、數據傳輸、數據存儲、數據處理、數據使用或共享、數據銷毀6個關鍵階段。數據創建與軟件研發項目的立項、需求分析、概要設計、詳細設計、編碼等階段緊密相關;數據傳輸與概要設計、詳細設計階段的聯系最為緊密;數據存儲與系統運維階段的聯系比較緊密;數據使用或共享與系統運維相關;數據處理往往與大數據相聯系,將系統的數據導入大數據平臺涉及數據清洗、數據導入、數據分析和數據可視化等;數據銷毀與系統運維、系統消亡階段的關聯較多。當然,數據生命周期與軟件生命周期之間的關聯關系不是絕對的,只是某些環節之間的聯系比較緊密。將數據生命周期與軟件生命周期相結合,能夠將數據管理理念更好地融入項目管理實踐,從傳統“囚籠式管控”轉向伴隨數據流動“主動防治”的動態思維的方式[13],黃敏珍等[14]對數據資產與項目管理實踐也進行了融合應用研究。
數據生命周期管理策略如圖2所示,具體內容如下:

圖2 數據生命周期管理策略
(1)在數據創建階段,對數據創建過程進行管理,為后續各階段的數據使用奠定基礎。數據創建過程較為復雜,如結構化數據的創建過程包括表的設計、系統數據的錄入;非機構化數據的創建,如視頻文件,包括終端視頻接入、數據格式的標準與規范等。這一階段需要根據不同的系統和不同的數據類型制定相關數據規范性文件,嚴格按照統一的規范和標準進行數據構建。在軟件項目的需求、設計評審階段,專家組成員中須包括數據管理專家,對數據的規范性進行專門的審核和把關,在數據設計的源頭上做好數據規范性管理。
(2)數據傳輸是非常關鍵的一環,尤其是要保證數據傳輸過程的安全。在項目的設計階段就要設計好數據安全傳輸機制,如利用數據加密技術預先制定機密策略,選擇加密算法、強度和加密對象,根據加密策略對數據傳輸兩端的數據庫分發密鑰,從而建立加密傳輸通道進行數據傳輸,之后進行解密存儲和校驗。另外,可利用可信執行環境(Trusted Execution Environment,TEE)、多方安全計算(Secure Multi-Party Computation,MPC)、聯邦學習(Federated Learning,FL)等隱私計算技術加強數據傳輸過程中的隱私保護。
(3)數據存儲也比較復雜,涉及存儲的機房條件、服務器的選型、存儲安全防護等一系列問題。在這一階段,尤其要重視數據安全與數據隱私保護。在數據安全方面,對系統進行分級分類,利用數據加密、軟硬件數據保護、備份、數據屏蔽等技術加強數據的安全管理,防止非授權用戶破壞,防止數據泄露或網絡攻擊;在數據隱私保護方面,分析系統涉及的個人身份信息或敏感信息,對敏感度進行分級管理,如對個人身份信息、財產信息、生物識別信息和網頁瀏覽記錄等行為軌跡信息進行嚴格管理,利用相關加密或脫敏技術進行管理。
(4)在數據處理階段,需要進行數據處理的場景較多,包括一個系統內升級遷移過程中的數據處理、多源數據處理和大數據匯集處理。在系統升級遷移過程中,涉及升級前后歷史數據的處理。在制訂遷移方案的過程中,需要明確歷史數據的處理方式并進行評審;在多源數據處理方面,對于有些系統,如果數據接入渠道比較多,包括各種終端,有可能造成數據不一致的情況,需要做好數據接入的規范化處理;在大數據匯集處理方面,通過各種數據匯集、清洗工具處理異常數據或者不準確、不唯一的數據,做好數據清洗、數據導入、數據分析和數據可視化等。
(5)在數據使用或共享階段,數據的使用不僅包括系統內部的訪問與使用,還包括對外的開放和共享。首先,梳理數據開放與數據共享的定義,世界銀行定義的開放數據是:“能被任何人出于任何目的、不受限制地進行自由利用、再利用和分發,并最大限度保持其原始出處和開放性的數據”。而數據共享比數據開放更封閉,是在特定條件下的不同實體間進行數據的交換和利用。其次,對共享數據進行分類管理(可分為不可共享、僅內部共享和外部共享等),以及嚴格的審批管理和全生命周期管控。
(6)在數據回收或銷毀階段,針對超過保留期限或經確認已失去價值的數據制定相關的回收機制。數據的回收或銷毀可分為5類:
①數據的技術性要求。例如,在數據的采集、匯集、遷移、導入等過程中有多個數據源,存在數據重復、噪聲數據等問題,需要根據實際情況進行數據梳理、清洗、刪除等操作。
②相關方的數據清理要求。例如,針對個人隱私數據的刪除、過時信息的清理等,可以按照實際情況制定合理合規的數據清理規范。
③時效性數據的歸檔和銷毀。系統數據的時效性和存儲資源是有限的,需要根據企業的實際情況進行數據的分級分類,針對保存時間、銷毀方式和歸檔方式制定統一的規范要求和標準。
④系統消亡過程的數據清理。對于老舊系統中的數據,需要分析數據的保存時間要求,制定數據歸檔或者導入新系統相關標準。對于徹底無用的數據,需制定相關的銷毀流程和規范。
⑤保密數據銷毀。對保密數據的銷毀須嚴格按照相關保密要求進行物理上的徹底銷毀,或者按照相關要求進行歸檔后按照秘密等級進行有效的管理。
數據是數字經濟的基礎要素,做好數據治理和數據生命周期管理是關鍵的基礎性工作。本文在研究數據生命周期模型的基礎上,分析了軟件研發生命周期各個環節可能產生的數據管理需求,對數據生命周期與軟件生命周期進行了融合應用研究,分析了數據創建、數據傳輸、數據存儲、數據處理、數據使用或共享、數據銷毀6個關鍵階段與軟件生命周期之間的聯系,并提出了各個階段的數據管理策略和思路,從而將數據生命周期管理理念融入軟件研發過程,從根源上提高數據質量,促進數字經濟與實體經濟的融合發展。