黃敏珍 王璐璐 林曉蕾 李一丹
(1.中國鐵道科學研究院集團有限公司電子計算技術(shù)研究所,北京 100081; 2.國家鐵路智能運輸系統(tǒng)工程技術(shù)研究中心,北京 100081; 3.北京市人大常委會,北京 101169)
大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、區(qū)塊鏈等技術(shù)的融合應用促進了各行業(yè)的數(shù)字化、智慧化轉(zhuǎn)型升級,不斷推動數(shù)字經(jīng)濟向前發(fā)展。特別是隨著大數(shù)據(jù)技術(shù)的快速發(fā)展,數(shù)據(jù)成為重要資源。數(shù)據(jù)尤其是大數(shù)據(jù)的重要性已成為社會共識,相關人員對大數(shù)據(jù)技術(shù)、數(shù)據(jù)治理和數(shù)據(jù)生命周期管理等開展了大量研究,但數(shù)據(jù)生命周期管理與項目管理之間的關系、如何將數(shù)據(jù)生命周期管理的理念融入軟件研發(fā)生命周期成為項目管理實踐中常見的問題。
近年來,國內(nèi)外學者開展了大量關于數(shù)據(jù)生命周期管理理論的研究,并提出了各種數(shù)據(jù)生命周期的模型。不同的業(yè)務場景有不同的數(shù)據(jù)生命周期模型,而數(shù)據(jù)來源于信息系統(tǒng),所以信息系統(tǒng)的研發(fā)過程對數(shù)據(jù)的影響十分重要。本文從軟件研發(fā)的角度分析各個環(huán)節(jié)存在的問題,將數(shù)據(jù)生命周期和軟件生命周期理論進行融合研究,從數(shù)據(jù)生命周期管理的角度出發(fā),研究加強軟件項目管理的策略,將數(shù)據(jù)治理理念融入軟件項目管理過程,從數(shù)據(jù)源頭上做好數(shù)據(jù)管理,從而為后期大數(shù)據(jù)應用以及信息系統(tǒng)從信息化向數(shù)字化、智能化轉(zhuǎn)型奠定良好的數(shù)據(jù)基礎。
數(shù)據(jù)生命周期模型不固定,國外學者從質(zhì)量、安全、生態(tài)、政府數(shù)據(jù)開放等不同的角度出發(fā),提出了各種不同的生命周期模型。例如,1993年,Levitin等[1]基于數(shù)據(jù)質(zhì)量的角度,提出了數(shù)據(jù)質(zhì)量生命周期包括數(shù)據(jù)生產(chǎn)、數(shù)據(jù)存儲、數(shù)據(jù)檢索、數(shù)據(jù)使用4個階段;2010年,Yu等[2]從數(shù)據(jù)安全的角度,提出了針對云數(shù)據(jù)的數(shù)據(jù)安全生命周期包括數(shù)據(jù)生產(chǎn)、數(shù)據(jù)存儲、數(shù)據(jù)使用、數(shù)據(jù)分享、數(shù)據(jù)存檔、數(shù)據(jù)銷毀6個階段;2014年,Ruegg等[3]從強調(diào)數(shù)據(jù)管理對生態(tài)學研究重要性的角度,將數(shù)據(jù)生命周期劃分為數(shù)據(jù)計劃、數(shù)據(jù)收集、數(shù)據(jù)質(zhì)量確保和控制、數(shù)據(jù)分析、數(shù)據(jù)描述、數(shù)據(jù)保存、數(shù)據(jù)整合和再次分析8個階段;2015年,Goben等[4]提出了數(shù)據(jù)生命周期模型包括數(shù)據(jù)識別、數(shù)據(jù)數(shù)字化、數(shù)據(jù)清洗、數(shù)據(jù)描述、數(shù)據(jù)存儲、數(shù)據(jù)分享和數(shù)據(jù)分析7個階段;2016年,Charalabidis等[5]從開放政府數(shù)據(jù)角度,提出了開放政府數(shù)據(jù)生命周期模型包括創(chuàng)建、預處理、策劃、存儲/獲取、發(fā)布、檢索、處理、使用和用戶協(xié)作9個階段。
國內(nèi)學者也對數(shù)據(jù)生命周期模型進行了大量研究。例如,黃如花等[6]構(gòu)建的政府數(shù)據(jù)生命周期模型包括數(shù)據(jù)創(chuàng)建與采集、數(shù)據(jù)組織與處理、數(shù)據(jù)存儲與發(fā)布、數(shù)據(jù)發(fā)現(xiàn)與獲取、數(shù)據(jù)增長與評價5個階段;丁紅發(fā)等[7]分析了政府數(shù)據(jù)開放過程中各個環(huán)節(jié)存在的數(shù)據(jù)安全和隱私保護問題,并提出相應對策;張聰叢等[8]主要研究了數(shù)據(jù)共享和使用過程中的隱私保護問題;師榮華等[9]結(jié)合數(shù)據(jù)生命周期理論,提出了圖書館可以嘗試開展的科學數(shù)據(jù)服務;李平等[10]構(gòu)建了面向全生命周期的鐵路大數(shù)據(jù)安全保障技術(shù)體系;劉桂鋒等[11]構(gòu)建了基于數(shù)據(jù)生命周期的高??茖W數(shù)據(jù)安全內(nèi)容框架;聶云貝等[12]基于數(shù)據(jù)生態(tài)鏈視角對科學數(shù)據(jù)生命周期運行過程進行了分析;劉露等[13]提出了以數(shù)據(jù)生命周期為主線的治理框架。
從國內(nèi)外數(shù)據(jù)生命周期的研究來看,數(shù)據(jù)生命周期沒有統(tǒng)一、固定的模型,不同的角度、不同的業(yè)務場景有不同的數(shù)據(jù)生命周期模型。數(shù)據(jù)的產(chǎn)生往往來自信息系統(tǒng),而信息系統(tǒng)建設也就是軟件研發(fā)的生命周期對數(shù)據(jù)的影響十分重要。
如圖1所示,軟件的生命周期包括立項、需求分析、概要設計、詳細設計、編碼、測試、運維、消亡8個階段,可簡化為系統(tǒng)的規(guī)劃、分析、設計、實施和運行維護5個階段,也可簡化為立項、開發(fā)、運維及消亡4個階段,開發(fā)階段又可以分為需求分析、概要設計、詳細設計、編碼、測試5個環(huán)節(jié)。
圖1 軟件生命周期各階段數(shù)據(jù)管理需求圖
軟件生命周期各階段與數(shù)據(jù)相關的內(nèi)容以及可能存在的數(shù)據(jù)管理風險和問題如下:
(1)立項階段。包括項目可行性分析、立項建議、項目規(guī)劃等,主要內(nèi)容有項目背景及必要性分析、立項依據(jù)、建設目標、系統(tǒng)架構(gòu)、系統(tǒng)功能、信息資源共享、風險分析、安全措施、進度計劃、投資估算、效益分析等。這一階段的數(shù)據(jù)管理需要規(guī)劃各系統(tǒng)間的數(shù)據(jù)關系、數(shù)據(jù)資源共享、數(shù)據(jù)安全管理、數(shù)據(jù)風險分析和評估等。
(2)需求分析階段。需要調(diào)研各方用戶的需求,形成調(diào)研記錄,最終形成需求規(guī)格說明文件。這一階段存在著如何將用戶的需求轉(zhuǎn)化為數(shù)據(jù)模型、主要系統(tǒng)功能中的數(shù)據(jù)需求、數(shù)據(jù)接入要求、數(shù)據(jù)接入規(guī)范、各系統(tǒng)間關聯(lián)關系等與數(shù)據(jù)相關的內(nèi)容。
(3)概要設計階段。設計人員根據(jù)需求規(guī)格說明文件進行設計,包括數(shù)據(jù)表設計,數(shù)據(jù)接口設計,每個表的字段名稱、長度、類型設計,各個表之間的主從關系、一對一關系、多對一關系設計,可以用相關的工具軟件設計出數(shù)據(jù)模型。從數(shù)據(jù)管理的維度看,存在元數(shù)據(jù)、主數(shù)據(jù)、參考數(shù)據(jù)的設計和規(guī)范制定等問題。
(4)詳細設計階段。詳細設計是概要設計的深入,將上一階段的數(shù)據(jù)概念模型、邏輯模型轉(zhuǎn)化為具體的物理模型,包括詳細制定數(shù)據(jù)標準、數(shù)據(jù)模型、元數(shù)據(jù)、業(yè)務規(guī)則、參考數(shù)據(jù)、安全規(guī)范等與數(shù)據(jù)相關的一系列內(nèi)容。
(5)編碼階段。該階段的主要任務是研發(fā)系統(tǒng)頁面,涉及接入數(shù)據(jù)格式是否規(guī)范、錄入或接入的數(shù)據(jù)是否需要進行校驗。該階段數(shù)據(jù)管理執(zhí)行的質(zhì)量將對數(shù)據(jù)的完整性、唯一性、實時性、有效性、準確性和一致性產(chǎn)生根本性影響,執(zhí)行不到位將影響數(shù)據(jù)質(zhì)量,增加數(shù)據(jù)處理和清洗的難度和工作量等,如果將不準確的數(shù)據(jù)錄入系統(tǒng)還會影響后期數(shù)據(jù)利用。
(6)測試階段。該階段的主要任務是對比之前相關的設計文件,對系統(tǒng)進行功能測試、安全測試和性能測試,測試案例設計是否全面合理,并對數(shù)據(jù)的質(zhì)量進行把關和檢測,如頁面字段的測試要進行數(shù)據(jù)的唯一性、準確性等方面的檢測,業(yè)務流程的設計要覆蓋整個流程和各個路徑,檢測數(shù)據(jù)的實時性、一致性等方面的內(nèi)容。安全測試涉及數(shù)據(jù)的接入和共享等方面的安全。性能測試即壓力測試,在測試系統(tǒng)最大并發(fā)壓力的情況下,還要測試相關的回滾策略是否會造成臟數(shù)據(jù)的生成等內(nèi)容。
(7)運維階段。該階段又分為實施與運維,系統(tǒng)經(jīng)過測試正式上線試運行穩(wěn)定后,即進入運維階段。系統(tǒng)是否按照設計好的網(wǎng)絡架構(gòu)和安全架構(gòu)方案實施,關系到數(shù)據(jù)傳輸過程是否安全、數(shù)據(jù)是否完整備份等。另外,在系統(tǒng)運維階段發(fā)現(xiàn)系統(tǒng)問題時需進行漏洞修復,此過程將涉及數(shù)據(jù)結(jié)構(gòu)的變更、數(shù)據(jù)接口的變更和相應相關數(shù)據(jù)設計文件的及時更新等問題。
(8)消亡階段。從軟件研發(fā)的角度,系統(tǒng)消亡很少被提及,因為系統(tǒng)消亡則意味著所有操作終止。但從數(shù)據(jù)管理的角度則不然,因為一旦系統(tǒng)消亡過程中的數(shù)據(jù)處理不當,將造成數(shù)據(jù)泄漏、隱私保護、安全等方面的問題。
上文提及,數(shù)據(jù)的全生命周期沒有統(tǒng)一、固定的模型。從軟件研發(fā)過程的角度來看,可將數(shù)據(jù)的全生命周期分為數(shù)據(jù)創(chuàng)建、數(shù)據(jù)傳輸、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)使用或共享、數(shù)據(jù)銷毀6個關鍵階段。數(shù)據(jù)創(chuàng)建與軟件研發(fā)項目的立項、需求分析、概要設計、詳細設計、編碼等階段緊密相關;數(shù)據(jù)傳輸與概要設計、詳細設計階段的聯(lián)系最為緊密;數(shù)據(jù)存儲與系統(tǒng)運維階段的聯(lián)系比較緊密;數(shù)據(jù)使用或共享與系統(tǒng)運維相關;數(shù)據(jù)處理往往與大數(shù)據(jù)相聯(lián)系,將系統(tǒng)的數(shù)據(jù)導入大數(shù)據(jù)平臺涉及數(shù)據(jù)清洗、數(shù)據(jù)導入、數(shù)據(jù)分析和數(shù)據(jù)可視化等;數(shù)據(jù)銷毀與系統(tǒng)運維、系統(tǒng)消亡階段的關聯(lián)較多。當然,數(shù)據(jù)生命周期與軟件生命周期之間的關聯(lián)關系不是絕對的,只是某些環(huán)節(jié)之間的聯(lián)系比較緊密。將數(shù)據(jù)生命周期與軟件生命周期相結(jié)合,能夠?qū)?shù)據(jù)管理理念更好地融入項目管理實踐,從傳統(tǒng)“囚籠式管控”轉(zhuǎn)向伴隨數(shù)據(jù)流動“主動防治”的動態(tài)思維的方式[13],黃敏珍等[14]對數(shù)據(jù)資產(chǎn)與項目管理實踐也進行了融合應用研究。
數(shù)據(jù)生命周期管理策略如圖2所示,具體內(nèi)容如下:
圖2 數(shù)據(jù)生命周期管理策略
(1)在數(shù)據(jù)創(chuàng)建階段,對數(shù)據(jù)創(chuàng)建過程進行管理,為后續(xù)各階段的數(shù)據(jù)使用奠定基礎。數(shù)據(jù)創(chuàng)建過程較為復雜,如結(jié)構(gòu)化數(shù)據(jù)的創(chuàng)建過程包括表的設計、系統(tǒng)數(shù)據(jù)的錄入;非機構(gòu)化數(shù)據(jù)的創(chuàng)建,如視頻文件,包括終端視頻接入、數(shù)據(jù)格式的標準與規(guī)范等。這一階段需要根據(jù)不同的系統(tǒng)和不同的數(shù)據(jù)類型制定相關數(shù)據(jù)規(guī)范性文件,嚴格按照統(tǒng)一的規(guī)范和標準進行數(shù)據(jù)構(gòu)建。在軟件項目的需求、設計評審階段,專家組成員中須包括數(shù)據(jù)管理專家,對數(shù)據(jù)的規(guī)范性進行專門的審核和把關,在數(shù)據(jù)設計的源頭上做好數(shù)據(jù)規(guī)范性管理。
(2)數(shù)據(jù)傳輸是非常關鍵的一環(huán),尤其是要保證數(shù)據(jù)傳輸過程的安全。在項目的設計階段就要設計好數(shù)據(jù)安全傳輸機制,如利用數(shù)據(jù)加密技術(shù)預先制定機密策略,選擇加密算法、強度和加密對象,根據(jù)加密策略對數(shù)據(jù)傳輸兩端的數(shù)據(jù)庫分發(fā)密鑰,從而建立加密傳輸通道進行數(shù)據(jù)傳輸,之后進行解密存儲和校驗。另外,可利用可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)、多方安全計算(Secure Multi-Party Computation,MPC)、聯(lián)邦學習(Federated Learning,F(xiàn)L)等隱私計算技術(shù)加強數(shù)據(jù)傳輸過程中的隱私保護。
(3)數(shù)據(jù)存儲也比較復雜,涉及存儲的機房條件、服務器的選型、存儲安全防護等一系列問題。在這一階段,尤其要重視數(shù)據(jù)安全與數(shù)據(jù)隱私保護。在數(shù)據(jù)安全方面,對系統(tǒng)進行分級分類,利用數(shù)據(jù)加密、軟硬件數(shù)據(jù)保護、備份、數(shù)據(jù)屏蔽等技術(shù)加強數(shù)據(jù)的安全管理,防止非授權(quán)用戶破壞,防止數(shù)據(jù)泄露或網(wǎng)絡攻擊;在數(shù)據(jù)隱私保護方面,分析系統(tǒng)涉及的個人身份信息或敏感信息,對敏感度進行分級管理,如對個人身份信息、財產(chǎn)信息、生物識別信息和網(wǎng)頁瀏覽記錄等行為軌跡信息進行嚴格管理,利用相關加密或脫敏技術(shù)進行管理。
(4)在數(shù)據(jù)處理階段,需要進行數(shù)據(jù)處理的場景較多,包括一個系統(tǒng)內(nèi)升級遷移過程中的數(shù)據(jù)處理、多源數(shù)據(jù)處理和大數(shù)據(jù)匯集處理。在系統(tǒng)升級遷移過程中,涉及升級前后歷史數(shù)據(jù)的處理。在制訂遷移方案的過程中,需要明確歷史數(shù)據(jù)的處理方式并進行評審;在多源數(shù)據(jù)處理方面,對于有些系統(tǒng),如果數(shù)據(jù)接入渠道比較多,包括各種終端,有可能造成數(shù)據(jù)不一致的情況,需要做好數(shù)據(jù)接入的規(guī)范化處理;在大數(shù)據(jù)匯集處理方面,通過各種數(shù)據(jù)匯集、清洗工具處理異常數(shù)據(jù)或者不準確、不唯一的數(shù)據(jù),做好數(shù)據(jù)清洗、數(shù)據(jù)導入、數(shù)據(jù)分析和數(shù)據(jù)可視化等。
(5)在數(shù)據(jù)使用或共享階段,數(shù)據(jù)的使用不僅包括系統(tǒng)內(nèi)部的訪問與使用,還包括對外的開放和共享。首先,梳理數(shù)據(jù)開放與數(shù)據(jù)共享的定義,世界銀行定義的開放數(shù)據(jù)是:“能被任何人出于任何目的、不受限制地進行自由利用、再利用和分發(fā),并最大限度保持其原始出處和開放性的數(shù)據(jù)”。而數(shù)據(jù)共享比數(shù)據(jù)開放更封閉,是在特定條件下的不同實體間進行數(shù)據(jù)的交換和利用。其次,對共享數(shù)據(jù)進行分類管理(可分為不可共享、僅內(nèi)部共享和外部共享等),以及嚴格的審批管理和全生命周期管控。
(6)在數(shù)據(jù)回收或銷毀階段,針對超過保留期限或經(jīng)確認已失去價值的數(shù)據(jù)制定相關的回收機制。數(shù)據(jù)的回收或銷毀可分為5類:
①數(shù)據(jù)的技術(shù)性要求。例如,在數(shù)據(jù)的采集、匯集、遷移、導入等過程中有多個數(shù)據(jù)源,存在數(shù)據(jù)重復、噪聲數(shù)據(jù)等問題,需要根據(jù)實際情況進行數(shù)據(jù)梳理、清洗、刪除等操作。
②相關方的數(shù)據(jù)清理要求。例如,針對個人隱私數(shù)據(jù)的刪除、過時信息的清理等,可以按照實際情況制定合理合規(guī)的數(shù)據(jù)清理規(guī)范。
③時效性數(shù)據(jù)的歸檔和銷毀。系統(tǒng)數(shù)據(jù)的時效性和存儲資源是有限的,需要根據(jù)企業(yè)的實際情況進行數(shù)據(jù)的分級分類,針對保存時間、銷毀方式和歸檔方式制定統(tǒng)一的規(guī)范要求和標準。
④系統(tǒng)消亡過程的數(shù)據(jù)清理。對于老舊系統(tǒng)中的數(shù)據(jù),需要分析數(shù)據(jù)的保存時間要求,制定數(shù)據(jù)歸檔或者導入新系統(tǒng)相關標準。對于徹底無用的數(shù)據(jù),需制定相關的銷毀流程和規(guī)范。
⑤保密數(shù)據(jù)銷毀。對保密數(shù)據(jù)的銷毀須嚴格按照相關保密要求進行物理上的徹底銷毀,或者按照相關要求進行歸檔后按照秘密等級進行有效的管理。
數(shù)據(jù)是數(shù)字經(jīng)濟的基礎要素,做好數(shù)據(jù)治理和數(shù)據(jù)生命周期管理是關鍵的基礎性工作。本文在研究數(shù)據(jù)生命周期模型的基礎上,分析了軟件研發(fā)生命周期各個環(huán)節(jié)可能產(chǎn)生的數(shù)據(jù)管理需求,對數(shù)據(jù)生命周期與軟件生命周期進行了融合應用研究,分析了數(shù)據(jù)創(chuàng)建、數(shù)據(jù)傳輸、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)使用或共享、數(shù)據(jù)銷毀6個關鍵階段與軟件生命周期之間的聯(lián)系,并提出了各個階段的數(shù)據(jù)管理策略和思路,從而將數(shù)據(jù)生命周期管理理念融入軟件研發(fā)過程,從根源上提高數(shù)據(jù)質(zhì)量,促進數(shù)字經(jīng)濟與實體經(jīng)濟的融合發(fā)展。