軟件開發(fā)咨詢電話 軟件定制開發(fā)咨詢:189-8199-7898  QQ咨詢:32516956

您需要什么樣的軟件?請點(diǎn)這里告訴我們。
軟件體系結(jié)構(gòu)

    軟件體系結(jié)構(gòu)又被稱為軟件構(gòu)件結(jié)構(gòu)SCI(Software Component Infrastructure)或軟件架構(gòu),是對軟件系統(tǒng)整體結(jié)構(gòu)的刻畫。軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合,包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。軟件體系結(jié)構(gòu)是軟件工程繼過程性模型和面向?qū)ο竽P椭蟮淖钚履P。軟件體系結(jié)構(gòu)研究如何應(yīng)用可復(fù)用構(gòu)件系統(tǒng)快速可靠地對系統(tǒng)進(jìn)行構(gòu)造,著重于軟件系統(tǒng)自身的整體結(jié)構(gòu)和構(gòu)件間的互連與通信。軟件體系結(jié)構(gòu)是軟件在系統(tǒng)級層次上的組成和行為,是設(shè)計過程中不可缺少的一個階段,它對復(fù)雜軟件的后期設(shè)計起到了決定性的作用。
    雖然軟件體系結(jié)構(gòu)已經(jīng)在軟件工程領(lǐng)域中有著廣泛的應(yīng)用,但迄今為止還沒有一個被大家所公認(rèn)的定義。許多著名的專家學(xué)者都從不同角度和不同側(cè)面對軟件體系結(jié)構(gòu)進(jìn)行了刻畫說明,其中較為典型的定義有以下幾種:
    (1)Dewayne Perry和Alex Wolf曾這樣定義:軟件體系結(jié)構(gòu)是具有一定形式的結(jié)構(gòu)化元素,即構(gòu)件的集合。包括處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件。處理構(gòu)件負(fù)責(zé)對數(shù)據(jù)進(jìn)行加工,數(shù)據(jù)構(gòu)件是被加工的信息,連接構(gòu)件把體系結(jié)構(gòu)的不同部分組組合連接起來。這一定義注重區(qū)分處理構(gòu)件、數(shù)據(jù)構(gòu)件和連接構(gòu)件,這一方法在其他的定義和方法中基本上得到保持。
    (2)Mary Shaw和David Garlan認(rèn)為軟件體系結(jié)構(gòu)是軟件設(shè)計過程中的一個層次,這一層次超越計算過程中的算法設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計。體系結(jié)構(gòu)問題包括總體組織和全局控制、通訊協(xié)議、同步、數(shù)據(jù)存取,給設(shè)計元素分配特定功能,設(shè)計元素的組織,規(guī)模和性能,在各設(shè)計方案問進(jìn)行選擇等。軟件體系結(jié)構(gòu)處理算法與數(shù)據(jù)結(jié)構(gòu)之上關(guān)于整體系統(tǒng)結(jié)構(gòu)設(shè)計和描述方面的一些問題,如全局組織和全局控制結(jié)構(gòu)、關(guān)于通訊、同步與數(shù)據(jù)存取的協(xié)議,設(shè)計構(gòu)件功能定義,物理分布與合成,設(shè)計方案的選擇、評估與實(shí)現(xiàn)等。
    (3)Kruchte指出,軟件體系結(jié)構(gòu)有四個角度,它們從不同方面對系統(tǒng)進(jìn)行描述:概念角度描述系統(tǒng)的主要構(gòu)件及它們之間的關(guān)系;模塊角度包含功能分解與層次結(jié)構(gòu);運(yùn)行角度描述了一個系統(tǒng)的動態(tài)結(jié)構(gòu);代碼角度描述了各種代碼和庫函數(shù)在開發(fā)環(huán)境中的組織。
    (4)Hayes Roth則認(rèn)為軟件體系結(jié)構(gòu)是一個抽象的系統(tǒng)規(guī)范,主要包括用其行為來描述的功能構(gòu)件和構(gòu)件之問的相互連接、接口和關(guān)系。
    (5)David Garlan和Dewne Perry于1995年在IEEE軟件工程學(xué)報上又采用如下的定義:軟件體系結(jié)構(gòu)是一個程序/系統(tǒng)各構(gòu)件的結(jié)構(gòu)、它們之間的相互關(guān)系以及進(jìn)行設(shè)計的原則和隨時間進(jìn)化的指導(dǎo)方針。
   (6)Barry Boehm和他的學(xué)生提出,一個軟件體系結(jié)構(gòu)包括一個軟件和系統(tǒng)構(gòu)件,互聯(lián)及約束的集合:一個系統(tǒng)需求說明的集合:一個基本原理用以說明這一構(gòu)件,互聯(lián)和約束能夠滿足系統(tǒng)需求。
    (7)1997年,Bass,Ctements和Kazman在《使用軟件體系結(jié)構(gòu)》一書中給出如下的定義:一個程序或計算機(jī)系統(tǒng)的軟件體系結(jié)構(gòu)包括一個或一組軟件構(gòu)件、軟件構(gòu)件的外部的可見特性及其相互關(guān)系。其中。“軟件外部的可見特性”是指軟件構(gòu)件提供的服務(wù)、性能、特性、錯誤處理、共享資源使用等。
    軟件體系結(jié)構(gòu)作為一個軟件系統(tǒng)的高層結(jié)構(gòu)。它的主要特點(diǎn)有:
    (1)軟件體系結(jié)構(gòu)是一個高次上的抽象,它并不涉及具體的系統(tǒng)結(jié)構(gòu),比如
