公務(wù)員期刊網(wǎng) 論文中心 正文

大數(shù)據(jù)時(shí)代下的軟件工程分析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了大數(shù)據(jù)時(shí)代下的軟件工程分析范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

大數(shù)據(jù)時(shí)代下的軟件工程分析

摘要:本文通過對(duì)大數(shù)據(jù)和軟件工程的簡(jiǎn)述,分析了大數(shù)據(jù)與軟件工程的結(jié)合方式,在此基礎(chǔ)上研究了大數(shù)據(jù)時(shí)代下的軟件服務(wù)工程。大數(shù)據(jù)時(shí)代背景下應(yīng)該進(jìn)一步研究大數(shù)據(jù)技術(shù)與軟件工程技術(shù)的結(jié)合,探索軟件服務(wù)工程開發(fā)模式,重視數(shù)據(jù)密集型科研第四范式,發(fā)揮軟件工程服務(wù)功能,不斷推動(dòng)和實(shí)現(xiàn)軟件工程技術(shù)的創(chuàng)新和發(fā)展。

關(guān)鍵詞:大數(shù)據(jù);軟件工程;軟件服務(wù)工程;第四范式

自上個(gè)世紀(jì)90年代初,信息高速公路在美國(guó)提出以來,歷經(jīng)近30年的發(fā)展演進(jìn),信息技術(shù)發(fā)展突飛猛進(jìn),信息化領(lǐng)域的新技術(shù)、新詞語層出不窮,諸如IT技術(shù)、互聯(lián)網(wǎng)技術(shù)、大數(shù)據(jù)技術(shù)、區(qū)塊鏈技術(shù)、人工智能等。并且對(duì)人們的生產(chǎn)、生活方式產(chǎn)生了深刻的影響,認(rèn)為現(xiàn)在進(jìn)入了大數(shù)據(jù)時(shí)代、萬物互聯(lián)時(shí)代、智能化時(shí)代等。筆者認(rèn)為,一直以來,其中除了硬件的發(fā)展,還有兩個(gè)關(guān)鍵因素同樣值得關(guān)注,一是數(shù)據(jù),其是基礎(chǔ)和目的;二是軟件,其是方法和工具。唯如此,才能實(shí)現(xiàn)在軟件生命周期即設(shè)計(jì)、開發(fā)、運(yùn)行、優(yōu)化,實(shí)現(xiàn)與大數(shù)據(jù)生命周期即獲取、清洗、集成、分析、呈現(xiàn)等的互動(dòng)。[1]換言之,現(xiàn)在來說,就是大數(shù)據(jù)和軟件工程,二者助推了信息技術(shù)的發(fā)展,同時(shí)也是信息化的產(chǎn)物,在大數(shù)據(jù)時(shí)代背景下,研究軟件工程技術(shù)的應(yīng)用,對(duì)于經(jīng)濟(jì)社會(huì)的發(fā)展有著十分重要的意義。

1大數(shù)據(jù)和軟件工程簡(jiǎn)述

1.1大數(shù)據(jù)簡(jiǎn)述

沃爾瑪?shù)摹捌【婆c尿布”是眾所周知的大數(shù)據(jù)經(jīng)典案例,大數(shù)據(jù)已經(jīng)是當(dāng)今信息社會(huì)炙手可熱、耳熟能詳?shù)脑~匯,而且已形成共識(shí),即人類已經(jīng)進(jìn)入大數(shù)據(jù)時(shí)代。上個(gè)世紀(jì)80年代初,《第三次浪潮》一書風(fēng)行全世界。該書作者美國(guó)社會(huì)思想家阿爾文•托夫勒就在文中將人類社會(huì)發(fā)展劃分為三次浪潮,即以“農(nóng)業(yè)文明”為主導(dǎo)的第一次浪潮,以“工業(yè)文明”為主導(dǎo)的第二次浪潮,以“信息化”為主導(dǎo)第三次浪潮。[2]其中首次提出了“大數(shù)據(jù)”(BigData)一詞,并且,以“第三次浪潮的華彩樂章”這樣的用詞對(duì)其進(jìn)行熱情的謳歌。[3]全球著名咨詢公司麥肯錫于2011年5月了《大數(shù)據(jù):創(chuàng)新、競(jìng)爭(zhēng)和生產(chǎn)力的下一個(gè)前沿》報(bào)告,公認(rèn)此報(bào)告宣告了大數(shù)據(jù)時(shí)代的到來。由于大數(shù)據(jù)概念的提出源于不斷的發(fā)展實(shí)踐,其本身并沒有嚴(yán)格、權(quán)威的定義。通常認(rèn)為,大數(shù)據(jù)的大即大數(shù)據(jù)集的規(guī)模一般應(yīng)達(dá)到10TB左右,現(xiàn)在已經(jīng)達(dá)到了PB級(jí)的數(shù)據(jù)量。維基百科稱“大數(shù)據(jù)”是這樣一個(gè)術(shù)語,即其是用以描述用傳統(tǒng)的數(shù)據(jù)處理應(yīng)用軟件無法完好處理的龐大的或者復(fù)雜的數(shù)據(jù)集。但“大數(shù)據(jù)”這一概念并不僅僅指數(shù)據(jù)規(guī)模的龐大,還包括對(duì)這些數(shù)據(jù)對(duì)象的處理以及應(yīng)用活動(dòng)。IBM提出大數(shù)據(jù)通常具有“5V”特征:Volume(數(shù)據(jù)體量大)、Variety(數(shù)據(jù)類別多樣)、Velocity(處理速度快)、Veracity(數(shù)據(jù)真實(shí)性高)、Volume(數(shù)據(jù)價(jià)值高)。[4]大數(shù)據(jù)技術(shù)分類并分平行關(guān)系,而是呈縱向、層級(jí)狀結(jié)構(gòu),詳見圖1所示。

