◆劉曉霞 賈冀哲 徐嘉拓
?
關于大數據系統中的軟件工程管理方法探討
◆劉曉霞1賈冀哲2徐嘉拓2
(1.沈陽理工大學裝備工程學院 遼寧 110168;2. 東北大學軟件學院 遼寧 110819)
當前社會已進入大數據時代,應用軟件具有開發過程復雜、開發周期長及生命周期短、異構系統間信息資源共享困難、不易維護等特點?;谶@一現狀,本文提出一種基于大數據系統的軟件工程管理方法。該方法旨在面向大數據體系結構,以大數據平臺為核心建構統一的數據資源池,并以大數據—應用生態系統為基礎,實現信息系統的快速搭建與海量數據的有效管理。
大數據;系統;軟件工程;管理;方法
大數據時代,信息具有冗余化、海量化特征。其作為應用軟件與所有信息新系統的“血液”,大數據的整個生命周期都會對軟件應用范圍、功能結構甚至軟件使用產生影響。大數據時代與傳統信息時代不同,人們更加注重大數據的安全性、價值挖據與算法研究,更多的在于關注大數據本身與數據應用[1]。在軟件工程中,人們為了解決軟件系統開發中存在的異構系統問題,通過大數據挖據與建構軟件工程管理體系,實現對軟件系統的開發與應用?;诖髷祿到y的軟件工程系統功能擴展困難,開發過程復雜,難以適應結構環境變化。因此,增加了應用軟件開發成本。基于此,本文基于“SOSE”(面向服務的軟件工程),通過DOSE、大數據生態系統與數據資源池技術進行軟件工程管理。
DOA是一種面向數據的體系結構,在該體系下,基于DRC(data register center)數據注冊中心這一核心部件,對大數據系統統一進行標識、定義與管理。同時,通過DAC(data authority center)數據權限中心對大數據使用權與所有權進行權限管理。數據資源池中的數據需由DEC(data exception controlcenter)異??刂浦行倪M行自適應管理,以解決軟件工程開發中遇到的各種系統功能復雜、數據量龐大等問題[2]。
2010年,國外學者Forney M基于大數據概念首次提出大數據生態系統的軟件工程管理思想。其認為,大數據生態系統是一個信息系統,基于大數據生態系統進行軟件工程管理時,會經歷系統分析、系統設計、系統實施與維護這一完整的生命周期。在軟件工程開發中,大數據生態系統為應用軟件開發提供了信息“土壤”,也為軟件系統應用與維護提供了現實可能性。大數據生態系統的水平結構與垂直結構變化,使數據量劇增,也使信息實現由獲取到刪除、由應用到淘汰[3]。
邏輯數據資源池以大數據為核心,以(DRC)數據注冊中心為基礎,實現對軟件工程進行優化管理:
一是基于DRC(數據注冊中心)對大數據進行邏輯管理。
在邏輯資源池中,所有大數據均要經過DRC注冊,并按統一標準對數據資源進行標識與規范化處理,減少數據冗余,記錄不同數據狀態、屬主信息、數據大小、存儲地址等屬性信息。最后,數據注冊中心會將注冊后的源數據存儲至邏輯數據資源池中統一管理。為用戶提供數據定位與數據搜索等服務。
二是DEC(數據異??刂浦行?與DAC(數據權限中心)協同對應用軟件系統進行維護。
DAC主要負責對用戶權限信息與角色進行管理,并采用加密技術結合大數據狀態對其加密與解密處理。DOA定義下的大數據具有應用態(大數據在應用時授權解密)與數據態(大數據在傳輸與存儲時加密)兩種形態;而DEC主要負責對軟件工程元數據等進行維護,并負責檢測與控制數據資源池發生的異常。
(1)以DRC為基礎
DOA是基于大數據系統的軟件工程管理核心基礎,DOSE系統以DOA為架構,DRC可通過物理數據資源池及邏輯數據資源池對軟件工程開發與應用軟件系統服務中產生的各類數據進行存儲。
(2)業務邏輯與數據邏輯實現轉化
在DOSE體系下,一個完整的數據邏輯過程是指數據資源池中某個數據的一次讀寫操作;一個或多個數據邏輯構成一個DOSE業務邏輯。通過數據導向可詳細對用戶軟件工程開發需求進行了解;而數據邏輯可進一步對應用軟件系統開發過程進行細化。
(3)大數據生態、可持續
DOSE系統中,應用工具、應用需求及數據都有生命周期。若將所有數據比作“土壤”,應用比作“森林”或“樹木”,整個大數據生態系統為可持續、永恒、生態的軟件工程管理系統。
(1)大數據注冊標注統一化
①通過統一的標準對大數據注冊、定義;
②采用數據邏輯資源池進行數據管理,使同一數據存儲于多個空間;
③ 以統一協議在統一平臺下或數據注冊中心進行數據交換。
(2)大數據驅動應用
在軟件工程管理中,要使業務邏輯與數據邏輯產生關聯。通過大數據驅動,基于數據土壤,對大數據進行需求分析,搭建應用森林,實現對整個軟件工程進行驅動管理。
(3)數據與應用有效協調
通過在大數據與應用軟件間構建完善的協調機制,基于大數據可獲得更多需求;也可基于基本功能單元實現對整個軟件工程中的應用軟件進行管理,結合用戶頻繁的需求變換,延長應用軟件價值生命周期。
下圖1為基于DOSE架構的完整生命周期:

圖1 完整生命周期
K-NN分類算法(K-Nearest Neighbor)基本應用思路[4]:當給定一個新的文本后,找出在訓練集中與該文本最相似的K篇文本,然后結合其所屬具體類別,對新文本所屬類別進行判斷。具體如下:
(1) 分別輸入分類體系C與訓練集d及待分類文本d′,輸出待分類文本的具體類別;
(2) 預處理待分類本文。采用公式對待分類文本權重進行計算,并通過向量 V(d′) 表示待分類文本;

(3) 在訓練文本集中選出K個與新文本最相近的文本,并通過如下公式計算文本的初始值;
在新文本的K個鄰居中,采用如下公式對每一類文本的具體權重進行計算:

式中:
在上式中,若屬于類,則函數值=1,否則函數值=0。
(4)對類的權重進行比較,向權重最大的那個類別分配文本。
大數據時代,數據冗余化對軟件工程開發與應用軟件系統維護提出了巨大挑戰。在大數據環境下,應著力開發安全、高效、健壯的軟件,除了需要得到DOSE等技術的支持外,更要建構一套統一、完整的軟件管理方法標準,實現對軟件數據的挖據與軟件工程的集約化、安全化管理。
[1]王建民.領域大數據應用開發與運行平臺技術研究[J].軟件學報,2017.
[2]孟春蕾,范廣露,李家怡等.產品質量管理中的大數據技術應用分析[J].電子質量,2017.
[3]徐良.面向數據的軟件工程方法研究[J].電腦知識與技術,2016.
[4]苗放.面向數據的軟件體系結構初步探討[J].計算機科學與探索,2016.