李陽
摘要:隨著計算機網絡軟件的應用和普及,當前網絡化軟件不斷發展演變,不斷滿足人們生活以及工作中出現的對網絡軟件提出的新要求,也正是基于此,網絡化軟件技術才能夠不斷發展和進步,為人們帶來更多的便利,進一步提升人們的工作效率。本文主要從用戶角度、軟件運行環境變化角度以及軟件應用模式變更三個角度分析了當前網絡化軟件自適應動態演化的動因,并介紹了在諸多動因的推動下,網絡化軟件自適應動態演化過程中各方面技術的演變發展情況,并基于此對網絡化軟件自適應動態演化技術的挑戰和發展趨勢進行分析和總結。
關鍵詞:網絡化軟件;動態演化技術;發展趨勢
演化依次最早出現于生物學領域,被用來描述同一物種不同世代之間存在的明顯差異,而這些差異出現的原因主要是源于物種生活環境發生變化,當物種生活的環境發生改變時,為了適應生存環境而進行部分特征改變。而軟件技術出現后,人們對于軟件的要求不斷提升,同時軟件所運行的硬件設施不斷優化,加之網絡環境的優化,軟件技術本身也不斷優化調整,在這樣的背景下,相關學者將演化一詞引入了軟件工程領域,用于描述軟件技術不斷發展變化的現象。而網絡化軟件則是近年來軟件技術中最為主流的一種軟件技術類型,網絡化軟件技術具備以下特征,首先網絡化軟件的生存環境主要依賴于互聯網,其次網絡化軟件的組成的基本單位為互聯網上的服務資源,最后網絡化軟件的結構和行為可以進行動態演化,能夠根據用戶后續需求變化或者軟件管理的新需求而對軟件進行一定的優化和調整。
一、網絡化軟件自適應動態演化的動因
計算機軟件在誕生之初主要是在計算機硬件中運行,其服務的對象主要是軍事領域,而隨著計算機聯網技術的出現,計算機軟件的運行環境出現了改變,計算機軟件開始在網絡化環境中運行,同時,隨著個人電腦的出現,包括計算機軟件在內的相關計算機技術開始用于民用、商用領域,其服務對象發生了較大的改變,且在不同的領域對于計算機軟件的功能需求和應用模式存在一定的差異,在這樣的背景下,網絡化軟件出現,為了滿足不同用戶的需求、軟件運行環境的變遷以及軟件應用模式的變更,網絡化軟件出現了自適應動態演化的特征。
(一)用戶需求的變化
隨著人們生活水平的提升,計算機以及計算機軟件已經被我國大多數民眾所使用,在民眾使用的計算機軟件的過程中,對于相關軟件的功能要求也在不斷提升,以拍照軟件為例,在拍照軟件出現早期,人們滿足于手機拍照軟件能夠代替相機,能夠為人們帶來便捷的拍照使用體驗,然而隨著相關手機拍照軟件功能的普及,人們開始對手機拍照軟件提出了更高的要求,希望手機拍照能夠提供更加清晰的圖片,由此手機拍照軟件進一步發展,而此后,人們產生了愛美的需求,手機拍照軟件進一步優化調整,出現了諸多帶有美顏功能的拍照軟件,為用戶提供更好的拍照體驗,由此可見,用戶的需求不斷提升是推動軟件功能和水平提升的重要動力。
(二)軟件運行環境的變遷
最初軟件主要是在計算機硬件上進行運行即可,在計算機硬件運行條件下,軟件運行環境較為單一且穩定,因此對于軟件的動態化適應能力要求較低,然而隨著計算機網絡技術的出現,當前大多數軟件需要在計算機網絡環境中運行,而計算機網絡環境則相對復雜,且計算機網絡的狀態極不穩定,因此,計算機軟件想要在這樣的條件下運行就必須具有自適應地快速匹配軟件環境和硬件環境的能力。
(三)軟件應用模式的變更
在過去軟件主要是基于單一計算機的使用需求而進行開發的,獲取軟件的途徑則是向開發商購買版權后獲取使用權,而網絡智能終端的出現,軟件獲取模式發生改變,出現了共享型軟件獲取模式,隨著共享型軟件越來越多,還出現了軟件應用市場,用戶在聯網后,就能夠從軟件應用市場中下載自身所需要的各類型軟件,不僅如此,隨著人們個性化需求的進一步發展,在未來軟件開發設計過程中,還將深度發掘用戶的個性化需要,并根據用戶的個性特征來對軟件進行優化調整。由此可見軟件應用模式的變更也是推動網絡化軟件自適應動態演化技術發展的重要因素。
二、網絡化軟件自適應動態演化的技術進展
(一)自適應動態演化的需求捕捉
在過去傳統的軟件開發過程中,為了使開發的軟件能夠最大程度上滿足用戶的需求,往往采用調查問卷以及與主要目標客戶進行訪談的形式來了解用戶的需求,并在此基礎上來開發計算機軟件,然而由于計算機軟件開發與使用之前存在較大的差距,加之用戶對于計算機相關開發應用的知識并不了解,調查問卷結果往往存在大量的疏漏之處,同時也無法全面搜集每一位用戶的使用需求,這導致所開發的軟件無法全面滿足目標用戶的需要,而在網絡化團建自適應動態演化技術發展的背景下,一方面,通過用戶數據分析,相關軟件開發者能夠發現用戶的潛在需求,并對相關需求進行優化,另一方面,在網絡化環境下,軟件開發者能夠直接接觸到軟件使用用戶,通過用戶對于軟件的評價來進行針對性的優化和調整。
(二)自適應動態演化的情境建模
情境建模是影響用戶使用軟件的重要體驗之一,情境對于網絡化軟件來說是軟件實體進行演化的環境或平臺的一種抽象表示,在網絡化軟件自適應動態演化技術的發展過程中,情境不僅包括靜態化的信息顯示,還包含用戶在使用軟件的動態化過程,而這些動態化過程中包含著一些非功能性的信息,但是同樣對于用戶使用軟件的體驗有著重要影響,對于軟件是否能夠獲得用戶認可,軟件是否能夠在較大的范圍內得到應用有著重要影響。
(三)自適應動態演化的感知操作
自適應動態演化的感知操作通常存在三個步驟,首先是獲取相關情境信息,這主要通過用戶訪問相關詞語來搜索服務器中存在的所有相關信息;其次是對情境信息進行過濾,這一過程主要是根據用戶的過往偏好對于所有獲取的信息進行篩選,從而使顯示的情境信息更加符合用戶的需求,最后則是對情境信息進行管理,在進行情境信息管理的過程中主要包含了情境信息 的沖突、歷史情境信息的管理、情境信息的緩存管理三個方面。
(四)自適應動態演化的演化操作
在進行自適應動態演化操的過程中,并不對軟件原本的結構等方面進行調整和修改,而是只根據用戶的需求或出于軟件開發者的管理需要對軟件的參數變量或是屬性進行調整,經過這樣的調整,軟件的整體功能和屬性并不會發生改變,但是能夠對軟件的部分功能進行優化,使得軟件使用更加符合用戶的需要。
三、網絡化軟件自適應動態演化技術的挑戰和發展趨勢
(一)網絡化軟件自適應動態演化技術的挑戰
1.網絡化軟件超常復雜
網絡化軟件相對于目前開發的軟件而言要復雜得多,這主要基于網絡化軟件在開發和使用過程中受到的影響因素非常多,一方面,網絡環境、軟件目標以及不同用戶之前的需要本身就比較復雜,另一方面,用戶需要、軟件目標以及網絡環境這些因素之間還存在相互交織的關系,使網絡化軟件的開發難度進一步加大。
2.用戶需求的不確定性
用戶需求的不確定性主要是由于兩個方面引起的,首先,由于用戶的認知是不完善的,受到用戶認知的限制,用戶在開發軟件之處提出的要求存在諸多不完善之處,而其在軟件的使用過程中,將逐步完善相關方面的認知,進而對軟件開發與完善提出更多要求。除此之外,世界是不斷發展變化著的,而這樣的變化并不確定,用戶的認知也會隨著外界的環境而發生改變,因此用戶認知和需求的變化也具有較大的不確定性。
3.外部環境信息的不確定性
網絡化軟件將在開放的互聯網環境中運行,而由于互聯網環境的高度開放性導致互聯網中存在諸多不確定性的因素,盡管網絡化軟件為了應對互聯網運行環境的不確定性會對網絡運行環境進行實時監控,然而由于網絡環境過于開放,網絡環境較為復雜,且具有很強的不確定性,這導致網絡化軟件無法全方位的捕捉外部環境信息。
4.演化數據和資源的不可信
在網絡化軟件動態演化過程中,需要依據外界的信息來源來進行演化,然而網絡環境中的信息源非常多,部分信息源的數據信息并不可信,然而當前要識別信息源數據信息是否可靠的難度非常大,而這無疑會給網絡化軟件動態演化過程中造成較大的風險。
5.自適應演化理論方法不完善
盡管當前關于網絡化軟件的自適應演化理論方法的研究比較多,但是由于網絡化軟件設計的學科非常多,其內容也比較復雜,因此網絡化軟件的自適應演化理論還存在諸多不完善之處,沒有形成完整且系統的理論,而缺乏理論支持將在一定程度上阻礙網絡化軟件的發展。
(二)網絡化軟件自適應動態演化技術的發展趨勢
1.彈性的網絡化軟件體系結構模型
由于網絡環境、用戶需求等存在高度不確定性與復雜性,在這樣的背景下,軟件也需要不斷進行優化調整,而當前的軟件構建模型無法滿足這一需要。因此需要構建彈性的網絡化軟件體系結構模型,以滿足將不同種類的原系統和軟件模型清 晰地區分開。
2.基于大數據挖掘的演化誘因捕捉
網絡化軟件進行自適應動態化演化的重要動因是由于用戶需求的變化,因此需要捕捉用戶需求的新動向,在過去盡管能夠通過調查問卷等方式了解用戶的需求變化,但無法了解用戶出現這些變化的原因,從而更好地優化軟件,而現在能夠使用大數據分析技術對用戶信息進行深度挖掘,從而找出用戶需求變化的規律,從而達到延長軟件使用壽命的目的。
3.基于深度學習的多目標演化決策技術
深度學習也是當前網絡化軟件發展的重要趨勢,通過深度學習能夠了解用戶諸多的需求,并緩解由于由于用戶多需求導致軟件多種不同的功能、性能屬性演化時發生沖突的現象,這主要基于深度學習能夠分析不同場景下各個功能的重要性權重,從而根據權重結果進行最佳的決策。
4.基于群體智慧的自適應動態演化優化
早過去進行軟件優化過程中,用戶主要是間接被動的進行參與,這導致用戶的部分需求無法得到滿足,而讓用戶主動參與軟件演化過程中,能夠發揮所有用戶的指揮,實現基于群體智慧的自適應動態演化優化,從而提升網絡化軟件自適應動態演化優化效果。
參考文獻:
[1] 宋敏,韋正現,印桂生等.面向數據流的網構軟件服務動態演化分析[J].軟件學報,2013,24(12):2797-2813.DOI:10.3724/SP.J.1001.2013.04396.
[2] 曾晉,孫海龍,劉旭東等.基于服務組合的可信軟件動態演化機制[J].軟件學報,2010,21(2):261-276.
[3] 王映輝,劉瑜,王立福等.基于不動點轉移的SA動態演化模型[J].計算機學報,2004,27(11):1451-1456.DOI:10.3321/j.issn:0254-4164.2004.11.002.
[4] 周學堯,陳寧江,譚瑛等.方面化構件軟件動態演化支撐框架研究[J].計算機應用與軟件,2015,32(5):12-16.DOI:10.3969/j.issn.1000-386x.2015.05.003.
[5] 汪玲,戎玫等.基于Bigraph的面向方面動態軟件體系結構演化研究[J].計算機科學,2010,37(9):137-140.DOI:10.3969/j.issn.1002-137X.2010.09.033.
荊楚理工學院 448001