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