邵泳兵
(汕頭職業技術學院,廣東 汕頭 515041)
隨著科學技術的不斷發展,計算機技術的應用改變了人們的基本生活,也使軟件開發出現了新的挑戰。現階段,計算機技術的發展促進了軟件開發領域的改革,主要由組件技術進行驅動,提高了軟件開發的效率,促進了傳統的客戶端/服務器架構、群件中間件等大型軟件系統的重組[1]。組件技術的出現改變了軟件的開發方式,使軟件開發的內容可以分為多個層次,每個層次作為一個獨立的組件,通過組裝成為一個完整的系統,為軟件開發提供了便利。因此,組件技術在軟件開發過程中得到了有效的推廣和應用。
隨著現代信息技術的不斷發展,云計算技術得到了廣泛的應用。云計算的應用可以實現云平臺的建設,在設備管理和資源合理配置方面提供有利的基礎和支持。通過云計算的應用,可以配置相關的集群系統,實現動態頁面的合理處理,可以有效滿足各種系統的基本需求。就互聯網領域的發展而言,云計算技術在金融、電商、教育等眾多行業有著非常廣泛的應用,其中的代表就是阿里云系統,該系統不僅具有靈活的計算能力,而且擁有龐大的數據庫,所以兼容性強,訪問效率高,可以滿足用戶的基本要求。因此,隨著云計算技術的日益普及,可以更好地滿足現代人的多樣化需求,不僅可以為人們提供高效的服務,還可以有效地存儲和處理大量數據和信息。
在全球化的發展過程中,我國的科技和經濟不斷發展,特別是在國際化的背景下,計算機軟件的發展贏得了眾多企業的青睞,在科學研究和人力資源培訓方面取得了巨大的突破。但是,在發展過程中,全球經濟的影響,給我國計算機軟件的發展帶來了巨大的壓力。我國的計算機軟件技術的研發歷史較短,與發達國家相比還存在一定的差距。而且由于我國在計算機軟件創新方面的研發較少,核心的軟件產品尚未形成,導致軟件產品在使用過程中出現嚴重的不平衡現象。在不能滿足數字化和網絡化基本需求的情況下,我國計算機軟件開發行業需要通過對核心技術進行相應的研究,對一些成功案例進行相應的分析,尋找軟件開發的方向。另外,我國計算機軟件開發技術人才應用存在嚴重的不合理現象,在計算機軟件開發過程中沒有完全養成良好的習慣,因此在硬件上的資金投入大大減少。人才結構嚴重不合理,對知識產權保護意識相對薄弱,使得計算機軟件的開發難度加大,導致我國軟件開發技術前景堪憂。
在軟件開發過程中,軟件使用的傳統開發模型還有很多,而且這些模型都是獨立版本,存在使用效率低、容易受到干擾等問題,在使用該資源的過程中存在一定的限制,使其他資源無法科學使用。云計算技術改變了傳統軟件開發的局限,打破了傳統的軟件開發模式,可以提高軟件開發過程中資源利用效率。從單機版升級成了云計算,從開發的模式上來看,是極為有利的[2]。
在云計算技術的影響下,軟件設計也取得了很大的突破,軟件設計結構多樣化,通過利用云計算技術逐漸提高了信息獲取的速度,在獲取信息的過程中,逐漸編程虛擬化,在這種情況下設計方向出現了變化,資源可隨時隨地使用,不會受到地域或者是時間限制,設計機構得到加強,推動軟件設計的發展。
隨著計算機技術的發展,軟件的重要性越來越高,軟件的獨立性越來越明顯。云計算技術的應用,推動了軟件開發向更加服務化的方向發展,軟件開發的抽象性和開放性逐漸增強,從封閉的計算機平臺向互聯互通的協同計算機平臺轉變,特別是圍繞網絡結構,成為未來軟件發展的一大趨勢。其特點主要是自主性、協同性、進化性等。
云計算對軟件開發的影響也體現在一個以Hadoop為核心的設計模型上,它是軟件設計的核心軟件,主要任務是處理數據,從大量數據中提取部分數據,轉換和加載數據。在建模、設計軟件時,利用云計算技術不僅可以讓模型中的數據更多,還可以保證軟件的使用效率。
在軟件架構方面,面向數據流的軟件設計方法主要是構建一個線性架構,可以將數據從輸入發送到輸出,一般這種架構也可以詳細描述為三種:作業處理類型、過濾器類型和批處理的結構。本質上是一個數據處理單元,組件之間的連接器是處理單元通過的通道。以過濾器類型為例,具有獨立過濾器的特性,每個過濾器都有一組輸入和一組輸出。數據會進行變換、計算等內部處理操作,經過下一次粗略的操作后,將數據流送到輸出集,依次進行完整的一系列計算[3]。
虛擬體作為軟件架構的一種,可以避免底層硬件的異構性對軟件運行的影響,因此系統的適應性結構非常好。在虛擬架構中,組件類型主要包括虛擬機執行引擎、存儲輸入數據的組件、存儲虛擬機當前狀態的組件等。連接器通常是直接存儲的訪問或過程調用組件。虛擬架構的指令體現在機器指令集中,例如基于解釋器建立Java虛擬架構,設計者可以使用解釋器來構建彌補計算引擎之間差距的虛擬機。
軟件框架設計包括組件層、中間件層、應用層和容器層。中間件屬于應用軟件的基礎平臺,可以安裝在服務器的不同節點上。容器層為組件提供了生存環境。組件是軟件應用的主體,軟件的配置是通過將組件組裝成一個容器來實現的。
云計算可以利用系統間統一的接口和協議進行數據交換,利用中間件實現通信功能和控制,提高系統的穩定性、通用性和可靠性。但系統軟件模塊之間的耦合度比較高,如果應用算法的復用度沒有得到有效解決,將很難提高軟件開發效率。
在云計算環境中,往往需要動態調整內部結構配置以適應不斷發展的環境和用戶需求。獨立組件與軟件框架相關聯,其中容器層是分布式中間件和組件之間的通信橋梁,為組件提供通信基礎。根據組件管理和通信抽象出容器模型,并根據容器模型的需要,分為開發環境支持和系統運行支持兩大功能模塊。開發環境支持是指容器在開發云應用軟件時必須提供給用戶的能力[4]。系統運行支持是指容器為上層應用系統提供必要的運行環境。主要由組件管理器、執行狀態監控、資源調度與分配、組件生命周期管理、系統自動化部署和應用權限管理等六部分組成。這些服務可以被各種功能組件或較低級別的中間件使用。
通過深入研究軟件開發與云計算的關系,可以得到相關的互聯網軟件架構和基于云計算的相關核心內容,而架構的核心是云客戶端和服務器。在開發和設計軟件的過程中,必須實現云客戶端和服務器的有效連接,以滿足互聯網軟件的需求。可以在實際連接過程中使用光纖網絡或無線網絡進行連接,以滿足軟件開發設計的相關基本需求。可以看出,在當前互聯網軟件的整體架構中,通過應用云計算技術,可以有效實現存儲空間分配、CPU資源分配、通信鏈路分配等各種功能。
云計算組件在軟件開發中的應用,充分發揮了軟件的分析和設計能力,并對軟件重用產生了巨大的影響,通過設置特定的服務,為用戶提供各種接口,為軟件的有效應用提供了方便。考慮到組件的使用接口,可以將底層的多個邏輯組合成新的高層組件,便于實現軟件的模塊功能。為了保證軟件的安全性,通常需要隱藏組件模型,沒有直接為組件接口分配地址。
一般來說,基于云計算組件的軟件開發需要經過以下流程:第一,對組件進行合理分類。為了復用組件,需要在現場搭建可復用的組件庫,但是對一個大型組件進行分類是一項復雜而龐大的任務,因為通常需要有很多可復用的組件庫[5]。另外,由于用戶的需求不同,因此與開發者對可復用組件的理解往往存在很大差異,從這個角度來看,可以通過組件組合、調用、繼承、框架這四種相互關系來發現潛在的可復用組件。第二,可重用組件的選擇。可重用組件的選擇是組件重用的關鍵部分,軟件開發人員要時刻清楚,選擇的可重用組件必須充分適應新系統的要求,從而提高軟件開發的效率。此過程應通過多種方式優化選定可重用組件,最大化系統開發需求。最后,開發和設計新的可重用組件。設計軟件需要具有開發意識,并構建一個完整的系統,該系統能夠很好地理解現有的可重用組件,并將它們記錄下來供其他人查詢和理解。雖然這項工作會在一定程度上增加工作量和成本消耗,但從長遠來看,這項工作對于減少后續軟件開發的工作量和成本具有重要意義。
隨著計算機技術的不斷發展,軟件的重要性越來越高,軟件和硬件的獨立性越來越明顯,但是當云計算技術將軟件的發展推向更加服務化的方向時,軟件和硬件的結合就成了現實,這些成果的出現是由于云計算方法的整合。分析整個軟件開發過程,不難發現云計算技術的出現,逐漸增加了軟件開發的抽象性和開放性。尤其是Web軟件已經成為未來軟件發展的一大趨勢,其特點主要是自主性、協同性和進化性。互聯網軟件將是基于云計算技術的軟件開發的發展趨勢之一[6]。隨著計算機技術的不斷發展,軟件開發技術也得到了進一步的提升,從過去的結構化系統向系統化轉變。未來,組件軟件的不斷發展將走向系統化發展。相比之下,結構化開發方法最初是為了滿足軟件開發的需要而廣泛采用的,主要是利用軟件的內部數據結構優化系統結構。對于結構化開發,必須借助結構化設計,遵循從上到下逐步完善的過程,才能更好地實現模塊化設計,提高整體系統結構的運行效率。這種開發方式還需要進一步發展,以滿足大規模軟件開發的需要。
隨著互聯網技術的不斷發展,軟件的應用要求也越來越高,互聯網軟件需要更好的開發和設計來滿足不同用戶的需求,而云計算技術可以有效實現這個目標。云計算組件技術的應用改變了現有的軟件開發模式,極大地提高了軟件開發的效率。云計算組件技術能夠滿足不同應用的要求,允許最大限度地重復使用不同技術形成的組件,人們現在越來越期待具有分布和協同處理能力的開放分布式組件技術。分布式組件技術的目標是實現開放的組件產品,允許應用程序互操作,并降低開發和管理成本。迄今為止,還沒有完整的開放組件系統實現,但組件化是軟件產業化的必然和最終選擇。