前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了軟件體系結(jié)構(gòu)和組件軟件工程研究范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。
互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的高速發(fā)展,使得計(jì)算機(jī)技術(shù)、軟件技術(shù)等相關(guān)技術(shù)不斷推陳出新,發(fā)展速度相當(dāng)迅猛。但是,在發(fā)展過(guò)程中遺留的系統(tǒng)大量存在,現(xiàn)有的軟件系統(tǒng)規(guī)模則愈發(fā)壯大。軟件系統(tǒng)以單一軟件模塊或者組件構(gòu)成就成為廣大計(jì)算機(jī)技術(shù)和軟件技術(shù)業(yè)內(nèi)人士不斷探尋的問(wèn)題。另一方面,軟件體系結(jié)構(gòu)和組件軟件工程給軟件開(kāi)發(fā)、維護(hù)和應(yīng)用帶來(lái)的變化也很大。所以,針對(duì)軟件體系結(jié)構(gòu)和組件軟件工程的探究是非常必要的。
1軟件體系結(jié)構(gòu)
1.1軟件體系結(jié)構(gòu)的定義
軟件體系的結(jié)構(gòu)有很多種不同描述方式的定義,現(xiàn)階段比較認(rèn)可的定義為軟件的體系結(jié)構(gòu)是:設(shè)計(jì)軟件時(shí)的一種層次,其是計(jì)算過(guò)程之外的數(shù)據(jù)架構(gòu)設(shè)計(jì)和算法設(shè)計(jì)。軟件的體系結(jié)構(gòu)主要處理以下幾方面的問(wèn)題,即對(duì)全局或者組織的有效性控制、數(shù)據(jù)的存取、同步、協(xié)議通信,以為設(shè)計(jì)元素提供特定化的性能,與設(shè)計(jì)方式,從而使得設(shè)計(jì)方案具有較高的功能與可選擇性。
1.2軟件體系結(jié)構(gòu)的形成與發(fā)展
在初期,為滿足較大規(guī)模主機(jī)的需求,軟件采用的是mainframe類(lèi)型的結(jié)構(gòu),此結(jié)構(gòu)需要在主機(jī)上集中數(shù)據(jù)、程序與客戶,GUI界面是非常少的,同時(shí)在訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)方面也是較為困難的。隨著計(jì)算機(jī)科學(xué)技術(shù)的發(fā)展、個(gè)人電腦的迅速推廣,這一結(jié)構(gòu)在應(yīng)用中也逐步被淘汰掉了?;ヂ?lián)網(wǎng)的出現(xiàn)與發(fā)展深刻影響著應(yīng)用軟件傳統(tǒng)的開(kāi)放方式。以web與互聯(lián)網(wǎng)為基礎(chǔ)的應(yīng)用與軟件系統(tǒng)則需要更加靈活與開(kāi)放的體系結(jié)構(gòu)。伴隨著日益增多的商業(yè)性系統(tǒng)在互聯(lián)網(wǎng)架構(gòu)上的應(yīng)用,一種更為靈活、功能性更為豐富的結(jié)構(gòu)日益為人們所熟知并使用起來(lái),,即“三層或者多層計(jì)算”形式的結(jié)構(gòu)??蛻魧?用戶端請(qǐng)求與接口的生成地,為人師所熟知的應(yīng)用包括胖客戶等。服務(wù)器層:較為普遍使用的應(yīng)用是業(yè)務(wù)代碼運(yùn)行應(yīng)用服務(wù)器和web服務(wù)器。數(shù)據(jù)層:具有代表性的應(yīng)用是關(guān)系式數(shù)據(jù)庫(kù)與后端數(shù)據(jù)信息資源,如SAP\Oracle等。
1.3軟件體系結(jié)構(gòu)的發(fā)展趨勢(shì)
(1)信息交換;現(xiàn)在的ADLS絕大一部分是和領(lǐng)域有一定關(guān)系的,因此并不利于說(shuō)明不同類(lèi)型的體系結(jié)構(gòu)。但是這些不同領(lǐng)域的、具有針對(duì)性的ADLS在一些方面又存在的共通性與相似性,進(jìn)而導(dǎo)致資源的重復(fù)冗余。實(shí)際上,大部分的ADLS都有著相同的概念。采取怎樣的方式方法將各種語(yǔ)言以同一公共形式的方式綜合起來(lái),使得各類(lèi)型的體系結(jié)構(gòu)能夠交換各自的描述信息,將會(huì)是未來(lái)軟件系統(tǒng)結(jié)構(gòu)實(shí)踐與研究的一個(gè)重點(diǎn)。
(2)設(shè)計(jì)環(huán)境與工具;軟件體系結(jié)構(gòu)的研發(fā)設(shè)計(jì)工作是軟件工程中相當(dāng)重要的一部分,其計(jì)算機(jī)輔助設(shè)計(jì)手段是非常重要的。應(yīng)開(kāi)發(fā)出一些列的工具性軟件以對(duì)體系結(jié)構(gòu)進(jìn)行更好地分析與描述,在開(kāi)發(fā)階段進(jìn)行工具的轉(zhuǎn)換,進(jìn)而實(shí)現(xiàn)階段性成果的自動(dòng)化轉(zhuǎn)換,比如,將需求規(guī)格的說(shuō)明轉(zhuǎn)化成構(gòu)建等。到目前為止,很少在這一方面的進(jìn)行較為深入細(xì)致地研究,尤其是可應(yīng)用在實(shí)際開(kāi)發(fā)項(xiàng)目中的環(huán)境與工具就更少了,因此這也將會(huì)是未來(lái)軟件系統(tǒng)結(jié)構(gòu)實(shí)踐與研究的一個(gè)重點(diǎn)。
(3)體系結(jié)構(gòu)的再次開(kāi)發(fā);當(dāng)下,軟件系統(tǒng)越來(lái)越具規(guī)模,結(jié)構(gòu)也變得愈加復(fù)雜,但系統(tǒng)數(shù)量卻沒(méi)有明顯增多,反而呈下降趨勢(shì),這樣很多剩下的系統(tǒng)就被重復(fù)利用了。這種重復(fù)利用也就是軟件體系結(jié)構(gòu)的再次開(kāi)發(fā),其利用方式就是將軟件系統(tǒng)的代碼抽取出來(lái),找出其中有用的結(jié)構(gòu)信息,然后再經(jīng)過(guò)一些必要處理方式,如實(shí)例化和統(tǒng)一描述處理,以此構(gòu)建系統(tǒng)化的體系結(jié)構(gòu)。通過(guò)這樣的利用過(guò)程,軟件體系結(jié)構(gòu)的再次開(kāi)發(fā)就顯得尤為重要,因?yàn)檫@樣可以將以往本應(yīng)淘汰的系統(tǒng)結(jié)構(gòu)升級(jí)過(guò)后搭建進(jìn)化型的系統(tǒng),再次開(kāi)發(fā)過(guò)后的軟件系統(tǒng)不僅使人們對(duì)原件的水平了有了更深層次的提高,而且也是目前軟件體系結(jié)構(gòu)的升級(jí)和進(jìn)步。而這種軟件的開(kāi)發(fā)方式其目的就是在于為一些特定領(lǐng)域搭建需要的結(jié)構(gòu)構(gòu)件,比如當(dāng)下比較流行的人機(jī)交互界面和機(jī)器人。正是如此,軟件體系結(jié)構(gòu)的開(kāi)發(fā)就變得越來(lái)越重要,其應(yīng)用也開(kāi)始變得越來(lái)越廣。
2組建軟件工程
組建是有著一定的功能,可以獨(dú)立地進(jìn)行工作或者可以與其他的組建配合起來(lái)協(xié)同工作的程序體,組建使用的方式與組件的生產(chǎn)、開(kāi)發(fā)并沒(méi)有直接聯(lián)系。若將軟件系統(tǒng)看作為眾多組件的集合,從外部形態(tài)看,構(gòu)成系統(tǒng)的組件被分為下列類(lèi)型:
(1)成熟且獨(dú)立的組件。這種類(lèi)型的組件隱藏了全部的接口,用戶只要輸入按照預(yù)先設(shè)定的命令便可進(jìn)行使用。操作系統(tǒng)、DBMS等都屬于這種類(lèi)型的組件。
(2)有限制條件的組件。這種類(lèi)型的組件可以提供結(jié)構(gòu),同時(shí)指出使用的前提與條件,其在裝配的過(guò)程中,資源會(huì)產(chǎn)生覆蓋、沖突等影響,在使用前應(yīng)對(duì)其進(jìn)行測(cè)試,比如各種數(shù)據(jù)庫(kù)等。
(3)適應(yīng)型組件。采用接口技術(shù)或者進(jìn)行了包裝,處理了資源沖突與不兼容性,可以直接地進(jìn)行使用。
(4)裝配型組件。在安裝這一類(lèi)型的組件時(shí),已裝配在信息系統(tǒng)、DBMS或者操作系統(tǒng)等不同的層次之上,使用膠水代碼便可實(shí)現(xiàn)連接使用。當(dāng)下,很多軟件提供商所研發(fā)的軟件就屬于這一類(lèi)型。
3結(jié)語(yǔ)
軟件工程是當(dāng)下信息時(shí)代鮮明的產(chǎn)物,同樣也是信息技術(shù)的代表之一。自計(jì)算機(jī)誕生以來(lái),為了使計(jì)算機(jī)的功能與作用能夠得到最大限度的發(fā)揮,軟件的開(kāi)發(fā)就一直隨其不斷發(fā)展著,時(shí)至今日,軟件的體系結(jié)構(gòu)變得越來(lái)越復(fù)雜,應(yīng)用范圍也深入到生活與生產(chǎn)的各個(gè)方面。組建軟件工程本不是軟件體系結(jié)構(gòu)中的核心內(nèi)容,但其互操作性與軟件結(jié)構(gòu)模型結(jié)合起來(lái)后能使軟件的性能更為優(yōu)化,這也是研究軟件體系結(jié)構(gòu)與組建工程的關(guān)鍵所在。
作者:應(yīng)俊 單位:蘇州大學(xué)