軟件體系結(jié)構(gòu)復(fù)習(xí)綱要_第1頁(yè)
軟件體系結(jié)構(gòu)復(fù)習(xí)綱要_第2頁(yè)
軟件體系結(jié)構(gòu)復(fù)習(xí)綱要_第3頁(yè)
軟件體系結(jié)構(gòu)復(fù)習(xí)綱要_第4頁(yè)
軟件體系結(jié)構(gòu)復(fù)習(xí)綱要_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件體系結(jié)構(gòu)復(fù)習(xí)綱要課程名稱(chēng):軟件體系結(jié)構(gòu)考試時(shí)間:120 分鐘考核方式:筆試、閉卷題型:選擇、填空、簡(jiǎn)答、分析、綜合應(yīng)用分?jǐn)?shù)分配:10、10、30、30、20第一章 知識(shí)要點(diǎn)(要求:標(biāo)記、理解、應(yīng)用,題型分布:選擇、填空)體系結(jié)構(gòu)的定義,回答一個(gè)即可(一定要提到構(gòu)件)構(gòu)件的內(nèi)部屬性,外部屬性。衡量模塊好壞的指標(biāo)(內(nèi)聚耦合)體系結(jié)構(gòu)和體系結(jié)構(gòu)的概述有什么區(qū)別。反映系統(tǒng)的內(nèi)在屬性。選擇件是構(gòu)件。模塊是模塊化技術(shù)定義的,“元素”可以是任一種。軟件體系結(jié)構(gòu)技術(shù)是指導(dǎo)開(kāi)發(fā)新過(guò)程,提高軟件開(kāi)發(fā)效率。體系結(jié)構(gòu)的活動(dòng),可以貫穿整個(gè)軟件開(kāi)發(fā)過(guò)程。將技術(shù)應(yīng)用于軟件的開(kāi)發(fā)過(guò)程,在前期的分析設(shè)計(jì)用得比較多。1、 體

2、系結(jié)構(gòu)基礎(chǔ)概念、定義、屬性。軟件體系結(jié)構(gòu)是系統(tǒng)的一個(gè)或多個(gè)結(jié)構(gòu),它包括:軟件的組成元素(構(gòu)件),這些(構(gòu)件)元素的外部可見(jiàn)特性,以及這些元素(構(gòu)件)之間的相互關(guān)系?;拘g(shù)語(yǔ)模型:現(xiàn)實(shí)的簡(jiǎn)化抽象建模技術(shù):形式化、半形式化、非形式化定義1:SA=構(gòu)件、連接器、約束構(gòu)件:反映服務(wù)連接器:連接器定義了交互協(xié)議和策略,形成動(dòng)態(tài)關(guān)系與面向?qū)ο蟛煌⒎庆o態(tài)的單元,是動(dòng)態(tài)的單元定義2:SA是系統(tǒng)的頂級(jí)分解,分解的產(chǎn)物是系統(tǒng)的主要構(gòu)件說(shuō)明:與模塊技術(shù)等價(jià),僅有靜態(tài)結(jié)構(gòu),與定義1相差甚遠(yuǎn)。定義3:SA=構(gòu)件、連接器、約束、利益關(guān)系者、推理說(shuō)明:與定義1對(duì)比,增加了功能和其它質(zhì)量。定義的含義-1:系統(tǒng)由一個(gè)或多個(gè)

3、結(jié)構(gòu)組成,其中任何一個(gè)結(jié)構(gòu)并不能與體系結(jié)構(gòu)等同。定義的含義-2:每個(gè)系統(tǒng)都有一個(gè)體系結(jié)構(gòu)。每個(gè)系統(tǒng)都是由元素和元素之間的關(guān)系組成。最簡(jiǎn)單的例子,一個(gè)系統(tǒng)就是由一個(gè)元素和它自身的關(guān)系組成,每個(gè)系統(tǒng)都有體系結(jié)構(gòu),但并不意味著任何人都知曉該體系結(jié)構(gòu)的存在。如果你不明確的開(kāi)發(fā)一個(gè)體系結(jié)構(gòu),你仍然擁有一個(gè)-只是不是你喜歡或期望的。定義的含義-3:軟件體系結(jié)構(gòu)是系統(tǒng)的抽象,體系結(jié)構(gòu)定義了元素以及它們?nèi)绾谓换ァsw系結(jié)構(gòu)隱瞞了純粹的屬于局部的信息,元素的細(xì)節(jié)不屬于體系結(jié)構(gòu)。元素外部可見(jiàn)的屬性是指元素對(duì)其它元素來(lái)說(shuō)提供的服務(wù)需要的服務(wù)共享資源的使用等只要某個(gè)構(gòu)件的行為可從其它構(gòu)件的角度觀察到或者區(qū)別開(kāi),這樣的行

4、為就是體系結(jié)構(gòu)的內(nèi)容。定義的含義-4:定義中并沒(méi)有明確說(shuō)明什么是elements:是一個(gè)對(duì)象?一個(gè)實(shí)現(xiàn)單元?一段進(jìn)程?一個(gè)函數(shù)庫(kù)?數(shù)據(jù)庫(kù)?商業(yè)構(gòu)件?以上都有可能,還可能是其它一些事物各元素間的交互關(guān)系也可能有多種。例如:細(xì)劃分,同步,調(diào)用,包含體系結(jié)構(gòu)是一種高層設(shè)計(jì):正確。體系結(jié)構(gòu)是一種前期的設(shè)計(jì)活動(dòng)。體系結(jié)構(gòu)是系統(tǒng)的總體結(jié)構(gòu):它暗含了意思是系統(tǒng)只有一個(gè)結(jié)構(gòu)。而結(jié)構(gòu)的多樣性位于體系結(jié)構(gòu)概念的核心。體系結(jié)構(gòu)是一個(gè)軟件或系統(tǒng)的構(gòu)件、構(gòu)件之間的相互關(guān)系以及管理其設(shè)計(jì)和演變的原理和方針的結(jié)構(gòu):不應(yīng)包括原理和方針。體系結(jié)構(gòu)是構(gòu)件和連接器:不完全。因?yàn)檫B接器是指系統(tǒng)運(yùn)行時(shí)為傳送控制和數(shù)據(jù)信息而采用的機(jī)制。

