王彬彬
(阜陽幼兒師范高等??茖W(xué)?;A(chǔ)教學(xué)部,阜陽 236000)
隨著信息技術(shù)和云計算技術(shù)的快速發(fā)展,“互聯(lián)網(wǎng)+”這一新概念的產(chǎn)生引起了社會公眾的廣泛關(guān)注和討論。 目前,隨著我國社會經(jīng)濟(jì)的不斷進(jìn)步,互聯(lián)網(wǎng)所囊括的內(nèi)容逐漸完善,衍生了許多新興技術(shù),“互聯(lián)網(wǎng)+”時代已經(jīng)來臨。 在當(dāng)前時代背景下,傳統(tǒng)數(shù)據(jù)處理技術(shù)無法實(shí)現(xiàn)海量數(shù)據(jù)的存儲和傳遞,已不能滿足現(xiàn)代化數(shù)據(jù)處理的要求,更無法解決軟件工程開發(fā)與應(yīng)用過程中數(shù)據(jù)傳輸不穩(wěn)定的問題。 數(shù)據(jù)挖掘技術(shù)能夠?qū)崿F(xiàn)海量有價值數(shù)據(jù)的提取、存儲和整合,剔除無效信息,確保數(shù)據(jù)來源的安全性,有利于軟件工程中軟件開發(fā)、項(xiàng)目管理等各項(xiàng)工作的開展,具有現(xiàn)實(shí)性意義。
數(shù)據(jù)挖掘技術(shù)實(shí)際上就是一種現(xiàn)代化信息處理技術(shù),具備數(shù)據(jù)轉(zhuǎn)化、數(shù)據(jù)處理、數(shù)據(jù)分析等功能,憑借獨(dú)特的優(yōu)勢已廣泛應(yīng)用于各個領(lǐng)域。 現(xiàn)階段,很多互聯(lián)網(wǎng)企業(yè)由于缺乏對數(shù)據(jù)挖掘技術(shù)的理解,仍使用傳統(tǒng)信息處理技術(shù)來處理數(shù)據(jù),導(dǎo)致信息處理效率低下。 數(shù)據(jù)挖掘也就是收集數(shù)據(jù)的整個過程,應(yīng)用于軟件工程中能夠借助其驅(qū)動分析技術(shù)實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證,篩選出符合條件的相關(guān)數(shù)據(jù)。 可以說,數(shù)據(jù)挖掘采用了一種發(fā)現(xiàn)驅(qū)動分析數(shù)據(jù)機(jī)制,能夠?qū)崿F(xiàn)對海量數(shù)據(jù)的價值分析,最終挖掘出有價值的數(shù)據(jù)。 在軟件工程領(lǐng)域應(yīng)用數(shù)據(jù)挖掘技術(shù)不僅能為軟件研發(fā)提供依據(jù),提高信息處理效率,還能對開發(fā)產(chǎn)品進(jìn)行修正,促進(jìn)企業(yè)穩(wěn)定發(fā)展。
軟件工程數(shù)據(jù)是指在軟件研發(fā)過程中各種算法的運(yùn)算所產(chǎn)生的系統(tǒng)數(shù)據(jù)。 運(yùn)用這些系統(tǒng)數(shù)據(jù)可以對軟件內(nèi)部進(jìn)行測評,維護(hù)軟件正常運(yùn)行。 這些信息是軟件研發(fā)人員測評軟件采用的最安全的方式,通過算法來獲取數(shù)據(jù)不僅能保證數(shù)據(jù)的完整性,還能維護(hù)軟件正常運(yùn)行。
數(shù)據(jù)挖掘過程是一系列算法與程序的綜合運(yùn)算過程,復(fù)雜度高、運(yùn)算量大。 其流程包括數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘、數(shù)據(jù)整合。 在處理大規(guī)模數(shù)據(jù)時,任何軟件的運(yùn)行都需要具備強(qiáng)大的運(yùn)算后臺來維護(hù)數(shù)據(jù)的安全性和穩(wěn)定性。 價值信息的提取實(shí)際上就是對數(shù)據(jù)的二次選擇。 在數(shù)據(jù)預(yù)處理環(huán)節(jié),主要運(yùn)用合適的算法對原始數(shù)據(jù)進(jìn)行識別和轉(zhuǎn)化,預(yù)處理后的數(shù)據(jù)可供用戶直接獲取或使用。 數(shù)據(jù)收集,即數(shù)據(jù)的吸收,經(jīng)過前期對數(shù)據(jù)的預(yù)處理,確保數(shù)據(jù)是安全可靠的。 用戶獲取數(shù)據(jù)后可結(jié)合實(shí)際需求對數(shù)據(jù)進(jìn)行刪除或存儲,進(jìn)而提升用戶的體驗(yàn)感。
1.有利于信息的正確錄入
運(yùn)用傳統(tǒng)信息處理技術(shù)處理數(shù)據(jù)的過程中,由于數(shù)據(jù)量龐大,運(yùn)算系統(tǒng)往往會崩潰,耗費(fèi)大量時間,而運(yùn)用數(shù)據(jù)挖掘技術(shù)開展數(shù)據(jù)處理工作不僅能夠解決這些問題,還能提高運(yùn)算效率,保證數(shù)據(jù)采集的準(zhǔn)確性和有效性,更不會出現(xiàn)數(shù)據(jù)破損、丟失等問題,能夠有效提升數(shù)據(jù)的完整性。 在海量數(shù)據(jù)資源中,數(shù)據(jù)分布雜亂、種類繁多,存在一些無使用價值的垃圾數(shù)據(jù),在進(jìn)行數(shù)據(jù)處理時會將所有原始數(shù)據(jù)存儲在數(shù)據(jù)處理系統(tǒng)中,從而導(dǎo)致系統(tǒng)運(yùn)算效率降低,而采用數(shù)據(jù)挖掘技術(shù)能夠有效剔除其中的垃圾數(shù)據(jù),將目標(biāo)數(shù)據(jù)準(zhǔn)確提取出來,保存在數(shù)據(jù)系統(tǒng)中,提高數(shù)據(jù)整體質(zhì)量。
2.有利于各項(xiàng)信息的了解
傳統(tǒng)信息處理技術(shù)所具備的功能都包含于數(shù)據(jù)挖掘技術(shù)之中。 數(shù)據(jù)挖掘技術(shù)通過采集原始數(shù)據(jù),對數(shù)據(jù)種類進(jìn)行識別,從而進(jìn)行分類管理。 在整個數(shù)據(jù)采集過程中,如果涉及的范圍夠大,那么可以通過分析數(shù)據(jù)特征,建立全面的數(shù)據(jù)管理平臺,為用戶提供便捷、快速的數(shù)據(jù)查詢服務(wù)。 將數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件工程,實(shí)現(xiàn)了數(shù)據(jù)資源的整合,有利于企業(yè)深入了解并掌握各種數(shù)據(jù),為企業(yè)決策提供有價值的依據(jù)。
3.有利于節(jié)省數(shù)據(jù)處理時間
利用數(shù)據(jù)挖掘技術(shù)處理數(shù)據(jù)的過程中,能夠?qū)㈦s亂無章的數(shù)據(jù)轉(zhuǎn)換成試用形式,用戶通過數(shù)據(jù)處理系統(tǒng)能夠直接進(jìn)行調(diào)用。 在軟件工程中運(yùn)用數(shù)據(jù)挖掘技術(shù),能夠自主實(shí)現(xiàn)分析功能的選擇,對原始數(shù)據(jù)進(jìn)行處理、清洗,確保提取的數(shù)據(jù)能夠有效應(yīng)用于軟件開發(fā)或項(xiàng)目管理中。 整個數(shù)據(jù)分析環(huán)節(jié)看似簡單,但實(shí)際流程十分煩瑣,需要對數(shù)據(jù)的真實(shí)有效性進(jìn)行多次反復(fù)驗(yàn)證,直到提取出符合條件的運(yùn)算結(jié)果為止。 與傳統(tǒng)信息處理技術(shù)相比,數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件工程領(lǐng)域中有利于提升數(shù)據(jù)質(zhì)量、節(jié)省數(shù)據(jù)處理時間。
軟件工程是一門工程學(xué)科,其工作流程為根據(jù)用戶的實(shí)際需求和項(xiàng)目資金、項(xiàng)目指標(biāo)開發(fā)出相應(yīng)的產(chǎn)品。 在傳統(tǒng)的軟件工程開發(fā)模式中,產(chǎn)品研發(fā)流程十分煩瑣,但隨著社會需求的不斷變化,軟件工程已普遍應(yīng)用于各行各業(yè)中。 在軟件工程中應(yīng)用數(shù)據(jù)挖掘技術(shù),可以借助其強(qiáng)大的數(shù)據(jù)存儲功能,保存大量具有探究價值的數(shù)據(jù),對于軟件工程項(xiàng)目研發(fā)具有重要促進(jìn)作用。 軟件工程通過將研發(fā)過程中涉及的系統(tǒng)數(shù)據(jù)進(jìn)行處理、整合,以實(shí)現(xiàn)數(shù)據(jù)的實(shí)時更新,提高軟件研發(fā)質(zhì)量。 目前,軟件研發(fā)中通過數(shù)據(jù)挖掘?qū)崿F(xiàn)了軟件內(nèi)部的劃分,為用戶查找并處理相關(guān)問題提供了便捷,有利于研發(fā)目標(biāo)的順利實(shí)現(xiàn)。 開源軟件是指可供用戶免費(fèi)試用的軟件,還可以為用戶提供源代碼,其缺點(diǎn)在于管理難度較大。 隨著數(shù)據(jù)挖掘技術(shù)與軟件開發(fā)的融合,軟件呈現(xiàn)出多元化的特征,開源思想逐漸形成,Web 軟件開發(fā)呈現(xiàn)大眾化發(fā)展趨勢。 開源軟件研發(fā)是一個動態(tài)、開放的過程,導(dǎo)致數(shù)據(jù)挖掘難度大幅度提升,而利用數(shù)據(jù)挖掘技術(shù)能夠有效提高軟件研發(fā)效率,便于進(jìn)行軟件管理。
在結(jié)構(gòu)與程序代碼應(yīng)用中,數(shù)據(jù)挖掘技術(shù)的使用價值主要體現(xiàn)在克隆代碼檢測上,也就是根據(jù)軟件工程相關(guān)標(biāo)準(zhǔn),實(shí)現(xiàn)代碼的復(fù)制粘貼,然后結(jié)合實(shí)際情況對復(fù)制的代碼進(jìn)行修改、管理以及檢測,預(yù)防錯誤代碼的傳遞,維護(hù)系統(tǒng)正常運(yùn)行。 現(xiàn)階段,克隆代碼檢測主要有文本對比、標(biāo)識符對比、程序結(jié)構(gòu)、語義應(yīng)用和索引四種方法,每種檢測方法的評估與診斷形式各不相同,在軟件工程中應(yīng)結(jié)合實(shí)際情況選擇合適的檢測方式;其次,數(shù)據(jù)挖掘技術(shù)通常會應(yīng)用于橫切關(guān)注點(diǎn)中,在橫切關(guān)注點(diǎn)的程序也有類似的代碼或者是相同的代碼。 在軟件工程中運(yùn)用該技術(shù)能夠?qū)崿F(xiàn)系統(tǒng)的改造,提供多種問題處理方式,但這些方法必須重新構(gòu)建選集才能實(shí)現(xiàn)對橫切點(diǎn)挖掘問題的處理。 軟件工程數(shù)據(jù)十分復(fù)雜,在數(shù)據(jù)挖掘技術(shù)的應(yīng)用上難度較大,雖然我國對該技術(shù)的應(yīng)用更多體現(xiàn)在數(shù)據(jù)庫上,但想要找到相似的代碼,還需要有效應(yīng)用聚類技術(shù),為數(shù)據(jù)挖掘技術(shù)的發(fā)展提供空間。
在軟件項(xiàng)目管理中應(yīng)用數(shù)據(jù)挖掘技術(shù)可以從版本控制信息挖掘和組織關(guān)系挖掘兩個方面入手。軟件項(xiàng)目管理流程較為煩瑣,且具備較強(qiáng)的系統(tǒng)性,對組織關(guān)系結(jié)構(gòu)標(biāo)準(zhǔn)要求較高,挖掘出明確的組織關(guān)系是實(shí)現(xiàn)信息資源靈活調(diào)用的關(guān)鍵。 在軟件項(xiàng)目管理過程中,可利用數(shù)據(jù)挖掘技術(shù)對項(xiàng)目管理所涉及的郵件信息或文件信息進(jìn)行挖掘,找出項(xiàng)目參與人員之間的關(guān)聯(lián),生成對應(yīng)的組織關(guān)系,避免出現(xiàn)管理混亂的情況,保證軟件項(xiàng)目管理活動順利有序開展。 軟件項(xiàng)目管理中的版本控制信息反映了文件內(nèi)部信息的實(shí)際變化情況,運(yùn)用數(shù)據(jù)挖掘技術(shù)對其進(jìn)行管理,有利于減少系統(tǒng)維護(hù)成本,充分體現(xiàn)信息披露情況,提高軟件項(xiàng)目管理水平。
目前,軟件工程融合了多項(xiàng)學(xué)科,已發(fā)展成一門綜合性學(xué)科,涉及的知識和技術(shù)越來越復(fù)雜。 企業(yè)在軟件開發(fā)過程中不僅要注重開發(fā)產(chǎn)品的創(chuàng)新性,還要注重軟件項(xiàng)目管理方面,包括項(xiàng)目參與人員、項(xiàng)目經(jīng)費(fèi)、項(xiàng)目研發(fā)進(jìn)度以及控制信息的變化等內(nèi)容。
在軟件工程領(lǐng)域中,數(shù)據(jù)挖掘技術(shù)的有效應(yīng)用有利于檢測軟件故障。 軟件故障檢測的主要內(nèi)容包括數(shù)據(jù)收集、轉(zhuǎn)化、處理、采集和選取,還包括各項(xiàng)軟件測試項(xiàng)目。 軟件故障檢測的前提是,選擇合理有效的軟件數(shù)據(jù),利用數(shù)據(jù)挖掘技術(shù)挖掘有效數(shù)據(jù)并對其真實(shí)性進(jìn)行驗(yàn)證,經(jīng)過一系列整合與訓(xùn)練操作后,對軟件存在的漏洞或缺陷進(jìn)行定位、識別及描述。 在軟件開發(fā)過程中,參與人員會對程序運(yùn)行情況進(jìn)行記錄,保證后續(xù)工作中數(shù)據(jù)挖掘環(huán)節(jié)的正常開展。 軟件運(yùn)行過程中,難免會受到內(nèi)部與外部環(huán)境的影響而存在缺陷或漏洞,使用傳統(tǒng)故障檢測技術(shù)雖然能夠解決故障檢測問題,但該方法處理效率較低,且效果不佳。 而采用數(shù)據(jù)挖掘技術(shù)能夠?qū)崿F(xiàn)對代碼定位,快速找出故障原因,及時進(jìn)行處理。 比如,針對發(fā)動機(jī)的穩(wěn)態(tài)故障問題,利用數(shù)據(jù)挖掘技術(shù)能夠有效集成引發(fā)故障的所有因素,構(gòu)造故障因素參數(shù)集合,通過觀察參數(shù)的變化情況,根據(jù)變化情況分析其存在的規(guī)律,從而判斷發(fā)動機(jī)是否存在故障。
軟件工程項(xiàng)目能夠順利、高效進(jìn)行,取決于企業(yè)對數(shù)據(jù)挖掘技術(shù)的有效應(yīng)用。 首先,企業(yè)必須加強(qiáng)對數(shù)據(jù)挖掘技術(shù)應(yīng)用價值的認(rèn)識,深入了解并掌握該技術(shù)中涉及的編程知識,同時對軟件項(xiàng)目給予高度重視,確保軟件工程各項(xiàng)流程和系統(tǒng)數(shù)據(jù)是規(guī)范合理的。 在代碼庫選擇環(huán)節(jié),企業(yè)應(yīng)嚴(yán)格控制軟件項(xiàng)目的研發(fā)成本,結(jié)合代碼關(guān)鍵詞生成相應(yīng)的體系,根據(jù)數(shù)據(jù)之間的重載、調(diào)用關(guān)系,找出具有關(guān)聯(lián)的、可靠的目標(biāo)數(shù)據(jù),以滿足其實(shí)際需求。 此外,根據(jù)挖掘目標(biāo)設(shè)置靜態(tài)代碼,確保數(shù)據(jù)的存儲功能最大化。 如果出現(xiàn)代碼缺失,則進(jìn)一步對測試代碼進(jìn)行檢測,針對檢測結(jié)果制定相應(yīng)的處理策略,提高系統(tǒng)整體框架的完整性以及合理性。
將數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件工程中時,企業(yè)可以通過構(gòu)建現(xiàn)代化體系來指導(dǎo)軟件開發(fā)工作的開展,提升軟件研發(fā)質(zhì)量,并利用靜態(tài)網(wǎng)絡(luò)模型及系統(tǒng)網(wǎng)絡(luò)框架為軟件開發(fā)中鏈結(jié)構(gòu)的建立提供依據(jù),提升數(shù)據(jù)查詢效果。 同時,還要加強(qiáng)對軟件工程實(shí)際效果的評估,重視病毒處理工作,確保軟件開發(fā)各個環(huán)節(jié)中數(shù)據(jù)的時效性,通過實(shí)現(xiàn)各項(xiàng)功能的整合,從而促使軟件工程高效、穩(wěn)定發(fā)展。 除此之外,在整合缺陷項(xiàng)目時,必須建立相應(yīng)的缺陷定位標(biāo)準(zhǔn),保證缺陷評估工作能夠順利有序開展,同時確保評估分析結(jié)果的真實(shí)性、合理性。
軟件的長期穩(wěn)定運(yùn)行需要具備安全、可靠的維護(hù)技術(shù)。 在軟件維護(hù)過程中,必須嚴(yán)格按照工作流程及維護(hù)標(biāo)準(zhǔn)來開展維護(hù)工作,確保修復(fù)項(xiàng)目及框架的全面性,尤其是缺陷處理上,必須確保軟件處理與維修的質(zhì)量,提升維護(hù)效果,實(shí)現(xiàn)對軟件管理、軟件研發(fā)環(huán)節(jié)的綜合處理。 利用實(shí)時跟蹤的形式,檢查所有工作體系是否全面落實(shí),并且在代碼復(fù)用的情況下,實(shí)現(xiàn)對網(wǎng)絡(luò)模型的合理劃分,以確保軟件功能、軟件結(jié)構(gòu)的作用得以充分發(fā)揮,為軟件故障檢測和數(shù)據(jù)處理等環(huán)節(jié)提供完善的依據(jù)。 還可以借助數(shù)據(jù)挖掘技術(shù)的整合功能,對數(shù)據(jù)處理流程及工作體系進(jìn)行完善,提高軟件工程整體效率及質(zhì)量。 但在應(yīng)用數(shù)據(jù)挖掘技術(shù)時,必須結(jié)合實(shí)際模型來對關(guān)聯(lián)數(shù)據(jù)進(jìn)行整合,保證數(shù)據(jù)描述相關(guān)性和定位信息的完整性,確保軟件安全,及時發(fā)現(xiàn)軟件漏洞并對其進(jìn)行處理。
目前,開源軟件是軟件工程中常見的開發(fā)項(xiàng)目之一,挖掘開源軟件技術(shù)的應(yīng)用具有較大優(yōu)勢。 與傳統(tǒng)軟件不同,開源軟件的研發(fā)過程具有動態(tài)性、開放性、全局性等特征。 因此,在開源軟件研發(fā)過程中,必須對軟件進(jìn)行類型劃分,對不同類型的軟件采取對應(yīng)的分析方法、研發(fā)理念以及管理對策。比如:在開發(fā)開源軟件時,其開發(fā)環(huán)境是開放性的,那么研發(fā)人員應(yīng)該根據(jù)實(shí)際情況,進(jìn)行多次改變,讓其置身于改變環(huán)境中;針對全局性的特征,開發(fā)人員應(yīng)根據(jù)實(shí)際情況進(jìn)行記錄,為后續(xù)網(wǎng)絡(luò)形成營造良好的條件;針對動態(tài)性的特征,開發(fā)工作人員應(yīng)該具備較強(qiáng)的管理能力和專業(yè)素養(yǎng),保證開發(fā)過程的嚴(yán)謹(jǐn)性、科學(xué)性。
在軟件工程中應(yīng)用數(shù)據(jù)挖掘技術(shù),能夠進(jìn)一步改善數(shù)據(jù)煩瑣導(dǎo)致的數(shù)據(jù)挖掘困難問題,促進(jìn)軟件工程的可持續(xù)開發(fā)。 同時,數(shù)據(jù)挖掘技術(shù)在程序代碼中的應(yīng)用有助于提高程序代碼的可重復(fù)性,在故障檢測的應(yīng)用中能夠加強(qiáng)兩兩對比的頻率,進(jìn)一步確保故障檢測的精確度。 要想有效將數(shù)據(jù)挖掘技術(shù)應(yīng)用于開源軟件開發(fā),就必須加強(qiáng)開源軟件的科學(xué)管理與控制,了解人員組織關(guān)系與版本控制信息,從而有效發(fā)揮項(xiàng)目管理作用。