1.2軟件工程簡(jiǎn)述

軟件工程本身并沒有嚴(yán)格、權(quán)威的定義。并且,也是直到20世紀(jì)60年代初才出現(xiàn)了“軟件”一詞,于此之前,更多的是程序的概念,后來人們認(rèn)識(shí)到與程序相關(guān)的文檔也有著相當(dāng)重要的作用,才有了“軟件”一詞的出現(xiàn)。軟件發(fā)展至今天,已經(jīng)遠(yuǎn)遠(yuǎn)不是程序個(gè)體或者程序員合作的方式能夠完成的,即使能夠完成,也會(huì)是效率低下、程序運(yùn)行可靠性差,或者說根本就無法完成。于是,在1968年召開的大西洋公約學(xué)術(shù)會(huì)議上提出了軟件工程的概念,簡(jiǎn)單理解,就是以工程的方法來進(jìn)行軟件系統(tǒng)設(shè)計(jì)、開發(fā)、運(yùn)行、維護(hù)、優(yōu)化等技術(shù)的總和,進(jìn)一步言之,就是用“計(jì)算機(jī)科學(xué)、數(shù)學(xué)管理科學(xué)等原理,以工程化方法制作軟件的工程”,屬于一門交叉學(xué)科。[5]通常認(rèn)為其包含有四個(gè)要素:(1)軟件工程目標(biāo);(2)軟件工程范型;(3)軟件工程過程;(4)軟件工程原則。

2大數(shù)據(jù)與軟件工程的結(jié)合方式