5、因此這種說(shuō)法強(qiáng)調(diào)了運(yùn)行時(shí)的體系結(jié)構(gòu)。2、 模塊化技術(shù)、抽象化技術(shù)、軟件工程的基本概念3、 體系結(jié)構(gòu)與描述體系結(jié)構(gòu)與體系結(jié)構(gòu)描述不同。體系結(jié)構(gòu):一個(gè)系統(tǒng)的基礎(chǔ)組織,體現(xiàn)在系統(tǒng)的構(gòu)件、構(gòu)件之間的關(guān)系、構(gòu)件與環(huán)境的關(guān)系和指導(dǎo)系統(tǒng)設(shè)計(jì)和演化的準(zhǔn)則。體系結(jié)構(gòu)描述:一組對(duì)系統(tǒng)結(jié)構(gòu)進(jìn)行編檔的產(chǎn)品。體系結(jié)構(gòu)不可見(jiàn)。4、 構(gòu)件、連接件、約束的定義構(gòu)件的定義。1.構(gòu)件:(Component)是軟件系統(tǒng)的結(jié)構(gòu)塊單元,是軟件功能設(shè)計(jì)和實(shí)現(xiàn)的承載體,因此,每個(gè)構(gòu)件都承擔(dān)著一定的功能并發(fā)揮著一定的作用,例如,中斷程序、設(shè)備驅(qū)動(dòng)程序、過(guò)程、各種功能庫(kù)、文件等。2.構(gòu)件可以看做是模塊、類(lèi)、對(duì)象等一個(gè)相關(guān)功能的集合。3.構(gòu)件大

6、都作為一個(gè)分狀的實(shí)體,其內(nèi)部結(jié)構(gòu)和信息隱藏起來(lái)。每個(gè)構(gòu)件至少有一個(gè)接口。接口是構(gòu)件與外界發(fā)生交互的窗口。與其他構(gòu)件交互時(shí),只需了解此構(gòu)件對(duì)外的接口和提供的操作服務(wù)。連接件的定義。1.連接:(Connect)是構(gòu)件間建立和維護(hù)行為關(guān)聯(lián)及信息傳遞的途徑。2.連接需要兩方面的支持:一是連接發(fā)生和維持的機(jī)制,這是實(shí)現(xiàn)連接的物質(zhì)基礎(chǔ);二是連接能夠正確地、無(wú)二義、無(wú)沖突地進(jìn)行信息交換的保證,這就是連接進(jìn)行有效信息交換的規(guī)則,稱(chēng)為連接的“協(xié)議”。3.連接的本質(zhì)是實(shí)現(xiàn)連接機(jī)制和信息交換協(xié)議,簡(jiǎn)稱(chēng)機(jī)制和協(xié)議。4.連接器:(Connector)當(dāng)構(gòu)件間聯(lián)系關(guān)系復(fù)雜時(shí),需要建立專(zhuān)門(mén)的連接構(gòu)件以調(diào)度和協(xié)調(diào)構(gòu)件間的關(guān)聯(lián)

7、關(guān)系,實(shí)現(xiàn)構(gòu)件間聯(lián)系的特殊構(gòu)件稱(chēng)為連接器。5.構(gòu)件間的聯(lián)系有:消息和信號(hào)的傳遞,功能和方法的請(qǐng)求或調(diào)用,數(shù)據(jù)的傳送和轉(zhuǎn)換,構(gòu)件間特定關(guān)系的協(xié)調(diào)和維持等,所有涉及構(gòu)件間信息、行為、特性的聯(lián)系和依賴(lài)。約束。約束的定義。約束條件是系統(tǒng)屬性或系統(tǒng)的一部分。違反了約束條件,可能導(dǎo)致系統(tǒng)崩潰。約束約定約束條件,邊界,以及構(gòu)件之間的依賴(lài)關(guān)系。5、 構(gòu)件-連接器視圖及其作用1.構(gòu)件-連接器視圖,最重要的視圖,反映運(yùn)行時(shí)模型。2.分解視圖,靜態(tài)結(jié)構(gòu)描述。3.分配視圖,投影到外部環(huán)境,又從軟件/硬件方面分為實(shí)現(xiàn)視圖(制品視圖)和部署視圖。4.行為視圖,考慮時(shí)間因素,追蹤和控制系統(tǒng),又分為基于消息、概要活動(dòng)、單元素

