姚楠
【關(guān)鍵詞】大數(shù)據(jù);軟件工程;維護(hù);技術(shù)
事實(shí)上我國開展軟件開發(fā)的企業(yè)數(shù)量比較龐大,但往往不同企業(yè)其各自的實(shí)力也存在差異性,一般技術(shù)領(lǐng)域的企業(yè),其在開展軟件開發(fā)及維護(hù)技術(shù)實(shí)踐應(yīng)用時,都會綜合具體工作內(nèi)容和大數(shù)據(jù)時代的信息特點(diǎn),后由相關(guān)管理人員整理并分析收集到的信息,繼而找準(zhǔn)自身企業(yè)的發(fā)展方向,同時在此基礎(chǔ)上制定合理的發(fā)展計劃,穩(wěn)固企業(yè)的市場地位,有效提升企業(yè)的營業(yè)業(yè)績,力爭獲取到最高的經(jīng)濟(jì)效益。
(一)大數(shù)據(jù)
眾所周知,沃爾瑪?shù)摹捌【婆c尿布”屬于大數(shù)據(jù)行業(yè)的一大典型案例,隨著社會的數(shù)據(jù)信息化發(fā)展,完全證明了大數(shù)據(jù)時代的到來。20世紀(jì)80年代初期,美國社會思想家阿爾文·托夫勒撰寫的《第三次浪潮》掀起了人類社會發(fā)展的三次浪潮,第一次浪潮以“農(nóng)業(yè)文明”為核心,第二次浪潮以“大數(shù)據(jù)”為核心,第三次浪潮則以“信息化”為主,期間第一次提出了“大數(shù)據(jù)”的概念。被世人熟知的麥肯錫咨詢公司作為全球著名的咨詢公司在2011年5月發(fā)表的《大數(shù)據(jù):創(chuàng)新、競爭和生產(chǎn)力的下一個前沿》報告中,明確指認(rèn)大數(shù)據(jù)時代的來臨。繼大數(shù)據(jù)的概念提出之后,人們經(jīng)過反復(fù)實(shí)踐,并且在其技術(shù)不斷發(fā)展的過程中對“大數(shù)據(jù)”做出了嚴(yán)格且權(quán)威性的定義。一般來說,大數(shù)據(jù)的規(guī)?;径寄苓_(dá)到10TB左右,目前已經(jīng)實(shí)現(xiàn)了PB級的數(shù)據(jù)量。維基百科對“大數(shù)據(jù)”一詞給出的概念是:用來描述傳統(tǒng)數(shù)據(jù)處理應(yīng)用軟件沒有辦法完整地完成較之龐大的或是復(fù)雜性較高的數(shù)據(jù)集。然而,論及“大數(shù)據(jù)”這一概念時,其并非只是代表龐大的數(shù)據(jù)規(guī)模,而是同時涵蓋了處理和應(yīng)用這些數(shù)據(jù)的具體活動。IBM總結(jié)出了大數(shù)據(jù)的具有“5V”特征,即數(shù)據(jù)價值高、數(shù)據(jù)真實(shí)性高、處理速度快、數(shù)據(jù)類別多樣、數(shù)據(jù)體量大。各個大數(shù)據(jù)技術(shù)的分類之間并非平行關(guān)系存在,而是以縱向、層級狀結(jié)構(gòu)存在的。
(二)軟件工程
原本當(dāng)前并不存在對軟件工程具有權(quán)威性的定義。且“軟件”一詞也是在20世紀(jì)60年代初期才出現(xiàn)的,此前大都為關(guān)于“程序”的概念,直至后來在經(jīng)過發(fā)展之后人們所認(rèn)知的關(guān)乎程序的文檔同樣發(fā)揮著很重要的作用,之后“軟件”一詞才問世。歷經(jīng)數(shù)年的發(fā)展,直到今天,軟件已經(jīng)并非僅借以某個程序個體或程序員合作方才可以完成,即便可以完成,其效率也往往不盡如人意,同時其程序運(yùn)行的可靠性比較差,也可以認(rèn)為根本就沒有辦法完成。為此,1968年“軟件工程”這一概念被在大西洋公約學(xué)術(shù)會議上提出來,換言之,即按照特定的工程方法全面完成軟件系統(tǒng)的設(shè)計開發(fā)、運(yùn)行維護(hù)及優(yōu)化等整體性工作內(nèi)容,也是借助“計算機(jī)科學(xué)”“數(shù)學(xué)管理科學(xué)”等一系列原理,運(yùn)用工程方法來完成軟件工程的制作,故其當(dāng)屬一門交叉性學(xué)科。大致可以認(rèn)為其包含有四個核心要素:①軟件工程目標(biāo);②軟件工程范型;③軟件工程過程;④軟件工程原則。
如果立足于宏觀角度來思考,軟件工程的概念往往要比大數(shù)據(jù)的概念覆蓋范圍更寬,同時大數(shù)據(jù)技術(shù)及其應(yīng)用也同時覆蓋了軟件工程的內(nèi)容。即便大數(shù)據(jù)各類技術(shù)及其應(yīng)用均隸屬垂直領(lǐng)域范疇,但軟件工程則涉及的是橫向領(lǐng)域,其側(cè)重點(diǎn)在軟件產(chǎn)品和軟件系統(tǒng)工程的實(shí)現(xiàn)或管理方面。然而,不管是針對大數(shù)據(jù)產(chǎn)品或是大數(shù)據(jù)系統(tǒng)的完成和落地,均擺脫不了軟件工程方法論的支撐。也就是說,包括軟件工程的技術(shù)方法始終貫穿于大數(shù)據(jù)的開發(fā)應(yīng)用過程中,且大數(shù)據(jù)這個概念也不過是出現(xiàn)在軟件工程的發(fā)展過程中。一定程度上來說,軟件工程開發(fā)具備一定的綜合性,且又被廣泛應(yīng)用于各學(xué)科及各領(lǐng)域,介此,大數(shù)據(jù)技術(shù)的應(yīng)用也就成了軟件工程重點(diǎn)關(guān)注及研究的內(nèi)容,又或者可以認(rèn)為軟件工程是大數(shù)據(jù)技術(shù)實(shí)踐開發(fā)應(yīng)用過程中各個環(huán)節(jié)的重要支撐。事實(shí)上,開發(fā)和應(yīng)用大數(shù)據(jù)的過程是在依賴于完整的數(shù)據(jù)鏈條的基礎(chǔ)上實(shí)現(xiàn)的,采取有效的算法來分析數(shù)據(jù)當(dāng)中潛在的規(guī)律,且必須保證要根據(jù)變化著的環(huán)境對算法進(jìn)行升級,基于基礎(chǔ)開發(fā)的原理,合理調(diào)整數(shù)據(jù)的分布情況,繼而實(shí)現(xiàn)大數(shù)據(jù)技術(shù)和軟件工程方法的有效結(jié)合。同時還要在開放的環(huán)境當(dāng)中共享網(wǎng)絡(luò)與通信技術(shù)數(shù)據(jù),此間會同時提升軟件的技術(shù)水平。此二者之間互相發(fā)生作用的同時,又能有效提升軟件效率和軟件效益,力爭滿足客戶需求。軟硬件是軟件開發(fā)過程中的必備條件,其作用是支持對應(yīng)的數(shù)據(jù)流,隨著數(shù)據(jù)流的持續(xù)增長,軟件對于軟硬件的要求也會隨之提高。對于工程技術(shù)人員來說,在分析和研究數(shù)據(jù)流的過程中,也會有專家和學(xué)者在線服務(wù)或研究。然而,數(shù)據(jù)流始終都是重點(diǎn),其中也包含了針對數(shù)據(jù)流使用方法的研究以及對支持?jǐn)?shù)據(jù)流的軟硬件的研究。此外,如果立足于軟件工程的開發(fā)角度來思考,不管是服務(wù)端或用戶端,軟件在運(yùn)行過程中都會不可避免地生成大批量的數(shù)據(jù)流,且此過程會產(chǎn)生大批量的數(shù)據(jù)信息,而最終這些數(shù)據(jù)流往往一定程度上會影響到軟硬件的使用壽命。所以,實(shí)際基于海量數(shù)據(jù)環(huán)境下的軟件工程開發(fā),第一步必須要做好對應(yīng)的數(shù)據(jù)流管理工作,特別重視數(shù)據(jù)流的分析和研究,還要更進(jìn)一步地研究原始數(shù)據(jù),使軟件的使用周期得以延長。
所謂軟件服務(wù)工程,即面向服務(wù)的軟件工程,一定意義上可以將其理解為傳統(tǒng)軟件工程的拓展。近年來,軟件工程經(jīng)過不斷發(fā)展慢慢演變成了當(dāng)今時代的一大主流,而其具體原則主要體現(xiàn)在其服務(wù)功能上。另外,軟件服務(wù)工程也可以理解為包括軟件、服務(wù)、工程三者之間的交叉融合,又或是將其理解為軟件工程和服務(wù)工程之間的雙向融合等。從實(shí)踐情況來看,需基于軟件服務(wù)工程基礎(chǔ)原則、開發(fā)技術(shù)和應(yīng)用方法,充分利用與之對應(yīng)的軟件服務(wù)設(shè)施平臺,來開發(fā)出更高水平的軟件服務(wù)系統(tǒng),以滿足實(shí)際應(yīng)用需求。對于軟件開發(fā)者而言,通常都是依據(jù)實(shí)際需求的變化在不斷實(shí)踐的過程中以服務(wù)社會為主要目標(biāo)。在開發(fā)初期,建構(gòu)良好的軟件框架,并且充分發(fā)揮編程語言作用,提前建構(gòu)編程思路,保證開發(fā)軟件可以更好地服務(wù)于應(yīng)用,有序維持軟件的穩(wěn)定運(yùn)行。開發(fā)者在實(shí)際服務(wù)的過程當(dāng)中必須要嚴(yán)格應(yīng)用分布式應(yīng)用程序,并利用虛擬操作的方式為用戶提供高質(zhì)量的服務(wù)[1]。實(shí)踐應(yīng)用過程中介入大數(shù)據(jù)技術(shù),可以完成實(shí)時的數(shù)據(jù)編程,以便主動協(xié)調(diào)數(shù)據(jù)。軟件工程師在共享信息的同時又可以互相交流學(xué)習(xí),結(jié)合用戶反饋協(xié)同開發(fā)軟件,確保能夠優(yōu)化升級軟件系統(tǒng),并且進(jìn)一步提高軟件性能。開源軟件作為最近幾年比較成功的習(xí)作模式,它所采用的常規(guī)性研究方法,在應(yīng)用價值方面體現(xiàn)得并不高。對比開源軟件來說,群體軟件工程又是一種分布式的軟件模型,它可以借助網(wǎng)絡(luò)完成任務(wù)的分配,同時也可以做到創(chuàng)造性的查詢,借以眾包的形式來成功地克服實(shí)際開發(fā)中遇到的各種難題。與此同時,眾包開發(fā)又可以貫穿于整個開發(fā)過程。眾包開發(fā)的含義即一種分布式的生產(chǎn)和開發(fā)的模式,并且是一種解決問題的具體方案。借此方式可以實(shí)現(xiàn)開源軟件與商業(yè)軟件基于網(wǎng)絡(luò)系統(tǒng)的任務(wù)分配和責(zé)任劃分。軟件工程技術(shù)發(fā)展速度和國內(nèi)科技水平呈正相關(guān)關(guān)系,即國內(nèi)科技水平可以促進(jìn)軟件工程技術(shù)的快速發(fā)展。與此同時,也為軟件服務(wù)工程提供了拓展的路徑。基于大數(shù)據(jù)時代背景下的軟件工程開發(fā)要求我們必須加速大數(shù)據(jù)技術(shù)與軟件工程技術(shù)的有機(jī)融合,并在創(chuàng)新的基礎(chǔ)上進(jìn)一步提升編程處理海量網(wǎng)絡(luò)數(shù)據(jù)信息的能力,促進(jìn)軟件安全效能的提升,并且進(jìn)一步提高軟件開發(fā)的穩(wěn)定性及可操作性,以最終完成軟件工程系統(tǒng)整合集成度的開發(fā)和應(yīng)用[2]。
詹姆士·格雷是美國著名的關(guān)系數(shù)據(jù)庫研究專家,他曾立足于科學(xué)哲學(xué)的層面劃分人類科研模式為三個階段:初期實(shí)驗(yàn)科學(xué)階段,科學(xué)理論階段,模擬計算科學(xué)階段,后又將此三個階段分別系統(tǒng)性地稱為第一、二、三范式。隨著模擬連同實(shí)驗(yàn)生成的海量數(shù)據(jù),一般由軟件來對這些各類儀器及模擬實(shí)驗(yàn)生成的海量數(shù)據(jù)進(jìn)行科學(xué)處理,之后又將經(jīng)過處理獲取到的信息及知識儲存在計算機(jī)中。緊跟著再由科研人員仔細(xì)分析和研究這些儲存在計算機(jī)當(dāng)中的小批量數(shù)據(jù),而并非直接性借助儀器或模擬的方法展開研究?;诖?,從以往應(yīng)用于數(shù)據(jù)密集型科研當(dāng)中的獨(dú)特技術(shù)及其表現(xiàn)出來的不同于往日的科研特點(diǎn),詹姆士·格雷又在2007年,于科研報告當(dāng)中正式提出這種數(shù)據(jù)密集型科研模式,同時也包括由計算機(jī)中獨(dú)立區(qū)別的思想,之后第四范式的新型科研模式便誕生了。經(jīng)過整理后的報告命名為“吉姆·格雷論e-Science:一種科研模式的變革”,后來也被作為2009年微軟描述數(shù)據(jù)密集型的首篇論文集《e-Science:科學(xué)研究的第四種范式》。時下有不少計算機(jī)領(lǐng)域研究的專業(yè)從業(yè)人員均給予了數(shù)據(jù)密集型科研第四范式較高的關(guān)注和深入的研究,積極找出了行之有效的方式和方法,為此,關(guān)于第四范式的研究成了當(dāng)今時代大數(shù)據(jù)技術(shù)背景下開發(fā)軟件工程技術(shù)的核心所在[3]。
信息時代這一大背景,為許多學(xué)科的拓展提供了有效支持,其中包括實(shí)驗(yàn)、計算科學(xué)和理論分析在內(nèi)的各種研究都在當(dāng)今這個數(shù)據(jù)信息大面積發(fā)展的情勢下表現(xiàn)出與之前較大的差異性,因此,既要要求軟件工程技術(shù)必須積極迎合科研第四范式,同時又將其發(fā)揮的作用及其占據(jù)的地位提升了一個階層。以往傳統(tǒng)的軟件工程范式?jīng)]有辦法很好地將目的和探索銜接起來,也沒有辦法更好地保證數(shù)據(jù)信息的實(shí)際應(yīng)用效率和管理目標(biāo)的實(shí)現(xiàn)?;跀?shù)據(jù)密集型科研第四范式相關(guān)理論可以得知,借助此范式的軟件工程技術(shù)模塊,可以同時分析其余范式下的數(shù)據(jù)信息,有效提高了數(shù)據(jù)信息處理的效率和質(zhì)量?;诘谒姆妒侥J较?,需要首先評估集成密集型數(shù)據(jù)軟件的服務(wù)價值,必須要在以往數(shù)據(jù)統(tǒng)計方法應(yīng)用的基礎(chǔ)上,創(chuàng)新出大數(shù)據(jù)信息統(tǒng)計及信息分析的新方法,便于推進(jìn)后期的軟件工程技術(shù)發(fā)展和進(jìn)步。另外,還需要更新以往軟件工程技術(shù)的研究理念,特別重視大數(shù)據(jù)的處理和分析能力的培養(yǎng)提升,革新軟件產(chǎn)業(yè)的面貌,在此過程中提高大數(shù)據(jù)的數(shù)據(jù)分析能力[4]。基于第四范式也可以使其更好地服務(wù)于第一、三范式。當(dāng)然,目前我國關(guān)于第四范式的研究依然處在初級階段,對此要求相應(yīng)的軟件工程開發(fā)人員必須要在研究已有的數(shù)據(jù)模型的基礎(chǔ)上,加快第三范式向第四范式轉(zhuǎn)換的速度,并且充分發(fā)揮出基于應(yīng)用層面的服務(wù)價值。
(一)數(shù)據(jù)分析軟件
在這個大數(shù)據(jù)時代背景下,人們在工作中往往要面對大批量的數(shù)據(jù)信息,所以,當(dāng)前工作技術(shù)人員所面臨的首要問題,即通過什么樣的手段來提高數(shù)據(jù)的捕獲效率及數(shù)據(jù)分析的效率?,F(xiàn)實(shí)當(dāng)中,各企業(yè)可以充分運(yùn)用數(shù)據(jù)分析軟件來有序篩選并整理用戶信息,并且對前期獲取到的用戶反饋信息數(shù)據(jù)及收集到的用戶需求數(shù)據(jù)進(jìn)行整合,在此基礎(chǔ)上制定出較之科學(xué)的維護(hù)計劃,以能夠很好地維護(hù)企業(yè)和用戶之間的關(guān)系[5]。
借助數(shù)據(jù)分析軟件來分析數(shù)據(jù),除了有助于提高工程技術(shù)人員的工作效率以外,更有助于提升企業(yè)運(yùn)營的經(jīng)濟(jì)效益,或者輔助相關(guān)管理人員及時發(fā)現(xiàn)工作中存在的問題,并提出優(yōu)化方案,以免影響企業(yè)的發(fā)展。實(shí)際軟件工程開發(fā)和研究工作進(jìn)行當(dāng)中,一定要特別重視數(shù)據(jù)分析工作的內(nèi)容,對于管理人員來說,借此技術(shù)可以獲取到極具代表性的數(shù)據(jù)樣本信息,進(jìn)而綜合這些信息和市場的發(fā)展方向來調(diào)整工作計劃,提高所擬定計劃的實(shí)用性。
(二)通信技術(shù)軟件
事實(shí)上,現(xiàn)階段我國通信技術(shù)行業(yè)的空前繁榮某種意義上象征著我國的軟件開發(fā)及維護(hù)技術(shù)研究工作步入了新的歷史階段,為此恰恰會產(chǎn)生巨大的社會影響力,比如,現(xiàn)階段通信技術(shù)軟件已經(jīng)被廣泛應(yīng)用于各個社會領(lǐng)域中。
通信技術(shù)軟件的應(yīng)用,可以輔助企業(yè)做好推廣,提高企業(yè)影響力。通信技術(shù)工作人員可以借助通信技術(shù)軟件來收集和分析用戶信息,繼而辨析用戶的實(shí)際需求,保證自身制定的工作計劃能夠匹配用戶實(shí)需,并且受到用戶認(rèn)可,供給用戶對應(yīng)的服務(wù),此過程更有助于提升工作效率,也可以收獲更多的用戶。另外,日常工作中,運(yùn)用軟件通信技術(shù),既可以及時發(fā)現(xiàn)工作人員實(shí)際工作中存在的缺陷,也可以實(shí)現(xiàn)相應(yīng)的軟件跟蹤服務(wù),在確保有效提高售后工作質(zhì)量的基礎(chǔ)上,輔助他們制定出科學(xué)合理的問題解決方案,進(jìn)一步推進(jìn)企業(yè)進(jìn)步和發(fā)展[6]。
(三)商業(yè)經(jīng)營軟件
企業(yè)經(jīng)營管理人員可以運(yùn)用商業(yè)經(jīng)營軟件獲取到更多的精確性用戶信息,同時他們又可以將這些信息參數(shù)作為制定企業(yè)發(fā)展計劃的核心參考數(shù)據(jù)。例如,計算機(jī)企業(yè)在推行軟件前要先查詢用戶信息,但如果沿用以往傳統(tǒng)的查詢方式,除了要耗費(fèi)大量人力,消耗大量時間以外,更有可能還會造成文件信息丟失,這樣不僅對企業(yè)發(fā)展不利,同時還會對企業(yè)發(fā)展產(chǎn)生負(fù)面影響,但如果應(yīng)用商業(yè)經(jīng)營軟件,就能有效地避免這種情況出現(xiàn)。
綜上,軟件開發(fā)及維護(hù)技術(shù)的實(shí)踐,可以為大批量數(shù)據(jù)處理提供有效的處理方法,提升所整理數(shù)據(jù)的應(yīng)用價值。而此次研究也積累相應(yīng)的實(shí)踐經(jīng)驗(yàn),為理論體系的完善提供良好參考。在下階段的發(fā)展中,還需加強(qiáng)技術(shù)創(chuàng)新、人員素養(yǎng)培訓(xùn)、配套硬件開發(fā)等工作,充分發(fā)揮軟件技術(shù)的應(yīng)用優(yōu)勢,以促進(jìn)社會經(jīng)濟(jì)的健康發(fā)展。