宏觀上講,軟件工程是比大數(shù)據(jù)更為寬泛的概念,大數(shù)據(jù)的技術(shù)與應(yīng)用被軟件工程所涵攝。如圖1所示意,雖然大數(shù)據(jù)的各項(xiàng)技術(shù)與應(yīng)用屬于垂直領(lǐng)域,而軟件工程牽涉的是橫向領(lǐng)域,更加關(guān)注軟件產(chǎn)品及軟件系統(tǒng)工程上的實(shí)現(xiàn)及其管理。但是,大數(shù)據(jù)無論是其產(chǎn)品還是其系統(tǒng)的完成與落地,都離不開軟件工程方法論的支持。換言之,軟件工程的方法與技術(shù)貫穿于大數(shù)據(jù)的開發(fā)與應(yīng)用,大數(shù)據(jù)也只是在軟件工程發(fā)展過程中出現(xiàn)的概念。軟件工程開發(fā)具有綜合性,其應(yīng)用滲透于各個(gè)學(xué)科和領(lǐng)域,大數(shù)據(jù)的技術(shù)與應(yīng)用當(dāng)然是軟件工程所關(guān)注和研究的對(duì)象,或者說大數(shù)據(jù)技術(shù)的每一環(huán)節(jié)都離不開軟件工程的支持。大數(shù)據(jù)應(yīng)用的基礎(chǔ)是要依賴數(shù)據(jù)鏈條的完整性,采用相應(yīng)的算法于海量的數(shù)據(jù)中進(jìn)行規(guī)律分析,算法要依據(jù)相應(yīng)的實(shí)際環(huán)境進(jìn)行相應(yīng)的升級(jí),遵循開發(fā)的基本原理,充分調(diào)整數(shù)據(jù)分布,從而在研究過程中將大數(shù)據(jù)技術(shù)與軟件工程方法結(jié)合起來。并在開放的環(huán)境中通過網(wǎng)絡(luò)與通信技術(shù)實(shí)現(xiàn)數(shù)據(jù)的共享,在此過程中,軟件技術(shù)和水平亦能得到進(jìn)一步的提高。在二者相互作用滲透的過程,軟件效率得到提高,軟件效益得以提升,從而實(shí)現(xiàn)客戶需求的最大化。在軟件開發(fā)過程中,還需要有必備的硬件和軟件的支撐,來支持相應(yīng)的數(shù)據(jù)流,隨著數(shù)據(jù)流的增長(zhǎng),對(duì)于硬件和軟件就會(huì)有更高的要求。工程技術(shù)人員在對(duì)數(shù)據(jù)流進(jìn)行分析研究的同時(shí),專家學(xué)者還會(huì)對(duì)在線服務(wù)進(jìn)行研究。但是,數(shù)據(jù)流是重點(diǎn),包括對(duì)數(shù)據(jù)流的使用方法的研究,對(duì)支撐數(shù)據(jù)流的軟件和硬件的研究。另外,從軟件工程開發(fā)角度看,無論是在服務(wù)端還是在用戶端,軟件的運(yùn)行當(dāng)然會(huì)產(chǎn)生大量的數(shù)據(jù)流,都將產(chǎn)生大量的數(shù)據(jù)信息,這些數(shù)據(jù)流對(duì)于軟硬件的使用壽命有著決定性的影響。因此,在軟件工程的開發(fā)中,對(duì)于海量數(shù)據(jù)產(chǎn)生的環(huán)境下,更有必要做好數(shù)據(jù)流的管理,要高度重視數(shù)據(jù)流的分析研究,并且對(duì)于原始數(shù)據(jù)進(jìn)行深入的研究也應(yīng)該引起重視,以期延長(zhǎng)軟件的使用周期。[6]

3大數(shù)據(jù)時(shí)代的軟件服務(wù)工程

軟件服務(wù)工程即所謂的面向服務(wù)的軟件工程,強(qiáng)調(diào)的是其相對(duì)于傳統(tǒng)軟件工程的擴(kuò)展。近些年來得到了很快的發(fā)展,已經(jīng)成為當(dāng)今時(shí)代的主流社會(huì)需求之一,服務(wù)功能已經(jīng)是軟件開發(fā)的基本原則。另一方面,也可以將其直觀理解為“軟件(Software)+服務(wù)(Service)+工程(Engineering)”三個(gè)方面的交叉融合,或者軟件工程與服務(wù)工程兩者的融合等。其內(nèi)涵可以理解為研究面向服務(wù)的軟件工程原則、軟件工程方法以及軟件工程技術(shù),同時(shí)利用相應(yīng)的軟件服務(wù)設(shè)施和平臺(tái),開發(fā)較高水平的軟件服務(wù)系統(tǒng)。[7]軟件開發(fā)者根據(jù)需求變化,在社會(huì)實(shí)際實(shí)用中,以面向服務(wù)作為主要建設(shè)目標(biāo)。在開發(fā)的初期就要首先搭建好軟件的框架,充分利用編程語言、構(gòu)思好編程思路,確保開發(fā)軟件能夠提供可靠的服務(wù)應(yīng)用,保障軟件運(yùn)行時(shí)的穩(wěn)定與可靠。在實(shí)際的服務(wù)過程中,要求開發(fā)者運(yùn)用分布式應(yīng)用程序,以虛擬操作的方式提供用戶相應(yīng)的服務(wù)。在應(yīng)用中,融合大數(shù)據(jù)技術(shù),能夠?qū)崿F(xiàn)對(duì)數(shù)據(jù)進(jìn)行編程,達(dá)到軟件互操作的效果,并提高對(duì)數(shù)據(jù)的主動(dòng)協(xié)調(diào)。軟件工程開發(fā)工程師可以對(duì)數(shù)據(jù)信息共享,實(shí)現(xiàn)各種學(xué)習(xí)交流,對(duì)軟件進(jìn)行協(xié)同開發(fā),并結(jié)合用戶的反饋,對(duì)軟件系統(tǒng)進(jìn)行優(yōu)化處理,提高軟件的性價(jià)比。近年來,開源軟件是較為成功的軟件習(xí)作模式,但是,其采用常規(guī)的研究方法,應(yīng)用價(jià)值還不是很高。與開源軟件相比,群體軟件工程屬于一種分布式軟件開發(fā)模型,能夠依靠網(wǎng)絡(luò)進(jìn)行任務(wù)分配,并能實(shí)現(xiàn)創(chuàng)造性的查詢,通過眾包形式的開發(fā),解決開發(fā)過程中的難題。并且,在整個(gè)開發(fā)過程中,眾包開發(fā)可以貫穿其全過程。所謂眾包,一如其字面含義,是一種分布式的生產(chǎn)開發(fā)模式和問題解決方案。通過該種方式,開源軟件和商業(yè)軟件均可通過網(wǎng)絡(luò)進(jìn)行任務(wù)和責(zé)任分配。[8]隨著我國(guó)計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展進(jìn)步,軟件工程技術(shù)也取得了長(zhǎng)足發(fā)展,軟件服務(wù)工程也支持得到拓展和延伸。在大數(shù)據(jù)時(shí)代背景下,我們應(yīng)當(dāng)加快大數(shù)據(jù)技術(shù)和軟件工程技術(shù)的融合與創(chuàng)新,提升對(duì)海量網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行編程處理的能力,提高軟件的安全和效能,增強(qiáng)其穩(wěn)定性和可操作性,進(jìn)一步整合軟件工程系統(tǒng)的集成度。