8、行為視圖,以及轉(zhuǎn)化為用例視圖。UML是最普遍的視圖。6、 體系結(jié)構(gòu)活動(dòng)使用體系結(jié)構(gòu)稱(chēng)為體系結(jié)構(gòu)活動(dòng);體系結(jié)構(gòu)活動(dòng)帶來(lái)的成本和收益需要權(quán)衡;隨著軟件的復(fù)雜性提高,體系結(jié)構(gòu)投入成為趨勢(shì);任何階段都可以有體系結(jié)構(gòu)活動(dòng);總之,是否運(yùn)用體系結(jié)構(gòu)需要決策;如同方法學(xué)、哲學(xué),用關(guān)鍵原則指導(dǎo)解決問(wèn)題;具體活動(dòng)包括:建模、由需求導(dǎo)出體系結(jié)構(gòu)、編檔體系結(jié)構(gòu)、基于體系結(jié)構(gòu)文檔討論、分析、評(píng)估、實(shí)現(xiàn)系統(tǒng)與體系結(jié)構(gòu)一致、用體系結(jié)構(gòu)引導(dǎo)測(cè)試、從遺留系統(tǒng)中重構(gòu)體系結(jié)構(gòu)等。7、 其他構(gòu)件-連接器結(jié)構(gòu)動(dòng)態(tài)的,運(yùn)行時(shí)的結(jié)構(gòu)進(jìn)程結(jié)構(gòu)并發(fā)結(jié)構(gòu)共享數(shù)據(jù)或存貯庫(kù)客戶(hù)機(jī)-服務(wù)器軟件的模塊結(jié)構(gòu)分解結(jié)構(gòu)使用結(jié)構(gòu)增量模型:把軟件產(chǎn)品分解成一系列

9、的增量構(gòu)件,在增量開(kāi)發(fā)迭代中逐步加入。 每個(gè)構(gòu)件由多個(gè)相互作用的模塊構(gòu)成,并且能夠完成特定的功能。增量開(kāi)發(fā)方法的新演進(jìn)版本叫做 “極限程序設(shè)計(jì)(eXtreme Programming)”。 分層結(jié)構(gòu)元素:層(模塊的聚合)關(guān)系:允許使用的關(guān)系每個(gè)層就是一個(gè)虛擬機(jī),此外,還存在一些對(duì)虛擬機(jī)之間關(guān)系的約束條件。虛擬機(jī):虛擬機(jī)是一種抽象計(jì)算設(shè)備;一般說(shuō)來(lái),它是一種程序,該程序能充當(dāng)其他軟件和實(shí)際硬件之間的接口。類(lèi)或泛化泛化風(fēng)格支持面向?qū)ο蟮脑O(shè)計(jì):它是基于繼承性的面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)的主要方法。類(lèi)圖。擴(kuò)展和演化:局部更改或變化:體系結(jié)構(gòu)的用途之一是提供穩(wěn)定的結(jié)構(gòu),以便允許局部更改或變化。泛化是一種在較高層

10、定義共性和將差異性定義為子模塊的方法。重用:適當(dāng)?shù)某橄罂梢灾辉诮涌趯又赜?,抽象模塊的定義能為重用創(chuàng)造機(jī)會(huì)?!?+1”視圖模型Logical View 支持主要的功能需求-系統(tǒng)應(yīng)當(dāng)向用戶(hù)提供什么樣的服務(wù)。我們能利用“模塊結(jié)構(gòu)” 和“構(gòu)件-連接器”結(jié)構(gòu)來(lái)編檔“邏輯視圖”。(將模塊分解風(fēng)格、使用風(fēng)格、 泛化風(fēng)格結(jié)合起來(lái)后,即可利用子系統(tǒng)和類(lèi)等元素表示邏輯視圖的結(jié)構(gòu)部分;而構(gòu)件-連接器視圖類(lèi)型則允許我們利用構(gòu)件和端口表示運(yùn)行時(shí)特征)Process View 主要考慮的是系統(tǒng)的非功能屬性:如性能、可用性等。它所面對(duì)的問(wèn)題有并發(fā)、分布,系統(tǒng)的完整性、容錯(cuò)能力等。Development View 關(guān)注的是在

11、軟件開(kāi)發(fā)環(huán)境中軟件模塊的實(shí)際組織,軟件被打包成可由單個(gè)或少量程序員開(kāi)發(fā)的各種小的部分:程序庫(kù)或子系統(tǒng)。一般來(lái)說(shuō)子系統(tǒng)被組織為層次化的體系,每一層為上一層提供一個(gè)嚴(yán)密的、明確的接口。Deployment View 描述將軟件系統(tǒng)映射到各個(gè)物理節(jié)點(diǎn)上。用例視圖(場(chǎng)景視圖):利用用例來(lái)驗(yàn)證和描述其它的視圖。 軟件體系結(jié)構(gòu)是必要的:1、表述系統(tǒng)的初始概要信息,為開(kāi)發(fā)早期進(jìn)行質(zhì)量分析和評(píng)估提供幫助。2、為系統(tǒng)實(shí)現(xiàn)提供約束條件。3、支撐重用和軟件生產(chǎn)線(xiàn)的實(shí)現(xiàn)。4、為涉眾之間的交流奠定基礎(chǔ)。5、決定如何組織團(tuán)隊(duì)和分配任務(wù)。第二章 知識(shí)要點(diǎn)(要求:標(biāo)記、理解、應(yīng)用,題型分布:填空、選擇、分析、綜合)每種風(fēng)格模

