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