2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、軟件構(gòu)架軟件構(gòu)架軟件架構(gòu)軟件架構(gòu)(softwarearchitecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì)。軟件架構(gòu)是一個(gè)系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽象組件。各個(gè)組件之間的連接則明確和相對細(xì)致地描述組件之間的通訊。在實(shí)現(xiàn)階段,這些抽象組件被細(xì)化為實(shí)際的組件,比如具體某個(gè)類或者對象。在面向?qū)ο箢I(lǐng)域中,組件之間的連接通常用接口_(計(jì)算機(jī)科學(xué))來實(shí)現(xiàn)。軟件體系結(jié)構(gòu)是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ)。與建

2、筑師設(shè)定建筑項(xiàng)目的設(shè)計(jì)原則和目標(biāo),作為繪圖員畫圖的基礎(chǔ)一樣,一個(gè)軟件架構(gòu)師或者系統(tǒng)架構(gòu)師陳述軟件構(gòu)架以作為滿足不同客戶需求的實(shí)際系統(tǒng)設(shè)計(jì)方案的基礎(chǔ)。軟件構(gòu)架是一個(gè)容易理解的概念,多數(shù)工程師(尤其是經(jīng)驗(yàn)不多的工程師)會從直覺上來認(rèn)識它,但要給出精確的定義很困難。特別是,很難明確地區(qū)分設(shè)計(jì)和構(gòu)架:構(gòu)架屬于設(shè)計(jì)的一方面,它集中于某些具體的特征。在“軟件構(gòu)架簡介”中,DavidGArlan和MaryShaw認(rèn)為軟件構(gòu)架是有關(guān)如下問題的設(shè)計(jì)層次:

3、“在計(jì)算的算法和數(shù)據(jù)結(jié)構(gòu)之外,設(shè)計(jì)并確定系統(tǒng)整體結(jié)構(gòu)成為了新的問題。結(jié)構(gòu)問題包括總體組織結(jié)構(gòu)和全局控制結(jié)構(gòu);通信、同步和數(shù)據(jù)訪問的協(xié)議;設(shè)計(jì)元素的功能分配;物理分布;設(shè)計(jì)元素的組成;定標(biāo)與性能;備選設(shè)計(jì)的選擇。”[GS93]但構(gòu)架不僅是結(jié)構(gòu);IEEEWkingGrouponArchitecture把其定義為“系統(tǒng)在其環(huán)境中的最高層概念”[IEEE98]。構(gòu)架還包括“符合”系統(tǒng)完整性、經(jīng)濟(jì)約束條件、審美需求和樣式。它并不僅注重對內(nèi)部的考慮

4、,而且還在系統(tǒng)的用戶環(huán)境和開發(fā)環(huán)境中對系統(tǒng)進(jìn)行整體考慮,即同時(shí)注重對外部的考慮。在RationalUnifiedProcESs中,軟件系統(tǒng)的構(gòu)架(在某一給定點(diǎn))是指系統(tǒng)重要構(gòu)件的組織或結(jié)構(gòu),這些重要構(gòu)件通過接口與不斷減小的構(gòu)件與接口所組成的構(gòu)件進(jìn)行交互。從和目的、主題、材料和結(jié)構(gòu)的聯(lián)系上來說,軟件架構(gòu)可以和建筑物的架構(gòu)相比擬。一個(gè)軟件架構(gòu)師需要有廣泛的軟件理論知識和相應(yīng)的經(jīng)驗(yàn)來事實(shí)和管理軟件產(chǎn)品的高級設(shè)計(jì)。軟件架構(gòu)師定義和設(shè)計(jì)軟件的模塊

5、化,模塊之間的交互,用戶界面風(fēng)格,對外接口方法,創(chuàng)新的設(shè)計(jì)特性,以及高層事物的對象操作、邏輯和流程。是一般而言,軟件系統(tǒng)的架構(gòu)(ArchitECture)有兩個(gè)要素:它是一個(gè)軟件系統(tǒng)從整體到部分的最高層次的劃分。一個(gè)系統(tǒng)通常是由元件組成的,而這些元件如何形成、相互之間如何發(fā)生作用,則是關(guān)于這個(gè)系統(tǒng)本身結(jié)構(gòu)的重要信息。詳細(xì)地說,就是要包括架構(gòu)元件(ArchitectureComponent)、聯(lián)結(jié)器(Connect)、任務(wù)流(TASkfl

6、ow)。所謂架構(gòu)元素,也就是組成系統(tǒng)的核心“磚瓦“,而聯(lián)結(jié)器則描述這些元件之間通訊的路徑、通訊的機(jī)制、通訊的預(yù)期結(jié)果,任務(wù)流則描述系統(tǒng)如何使用這些元件和聯(lián)結(jié)器完成某一項(xiàng)需求。建造一個(gè)系統(tǒng)所作出的最高層次的、以后難以更改的,商業(yè)的和技術(shù)的決定。在建造一個(gè)系統(tǒng)之前會有很多的重要決定需要事先作出,而一旦系統(tǒng)開始進(jìn)行詳細(xì)設(shè)計(jì)甚至建造,這些決定就很難更改甚至無法更改。顯然,這樣的決定必定是有關(guān)系統(tǒng)設(shè)計(jì)成敗的最重要決定,必須經(jīng)過非常慎重的研究和考察