4數(shù)據(jù)密集型科研第四范式

圖靈獎(jiǎng)獲得者、關(guān)系數(shù)據(jù)庫(kù)研究專家詹姆士•格雷(JamesGray)曾經(jīng)從科學(xué)哲學(xué)的層面將人類科學(xué)研究模式總結(jié)劃分為最初的實(shí)驗(yàn)科學(xué)階段,之后的理論科學(xué)階段,到通過模擬的方法進(jìn)行的計(jì)算科學(xué)三個(gè)階段,相對(duì)應(yīng)地稱之為科學(xué)研究的第一范式、第二范式、第三范式。但是伴隨著模擬連同實(shí)驗(yàn)所產(chǎn)生的海量的數(shù)據(jù),需要由軟件處理這些由各種儀器或者模擬實(shí)驗(yàn)產(chǎn)生的海量數(shù)據(jù),并將處理得到的信息和知識(shí)存儲(chǔ)于計(jì)算機(jī)中。之后,科研人員只需要對(duì)這些存儲(chǔ)于計(jì)算機(jī)中的少量數(shù)據(jù)進(jìn)行分析研究,不再是直接通過儀器或者模擬進(jìn)行研究。因而基于數(shù)據(jù)密集型科學(xué)研究獨(dú)特的技術(shù)以及其顯著的不同于以往研究的特點(diǎn),詹姆士•格雷在2007于其科研報(bào)告中提出了將這種數(shù)據(jù)密集型的科學(xué)研究模式從計(jì)算機(jī)科學(xué)類型中單獨(dú)區(qū)分出來的思想,隨之產(chǎn)生了一種被稱之為第四范式的新的科研模式。該報(bào)告整理后題名“吉姆•格雷論e-Science:一種科研模式的變革”,成為微軟于2009的年首次全面對(duì)數(shù)據(jù)密集型數(shù)據(jù)進(jìn)行描述的論文集《e-Science:科學(xué)研究的第四種范式》的開篇文章。[9]當(dāng)前,相當(dāng)多的計(jì)算機(jī)領(lǐng)域的專家學(xué)者對(duì)數(shù)據(jù)密集型科研第四范式予以了關(guān)注,并進(jìn)行了相應(yīng)的研究,探索出了相應(yīng)的方式方法,第四范式的研究被認(rèn)為是大數(shù)據(jù)時(shí)代背景下軟件工程技術(shù)研發(fā)的關(guān)鍵。信息化的發(fā)展與滲透,導(dǎo)致一切的事物都在隨之發(fā)生著變化。包括實(shí)驗(yàn)、理論分析和計(jì)算科學(xué)均在數(shù)據(jù)泛濫的影響下與之前大不相同,軟件工程技術(shù)既要適應(yīng)科研第四范式,又在其中扮演著更加重要的作用。傳統(tǒng)范式下的目的與探索之間不能夠很好地銜接,數(shù)據(jù)信息的應(yīng)用效率難以保障,難以滿足項(xiàng)目管理目標(biāo)的實(shí)現(xiàn)。數(shù)據(jù)密集型科研第四范式下的技術(shù)以及理論相關(guān)內(nèi)容,與大數(shù)據(jù)技術(shù)特別是其中的存儲(chǔ)技術(shù)有著緊密的關(guān)聯(lián)性,其待探索的空間和應(yīng)用價(jià)值相當(dāng)廣闊,其數(shù)據(jù)信息研發(fā)急需相應(yīng)的理論支撐,該范式下的軟件工程技術(shù)應(yīng)用模塊,亦能夠?qū)ζ渌妒较碌臄?shù)據(jù)信息進(jìn)行分析,對(duì)于更好地實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)與處理,提升處理效率,有著重要的研究?jī)r(jià)值。在第四范式模式下,對(duì)集成密集型數(shù)據(jù)的軟件服務(wù)價(jià)值進(jìn)行評(píng)估是首要的,需要摒棄以往的數(shù)據(jù)統(tǒng)計(jì)方法,構(gòu)建新的針對(duì)大數(shù)據(jù)進(jìn)行信息統(tǒng)計(jì)和分析的方法,這對(duì)軟件工程技術(shù)的發(fā)展起著重要的作用。在軟件工程技術(shù)的研究中,應(yīng)當(dāng)更新傳統(tǒng)理念,重視其對(duì)大數(shù)據(jù)的處理和分析能力,使軟件產(chǎn)業(yè)呈現(xiàn)全新的面貌,從而亦能促進(jìn)其對(duì)大數(shù)據(jù)的數(shù)據(jù)分析能力。在第四范式的基礎(chǔ)上,亦能夠更好地支持第三范式,甚至于第一范式。該范式研究在我國(guó)軟件工程開發(fā)中還處于初級(jí)階段,軟件工程開發(fā)人員需在強(qiáng)化已有數(shù)據(jù)模型研究基礎(chǔ)上,加速由第三范式向第四范式的轉(zhuǎn)變,盡快實(shí)現(xiàn)其應(yīng)用層面的服務(wù)價(jià)值。

