中航金網(wǎng)(北京)電子商務(wù)有限公司 周弘
隨著信息技術(shù)的迅速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)極大的便利了人們的日常生活和工作,特別是在數(shù)據(jù)挖掘技術(shù),它在計(jì)算機(jī)軟件工程中得到了廣泛的應(yīng)用,并得到了很好的應(yīng)用效果?;诖耍疚膹臄?shù)據(jù)挖掘技術(shù)的概念和應(yīng)用意義出發(fā),對(duì)數(shù)據(jù)挖掘技術(shù)在計(jì)算機(jī)軟件工程中的應(yīng)用進(jìn)行了分析。
數(shù)據(jù)挖掘是一個(gè)全新的概念,它的作用就是從大量的數(shù)據(jù)中篩選出有價(jià)值的數(shù)據(jù),從而提高了數(shù)據(jù)的利用率。因此,在計(jì)算機(jī)軟件工程中運(yùn)用數(shù)據(jù)挖掘技術(shù),可以確保數(shù)據(jù)的質(zhì)量和效率,使重要數(shù)據(jù)得到有效使用。因此,如何在計(jì)算機(jī)軟件工程中運(yùn)用數(shù)據(jù)挖掘技術(shù),是廣大科技工作者所要考慮和研究的課題。
數(shù)據(jù)挖掘技術(shù)作為一種新興的、先進(jìn)的信息處理技術(shù),因其自身的優(yōu)勢(shì)而被廣泛地應(yīng)用于各個(gè)領(lǐng)域。在傳統(tǒng)的計(jì)算機(jī)軟件工程中,數(shù)據(jù)處理的效率無(wú)法得到很好的保證。數(shù)據(jù)挖掘技術(shù)各功能之間常常存在著某種關(guān)聯(lián),從而最大程度確保了最后的評(píng)價(jià)結(jié)果的正確性。綜上所述,這一技術(shù)在數(shù)據(jù)挖掘中的應(yīng)用優(yōu)勢(shì)在于將數(shù)據(jù)處理的效率最大化,并且從根源解決了數(shù)據(jù)易損失的問(wèn)題,對(duì)企業(yè)的持續(xù)健康發(fā)展,具有重大的技術(shù)支撐作用。
(1)它具備了傳統(tǒng)的信息處理技術(shù)的全部功能,即對(duì)各種數(shù)據(jù)進(jìn)行收集和歸類(lèi)。相對(duì)來(lái)說(shuō),這種收集方式的范圍更大,可以進(jìn)行特征性的分析,可以從大量的數(shù)據(jù)中,構(gòu)建出一套精確的信息管理體系。將各個(gè)部門(mén)的信息資源進(jìn)行整合,使得各公司對(duì)各方面的信息有了更完整的認(rèn)識(shí)。
(2)一般的數(shù)據(jù)信息系統(tǒng)在計(jì)算過(guò)程中會(huì)花費(fèi)大量的時(shí)間,因?yàn)閿?shù)據(jù)太多,造成計(jì)算系統(tǒng)崩潰;而數(shù)據(jù)挖掘技術(shù)具有很強(qiáng)的計(jì)算能力,在這一點(diǎn)上,數(shù)據(jù)挖掘技術(shù)并不難,計(jì)算時(shí)間很短。而且,在處理過(guò)程中,不會(huì)出現(xiàn)任何的數(shù)據(jù)丟失和錯(cuò)誤,從而有效地保證了數(shù)據(jù)的完整性。這些數(shù)據(jù)中,有一些是無(wú)用的,卻會(huì)影響到整個(gè)系統(tǒng)的運(yùn)行速度,數(shù)據(jù)挖掘技術(shù)能夠?qū)?shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行有效的分析,然后將其清除,然后再將正確數(shù)據(jù)輸入到數(shù)據(jù)系統(tǒng)中。
在計(jì)算機(jī)軟件工程中,利用數(shù)據(jù)挖掘技術(shù)能夠全方位、多角度地對(duì)數(shù)據(jù)信息進(jìn)行控制;由于軟件工程范圍很大,因此所涉及的數(shù)據(jù)信息類(lèi)型也很復(fù)雜。而應(yīng)用計(jì)算機(jī)軟件工程可以實(shí)現(xiàn)對(duì)有關(guān)信息數(shù)據(jù)進(jìn)行統(tǒng)一管理、集中化管理,使相關(guān)的軟件在實(shí)際的開(kāi)發(fā)過(guò)程中,可以對(duì)數(shù)據(jù)資源進(jìn)行實(shí)時(shí)的更新與處理,使軟件的開(kāi)發(fā)質(zhì)量得到最大程度地改善,達(dá)到預(yù)期的目的。另外,數(shù)據(jù)挖掘中含有大量的數(shù)據(jù),以保證技術(shù)人員能科學(xué)地分析并正確區(qū)分軟件的內(nèi)部結(jié)構(gòu),因此,充分利用數(shù)據(jù)挖掘技術(shù)的優(yōu)點(diǎn),為后期運(yùn)行人員提供了快捷分析問(wèn)題與解決方案的作用,保證了軟件開(kāi)發(fā)工作的順利進(jìn)行[1]。要對(duì)員工的關(guān)系進(jìn)行深入的剖析與挖掘,就必須針對(duì)軟件開(kāi)發(fā)的要求,注重對(duì)人力資源進(jìn)行科學(xué)的統(tǒng)籌與配置,同時(shí),在軟件模塊化的基礎(chǔ)上,嚴(yán)格按照軟件的模塊化設(shè)計(jì)原理,實(shí)現(xiàn)了大規(guī)模的軟件開(kāi)發(fā)。經(jīng)常有數(shù)以千計(jì)的人參加了軟件系統(tǒng)的建設(shè),參加會(huì)議的人經(jīng)常會(huì)談?wù)撐募鬟f、電子郵件發(fā)送等,在這個(gè)時(shí)候,必須要對(duì)各部分的關(guān)系進(jìn)行深入的剖析與發(fā)掘,以便在以后的工作中進(jìn)行科學(xué)的分工和分配。此外,在軟件企業(yè)中,所有的人員與軟件使用者都必須建立一個(gè)穩(wěn)定的、可靠的關(guān)系網(wǎng)絡(luò),在網(wǎng)絡(luò)復(fù)雜性日益增加的今天,正確地分析和挖掘網(wǎng)絡(luò)內(nèi)部的關(guān)系,保證了軟件工程的正常、有序、順利地進(jìn)行。比如:在挖掘人事關(guān)系的過(guò)程中,要運(yùn)用版本管理系統(tǒng),統(tǒng)一和有序地修改相關(guān)流程,深入地分析和挖掘軟件變更后的歷史數(shù)據(jù),并在此基礎(chǔ)上,根據(jù)各個(gè)程序模塊之間的關(guān)系,對(duì)其進(jìn)行了邏輯上的依賴(lài),該系統(tǒng)的內(nèi)部結(jié)構(gòu)能夠直觀(guān)、高效地顯示出系統(tǒng)的開(kāi)發(fā)組織。
在數(shù)據(jù)挖掘技術(shù)的實(shí)際應(yīng)用中,要對(duì)軟件執(zhí)行過(guò)程中的數(shù)據(jù)進(jìn)行全面的分析與挖掘,對(duì)軟件的操作性能進(jìn)行全面的分析與處理,使其能夠充分滿(mǎn)足所期望的判斷標(biāo)準(zhǔn)。因此,在對(duì)運(yùn)行記錄進(jìn)行深度分析與挖掘時(shí),必須對(duì)已設(shè)定的安裝路徑進(jìn)行全面的查找,并通過(guò)反向建模來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)結(jié)構(gòu)的分析,為以后的軟件維護(hù)提供了便利。同時(shí),技術(shù)人員也應(yīng)該及時(shí)地發(fā)現(xiàn)和處理這些問(wèn)題,以確保系統(tǒng)的工作性能。同時(shí),要對(duì)其進(jìn)行深入的分析和挖掘。程序規(guī)約挖掘就是對(duì)與其相關(guān)的程序進(jìn)行綜合分析,以使其能在最短的時(shí)間內(nèi)找到并處理相應(yīng)的程序代碼。此外,為保證跟蹤信息的執(zhí)行效果,我們還采用逆向模型對(duì)相關(guān)的流程進(jìn)行全面的分析、驗(yàn)證和維護(hù)。該類(lèi)型的挖掘過(guò)程是:通過(guò)初步的桶裝,對(duì)有關(guān)的系統(tǒng)進(jìn)行綜合分析,然后,將所有與該軟件相匹配的API 界面進(jìn)行綜合整理,同時(shí),對(duì)所跟蹤的信息進(jìn)行充分的篩選與處理,形成了一個(gè)規(guī)范模型,能夠?qū)τ嘘P(guān)的系統(tǒng)進(jìn)行有效的描述[2]。如圖1所示顯示了程序規(guī)約挖掘的基本流程。
圖1 程序規(guī)約挖掘流程Fig.1 Procedure for mining of program specifications
在計(jì)算機(jī)軟件工程中,軟件缺陷檢測(cè)是一項(xiàng)非常重要的工作,它不僅能夠有效地提高軟件的開(kāi)發(fā)速度,而且能夠保證系統(tǒng)的穩(wěn)定、可靠、安全,為后期的安全問(wèn)題及時(shí)地發(fā)現(xiàn)和處理打下了堅(jiān)實(shí)的基礎(chǔ)。通過(guò)對(duì)軟件的缺陷進(jìn)行徹底的修復(fù),可以提高用戶(hù)的安全性。根據(jù)數(shù)據(jù)挖掘技術(shù)的發(fā)展趨勢(shì),在實(shí)現(xiàn)軟件缺陷檢測(cè)時(shí),應(yīng)根據(jù)其內(nèi)在的測(cè)試內(nèi)容,對(duì)其進(jìn)行針對(duì)性的分析和測(cè)試;此外,還需要對(duì)涉及軟件缺陷的項(xiàng)目進(jìn)行全面的測(cè)試,使其符合相應(yīng)的軟件開(kāi)發(fā)規(guī)范和需求。數(shù)據(jù)挖掘技術(shù)在實(shí)際運(yùn)用過(guò)程中,需要對(duì)已有的數(shù)據(jù)進(jìn)行綜合的分析,并對(duì)最后的分析結(jié)果作綜合分析加以完善。然后,通過(guò)選擇適當(dāng)?shù)臏y(cè)試方式,使測(cè)試工作得以實(shí)施,使之能夠更好地適應(yīng)軟件工程的發(fā)展需要。另外,在數(shù)據(jù)的處理過(guò)程中,還需要利用數(shù)據(jù)挖掘技術(shù)對(duì)數(shù)據(jù)進(jìn)行分析、抽取,通過(guò)數(shù)據(jù)的形式,使輔助數(shù)據(jù)內(nèi)容更形象、更直觀(guān)地呈現(xiàn)給使用者。另外,為保證數(shù)據(jù)挖掘技術(shù)在計(jì)算機(jī)軟件工程中的科學(xué)合理應(yīng)用,為了更好地運(yùn)用于實(shí)踐,還需要合理地選取合適的數(shù)據(jù)模型,然后,利用合適的數(shù)據(jù)挖掘模型,對(duì)測(cè)驗(yàn)集進(jìn)行科學(xué)的測(cè)量和處理。在實(shí)際的測(cè)試中,要對(duì)軟件的錯(cuò)誤進(jìn)行科學(xué)化、規(guī)范化的分類(lèi),并對(duì)數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù)進(jìn)行科學(xué)地更新與優(yōu)化[3]。如圖2所示展示了檢測(cè)軟件漏洞的流程。
圖2 軟件漏洞檢測(cè)流程Fig.2 Software vulnerability detection process
數(shù)據(jù)挖掘技術(shù)能夠探測(cè)到軟件在運(yùn)行過(guò)程中的各種數(shù)據(jù)的運(yùn)行規(guī)律,在軟件發(fā)生故障的時(shí)候,能夠按照原來(lái)的數(shù)據(jù)運(yùn)行方式進(jìn)行自動(dòng)修復(fù)。隨著軟件的應(yīng)用越來(lái)越多,問(wèn)題也越來(lái)越多,一些問(wèn)題不是人力可以解決的。有些軟件,在經(jīng)過(guò)一段時(shí)間之后,有時(shí)會(huì)在其內(nèi)部傳輸數(shù)據(jù)時(shí)出現(xiàn)問(wèn)題,在這種情況下,通過(guò)數(shù)據(jù)挖掘技術(shù)的記錄功能,可以在系統(tǒng)發(fā)生故障時(shí),自動(dòng)進(jìn)行修復(fù)和升級(jí)。
一種通常用于研究?jī)杉煌臇|西之間的關(guān)系的一般方法。結(jié)合數(shù)據(jù)挖掘技術(shù)的實(shí)際應(yīng)用,關(guān)聯(lián)方法提出了一種高效的數(shù)據(jù)處理與收集的方法。此外,在運(yùn)用關(guān)聯(lián)法的過(guò)程中,應(yīng)嚴(yán)格遵守興趣關(guān)聯(lián)原理,充分利用數(shù)據(jù)挖掘技術(shù)和計(jì)算機(jī)軟件工程相結(jié)合,二者的關(guān)聯(lián)特征包括:支持程度和可信度,在實(shí)際運(yùn)行過(guò)程中,還需要將支持度的屬性與交易集合相結(jié)合。
在數(shù)據(jù)挖掘技術(shù)的具體應(yīng)用中,要利用分類(lèi)標(biāo)志對(duì)相關(guān)的行為進(jìn)行科學(xué)的分析與預(yù)測(cè)。在此基礎(chǔ)上,根據(jù)其分類(lèi)特點(diǎn),建立了相關(guān)分析模型。此外,在實(shí)際建模時(shí),要盡可能地強(qiáng)調(diào)它的實(shí)用性,所以,技術(shù)人員要多留意有關(guān)的資料類(lèi)別。當(dāng)前,在數(shù)據(jù)挖掘技術(shù)中,通常使用正確的判別樹(shù)方法,而判別樹(shù)方法則是以神經(jīng)網(wǎng)絡(luò)分類(lèi)和最接近分類(lèi)為基礎(chǔ)。在運(yùn)用分類(lèi)法時(shí),相關(guān)技術(shù)人員應(yīng)當(dāng)充分理解和分析分類(lèi)的種類(lèi),選擇適當(dāng)?shù)姆椒ǎ页鲞m合的應(yīng)用區(qū)域,并盡量采用最小的費(fèi)用,以確保最后的處理結(jié)果。
在軟件工程實(shí)際使用過(guò)程中,聚類(lèi)算法要嚴(yán)格遵循設(shè)定的分類(lèi)準(zhǔn)則,對(duì)與科研工作有關(guān)的數(shù)據(jù)對(duì)象進(jìn)行歸類(lèi)處理,并將其分為幾種不同的類(lèi)型。在此基礎(chǔ)上,盡可能保證同類(lèi)資料物件與同類(lèi)資料物件之間的相似。而在實(shí)際操作中,不同類(lèi)型之間的數(shù)據(jù)差異很小。同時(shí),利用聚類(lèi)技術(shù)對(duì)相關(guān)數(shù)據(jù)進(jìn)行科學(xué)的歸類(lèi),確保了聚類(lèi)算法在數(shù)據(jù)信息處理中的科學(xué)性和有效性,因此,該方法能更好地用于實(shí)際的應(yīng)用[4]。
在實(shí)際的軟件開(kāi)發(fā)和應(yīng)用中,開(kāi)源軟件是一個(gè)很有意義的研究課題。其中,克隆碼的檢測(cè)是一個(gè)十分關(guān)鍵的工作,它在開(kāi)源軟件的開(kāi)發(fā)中得到了廣泛的應(yīng)用,可以有效地完成數(shù)據(jù)的復(fù)制和粘貼。在信息化、一體化的社會(huì)背景下,軟件工程的生產(chǎn)必須要進(jìn)行變革,以適應(yīng)市場(chǎng)的要求和實(shí)際情況。由于傳統(tǒng)的軟件工程項(xiàng)目具有一些歷史問(wèn)題,使得其與社會(huì)的需要難以溝通。在當(dāng)今社會(huì),隨著數(shù)據(jù)的快速發(fā)展,人們對(duì)信息的需求已經(jīng)轉(zhuǎn)化成了大量的數(shù)據(jù),利用數(shù)據(jù)技術(shù)對(duì)這些數(shù)據(jù)進(jìn)行篩選、修正,從而減少了企業(yè)的經(jīng)營(yíng)管理風(fēng)險(xiǎn)。
從當(dāng)前計(jì)算機(jī)軟件工程的發(fā)展?fàn)顩r來(lái)看,軟件項(xiàng)目管理工作的發(fā)展趨勢(shì)是系統(tǒng)化和復(fù)雜化。在軟件工程中,數(shù)據(jù)挖掘技術(shù)起著舉足輕重的作用,在軟件工程中,挖掘執(zhí)行記錄也是挖掘技術(shù)的一部分。通過(guò)對(duì)軟件系統(tǒng)的路徑進(jìn)行分析,可以使軟件工程中各系統(tǒng)的工作代碼之間的聯(lián)系更加清晰。隨著科技的進(jìn)步,人們的經(jīng)濟(jì)狀況也在發(fā)生著變化,因此,軟件工程的管理就變得越來(lái)越困難。過(guò)去的軟件工程管理已不能滿(mǎn)足現(xiàn)代高技術(shù)軟件工程的要求,這些都會(huì)影響到整個(gè)軟件項(xiàng)目的各個(gè)方面,從而導(dǎo)致軟件項(xiàng)目的進(jìn)度和進(jìn)度的下降。因此,必須充分利用數(shù)據(jù)挖掘技術(shù)在軟件工程中的作用,保證軟件項(xiàng)目的工作效率[5]。
在這個(gè)資訊大爆炸的年代,我們每天都要處理大量的資訊,光靠人力是遠(yuǎn)遠(yuǎn)不夠的。在信息技術(shù)飛速發(fā)展的今天,人們對(duì)各種新技術(shù)進(jìn)行了大量的研究,而數(shù)據(jù)挖掘技術(shù)正是其中的一種。軟件工程是當(dāng)前信息技術(shù)領(lǐng)域的一個(gè)重要組成部分,所以,對(duì)軟件工程進(jìn)行優(yōu)化,可以方便地進(jìn)行信息的整理和歸類(lèi),同時(shí)也能防止由于大量的數(shù)據(jù)而造成系統(tǒng)的混亂、崩潰。隨著數(shù)據(jù)挖掘技術(shù)的迅速發(fā)展和普及,技術(shù)工作者必須樹(shù)立與時(shí)俱進(jìn)的思想,以推動(dòng)軟件工程的健康、持續(xù)發(fā)展。在此基礎(chǔ)上,將數(shù)據(jù)挖掘技術(shù)和軟件管理相結(jié)合,以保證在軟件工程中的應(yīng)用,將信息挖掘技術(shù)運(yùn)用于軟件工程,可以有效地對(duì)信息進(jìn)行分類(lèi),將數(shù)據(jù)挖掘技術(shù)引入到軟件工程領(lǐng)域,大大提升工作效率,推動(dòng)整個(gè)軟件產(chǎn)業(yè)的發(fā)展。
數(shù)字技術(shù)與應(yīng)用2022年11期