12、式應(yīng)用在哪個(gè)領(lǐng)域。管道-過(guò)濾器應(yīng)用于編譯器隱式調(diào)用(消息驅(qū)動(dòng)):界面,如:決策自制系統(tǒng)數(shù)據(jù)黑板:專(zhuān)家系統(tǒng)(用可分析數(shù)據(jù)的模糊推理的)控制環(huán):控制系統(tǒng)C/S:網(wǎng)絡(luò)虛擬機(jī)是作解釋器的,模糊的則選擇異構(gòu)風(fēng)格1、 模式與風(fēng)格風(fēng)格與模式是相同還是不同,存在爭(zhēng)議,可以看作一回事,也可以區(qū)分對(duì)待,關(guān)鍵還是定義的爭(zhēng)議,但這并不影響其運(yùn)用.模式是某一相關(guān)問(wèn)題的設(shè)計(jì)結(jié)論,是一個(gè)解決方案,是過(guò)程和實(shí)體.風(fēng)格是解決問(wèn)題的一些方法特征,是解決方案的框架.其核心內(nèi)容是:(1)控制原則(2)質(zhì)量屬性風(fēng)格與模式通常從兩個(gè)方面分類(lèi): 數(shù)據(jù)和控制風(fēng)格與模式劃分的具體為:數(shù)據(jù)流系統(tǒng)、調(diào)用返回系統(tǒng)、獨(dú)立構(gòu)件系統(tǒng)、虛擬機(jī)系統(tǒng)、中央存儲(chǔ)

13、系統(tǒng)。數(shù)據(jù)流系統(tǒng):批處理、管道-過(guò)濾器風(fēng)格調(diào)用返回系統(tǒng):面向?qū)ο蟆⒎謱语L(fēng)格獨(dú)立構(gòu)件系統(tǒng):通信過(guò)程、事件驅(qū)動(dòng)風(fēng)格虛擬機(jī)系統(tǒng):翻譯、基于系統(tǒng)規(guī)則風(fēng)格中央存儲(chǔ)系統(tǒng)(倉(cāng)庫(kù)):數(shù)據(jù)庫(kù)、超文本、黑板等風(fēng)格過(guò)程控制風(fēng)格:開(kāi)環(huán),閉環(huán)其它系統(tǒng):C/S、B/S、WEB、P2P、BT等風(fēng)格2、 各種模式風(fēng)格面向?qū)ο箫L(fēng)格描述數(shù)據(jù)及其操作被封裝成抽象數(shù)據(jù)類(lèi)型(對(duì)象)特點(diǎn):封裝、繼承、多態(tài)數(shù)據(jù)抽象風(fēng)格(ADT)是特殊化的面向?qū)ο箫L(fēng)格,區(qū)別在于:ADT只有封裝的特點(diǎn),而沒(méi)有繼承和多態(tài)的特點(diǎn)。優(yōu)點(diǎn):因?yàn)閷?duì)象對(duì)其它對(duì)象隱藏它的表示,所以可以改變一個(gè)對(duì)象的表示,而不影響其它的對(duì)象;設(shè)計(jì)者可將一些數(shù)據(jù)存取操作的問(wèn)題分解成一些交互的

14、代理程序的集合。缺點(diǎn):對(duì)象之間的耦合度比較緊:為了使一個(gè)對(duì)象和另一個(gè)對(duì)象通過(guò)過(guò)程調(diào)用等進(jìn)行交互,必須知道對(duì)象的標(biāo)識(shí)。只要一個(gè)對(duì)象的標(biāo)識(shí)改變了,就必須修改所有其他明確調(diào)用它的對(duì)象;必須修改所有顯式調(diào)用它的其它對(duì)象,并消除由此帶來(lái)的一些副作用。例如a使用了對(duì)象b,c也使用了對(duì)象b,那么,c對(duì)b的使用所造成的對(duì)a的影響可能是不可預(yù)測(cè)的。面向?qū)ο箫L(fēng)格的優(yōu)點(diǎn)是什么?4. 模塊化、易于維護(hù)擴(kuò)展、重用?;谑录娘L(fēng)格(隱式調(diào)用)基于事件(event-based)的風(fēng)格,又被稱(chēng)為隱式調(diào)用(implicit invocation)的風(fēng)格。在此類(lèi)風(fēng)格的系統(tǒng)結(jié)構(gòu)中,組件并不直接調(diào)用一個(gè)過(guò)程,而是聲明或廣播一個(gè)或多個(gè)

15、事件。系統(tǒng)中的其他組件可以把某一過(guò)程注冊(cè)為與它所關(guān)心的事件相關(guān)聯(lián)。當(dāng)某一事件發(fā)生時(shí),系統(tǒng)會(huì)調(diào)用所有與之相關(guān)聯(lián)的過(guò)程,即一個(gè)事件的激發(fā)隱含地導(dǎo)致了對(duì)其他模塊的過(guò)程調(diào)用。隱式調(diào)用的最大不足之處在于,組件對(duì)系統(tǒng)進(jìn)行的計(jì)算放棄了主動(dòng)控制。一個(gè)組件不能假設(shè)其他組件將會(huì)對(duì)它的請(qǐng)求做出響應(yīng),也不能知道事件被處理的先后順序。分層風(fēng)格語(yǔ)境:一個(gè)需要分解的大系統(tǒng)問(wèn)題:假設(shè)你正在設(shè)計(jì)一個(gè)系統(tǒng),它的顯著特征是混合了低層與高層問(wèn)題,這里的高層操作依賴(lài)于低層操作。這樣的系統(tǒng)往往需要一些與其垂直子劃分正交的水平構(gòu)建。即幾個(gè)操作處在同一個(gè)抽象層,但彼此之間在很大程度上是獨(dú)立的。優(yōu)點(diǎn):支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì),使設(shè)計(jì)者可

