羅蓉
[摘 要] 隨著我國(guó)科學(xué)技術(shù)的不斷發(fā)展,當(dāng)今軟件在日常應(yīng)用中愈加頻繁。軟件技術(shù)是實(shí)現(xiàn)計(jì)算機(jī)基礎(chǔ)功能的重要渠道,可以說(shuō)軟件決定了計(jì)算機(jī)的實(shí)際功能。當(dāng)今我國(guó)計(jì)算機(jī)技術(shù)已經(jīng)走進(jìn)了各個(gè)行業(yè),加強(qiáng)計(jì)算機(jī)軟件應(yīng)用體系架構(gòu)分析對(duì)提高社會(huì)生產(chǎn)力有著重要意義?;诖耍瑥挠?jì)算機(jī)軟件應(yīng)用體系架構(gòu)著手,分析計(jì)算機(jī)應(yīng)用軟件架構(gòu)構(gòu)建的方法,旨在提高計(jì)算機(jī)應(yīng)用軟件的結(jié)構(gòu)。
[關(guān) 鍵 詞] 計(jì)算機(jī)軟件;應(yīng)用體系架構(gòu);構(gòu)建方法
[中圖分類號(hào)] G712 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2018)12-0134-02
現(xiàn)如今,計(jì)算機(jī)作為人們?nèi)粘I?、工作、學(xué)習(xí)不可或缺的設(shè)備之一,可以說(shuō)人們只要可以操作計(jì)算機(jī),就勢(shì)必會(huì)涉及計(jì)算機(jī)軟件。當(dāng)今計(jì)算機(jī)軟件應(yīng)用也愈加深入,結(jié)合計(jì)算機(jī)軟件架構(gòu)管理模式,得出了各種功能、類型的計(jì)算機(jī)軟件。為了可以更好地實(shí)現(xiàn)體系管理,計(jì)算機(jī)軟件應(yīng)用也逐漸進(jìn)行了體系劃分與架構(gòu)規(guī)劃。所以,針對(duì)不同的應(yīng)用領(lǐng)域,強(qiáng)化計(jì)算機(jī)軟件的應(yīng)用已經(jīng)成為軟件開(kāi)發(fā)領(lǐng)域的必然趨勢(shì)。為了實(shí)現(xiàn)軟件應(yīng)用的體系化,需要對(duì)軟件體系進(jìn)行全方位劃分,這樣才能夠保證軟件開(kāi)發(fā)變得更加有效率。
一、計(jì)算機(jī)應(yīng)用軟件分析
計(jì)算機(jī)技術(shù)在全世界的普及程度在不斷提高,為了能夠提高工作效率和生活質(zhì)量,軟件應(yīng)用設(shè)計(jì)也要更加趨于人性化和智能化。簡(jiǎn)單來(lái)說(shuō),計(jì)算機(jī)技術(shù)就是硬件技術(shù)和軟件技術(shù)的結(jié)合,但軟件發(fā)展速度遠(yuǎn)快于硬件發(fā)展速度。由于高級(jí)語(yǔ)言的出現(xiàn),進(jìn)一步提高了軟件開(kāi)發(fā)效率,同時(shí)也出現(xiàn)了一些弊端問(wèn)題,通過(guò)邏輯性語(yǔ)言進(jìn)行編譯勢(shì)必會(huì)產(chǎn)生一些漏洞,這就需要定期對(duì)計(jì)算機(jī)軟件進(jìn)行維護(hù)。所以,計(jì)算機(jī)軟件的開(kāi)發(fā)與應(yīng)用是一項(xiàng)階段性服務(wù),也是一項(xiàng)長(zhǎng)期性服務(wù)。隨著計(jì)算機(jī)軟件開(kāi)發(fā)技術(shù)的不斷發(fā)展,其也會(huì)呈現(xiàn)出更加多元化的發(fā)展態(tài)勢(shì)。以下是計(jì)算機(jī)軟件應(yīng)用與開(kāi)發(fā)中存在的一些問(wèn)題:
(一)不規(guī)范性
針對(duì)當(dāng)今計(jì)算機(jī)軟件應(yīng)用與開(kāi)發(fā)的不規(guī)范性,例如,在軟件開(kāi)發(fā)中,軟件開(kāi)發(fā)獨(dú)立性非常強(qiáng),但不同軟件開(kāi)發(fā)機(jī)構(gòu)針對(duì)不同用戶分析存在一定的交叉性,導(dǎo)致軟件開(kāi)發(fā)容易產(chǎn)生資源浪費(fèi)問(wèn)題。再者,原軟件法實(shí)則是一種給予系統(tǒng)軟件的開(kāi)發(fā)模式,所以二級(jí)開(kāi)發(fā)能夠?qū)崿F(xiàn)不同的開(kāi)發(fā)模式,也就是二級(jí)開(kāi)發(fā)必須基于一級(jí)開(kāi)發(fā)。很多開(kāi)發(fā)機(jī)構(gòu)為了獲取更高利用空間,通常會(huì)采用重新搭建軟件的方法,其軟件具有一定的隱匿性和欺騙性。最終導(dǎo)致軟件開(kāi)發(fā)的不規(guī)范性。
(二)無(wú)法實(shí)現(xiàn)綜合管理
在當(dāng)今社會(huì),各個(gè)領(lǐng)域都在不斷開(kāi)始引入計(jì)算機(jī)技術(shù),并結(jié)合軟件的實(shí)際需求,制定軟件開(kāi)發(fā)策略,從而提高軟件的應(yīng)用性。在日常生產(chǎn)領(lǐng)域中,軟件更多的是應(yīng)用到系統(tǒng)控制和遠(yuǎn)程操作當(dāng)中,特別是在車間生產(chǎn)領(lǐng)域中,安全生產(chǎn)要求也相對(duì)較高。這就需要充分利用計(jì)算機(jī)軟件技術(shù),開(kāi)展智能化遠(yuǎn)程控制,這對(duì)提高生產(chǎn)質(zhì)量有著很大的幫助。誠(chéng)然,我國(guó)軟件開(kāi)發(fā)技術(shù)還不夠成熟,各領(lǐng)域生產(chǎn)一體化程度相對(duì)較低,這就導(dǎo)致軟件無(wú)法實(shí)現(xiàn)綜合管理,功能體系還不夠完善。
(三)不同領(lǐng)域需求造成軟件需求不同
應(yīng)用軟件開(kāi)發(fā)具有很強(qiáng)的針對(duì)性,例如CAD軟件就是針對(duì)工程機(jī)械設(shè)計(jì)而存在的。由于不同用戶對(duì)軟件的需求不同,這就導(dǎo)致軟件功能無(wú)法集中,最終出現(xiàn)了一系列的問(wèn)題。因此可以采用協(xié)同管理模式,提高不同軟件之間的聯(lián)動(dòng)性,例如Word和Excel等。再者,對(duì)一些代碼來(lái)說(shuō),可以通過(guò)開(kāi)源代碼進(jìn)行編程,結(jié)合現(xiàn)有需求作出相應(yīng)改變,這樣即可減少軟件開(kāi)發(fā)成本,減少資源浪費(fèi)問(wèn)題??梢?jiàn),針對(duì)現(xiàn)有的軟件開(kāi)發(fā)與應(yīng)用還存在較多的問(wèn)題。為了能夠更好地安排軟件資源,要在軟件開(kāi)發(fā)當(dāng)中應(yīng)用更加合理的方法,并對(duì)現(xiàn)有資源進(jìn)行整合,提出高效率的軟件開(kāi)發(fā)模式,這樣才能夠?qū)崿F(xiàn)軟件的合理化、高效化開(kāi)發(fā)。
二、計(jì)算機(jī)軟件應(yīng)用體系架構(gòu)構(gòu)建
構(gòu)建應(yīng)用體系軟件架構(gòu)需要構(gòu)建計(jì)算機(jī)數(shù)學(xué)模型,通過(guò)模型中各大模塊間的相互作用和執(zhí)行功能,從而判定軟件類別。主要包括:獲取用戶信息、輸入存儲(chǔ)數(shù)據(jù)、按照預(yù)定操作流程處理數(shù)據(jù)。這三種應(yīng)用程序組成體系結(jié)構(gòu)模型,結(jié)合用戶和數(shù)據(jù)間的層次進(jìn)行劃分。每層通常都在不同系統(tǒng)或相同系統(tǒng)的空間內(nèi)配合,包括單層、雙層、多層的系統(tǒng)架構(gòu)。
(一)單層應(yīng)用體系結(jié)構(gòu)
單層應(yīng)用體系結(jié)構(gòu)模型主要是實(shí)現(xiàn)單一的應(yīng)用層,包括用戶界面、數(shù)據(jù)管理、資源查詢等基礎(chǔ)操作層。從數(shù)據(jù)自身情況來(lái)看,其可以是物理上位于的遠(yuǎn)程管理,在存取數(shù)據(jù)邏輯上是一個(gè)應(yīng)用程序部分。在此體系架構(gòu)當(dāng)中,處理數(shù)據(jù)不是通過(guò)數(shù)據(jù)庫(kù),而是通過(guò)文件進(jìn)行數(shù)據(jù)存取,應(yīng)用程序主要是通過(guò)編程定義,包括存儲(chǔ)、查詢、讀取等多種運(yùn)算邏輯。單層應(yīng)用最為簡(jiǎn)單的例子就是字處理器,其具有一個(gè)用于接受鍵盤驅(qū)動(dòng)和顯示的輸出類別,并且通過(guò)多商業(yè)規(guī)劃形式實(shí)現(xiàn)頁(yè)碼標(biāo)記、拼寫(xiě)檢查功能,并且還有部分文件用于存取數(shù)據(jù)文檔。單機(jī)采用Windows應(yīng)用程序多數(shù)都是單層模型。這種模型在于應(yīng)用程序前期分析和設(shè)計(jì)較為簡(jiǎn)單,但會(huì)提高后期維護(hù)難度,這是因?yàn)槎喾N功能界面集中到一個(gè)模塊中,如果一個(gè)部分出現(xiàn)改動(dòng)勢(shì)必會(huì)帶動(dòng)其他的應(yīng)用模塊。
(二)雙層應(yīng)用體系結(jié)構(gòu)
在雙層應(yīng)用體系結(jié)構(gòu)模型中,作為商業(yè)規(guī)則與用戶界面相融合的程序客戶端,數(shù)據(jù)存取與管理獨(dú)立出來(lái)通常在不同系統(tǒng)程序上完成,該項(xiàng)數(shù)據(jù)存儲(chǔ)與管理就好比SQL Server或Oracle這樣的數(shù)據(jù)庫(kù)。我們所熟知的Client/Server就是雙層結(jié)構(gòu)模型,該結(jié)構(gòu)所在局域網(wǎng)中的應(yīng)用較為廣泛。當(dāng)然,在雙層應(yīng)用體系結(jié)構(gòu)當(dāng)中,還有一種表現(xiàn)形態(tài),就是將用戶界面單獨(dú)作為一層,將數(shù)據(jù)處理與商業(yè)規(guī)則整合到另一層。該項(xiàng)結(jié)構(gòu)最大的特點(diǎn)就是將商業(yè)規(guī)則存放在數(shù)據(jù)庫(kù)內(nèi)進(jìn)行存儲(chǔ)。而數(shù)據(jù)庫(kù)系統(tǒng)的最大功能就是存儲(chǔ)數(shù)據(jù),每個(gè)存儲(chǔ)過(guò)程實(shí)則就是存儲(chǔ)數(shù)據(jù)在服務(wù)器上的運(yùn)行程序,表明如何對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)信息進(jìn)行一系列操作。數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以直接被客戶端所調(diào)動(dòng),同時(shí)也能夠通過(guò)觸發(fā)機(jī)制調(diào)用執(zhí)行存儲(chǔ)過(guò)程。一旦存儲(chǔ)數(shù)據(jù)可以滿足相關(guān)條件觸發(fā)了某個(gè)事件,可能出現(xiàn)存儲(chǔ)過(guò)程被調(diào)用的情況。
依然以Client/Server為例,該結(jié)構(gòu)模型最大的優(yōu)勢(shì)在于,其可以通過(guò)多用戶同時(shí)存取相關(guān)信息數(shù)據(jù),并且一個(gè)用戶數(shù)據(jù)更新能夠立刻連接另一個(gè)服務(wù)器上進(jìn)行訪問(wèn)。但是Client/Server雙層模型結(jié)構(gòu)也存在著一定缺陷問(wèn)題,如果客戶端數(shù)量有所增加,服務(wù)器端的負(fù)載就會(huì)逐漸增加,直到系統(tǒng)無(wú)法容納更多用戶而崩潰。同時(shí),商業(yè)規(guī)則處理邏輯和用戶界面相融合,如果想要對(duì)商業(yè)規(guī)則作出改動(dòng)是非常困難的。雖然雙層結(jié)構(gòu)模型在小規(guī)模商業(yè)應(yīng)用中非常便捷,但是對(duì)數(shù)據(jù)訪問(wèn)和更短時(shí)間軟件開(kāi)發(fā)需求的驅(qū)使,開(kāi)發(fā)人員會(huì)尋找一條新的創(chuàng)建分布式道路,也就是多層次應(yīng)用體系架構(gòu)。
(三)多層應(yīng)用體系結(jié)構(gòu)
在多層應(yīng)用體系結(jié)構(gòu)模型中,商業(yè)規(guī)則進(jìn)一步從客戶端獨(dú)立出來(lái),運(yùn)行在用戶減免、數(shù)據(jù)存儲(chǔ)系統(tǒng)上的單獨(dú)數(shù)據(jù)。現(xiàn)如今,客戶端程序提供應(yīng)用系統(tǒng)用戶層面,通過(guò)輸入相關(guān)數(shù)據(jù),查看反饋信息結(jié)果,并對(duì)Web強(qiáng)化應(yīng)用,瀏覽器作為客戶端用戶界面的總操作面,客戶端作為獨(dú)立的編譯前端應(yīng)用程序。在商業(yè)中間層面上,封裝了商業(yè)邏輯組件,這些商業(yè)邏輯組件可以模擬日常商業(yè)任務(wù),作為一種COM組件和CORBA組件。數(shù)據(jù)層可以像是SQL Server的數(shù)據(jù)管理系統(tǒng)或者像是Exchange的非結(jié)構(gòu)數(shù)據(jù)交換系統(tǒng),可見(jiàn),應(yīng)用程序選擇一個(gè)或多個(gè)類似的服務(wù)數(shù)據(jù)。
商業(yè)規(guī)則處理并保證軟件可以正常應(yīng)用執(zhí)行。在多層體系架構(gòu)中,客戶端往往不能直接提取數(shù)據(jù)信息,這樣即可為數(shù)據(jù)完整性、安全性提供保障。該架構(gòu)的好處是在應(yīng)用系統(tǒng)中,每個(gè)部分都能夠被單獨(dú)修改,不會(huì)影響其他的程序。并且由于每層間是采用接口進(jìn)行通信的,所以只要接口不出現(xiàn)明顯變化,內(nèi)部程序變化就不會(huì)影響系統(tǒng)的其余部分。在多層體系模型中,各應(yīng)用層并非一定要用于網(wǎng)絡(luò)上或物理位置上(計(jì)算機(jī)位置),可以在邏輯上不同位置上進(jìn)行分布,此時(shí)各應(yīng)用層和網(wǎng)絡(luò)物理拓?fù)溟g不需要有一一對(duì)應(yīng)關(guān)系,應(yīng)用層在物理拓?fù)渖戏植家矔?huì)隨著系統(tǒng)需求而產(chǎn)生變化。像是商業(yè)中間層與數(shù)據(jù)處理可以嵌入IIS Web服務(wù)器以及SQL Server數(shù)據(jù)庫(kù)等。
多層體系架構(gòu)形式能為軟件應(yīng)用和生命周期帶來(lái)很大的好處,包括容易管理、復(fù)用性強(qiáng)、維護(hù)方便等,可將所創(chuàng)建的組件與服務(wù)共享復(fù)用,結(jié)合需求通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)分發(fā)。也能夠?qū)⒋笮蛙浖?xiàng)目應(yīng)用進(jìn)行分解,派發(fā)給不同的開(kāi)發(fā)人員身上,提高開(kāi)發(fā)效率。在服務(wù)器上配置組件和服務(wù),實(shí)現(xiàn)軟件開(kāi)發(fā)的跟蹤變化,并且可以在后期階段減少維護(hù)費(fèi)用,增強(qiáng)軟件功能的適用性。多層程序由于各個(gè)模塊的獨(dú)立性更強(qiáng),將每個(gè)要素功能隔離開(kāi)來(lái),用戶顯示層獨(dú)立應(yīng)用到商業(yè)中間層中,而中間層又獨(dú)立于數(shù)據(jù)處理層。這樣的設(shè)計(jì)方法需要在多層之間進(jìn)行權(quán)衡。需要在工程開(kāi)始階段進(jìn)行多層設(shè)計(jì)與分析,但后期工作會(huì)逐漸減少。
中間組件可以結(jié)合時(shí)間或其他規(guī)則移動(dòng)到數(shù)據(jù)層實(shí)現(xiàn)相關(guān)功能,通過(guò)移動(dòng)到不同位置上,如移動(dòng)到用戶層來(lái)強(qiáng)化用戶功能并減小網(wǎng)絡(luò)數(shù)據(jù)往復(fù),通過(guò)存儲(chǔ)過(guò)程將數(shù)據(jù)規(guī)則轉(zhuǎn)移到數(shù)據(jù)層中實(shí)現(xiàn)。在同時(shí)具有多層的數(shù)據(jù)源時(shí),數(shù)據(jù)規(guī)則將會(huì)獨(dú)立成為一個(gè)層級(jí),通信信息量也會(huì)有所增加??梢?jiàn),在客戶端應(yīng)用上要比Client/Server的雙層結(jié)構(gòu)更加精致,由于服務(wù)組件已經(jīng)分不到了中間商業(yè)層,可以大大減少用戶管理費(fèi)用。
綜上所述,計(jì)算機(jī)軟件已經(jīng)成為人們生活中不可或缺的技術(shù)之一,為了能夠提高軟件體系架構(gòu)的適用性,首先需要找到軟件開(kāi)發(fā)與應(yīng)用的問(wèn)題,其次針對(duì)不同層次的體系結(jié)構(gòu)進(jìn)行分析,找出最優(yōu)架構(gòu),這樣才能夠提高軟件開(kāi)發(fā)效率和降低管理成本。
參考文獻(xiàn):
[1]王勉,范志勤.計(jì)算機(jī)軟件開(kāi)發(fā)中分層技術(shù)的應(yīng)用[J].信息與電腦(理論版),2017(23):26-28.
[2]朱曉莉.計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)技術(shù)探究[J].數(shù)字通信世界,2017(10):208,284.
[3]陳妍.基于計(jì)算機(jī)軟件的應(yīng)用體系架構(gòu)分析[J].電子制作,2014(9):97-96.
[4]盧鐳,田高華.計(jì)算機(jī)軟件應(yīng)用體系結(jié)構(gòu)模型研究[J].時(shí)代農(nóng)機(jī),2017,44(11):110.
[5]宋名威,韓雪峰.軟件應(yīng)用體系結(jié)構(gòu)模型研究[J].硅谷,2015,8(3):48,80.