5結(jié)語

概言之,大數(shù)據(jù)時(shí)代背景下,信息化程度高度發(fā)達(dá),社會(huì)各行各業(yè)都被大數(shù)據(jù)所包圍和滲透,且都離不開軟件工程技術(shù)。在電子支付、遠(yuǎn)程控制、自動(dòng)駕駛、智能入住、智能售貨等應(yīng)用中,軟件都在其中扮演著越來越核心的作用。因此,大數(shù)據(jù)背景下應(yīng)該加大對(duì)于軟件工程技術(shù)研究和軟件研發(fā)的經(jīng)費(fèi)投入力度,加大軟件工程人才的培養(yǎng)力度,特別是軟件工程復(fù)合型人才的培養(yǎng)力度,加大軟件工程技術(shù)人員與相關(guān)產(chǎn)業(yè)與領(lǐng)域的深度融合,不斷推動(dòng)和實(shí)現(xiàn)軟件工程技術(shù)的創(chuàng)新和發(fā)展。

參考文獻(xiàn)

[1]劉璘,周明輝,尹剛.大數(shù)據(jù)時(shí)代軟件工程專題前言[J].軟件學(xué)報(bào),2017,28(06):1327-1329.

[2]韓際平.“大數(shù)據(jù)”浪潮來襲[J].數(shù)據(jù),2012(12):1.

[3]黎林峰.大數(shù)據(jù)奏響時(shí)代華彩樂章[J].中國(guó)建設(shè)信息化,2015(Z1):12-13.

[4]姜奇平.大數(shù)據(jù)時(shí)代到來[J].互聯(lián)網(wǎng)周刊,2012(02):6.

[5]《計(jì)算機(jī)科學(xué)技術(shù)百科全書》(選編本).清華大學(xué)出版社,2002:121-122.

[6]張小雨.大數(shù)據(jù)時(shí)代下軟件工程技術(shù)的應(yīng)用[J].電腦知識(shí)與技術(shù),2020,16(33):84-85+105.

[7]徐曉飛.談軟件服務(wù)工程學(xué)科知識(shí)體系及教育[J].計(jì)算機(jī)教育,2014(01):3-8.

[8]李奇冰.大數(shù)據(jù)時(shí)代下軟件工程關(guān)鍵技術(shù)分析[J].數(shù)字技術(shù)與應(yīng)用,2016(11):231.

[9]郎楊琴,孔麗華.科學(xué)研究的第四范式吉姆•格雷的報(bào)告“e-Science:一種科研模式的變革”簡(jiǎn)介[J].科研信息化技術(shù)與應(yīng)用,2010,1(02):92-94.

作者:李奇旻 單位:華東師范大學(xué)