16、以把一個(gè)復(fù)雜系統(tǒng)按遞增的步驟進(jìn)行分解;支持功能增強(qiáng),因?yàn)槊恳粚又炼嗪拖噜彽纳舷聦咏换ィ虼斯δ艿母淖冏疃嘤绊懴噜彽纳舷聦?;支持重用。只要提供的服?wù)接口定義不變,同一層的不同實(shí)現(xiàn)可以交換使用。這樣,就可以定義一組標(biāo)準(zhǔn)的接口,而允許各種不同的實(shí)現(xiàn)方法。缺點(diǎn):并不是每個(gè)系統(tǒng)都可以很容易地劃分為分層的模式,甚至即使一個(gè)系統(tǒng)的邏輯結(jié)構(gòu)是層次化的,出于對(duì)系統(tǒng)性能的考慮,系統(tǒng)設(shè)計(jì)師不得不把一些低級(jí)或高級(jí)的功能綜合起來(lái);很難找到一個(gè)合適的、正確的層次抽象方法。分層風(fēng)格應(yīng)用廣泛,特點(diǎn)是什么?它是如何實(shí)現(xiàn)一個(gè)大的系統(tǒng)設(shè)計(jì)的?分解、縱向和水平分解。調(diào)用返回風(fēng)格主程序、子調(diào)用抽象數(shù)據(jù)類(lèi)型,面向?qū)ο蟮娘L(fēng)格層次結(jié)構(gòu)特點(diǎn):

17、用共享數(shù)據(jù)獲得性能;共享數(shù)據(jù)的結(jié)構(gòu)是所有模塊必須知道的。優(yōu)點(diǎn):系統(tǒng)自然分解,符合人的處理習(xí)慣;數(shù)據(jù)共享,處理效率高。缺點(diǎn):改變數(shù)據(jù)的表示將影響所有的模塊;數(shù)據(jù)存儲(chǔ)對(duì)所有的模塊而言都是顯式的,沒(méi)有信息隱藏;系統(tǒng)構(gòu)件緊耦合,難以支持復(fù)用。獨(dú)立構(gòu)件風(fēng)格這種軟件體系結(jié)構(gòu)通過(guò)對(duì)各自部分計(jì)算的解耦操作來(lái)達(dá)到易更改的目的。它們之間相互的傳輸數(shù)據(jù),但是不直接控制雙方。消息可能傳遞給:指定的參與項(xiàng) (交互過(guò)程風(fēng)格); 未指定的參與項(xiàng) 使用發(fā)布/登陸范型(事件風(fēng)格) 。獨(dú)立組件架構(gòu)的特點(diǎn)是:系統(tǒng)由松耦合的一些獨(dú)立運(yùn)行的計(jì)算單元構(gòu)成,這些單元之間通過(guò)消息傳遞信息。一般情況下,這些獨(dú)立的計(jì)算單元能夠自主地完成一些計(jì)算

18、任務(wù)。消息的發(fā)出者通常并不知道誰(shuí)會(huì)接收并處理這些消息,更不了解這些消息是如何被處理的。由于系統(tǒng)基于消息,因此有較好的并發(fā)性能,容錯(cuò)性和可伸縮性。獨(dú)立組件系統(tǒng)中通常不存在比較明顯的主-從結(jié)構(gòu)。通常只有一個(gè)比較弱的服務(wù)器,甚至沒(méi)有服務(wù)器Broker風(fēng)格(代理風(fēng)格)有利于分布式的數(shù)據(jù)組織;構(gòu)件間位置透明,客戶(hù)和服務(wù)器都不用考慮對(duì)方的運(yùn)行位置;具有良好的可擴(kuò)展性,易于對(duì)服務(wù)器進(jìn)行修改、擴(kuò)展或增加服務(wù)。3、 各種模式風(fēng)格的定義及其應(yīng)用領(lǐng)域1. 管道-過(guò)濾器風(fēng)格:過(guò)濾器獨(dú)立,便于重用易于維護(hù)評(píng)估,但缺乏交互性,一般用于通信和編譯器。2. 面向?qū)ο箫L(fēng)格:模塊化好,代碼封裝好,易于維護(hù)擴(kuò)展,但引用需要較高的耦

19、合,需知道知道對(duì)象,比較適合JAVA、C#應(yīng)用。3. 事件驅(qū)動(dòng)風(fēng)格:適合多元素、并發(fā)系統(tǒng)、擴(kuò)展性好,缺點(diǎn)是對(duì)系統(tǒng)控制力弱,共享數(shù)據(jù)困難,對(duì)象間關(guān)系復(fù)雜,常用于集成環(huán)境。4. 分層風(fēng)格:支持抽象和重用,擴(kuò)展與維護(hù)好,但性能可能不高。一般用于通信協(xié)議。5. 數(shù)據(jù)中心風(fēng)格:知識(shí)庫(kù)擴(kuò)展好,易于擴(kuò)展,適合專(zhuān)家系統(tǒng)、自然語(yǔ)言處理和模式識(shí)別應(yīng)用。6. 解釋器風(fēng)格:固定的偽碼和解釋器引擎結(jié)構(gòu),適合語(yǔ)言解釋器。7. 反饋環(huán)風(fēng)格:通過(guò)學(xué)習(xí)構(gòu)件和決策者構(gòu)件的運(yùn)用,利用學(xué)習(xí)和信息更新增強(qiáng)自身功能,適合于生產(chǎn)管理系統(tǒng)。4、 異構(gòu)風(fēng)格的集成對(duì)于不能歸于某種風(fēng)格的系統(tǒng),稱(chēng)為復(fù)合系統(tǒng)。對(duì)于復(fù)合系統(tǒng)的構(gòu)件模型被稱(chēng)為異構(gòu)風(fēng)格。一