結(jié)構(gòu)模式是C/S還是B/S,不關(guān)心具體的實(shí)現(xiàn)。
    (2)軟件體系結(jié)構(gòu)必須支持系統(tǒng)需求的功能。在設(shè)計軟件體系結(jié)構(gòu)的時候,考慮系統(tǒng)的動態(tài)行為是必須的。
    (3)軟件體系結(jié)構(gòu)必須遵循系統(tǒng)的特征(系統(tǒng)的非功能需求)。包括考慮現(xiàn)有系統(tǒng)的兼容性、安全性和可靠性.同時還要考慮系統(tǒng)以后的擴(kuò)展性、伸縮性和復(fù)用性。這些需求可能發(fā)生沖突,因此,在設(shè)計體系結(jié)構(gòu)時,必須考慮在多個可選方案中如何達(dá)到某種層次上平衡。
    (4)達(dá)到體系結(jié)構(gòu)這個層次上后,系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)都被隱藏。
    伴隨著軟件規(guī)模的擴(kuò)大和新的商業(yè)模式的涌現(xiàn),必然會出現(xiàn)更多、更大的應(yīng)用系統(tǒng)。如何設(shè)計這些系統(tǒng)的體系結(jié)構(gòu),使軟件開發(fā)達(dá)到更快、更好、更便宜,是每個軟件開發(fā)人員都必須面對的問題。為了提軟件開發(fā)的效率和質(zhì)量,研究軟件系統(tǒng)的體系構(gòu)架還是非常必要的。常見的軟件體系結(jié)構(gòu)風(fēng)格主要有以下五種:
    (1)管道和過濾器;
    (2)數(shù)據(jù)抽象和面向?qū)ο蠼Y(jié)構(gòu);
    (3)基于事件的隱式調(diào)用:
    (4)分層系統(tǒng);
    (5)倉庫。
    B/S結(jié)構(gòu)模式大多采用的是分布式的分層體系結(jié)構(gòu)。

 
地址:成都市武侯區(qū)武科西一路18號A808  服務(wù)電話:028-85565308-81  傳真:028-85565308-85
版權(quán)所有 © 成都創(chuàng)軟科技有限責(zé)任公司—團(tuán)隊軟件 2011。 蜀ICP備09020550號1  
成都軟件開發(fā)公司  軟件定制開發(fā)  個性軟件定制  人力資源績效考核系統(tǒng)  軟件產(chǎn)品  裝飾裝修公司管理軟件  綠色主機(jī)  軟件服務(wù)  裝修管理平臺