7、。歷史早在1960年代,諸如EW戴克斯特拉就已經(jīng)涉及軟件架構(gòu)這個(gè)概念了。自1990年代以來,部分由于在RationalSoftwareCpation和MiCROSoft內(nèi)部的相關(guān)活動,軟件架構(gòu)這個(gè)概念開始越來越流行起來??▋?nèi)基梅隆大學(xué)和加州大學(xué)埃爾文分校在這個(gè)領(lǐng)域作了很多研究??▋?nèi)基梅隆大學(xué)的MaryShaw和DavidGarlan于1996年寫了一本叫做SoftwareArchitectureperspectiveonanemergi

8、ngDIsci從上面這張圖中可以看出,此系統(tǒng)被劃分成三個(gè)邏輯層次,即表象層次,商業(yè)層次和數(shù)據(jù)持久層次。每一個(gè)層次都含有多個(gè)邏輯元件。比如WEB服務(wù)器層次中有HTML服務(wù)元件、Session服務(wù)元件、安全服務(wù)元件、系統(tǒng)管理元件等。物理架構(gòu)、軟件元件是怎樣放到硬件上的。比如下面這張物理架構(gòu)圖描述了一個(gè)分布于北京和上海的分布式系統(tǒng)的物理架構(gòu),圖中所有的元件都是物理設(shè)備,包括網(wǎng)絡(luò)分流器、代理服務(wù)器、WEB服務(wù)器、應(yīng)用服務(wù)器、報(bào)表服務(wù)器、整合服務(wù)

9、器、存儲服務(wù)器、主機(jī)等等。圖3、一個(gè)物理架構(gòu)的例子系統(tǒng)架構(gòu)、系統(tǒng)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等。系統(tǒng)架構(gòu)的設(shè)計(jì)要求架構(gòu)師具備軟件和硬件的功能和性能的過硬知識,這一工作無疑是架構(gòu)設(shè)計(jì)工作中最為困難的工作。此外,從每一個(gè)角度上看,都可以看到架構(gòu)的兩要素:元件劃分和設(shè)計(jì)決定。首先,一個(gè)軟件系統(tǒng)中的元件首先是邏輯元件。這些邏輯元件如何放到硬件上,以及這些元件如何為整個(gè)系統(tǒng)的可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、性能等做出

10、貢獻(xiàn),是非常重要的信息。其次,進(jìn)行軟件設(shè)計(jì)需要做出的決定中,必然會包括邏輯結(jié)構(gòu)、物理結(jié)構(gòu),以及它們?nèi)绾斡绊懙较到y(tǒng)的所有非功能性特征。這些決定中會有很多是一旦作出,就很難更改的。根據(jù)作者的經(jīng)驗(yàn),一個(gè)基于數(shù)據(jù)庫的系統(tǒng)架構(gòu),有多少個(gè)數(shù)據(jù)表,就會有多少頁的架構(gòu)設(shè)計(jì)文檔。比如一個(gè)中等的數(shù)據(jù)庫應(yīng)用系統(tǒng)通常含有一百個(gè)左右的數(shù)據(jù)表,這樣的一個(gè)系統(tǒng)設(shè)計(jì)通常需要有一百頁左右的架構(gòu)設(shè)計(jì)文檔。構(gòu)架描述為了討論和分析軟件構(gòu)架,必須首先定義構(gòu)架表示方式,即描述構(gòu)架

11、重要方面的方式。在RationalUnifiedProcess中,軟件構(gòu)架文檔記錄有這種描述。構(gòu)架視圖我們決定以多種構(gòu)架視圖來表示軟件構(gòu)架。每種構(gòu)架視圖針對于開發(fā)流程中的涉眾(例如最終用戶、設(shè)計(jì)人員、管理人員、系統(tǒng)工程師、維護(hù)人員等)所關(guān)注的特定方面。構(gòu)架視圖顯示了軟件構(gòu)架如何分解為構(gòu)件,以及構(gòu)件如何由連接器連接來產(chǎn)生有用的形式[PW92],由此記錄主要的結(jié)構(gòu)設(shè)計(jì)決策。這些設(shè)計(jì)決策必須基于需求以及功能、補(bǔ)充和其他方面的約束。而這些決策又

12、會在較低層次上為需求和將來的設(shè)計(jì)決策施加進(jìn)一步的約束。典型的構(gòu)架視圖集構(gòu)架由許多不同的構(gòu)架視圖來表示,這些視圖本質(zhì)上是以圖形方式來摘要說明“在構(gòu)架方面具有重要意義”的模型元素。在RationalUnifiedProcess中,您將從一個(gè)典型的視圖集開始,該視圖集稱為“41視圖模型”[KRU95]。它包括:用例視圖:包括用例和場景,這些用例和場景包括在構(gòu)架方面具有重要意義的行為、類或技術(shù)風(fēng)險(xiǎn)。它是用例模型的子集。邏輯視圖:包括最重要的設(shè)計(jì)

13、類、從這些設(shè)計(jì)類到包和子系統(tǒng)的組織形式,以及從這些包和子系統(tǒng)到層的組織形式。它還包括一些用例實(shí)現(xiàn)。它是設(shè)計(jì)模型的子集。實(shí)施視圖:包括實(shí)施模型及其從模塊到包和層的組織形式的概覽。同時(shí)還描述了將邏輯視圖中的包和類向?qū)嵤┮晥D中的包和模塊分配的情況。它是實(shí)施模型的子集。進(jìn)程視圖:包括所涉及任務(wù)(進(jìn)程和線程)的描述,它們的交互和配置,以及將設(shè)計(jì)對象和類向任務(wù)的分配情況。只有在系統(tǒng)具有很高程度的并行時(shí),才需要該視圖。在RationalUnified

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論