20、個(gè)完善的系統(tǒng)可能由各種風(fēng)格組成。恰當(dāng)?shù)倪\(yùn)用體系結(jié)構(gòu)風(fēng)格、滿(mǎn)足需要的質(zhì)量屬性是最好的設(shè)計(jì)。什么是“復(fù)合系統(tǒng)”,它有什么風(fēng)格?沒(méi)有明確的風(fēng)格第三章 知識(shí)要點(diǎn)(要求:標(biāo)記、理解、應(yīng)用,題型分布:分析、綜合)Agent結(jié)構(gòu)不是簡(jiǎn)單的C/S訪(fǎng)問(wèn),是訪(fǎng)問(wèn)平臺(tái)。平臺(tái)上有很多服務(wù)點(diǎn),具有代理功能,應(yīng)用于網(wǎng)絡(luò)、應(yīng)用。1、 AGENT模式2、AGENT應(yīng)用案例分析3、C/S模式應(yīng)用案例分析第四章 知識(shí)要點(diǎn) (要求:標(biāo)記、理解、應(yīng)用,題型分布:簡(jiǎn)答、分析、綜合)UML的名詞定義。典型的風(fēng)格(C2,其特征是什么)UML是否可用于前期設(shè)計(jì),是在總體設(shè)計(jì)之前,還是之后。1、 UMLUML(Unified Modeling

21、 Language)是下面這些最好的建模方法中最好部分的集成:商務(wù)流程模型(Work Flow)、對(duì)象建模方法、軟構(gòu)件建模思想。UML是一種用可視化方法對(duì)軟件系統(tǒng)進(jìn)行描述、實(shí)施和說(shuō)明的標(biāo)準(zhǔn)語(yǔ)言。支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開(kāi)發(fā)全過(guò)程。2、 UML模型3、 面向?qū)ο?、面向體系結(jié)構(gòu)4、 各種風(fēng)格特性第五章 知識(shí)要點(diǎn) (要求:理解、應(yīng)用,題型分布:分析、綜合)1、 架構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)的原則:抽象分而治之封裝和信息隱蔽模塊化高內(nèi)聚和低耦合關(guān)注點(diǎn)分離策略和實(shí)現(xiàn)的分離接口和實(shí)現(xiàn)的分離體系結(jié)構(gòu)設(shè)計(jì)方法的分析為了獲取對(duì)體系結(jié)構(gòu)設(shè)計(jì)的抽象,人們已經(jīng)提出了許多方法。我們把這些體系結(jié)構(gòu)設(shè)計(jì)方法分類(lèi)為:工件驅(qū)動(dòng)(a

22、rtifact-driven)的方法特點(diǎn):從方法的工件描述中提取體系結(jié)構(gòu)描述。缺點(diǎn):(1)文本形式的系統(tǒng)需求不夠清楚、精確、完整。以它作為導(dǎo)出體系結(jié)構(gòu)抽象的來(lái)源作用不夠。(2)子系統(tǒng)的語(yǔ)義過(guò)于簡(jiǎn)單,難以作為體系結(jié)構(gòu)構(gòu)件。(3)對(duì)子系統(tǒng)的組合支持不足。用例驅(qū)動(dòng)(use-case-driven)的方法目的:作為系統(tǒng)預(yù)期功能及其環(huán)境的模型,并在客戶(hù)和開(kāi)發(fā)者之間起到合約的作用。缺點(diǎn):(1)難以適度把握領(lǐng)域模型和商業(yè)模型的細(xì)節(jié)。(2)對(duì)于如何選擇與體系結(jié)構(gòu)相關(guān)的用例沒(méi)有提供系統(tǒng)的支持。(3)用例沒(méi)有為體系結(jié)構(gòu)抽象提供堅(jiān)實(shí)的基礎(chǔ)。(4)包的語(yǔ)義過(guò)于簡(jiǎn)單,難以作為體系結(jié)構(gòu)構(gòu)件。模式驅(qū)動(dòng)(pattern-dr

23、iven)的方法缺點(diǎn):(1)在處理范圍廣泛的體系結(jié)構(gòu)問(wèn)題時(shí),模式庫(kù)可能不夠充分。(2)對(duì)模式的選擇僅依靠通用知識(shí)和軟件工程師的經(jīng)驗(yàn)。(3)模式的應(yīng)用并不是一個(gè)簡(jiǎn)單直接的過(guò)程,它需要對(duì)問(wèn)題進(jìn)行全面的分析。(4)對(duì)于模式的組合沒(méi)有提供很好的支持。域驅(qū)動(dòng)(domain-driven)的方法主要用于產(chǎn)品線(xiàn)體系結(jié)構(gòu)設(shè)計(jì)和特定領(lǐng)域的軟件體系結(jié)構(gòu)設(shè)計(jì)。缺點(diǎn):(1)問(wèn)題領(lǐng)域分析在導(dǎo)出體系結(jié)構(gòu)抽象方面效果較差。(2)解決方案領(lǐng)域分析不夠充分。2、 模式選擇3、 重點(diǎn)模式數(shù)據(jù)流風(fēng)格:批處理序列、管道/過(guò)濾器風(fēng)格;過(guò)程控制風(fēng)格:開(kāi)環(huán),閉環(huán);調(diào)用/返回風(fēng)格:主程序/子程序、面向?qū)ο箫L(fēng)格、層次結(jié)構(gòu);獨(dú)立構(gòu)件風(fēng)格:進(jìn)程通

