劉 敏
?
分層軟件架構(gòu)設(shè)計(jì)及其應(yīng)用研究
劉 敏
山東勝軟科技股份有限公司,山東 東營(yíng) 257000
計(jì)算機(jī)軟件技術(shù)給人們帶來(lái)了許多便利。為了將計(jì)算機(jī)軟件技術(shù)應(yīng)用到實(shí)踐中去,發(fā)揮出更大的作用,做到功能的細(xì)分和多樣化,軟件的分層設(shè)計(jì)由此而生。首先簡(jiǎn)單論述了分層軟件架構(gòu)設(shè)計(jì)與計(jì)算機(jī)軟件的傳統(tǒng)設(shè)計(jì)方式相比,具備優(yōu)勢(shì)的地方;其次,簡(jiǎn)單介紹了分層軟件架構(gòu)設(shè)計(jì)的不同點(diǎn)和必要性,希望能夠進(jìn)一步提高計(jì)算機(jī)軟件工作中分層架構(gòu)設(shè)計(jì)方法的使用水平。
分層軟件;架構(gòu)設(shè)計(jì);優(yōu)勢(shì)
隨著現(xiàn)代科技的飛速進(jìn)步,計(jì)算機(jī)技術(shù)越來(lái)越普及。出于更加專業(yè)的使用需求,分層軟件技術(shù)被應(yīng)用得越來(lái)越多,并且在實(shí)際工作過(guò)程中表現(xiàn)出了顯著的優(yōu)越性,受到廣泛青睞。軟件分層構(gòu)建技術(shù)的優(yōu)越性,主要體現(xiàn)在能夠使得軟件設(shè)計(jì)和維護(hù)更加多變,功能更加多樣化。分層軟件架構(gòu)設(shè)計(jì)是在軟件使用率日益擴(kuò)大的社會(huì)背景下應(yīng)運(yùn)而生的,其作用原理是將軟件結(jié)構(gòu)中功能相似的板塊規(guī)整起來(lái),統(tǒng)一完成任務(wù)分配。對(duì)于功能差異較大的,則采取分離的措施,以此完成軟件結(jié)構(gòu)的分離處理,保證其結(jié)構(gòu)完整性。
復(fù)用程度是考察軟件性能的重要標(biāo)準(zhǔn),是計(jì)算機(jī)軟件相關(guān)技術(shù)中研究的重點(diǎn)。在傳統(tǒng)模式下,從顯示、數(shù)據(jù)分析、指令處理到數(shù)據(jù)維護(hù)流程都在一個(gè)軟件框架中完成。一旦使用需求發(fā)生了變化,牽一發(fā)而動(dòng)全身,需要耗費(fèi)大量的精力改動(dòng),也就顧不上軟件的復(fù)用程度了。軟件分層設(shè)計(jì)則不同,通過(guò)層次劃分,數(shù)據(jù)展示層的改變并不影響數(shù)據(jù)模型的設(shè)立、業(yè)務(wù)指令的處理以及維護(hù)部分,這是傳統(tǒng)的整體設(shè)計(jì)不能做到的[1]。
充分使用軟件分層技術(shù),還可以清楚地區(qū)分軟件研發(fā)的各個(gè)模塊,研究工作者能夠準(zhǔn)確地抓住重點(diǎn),避開(kāi)那些無(wú)關(guān)緊要的內(nèi)容。只要設(shè)計(jì)和劃分相關(guān)的功能模塊,研發(fā)難度就能夠得到控制,在提升工作效率的同時(shí),也能夠激發(fā)軟件設(shè)計(jì)工作人員的信心和工作熱情,使軟件研發(fā)進(jìn)度得到保障。除此之外,擔(dān)負(fù)不同職能范圍的研發(fā)設(shè)計(jì)人員,可以更加專注于本身的工作內(nèi)容,注意力更加集中,效果也更好。譬如,視圖展現(xiàn)層的工作者,應(yīng)關(guān)注軟件的指令處理和顯示功能;其他研發(fā)人員更應(yīng)重視基層持久化的設(shè)計(jì),這就實(shí)現(xiàn)了研發(fā)人員之間的交流與合作[2]。
除此之外,軟件的分層技術(shù)也為其可拓展性的提升起到了許多積極作用。要想提升軟件的拓展性,不外乎是增加計(jì)劃內(nèi)的接口以供外部設(shè)備接入,而軟件分層架構(gòu)則很好地滿足了這樣的條件。它主要遵循了下層結(jié)構(gòu)為上層結(jié)構(gòu)服務(wù)的原則,從屬關(guān)系明確,底層結(jié)構(gòu)安裝配備相應(yīng)的作用接口。這與計(jì)算機(jī)網(wǎng)絡(luò)結(jié)構(gòu)中的分層設(shè)計(jì)觀念具有異曲同工之妙。正因?yàn)檫@樣,軟件分層技術(shù)才能在提升功能拓展性方面起到良好的作用。其中需要注意的是,如果設(shè)計(jì)人員已經(jīng)根據(jù)接口特性做出了統(tǒng)一規(guī)劃,那么這一步驟將會(huì)在軟件功能的規(guī)范化方面,發(fā)揮一定的作用[3]。
單項(xiàng)結(jié)構(gòu)也可以看作最傳統(tǒng)的客戶端和處理器模式。這種技術(shù)大多可以從人們常用的瀏覽器中看出。將用戶指令下達(dá)、數(shù)據(jù)長(zhǎng)期分析直接整合完成,代碼規(guī)整起來(lái)比較方便。這種數(shù)據(jù)分析方法對(duì)于用戶規(guī)模較小、核心處理器運(yùn)行速率較低的功能研發(fā)是實(shí)用的,但是存在著弊端,也就是后期修繕工作量大,同時(shí)軟件的復(fù)用度以及系統(tǒng)的拓展性都不高。后期用戶數(shù)量逐漸變多之后,原有的處理器將無(wú)法負(fù)荷龐大的上網(wǎng)流量,也就無(wú)法保持穩(wěn)定的網(wǎng)絡(luò)速率??偠灾@種單一的指令處理研發(fā)模式僅僅適用于最初的客戶端與處理器運(yùn)行模式中,已經(jīng)無(wú)法滿足時(shí)代進(jìn)步之下對(duì)于計(jì)算機(jī)軟件使用提出的新要求[4]。
二層技術(shù)是為了解決數(shù)據(jù)模型自身缺陷提出的。二層技術(shù)的主要特點(diǎn)是完成了顯示層面與指令下達(dá)層面的獨(dú)立工作。這樣一來(lái),就能使計(jì)算機(jī)軟件的操作更加便捷,適用于各年齡段的用戶。然而,這種技術(shù)的出現(xiàn)并沒(méi)有解決網(wǎng)絡(luò)速率不穩(wěn)定的問(wèn)題。因此,仍然需要不斷完善。
三層技術(shù)則是對(duì)二層技術(shù)的補(bǔ)充,它的系統(tǒng)結(jié)構(gòu)可以分為數(shù)據(jù)分析層和業(yè)務(wù)指令層。業(yè)務(wù)指令的下達(dá)通過(guò)對(duì)視圖層傳遞過(guò)來(lái)的指令進(jìn)行接收并處理,分門別類之后,完成分析和統(tǒng)計(jì)過(guò)程,使業(yè)務(wù)處理的邏輯更加具有條理性。數(shù)據(jù)模塊也可以看作后臺(tái)數(shù)據(jù)庫(kù)龐大資源量的另一種體現(xiàn),能夠完成對(duì)數(shù)據(jù)庫(kù)的信息搜索、流程規(guī)范等因素的調(diào)查應(yīng)用,也是數(shù)據(jù)二次分析的過(guò)程。需要注意的是,三層軟件的結(jié)構(gòu)大致與當(dāng)前的軟件研發(fā)模式相似,但在處理器工作效率和網(wǎng)絡(luò)穩(wěn)定性都有了長(zhǎng)足的進(jìn)步。問(wèn)題依然客觀存在,現(xiàn)實(shí)層面的清晰度并沒(méi)有看出明顯提高,后續(xù)還會(huì)有更加先進(jìn)的四層、多層結(jié)構(gòu)出現(xiàn)[5]。
與三層技術(shù)出現(xiàn)的目的相同,四層技術(shù)主要的進(jìn)步也是在功能的全面和完善上,所有的數(shù)據(jù)傳遞都是通過(guò)分類之后以專門的途徑完成的,而不是簡(jiǎn)單的直接交流。這樣一來(lái),軟件的層次之間更加涇渭分明,功能區(qū)分簡(jiǎn)單易懂,同時(shí)相關(guān)指令從識(shí)別到下達(dá),再到傳輸,最后集中處理,能夠有效改善三層技術(shù)的一部分遺留問(wèn)題。多層結(jié)構(gòu)則是在四層結(jié)構(gòu)上進(jìn)一步完善,采取的手段有構(gòu)建多層數(shù)據(jù)模型、使用更多外接零件等。
顧名思義,中間件就是構(gòu)建第三方服務(wù)平臺(tái)。這一角色的加入,使系統(tǒng)的正常運(yùn)作可靠性和安全性得到保障。使用者必須掌握基本的操作方法,按照指示進(jìn)行下一步操作,通過(guò)外部承包公司的加入,推動(dòng)整個(gè)研發(fā)進(jìn)程向前進(jìn)步。除此之外,利用一些中間件的技術(shù)還能在并列系統(tǒng)之間構(gòu)建數(shù)據(jù)交流通道,其中最知名的就是Web Service技術(shù)。此技術(shù)利用到實(shí)踐中,能夠使不同結(jié)構(gòu)的數(shù)據(jù)模型通過(guò)XML完成交換。只有這樣,才能實(shí)現(xiàn)既定目標(biāo)。有些成本較高的中間件技術(shù)會(huì)收取一定的費(fèi)用。這是為了在使用者和研發(fā)者之間建立一層更可靠的權(quán)責(zé)關(guān)系,還能保證研發(fā)企業(yè)收獲一定的經(jīng)濟(jì)效益,也是比較合理的。
總而言之,將分層軟件技術(shù)應(yīng)用到計(jì)算機(jī)軟件的研發(fā)與維護(hù)中,無(wú)疑能夠取得較好的成效。與此同時(shí),就我國(guó)對(duì)于這一先進(jìn)技術(shù)的使用現(xiàn)狀來(lái)看,其發(fā)展還不夠成熟,有著較大的提升空間,但總體而言還是利大于弊的。當(dāng)務(wù)之急,相關(guān)設(shè)計(jì)和研發(fā)人員更應(yīng)致力于深入探究分層軟件設(shè)計(jì)能夠發(fā)揮的作用,從而促進(jìn)我國(guó)計(jì)算機(jī)技術(shù)不斷進(jìn)步。
[1]王娟娟,王劍. 試析計(jì)算機(jī)軟件開(kāi)發(fā)中的分層技術(shù)運(yùn)用研究[J]. 電子技術(shù)與軟件工程,2017(2):59.
[2]東曉巖. 分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用[J]. 信息與電腦(理論版),2016,26(15):59.
[3]張凡. 分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用[J]. 信息與電腦(理論版),2016(1).
[4]秦燕. 基于分層技術(shù)在計(jì)算機(jī)軟件中的應(yīng)用研究[J].電腦知識(shí)與技術(shù),2015(5):49-51.
[5]賈輝. 芻議分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用[J].中國(guó)高新技術(shù)企業(yè),2015(30):59-60.
Layered Software Architecture Design and Its Application Research
Liu Min
Shandong Victorysoft Co., Ltd., Shandong Dongying 257000
Computer software technology has brought a lot of convenience to people. In order to apply computer software technology to practice, to play a greater role and to achieve the subdivision and diversification of functions, the hierarchical design of software has emerged. Firstly, it briefly discusses the advantages of layered software architecture design compared with the traditional design method of computer software. Secondly, it briefly introduces the different points and necessity of layered software architecture design, hoping to further improve the level of use of the hierarchical architecture design approach in the computer software work in China.
layered software; architecture design; advantage
TP311.5
A