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