24、信、事件系統(tǒng);虛擬機(jī)風(fēng)格:解釋器;倉(cāng)庫(kù)風(fēng)格:數(shù)據(jù)庫(kù)系統(tǒng)、黑板系統(tǒng);其它:C/S;C2等主要分析、綜合應(yīng)用知識(shí)要點(diǎn)(要求:綜合應(yīng)用,題型分布:分析、綜合)1、 數(shù)據(jù)流風(fēng)格及特性數(shù)據(jù)流系統(tǒng)(模式):批處理、管道-過(guò)濾器風(fēng)格語(yǔ)境:處理數(shù)據(jù)流問(wèn)題:建立一個(gè)必須處理或轉(zhuǎn)換輸入數(shù)據(jù)流的系統(tǒng)。解決方案:把系統(tǒng)分解為幾個(gè)序貫的處理步驟,這些步驟采用通過(guò)系統(tǒng)的數(shù)據(jù)流連接-一個(gè)步驟的輸出是另一個(gè)步驟的輸入過(guò)濾器組件:是處理單元。通過(guò)計(jì)算和增加信息來(lái)豐富數(shù)據(jù)通過(guò)濃縮或摘錄信息來(lái)提煉數(shù)據(jù)通過(guò)以別的表示形式交付數(shù)據(jù)來(lái)轉(zhuǎn)換數(shù)據(jù)過(guò)濾器組件的類(lèi)型隨后的單元從過(guò)濾器中拉出輸出單元前面的單元把新的數(shù)據(jù)壓入過(guò)濾器過(guò)濾器以循環(huán)的方式

25、,從流水線(xiàn)中拉出其輸入數(shù)據(jù),并將其輸出數(shù)據(jù)壓入后續(xù)單元被動(dòng)過(guò)濾器、主動(dòng)過(guò)濾器過(guò)濾器組件:增量式的處理數(shù)據(jù)。特點(diǎn):過(guò)濾器組件是獨(dú)立的。除輸入和輸出外,每個(gè)過(guò)濾器不受任何其它過(guò)濾器運(yùn)行的影響。過(guò)濾器之間不共享任何信息。每個(gè)過(guò)濾器不知道其上游或下游過(guò)濾器的ID號(hào)。長(zhǎng)處:系統(tǒng)易于升級(jí):過(guò)濾器組件的重用通過(guò)重組增加了靈活性支持并發(fā):每個(gè)過(guò)濾器作為一個(gè)單獨(dú)的執(zhí)行任務(wù),可以與其它過(guò)濾器并發(fā)執(zhí)行。短處:共享狀態(tài)信息或者昂貴或者不靈活(如果處理階段需要共享大量的全局?jǐn)?shù)據(jù),則應(yīng)用該模式就低效)不適于交互處理。往往導(dǎo)致批處理的方式.數(shù)據(jù)轉(zhuǎn)換的額外開(kāi)銷(xiāo)(考慮進(jìn)行數(shù)值計(jì)算并使用unix管道的系統(tǒng),必須在每個(gè)過(guò)濾器中把A

26、SCII字符轉(zhuǎn)換成實(shí)數(shù)或者將實(shí)現(xiàn)轉(zhuǎn)換成ASCII字符。一個(gè)簡(jiǎn)單的過(guò)濾器,如兩個(gè)數(shù)相加,它的絕大部分處理時(shí)間消耗在格式轉(zhuǎn)換上)點(diǎn)評(píng):面向數(shù)據(jù)流的方法也是軟件工程的基本方法,例如:數(shù)據(jù)流圖、杰克遜面向數(shù)據(jù)結(jié)構(gòu)的方法都與數(shù)據(jù)流模式(風(fēng)格)相關(guān)聯(lián)。其中采用數(shù)據(jù)流圖進(jìn)行建模、分析、導(dǎo)出概要設(shè)計(jì)的思想已成為經(jīng)典技術(shù)。2、 過(guò)程控制風(fēng)格及特性(反饋環(huán)風(fēng)格描述)所謂對(duì)某個(gè)過(guò)程進(jìn)行控制,指設(shè)法使該控制過(guò)程的功能或特性有效達(dá)到所期望的目標(biāo)。目標(biāo)可以是滿(mǎn)足所規(guī)定的各種性能特征,也可以是在一定限制條件下,某個(gè)代表性能的量達(dá)到或者接近最佳。開(kāi)環(huán)控制:是指被控對(duì)象的輸出(被控制量)對(duì)控制器(controller)的輸出沒(méi)

27、有影響。在這種控制系統(tǒng)中,不依賴(lài)將被控量反送回來(lái)以形成任何閉環(huán)回路。閉環(huán)控制:特點(diǎn)是系統(tǒng)被控對(duì)象的輸出(被控制量)會(huì)反送回來(lái)影響控制器的輸出,形成一個(gè)或多個(gè)閉環(huán)。閉環(huán)控制系統(tǒng)有正反饋和負(fù)反饋,若反饋信號(hào)與系統(tǒng)給定值信號(hào)相反,則稱(chēng)為負(fù)反饋( Negative Feedback),若極性相同,則稱(chēng)為正反饋,一般閉環(huán)控制系統(tǒng)均采用負(fù)反饋,又稱(chēng)負(fù)反饋控制系統(tǒng)。3、 虛擬機(jī)風(fēng)格及特性解釋器風(fēng)格,通常被用來(lái)建立一種虛擬機(jī)以彌合程序的語(yǔ)義與作為 計(jì)算引擎的硬件的間隙。解釋器實(shí)際上創(chuàng)建了一個(gè)軟件虛擬出來(lái)的機(jī)器,因此該風(fēng)格又稱(chēng)為虛擬機(jī)風(fēng)格。優(yōu)點(diǎn):有助于應(yīng)用程序的可移植性和程序設(shè)計(jì)語(yǔ)言的跨平臺(tái)能力;可以對(duì)未實(shí)現(xiàn)的

