周麗霞
(中國(guó)人民大學(xué),北京 100872)
在大數(shù)據(jù)時(shí)代各行各業(yè)的數(shù)據(jù)信息不斷增加,在這一背景下要整合與優(yōu)化計(jì)算機(jī)軟件技術(shù),提升自身發(fā)展質(zhì)量與效率,確保能適應(yīng)大數(shù)據(jù)時(shí)代的發(fā)展要求。在實(shí)際應(yīng)用中各行各業(yè)對(duì)計(jì)算機(jī)軟件技術(shù)的應(yīng)用要求不斷提高,要求能更加規(guī)范地管理計(jì)算機(jī)軟件。因此,企業(yè)在對(duì)數(shù)據(jù)信息進(jìn)行分析時(shí),需使用專業(yè)的數(shù)據(jù)處理軟件,提升數(shù)據(jù)信息的真實(shí)性與準(zhǔn)確性,能對(duì)行業(yè)發(fā)展趨勢(shì)進(jìn)行有效判斷,為自身發(fā)展提供可靠支持。
信息時(shí)代人們的生活與工作中會(huì)產(chǎn)生大量數(shù)據(jù),這些數(shù)據(jù)中蘊(yùn)含著大量有用信息和知識(shí),有助于企業(yè)管理者作出科學(xué)有效的管理決策。在計(jì)算機(jī)與通訊技術(shù)的快速發(fā)展下,數(shù)據(jù)呈爆炸式增長(zhǎng),也促使人類進(jìn)入大數(shù)據(jù)時(shí)代。數(shù)據(jù)分析與挖掘是大數(shù)據(jù)時(shí)代的一門信息技術(shù),其驅(qū)動(dòng)力是數(shù)據(jù)的增加與對(duì)于數(shù)據(jù)分析的需求。文字為載體的信息量在工業(yè)革命之后每十年翻一番,在1970 年之后,信息量開(kāi)始每三年翻一番,截至現(xiàn)在信息量開(kāi)始每?jī)赡攴环?020 年全球數(shù)據(jù)使用量大約為35ZB,實(shí)現(xiàn)爆發(fā)式增長(zhǎng)。數(shù)據(jù)存在的主要區(qū)域有地理信息、醫(yī)療衛(wèi)生等各個(gè)區(qū)域,數(shù)據(jù)量在數(shù)據(jù)采集成本下降過(guò)程中得到快速增加,且數(shù)據(jù)類型隨著新數(shù)據(jù)源及數(shù)據(jù)采集技術(shù)的出現(xiàn)得到極大增加,這也讓數(shù)據(jù)空間維度得以增加,大數(shù)據(jù)的復(fù)雜度增加。以淘寶網(wǎng)為例,會(huì)員的數(shù)量大約為3.7 億,在線商品數(shù)量超過(guò)8.8 億件,每天都會(huì)有大量數(shù)據(jù)產(chǎn)生,這些數(shù)據(jù)如果不加以科學(xué)利用,就會(huì)白白浪費(fèi),無(wú)法實(shí)現(xiàn)大數(shù)據(jù)的價(jià)值。計(jì)算機(jī)軟件開(kāi)發(fā)中,要在大數(shù)據(jù)時(shí)代合理應(yīng)用軟件工程方法,深度挖掘大數(shù)據(jù)的作用,確保計(jì)算機(jī)軟件開(kāi)發(fā)質(zhì)量。
計(jì)算機(jī)軟件開(kāi)發(fā)在大數(shù)據(jù)時(shí)代要遵循嚴(yán)格管理的原則,這是在長(zhǎng)期軟件開(kāi)發(fā)中總結(jié)出的經(jīng)驗(yàn)教訓(xùn),對(duì)軟件開(kāi)發(fā)的有效性十分關(guān)鍵。軟件開(kāi)發(fā)需求增加過(guò)程中軟件系統(tǒng)開(kāi)始變得復(fù)雜,為軟件開(kāi)發(fā)管理增加難度。很多軟件開(kāi)發(fā)團(tuán)隊(duì)未能對(duì)不同開(kāi)發(fā)階段進(jìn)行嚴(yán)格管理,導(dǎo)致開(kāi)發(fā)項(xiàng)目管理出現(xiàn)失控或者混亂現(xiàn)象,嚴(yán)重影響軟件開(kāi)發(fā)質(zhì)量與效率[1]。
軟件項(xiàng)目立項(xiàng)后就要針對(duì)實(shí)際情況提出立項(xiàng)建議,對(duì)項(xiàng)目立項(xiàng)可行性進(jìn)行論證。在軟件開(kāi)發(fā)過(guò)程中,要求開(kāi)發(fā)團(tuán)隊(duì)不能對(duì)畜禽進(jìn)行隨意改變,一旦對(duì)一項(xiàng)需求改變之后,往往需要付出很高的代價(jià)[2]。所以要求開(kāi)發(fā)團(tuán)隊(duì)要做好產(chǎn)品控制,在變動(dòng)控制下提升產(chǎn)品控制效果。為確保軟件各個(gè)配置成分的一致性,要嚴(yán)格實(shí)施產(chǎn)品控制,實(shí)行基準(zhǔn)配置管理。
軟件開(kāi)發(fā)項(xiàng)目人員需具有較高的專業(yè)性與素養(yǎng),一般人數(shù)不宜過(guò)多。軟件產(chǎn)品質(zhì)量與開(kāi)發(fā)效率會(huì)受到開(kāi)發(fā)者素養(yǎng)與數(shù)量的直接影響,綜合素養(yǎng)較高的開(kāi)發(fā)人員,不僅能提升軟件質(zhì)量與效率,也能減少錯(cuò)誤,同時(shí)開(kāi)發(fā)人數(shù)過(guò)多不僅會(huì)增加溝通成本,還會(huì)影響開(kāi)發(fā)效率。所以軟件開(kāi)發(fā)團(tuán)隊(duì)質(zhì)量要高,人數(shù)要少。
軟件工程學(xué)科領(lǐng)域研究的對(duì)象之一是軟件工程方法,主要包括方法、工具與過(guò)程三個(gè)要素,在軟件開(kāi)發(fā)過(guò)程中采取技術(shù)路線與措施,確保開(kāi)發(fā)的有效性。軟件工程方法有結(jié)構(gòu)化方法、基于Agent 的方法、形式化方法等多種方法和技術(shù),Agent 方法在軟件工程發(fā)展中占據(jù)重要地位,是軟件開(kāi)發(fā)方法從無(wú)序到有序的重要一步。結(jié)構(gòu)化方法是指任何保護(hù)結(jié)構(gòu)設(shè)計(jì)的軟件開(kāi)發(fā)技術(shù)。程序可以在結(jié)構(gòu)化方法應(yīng)用下分解為不同模塊與過(guò)程,其他模塊的內(nèi)部細(xì)節(jié)無(wú)序在編寫各個(gè)模塊時(shí)進(jìn)行了解[3]?;贏gent 的方法,這種方法以計(jì)算機(jī)科學(xué)為基礎(chǔ),認(rèn)為許多自主的或非自主的實(shí)體組成現(xiàn)實(shí)世界,相互之間存在交互與通信,各類復(fù)雜任務(wù)能在該方法幫助下有效完成。形式化方法對(duì)基于數(shù)學(xué)的語(yǔ)言和工具進(jìn)行說(shuō)明和檢驗(yàn),系統(tǒng)的不一致性、二義性及不完全性可通過(guò)這種方法進(jìn)行揭示,從而能讓人們對(duì)系統(tǒng)更加深入的了解[4]。
3.2.1 便捷性
外部工具與科學(xué)技術(shù)的應(yīng)用策略相結(jié)合是軟件工程方法的主要手段,這樣能對(duì)計(jì)算機(jī)軟件功能進(jìn)行有效開(kāi)發(fā)。軟件工程方法依托軟件工程技術(shù)架構(gòu),技術(shù)內(nèi)容的復(fù)雜程度相對(duì)較低,能為計(jì)算機(jī)軟件開(kāi)發(fā)提供更加便捷的幫助,計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中無(wú)需依賴長(zhǎng)期數(shù)據(jù)與數(shù)據(jù)代碼堆疊,幫助開(kāi)發(fā)者在短時(shí)間內(nèi)完成各種問(wèn)題。
3.2.2 多元化
保護(hù)代碼調(diào)試工具、抓包工具等是軟件工程方法所需的外部工具。軟件工程方法在計(jì)算機(jī)軟件開(kāi)發(fā)需求的不同下存在較大差異。結(jié)構(gòu)化方法是計(jì)算機(jī)軟件開(kāi)發(fā)早期階段的方法,在計(jì)算機(jī)技術(shù)的快速發(fā)展與應(yīng)用下,這些年人們開(kāi)始使用對(duì)象方法、形式化方法等多種方法,為計(jì)算機(jī)軟件開(kāi)發(fā)提供更加多元的軟件工程方法。
3.2.3 安全性
軟件工程方法使用方案在當(dāng)下較為成熟,相對(duì)比較安全。在現(xiàn)有方案中,要求植入額外軟件程序,以此來(lái)保證軟件工程方法的安全應(yīng)用。為避免數(shù)據(jù)信息盜取、數(shù)據(jù)信息丟失等各類問(wèn)題,軟件工程方法中的外部工具要具備較高的安全性,保證計(jì)算機(jī)軟件開(kāi)發(fā)具有較高的安全性[5]。
在大數(shù)據(jù)時(shí)代,計(jì)算機(jī)軟件需遵守系統(tǒng)設(shè)定的前提,深度挖掘與分析數(shù)據(jù),提煉出客戶所需的數(shù)據(jù)信息,以此來(lái)為各項(xiàng)工作的開(kāi)展提供支持。在大數(shù)據(jù)時(shí)代軟件工程方法的應(yīng)用,要求能符合大數(shù)據(jù)的實(shí)際情況,滿足計(jì)算機(jī)軟件開(kāi)發(fā)的實(shí)際需求。
大數(shù)據(jù)與各項(xiàng)技術(shù)的結(jié)合屬于垂直領(lǐng)域,但軟件工程所涉及的是橫向領(lǐng)域,所以在二者結(jié)合過(guò)程中,要對(duì)軟件產(chǎn)品及軟件系統(tǒng)工程上的現(xiàn)實(shí)及其管理更加重視。軟件工程方法是支撐大數(shù)據(jù)應(yīng)用的關(guān)鍵所在,也就是在大數(shù)據(jù)的應(yīng)用全過(guò)程都需要軟件工程方法的支持。軟件開(kāi)發(fā)具有較強(qiáng)的綜合性,且在各個(gè)學(xué)科與領(lǐng)域中得以滲透,當(dāng)前軟件工程所研究的主要對(duì)象是大數(shù)據(jù)技術(shù),要求在軟件開(kāi)發(fā)全過(guò)程能得到大數(shù)據(jù)的支持。數(shù)據(jù)鏈條的完整性是大數(shù)據(jù)應(yīng)用的基礎(chǔ),要求能在海量的數(shù)據(jù)中通過(guò)相應(yīng)的算法幫助,挖掘數(shù)據(jù)的價(jià)值與規(guī)律,按照相應(yīng)的環(huán)境不斷升級(jí)算法,堅(jiān)持計(jì)算機(jī)軟件開(kāi)發(fā)的基本原理,對(duì)數(shù)據(jù)分布進(jìn)行調(diào)整,將大數(shù)據(jù)與軟件工程方法結(jié)合在一起[6]。數(shù)據(jù)共享在開(kāi)放環(huán)境中利用網(wǎng)絡(luò)與通信技術(shù),不斷提升軟件技術(shù)與水平。軟件效率在軟件工程方法與大數(shù)據(jù)的應(yīng)用下得以提升,滿足可需求,實(shí)現(xiàn)軟件效益最大化。在數(shù)據(jù)流的快速增長(zhǎng)過(guò)程中,對(duì)軟件與硬件要求不斷提升,這時(shí)工程技術(shù)人員要對(duì)數(shù)據(jù)進(jìn)行深度分析,分析的主要內(nèi)容為數(shù)據(jù)流,為軟件系統(tǒng)的優(yōu)化提供支持。
軟件工程的擴(kuò)展是軟件服務(wù)工程強(qiáng)調(diào)的重點(diǎn)。這些年在軟件服務(wù)工程的快速發(fā)展過(guò)程中,成為當(dāng)下社會(huì)的主要發(fā)展趨勢(shì),軟件開(kāi)發(fā)也要遵循服務(wù)功能這一基本原則[7]。可將軟件服務(wù)工程理解為“軟件+服務(wù)+工程”,是這三方面的融合與交叉。在相應(yīng)的團(tuán)建服務(wù)設(shè)施與平臺(tái)下,能開(kāi)發(fā)出高水平的軟件服務(wù)系統(tǒng)。根據(jù)客戶需求,軟件開(kāi)發(fā)者可在現(xiàn)實(shí)應(yīng)用中將建設(shè)目標(biāo)確定為面向服務(wù)。搭建良好的軟件框架是開(kāi)發(fā)需關(guān)注的焦點(diǎn),要對(duì)編程語(yǔ)言、思路等進(jìn)行構(gòu)思與利用,能保證開(kāi)發(fā)軟件滿足服務(wù)與應(yīng)用需求,確保軟件運(yùn)行期間的穩(wěn)定性。軟件開(kāi)發(fā)者在實(shí)際服務(wù)期間,要對(duì)分布式應(yīng)用程序進(jìn)行有效應(yīng)用,為給用戶提供相應(yīng)的服務(wù),需采取虛擬操作方式。
大數(shù)據(jù)的應(yīng)用對(duì)數(shù)據(jù)進(jìn)行編程,實(shí)現(xiàn)軟件互操作的效果,提高對(duì)數(shù)據(jù)的主動(dòng)協(xié)調(diào)。數(shù)據(jù)信息的共享功能能為軟件開(kāi)發(fā)者提供幫助,通過(guò)學(xué)習(xí)交流,實(shí)現(xiàn)軟件的協(xié)同開(kāi)發(fā),同時(shí)利用用戶反饋,優(yōu)化處理軟件系統(tǒng),提升軟件的性價(jià)比。在軟件習(xí)作模式中開(kāi)源軟件屬于較為成功的模式,但是其應(yīng)用價(jià)值采取常規(guī)研究方法依然不高。群體軟件工程相比于開(kāi)源軟件,是一種分布式軟件開(kāi)發(fā)模型,任務(wù)分配是利用網(wǎng)絡(luò)實(shí)現(xiàn)的,能實(shí)現(xiàn)創(chuàng)造性的查詢,對(duì)于開(kāi)發(fā)過(guò)程中的難題可以通過(guò)眾包形式的開(kāi)發(fā)得以實(shí)現(xiàn)[8]。眾包開(kāi)發(fā)貫穿于整個(gè)開(kāi)發(fā)過(guò)程。開(kāi)源軟件與商業(yè)軟件在分布式生產(chǎn)開(kāi)發(fā)模式下,任務(wù)和責(zé)任分配可通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)。在計(jì)算機(jī)科學(xué)技術(shù)的快速發(fā)展過(guò)程中,軟件工程技術(shù)發(fā)展迅速,軟件服務(wù)工程得到極大進(jìn)步。大數(shù)據(jù)時(shí)代要在軟件工程開(kāi)發(fā)中應(yīng)用大數(shù)據(jù)技術(shù),提升數(shù)據(jù)的分析與利用水平,確保軟件的安全與可靠,保證操作的穩(wěn)定性。
James Gray 對(duì)于人類科學(xué)研究模式的總結(jié)與劃分,在模擬的方法后將計(jì)算科學(xué)分為三個(gè)階段,即第一范式、第二范式與第三范式。在模擬連同實(shí)驗(yàn)中產(chǎn)生大量數(shù)據(jù),對(duì)于這些儀器與模擬實(shí)驗(yàn)所產(chǎn)生的海量數(shù)據(jù),要求能使用軟件進(jìn)行處理,并在計(jì)算機(jī)中存儲(chǔ)這些信息與知識(shí)。對(duì)于存儲(chǔ)于計(jì)算機(jī)中的少量數(shù)據(jù),科研人員發(fā)現(xiàn)直接通過(guò)儀器或者模擬進(jìn)行研究已經(jīng)無(wú)法滿足其需求,但是基于數(shù)據(jù)密集型科研研究具有獨(dú)特性,且將這種數(shù)據(jù)密集型的科研模式稱之為第四范式。在大數(shù)據(jù)背景下,第四范式是軟件工程技術(shù)研究的關(guān)鍵所在,要求軟件工程技術(shù)與第四范式相適應(yīng)。數(shù)據(jù)信息的共享與利用在傳統(tǒng)模式下水平較低,無(wú)法為項(xiàng)目管理目標(biāo)的實(shí)現(xiàn)提供支持。
第四范式模式下,集成密集型數(shù)據(jù)的軟件服務(wù)價(jià)值評(píng)估十分關(guān)鍵,為對(duì)數(shù)據(jù)進(jìn)行有效存儲(chǔ)與處理,有效提升處理質(zhì)量與效率,要對(duì)傳統(tǒng)數(shù)據(jù)統(tǒng)計(jì)處理方法予以革新,利用大數(shù)據(jù)對(duì)信息統(tǒng)計(jì)和分析的方法進(jìn)行構(gòu)建,確保軟件工程技術(shù)的創(chuàng)新。軟件工程方法在大數(shù)據(jù)背景下,更加重視對(duì)大數(shù)據(jù)的處理與分析,也是整個(gè)產(chǎn)業(yè)發(fā)展的關(guān)鍵所在,利用大數(shù)據(jù)驅(qū)動(dòng)第三范式向第四范式轉(zhuǎn)變,提升軟件系統(tǒng)的服務(wù)與應(yīng)用價(jià)值。
大數(shù)據(jù)時(shí)代軟件工程方法在計(jì)算機(jī)軟開(kāi)發(fā)應(yīng)用中,重要應(yīng)用的領(lǐng)域有專業(yè)教育、醫(yī)療監(jiān)管及管理輔助、軍事工業(yè)設(shè)備研發(fā)、人工智能技術(shù)應(yīng)用等多個(gè)領(lǐng)域。比如在人工智能領(lǐng)域,計(jì)算機(jī)處理技術(shù)是人工智能的延伸,將大數(shù)據(jù)時(shí)代軟件工程方法運(yùn)用其中,能有效提升計(jì)算機(jī)及人工智能技術(shù)的應(yīng)用水平。人工智能技術(shù)的應(yīng)用,要具備較強(qiáng)的學(xué)習(xí)能力,且能針對(duì)環(huán)境變化對(duì)信息進(jìn)行判斷,并為決策提供支持。在軟件工程方法下,人工智能技術(shù)的應(yīng)用可分為兩個(gè)維度。首先,開(kāi)發(fā)軟件系統(tǒng)要以計(jì)算機(jī)為載體。人工智能技術(shù)在應(yīng)用前,可利用這類軟件進(jìn)行調(diào)試。其次,軟件工程方法的選擇要以人工智能技術(shù)嵌入式結(jié)構(gòu)為視角。人工智能技術(shù)的應(yīng)用主體是數(shù)碼設(shè)備,嵌入式結(jié)構(gòu)是主要方式,人工智能技術(shù)的激活與應(yīng)用是在互聯(lián)網(wǎng)的支撐下實(shí)現(xiàn)的。
大數(shù)據(jù)背景下軟件工程方法在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用,要利用好大數(shù)據(jù),深度挖掘與分析數(shù)據(jù),并能有效利用數(shù)據(jù),為軟件工程方法的有效利用提供幫助。軟件工程方法不能固步自封,要強(qiáng)化大數(shù)據(jù)的利用,針對(duì)計(jì)算機(jī)技術(shù)的發(fā)展,創(chuàng)新應(yīng)用方法,高效結(jié)合大數(shù)據(jù)與軟件開(kāi)發(fā)方法,合理在軟件服務(wù)工程中應(yīng)用,并能關(guān)注數(shù)據(jù)密集型科研第四范式,在不同領(lǐng)域中提升軟件工程方法的應(yīng)用效果,提升計(jì)算機(jī)軟件開(kāi)發(fā)的整體效果。