28、硬件進(jìn)行仿真(有時(shí)實(shí)際測(cè)試可能是復(fù)雜的、昂貴的或危險(xiǎn)的)。缺點(diǎn):額外的間接層次帶來(lái)了系統(tǒng)性能的下降。例如:如果不引入JIT (just in time)技術(shù)的話(huà),java應(yīng)用程序的速度相當(dāng)慢。虛擬機(jī)技術(shù)為JAVA語(yǔ)言提供了什么優(yōu)點(diǎn)?基本原理是什么?跨平臺(tái)、解釋器技術(shù)原理。 4、 倉(cāng)庫(kù)風(fēng)格及特性Component:兩大類(lèi)中心數(shù)據(jù)結(jié)構(gòu):它表示當(dāng)前的狀態(tài)獨(dú)立組件的集合:對(duì)中央數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作一般用于:專(zhuān)家系統(tǒng)(沒(méi)有現(xiàn)成、直接的解的情況下)黑板中的知識(shí)可能相互矛盾或者有錯(cuò)誤黑板風(fēng)格Component:中央數(shù)據(jù)單元、知識(shí)源、控制單元。中央數(shù)據(jù)單元:整個(gè)系統(tǒng)的核心部件,它對(duì)系統(tǒng)需要解決的問(wèn)題預(yù)先進(jìn)行了分析

29、和定義,總結(jié)出了系統(tǒng)運(yùn)行過(guò)程中將要出現(xiàn)的各種狀態(tài),并制定了這些狀態(tài)下系統(tǒng)的相應(yīng)策略。其中的數(shù)據(jù)不只是單純的數(shù)據(jù)信息,它們代表了狀態(tài)是狀態(tài)信息。這些數(shù)據(jù)由數(shù)據(jù)源提供,數(shù)據(jù)隨數(shù)據(jù)源信息的改變而變化,從而實(shí)現(xiàn)系統(tǒng)的功能。數(shù)據(jù)源:它們是知識(shí)庫(kù)中信息的來(lái)源,彼此之間在邏輯上和物理上是相互獨(dú)立的。多個(gè)數(shù)據(jù)源之間通過(guò)中央數(shù)據(jù)單元協(xié)調(diào)進(jìn)行交互控制單元:控制單元的驅(qū)動(dòng)完全是由知識(shí)庫(kù)的狀態(tài)變化承擔(dān)的;知識(shí)源將系統(tǒng)需要處理的信息源源不斷地輸入到知識(shí)庫(kù)中,導(dǎo)致知識(shí)庫(kù)的狀態(tài)信息發(fā)生變化,當(dāng)狀態(tài)信息的變化符合系統(tǒng)預(yù)先定義好的某些控制策略時(shí),相應(yīng)的控制單元就被觸發(fā),也就實(shí)現(xiàn)了系統(tǒng)的功能控制。數(shù)據(jù)共享風(fēng)格一般應(yīng)用于什么系統(tǒng)的

30、開(kāi)發(fā)?與數(shù)據(jù)庫(kù)技術(shù)是相同的技術(shù)嗎?專(zhuān)家系統(tǒng)、不同。5、 C/S風(fēng)格及特性適用于這樣的應(yīng)用系統(tǒng):它的數(shù)據(jù)和處理分布在一定范圍的多個(gè)構(gòu)件上,構(gòu)件之間通過(guò)網(wǎng)絡(luò)連接。簡(jiǎn)單的客戶(hù)機(jī)/服務(wù)器系統(tǒng)結(jié)構(gòu)中,應(yīng)分成兩部分。客戶(hù)機(jī)負(fù)責(zé)用戶(hù)輸入和展示,服務(wù)器則處理低層的功能,例如數(shù)據(jù)庫(kù)的運(yùn)作等。如果一個(gè)系統(tǒng)被劃分為兩類(lèi)不同的但相互聯(lián)系的組成部分,其中一方提出對(duì)信息或服務(wù)的請(qǐng)求,而另一方提供這種信息或者服務(wù),那么這種體系結(jié)構(gòu)就可看作是一種客戶(hù)機(jī)/服務(wù)器模型。Tcp/ip協(xié)議也采用了client/server模型,使用tcp/ip協(xié)議的程序分為兩類(lèi)??蛻?hù)程序一般可以任意選擇其進(jìn)行通信的端口的端口號(hào),而服務(wù)程序往往使用較固定的端口號(hào)??蛻?hù)程序如要使用某臺(tái)主機(jī)相應(yīng)的服務(wù),就只要往該服務(wù)對(duì)應(yīng)的套接字上發(fā)送數(shù)據(jù)即可。C/S風(fēng)格中Server端有什么作用?通信端之一,為Client端提供處理等服務(wù)。6、 C2風(fēng)格及特性是一種基于構(gòu)件和消息的體系結(jié)構(gòu)風(fēng)格;是一種層次網(wǎng)絡(luò);某一構(gòu)件只能感知層次高于自己的構(gòu)件所提供的服務(wù),而不能感知層次比自己更低的構(gòu)件的服務(wù);C2風(fēng)格主要用于具有圖形化用戶(hù)界面的應(yīng)用程序。C2風(fēng)格的通信規(guī)則要求,構(gòu)件之間的所有交互必須以消息傳遞的方式實(shí)現(xiàn)。有以下幾個(gè)特點(diǎn):1)組成規(guī)則:C2也是以構(gòu)件和連接件為基礎(chǔ)的。C2風(fēng)格中定義了構(gòu)件和連接件的頂端和底端。構(gòu)件的頂端與連接件的底端相連接構(gòu)件的底端與連

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論