軟件設(shè)計(jì)與體系結(jié)構(gòu)期末復(fù)習(xí)整理解讀_第1頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu)期末復(fù)習(xí)整理解讀_第2頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu)期末復(fù)習(xí)整理解讀_第3頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu)期末復(fù)習(xí)整理解讀_第4頁(yè)
軟件設(shè)計(jì)與體系結(jié)構(gòu)期末復(fù)習(xí)整理解讀_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1面向?qū)ο缶幊讨惺侨绾误w現(xiàn)封裝性的?封裝是把過(guò)程和數(shù)據(jù)包圍起來(lái),對(duì)數(shù)據(jù)的訪問只能通過(guò)已定義的界面。2重載和重寫的含義重載是發(fā)生在一個(gè)類中,方法名相同,參數(shù)不同重寫(覆蓋)是子類繼承父類,子類可以通過(guò)重寫的方法隱藏繼承的方法3什么是接口回調(diào),過(guò)程細(xì)節(jié)是什么?概念:把可以實(shí)現(xiàn)某一接口的類創(chuàng)建的對(duì)象的引用賦給該接口聲明接口變 量,那么該接口變量可以調(diào)用被類實(shí)現(xiàn)(重寫)的接口方法。4試舉例說(shuō)明什么是組合關(guān)系和依賴關(guān)系組合(關(guān)聯(lián))關(guān)系:A類中成員變量是用B類聲明的對(duì)象。公司-職員依賴關(guān)系:A類中某個(gè)方法的參數(shù)是用B類聲明的對(duì)象,或某個(gè)方法返回的 數(shù)據(jù)類型是B類的對(duì)象5抽象類和接口,區(qū)別是什么?如何應(yīng)用抽

2、象類:抽象類中有抽象方法;抽象類中不能用new運(yùn)算符創(chuàng)建對(duì)象;抽象 類的對(duì)象做商轉(zhuǎn)型對(duì)象接口: (1)接口中只可以有public權(quán)限的抽象方法,不能有非抽象方法;(2)接口由類去實(shí)現(xiàn),即一個(gè)類如果實(shí)現(xiàn)一個(gè)接口,那么他必須重寫 接口中的抽象方法(3)接口回調(diào)區(qū)別:接口中只有常量,不能有變量;抽象類中既可以有常量也可以有變量;抽象類中也可以有非抽象方法,接口不可以。應(yīng)用:定義抽象方法:public abstract void方法名();在子類實(shí)現(xiàn)抽象方法:public void方法名()接口: public interface接口名接口只負(fù)責(zé)定義規(guī)則,不負(fù)責(zé)任何實(shí) 現(xiàn);實(shí)現(xiàn)交給實(shí)現(xiàn)接口的類(6)面

3、向?qū)ο蟮牧鶙l基本原則包括:開閉原則,里式代換原則,單一職責(zé),依賴倒轉(zhuǎn)、迪米特法則(接口隔離)。(7)什么是設(shè)計(jì)模式?設(shè)計(jì)模式是從許多優(yōu)秀的軟件系統(tǒng)中總結(jié)出的成功的可復(fù)用的設(shè)計(jì)方案。是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì) 模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性(8)什么是框架?框架與模式的區(qū)別有哪些?框架是針對(duì)某個(gè)領(lǐng)域,提供用于開發(fā)應(yīng)用系統(tǒng)的類的集合。區(qū)別:層次不同、范圍不同、相互關(guān)系9舉例說(shuō)明面向?qū)ο蟮亩鄳B(tài)性。多態(tài)性就是多種表現(xiàn)形式,具體來(lái)說(shuō),可以用 "一個(gè)對(duì)外接口,多個(gè)內(nèi)在實(shí)現(xiàn)方 法”表示。舉一個(gè)例子,計(jì)算機(jī)中的堆??梢源?/p>

4、儲(chǔ)各種格式的數(shù)據(jù),包括整型, 浮點(diǎn)或字符。不管存儲(chǔ)的是何種數(shù)據(jù),堆棧的算法實(shí)現(xiàn)是一樣的。針對(duì)不同的數(shù) 據(jù)類型,編程人員不必手工選擇,只需使用統(tǒng)一接口名,系統(tǒng)可自動(dòng)選擇。多態(tài)性也分靜態(tài)多態(tài)性和動(dòng)態(tài)多態(tài)性兩種。靜態(tài)多態(tài)性是指定義在一個(gè)類或一個(gè)函 數(shù)中的同名函數(shù),它們根據(jù)參數(shù)表(類型以及個(gè)數(shù))區(qū)別語(yǔ)義,并通過(guò)靜態(tài)聯(lián)編 實(shí)現(xiàn),例如,在一個(gè)類中定義的不同參數(shù)的構(gòu)造函數(shù)。 動(dòng)態(tài)多態(tài)性是指定義在一 個(gè)類層次的不同類中的重載函數(shù),它們一般具有相同的函數(shù),因此要根據(jù)指針指 向的對(duì)象所在類來(lái)區(qū)別語(yǔ)義,它通過(guò)動(dòng)態(tài)聯(lián)編實(shí)現(xiàn)。(10)軟件體系結(jié)構(gòu)有哪幾種形式?概念結(jié)構(gòu):從主要設(shè)計(jì)元素(構(gòu)件)及其相互關(guān)聯(lián)、設(shè)計(jì)原則和性能

5、角度考 慮的結(jié)構(gòu)。模塊結(jié)構(gòu):根據(jù)功能分解建立模塊的層次結(jié)構(gòu)包括模塊接口、模塊管理、模 塊控制和一致性等問題。代碼結(jié)構(gòu):描述源程序,二進(jìn)制程序,庫(kù)文件。在開發(fā)環(huán)境下的組織包括系 統(tǒng)資源配置管理,系統(tǒng)構(gòu)造和對(duì)象嵌入機(jī)制 OEM等。執(zhí)行結(jié)構(gòu):描述系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)包括性能、調(diào)度、動(dòng)態(tài)配置和不同系統(tǒng)間的 接口等。(11)構(gòu)件之間的連接方式有哪些?(1 )過(guò)程調(diào)用:在某一特定執(zhí)行路徑中傳遞執(zhí)行指針。如普通過(guò)程調(diào)用、 遠(yuǎn)程過(guò)程調(diào)用。(2)數(shù)據(jù)流:相互獨(dú)立的處理通過(guò)數(shù)據(jù)流進(jìn)行交互,在得到數(shù)據(jù)的同時(shí) 被賦予控制權(quán)限。如UNIX系統(tǒng)中的管道。(3)間接激活:處理因事件的發(fā)生而激活,在處理間沒有直接交互。例如, 事件

6、驅(qū)動(dòng)系統(tǒng)、自動(dòng)垃圾回收等。(4)消息傳遞:相互獨(dú)立的處理間有明確交互,通過(guò)顯式數(shù)據(jù)傳遞。傳遞 可以是同步的,也可以是異步的。如 TCP/IP。(5 )共享數(shù)據(jù):構(gòu)件通過(guò)同一數(shù)據(jù)空間進(jìn)行并發(fā)操作。如多用戶數(shù)據(jù)庫(kù),數(shù)據(jù)黑板。(12)C/S體系結(jié)構(gòu)的主要組成部分有哪些?其作用是什么?(1)服務(wù)器:負(fù)責(zé)給其他子系統(tǒng)提供服務(wù)。如,數(shù)據(jù)庫(kù)服務(wù)器提供數(shù)據(jù)存儲(chǔ) 和管理服務(wù),文件服務(wù)器提供文件管理服務(wù),打印服務(wù)器提供打印服務(wù)等。(2)客戶機(jī):向服務(wù)器請(qǐng)求服務(wù)??蛻魴C(jī)通常都是獨(dú)立的子系統(tǒng),在某段時(shí) 間內(nèi),可能有多個(gè)客戶機(jī)程序在并發(fā)運(yùn)行。(3)網(wǎng)絡(luò):連接放在不同機(jī)器上的客戶機(jī)和服務(wù)器。(13)三層C/ S體系結(jié)構(gòu)的

7、數(shù)據(jù)處理流程是怎樣的?三層CS結(jié)構(gòu)的數(shù)據(jù)處理流程據(jù)新讀的求部分理柬 全業(yè)處結(jié)耗新讀比果 數(shù)更/取結(jié)(14)軟件體系結(jié)構(gòu)的評(píng)價(jià)指標(biāo)有哪些?(1)性能:性能是指系統(tǒng)的響應(yīng)能力,即響應(yīng)時(shí)間、單位時(shí)間的處理量及特定 事務(wù)的處理時(shí)間等。一般使用基準(zhǔn)測(cè)試程序?qū)π阅苓M(jìn)行測(cè)試。(2)可靠性:軟件可靠性是指“在特定環(huán)境和特定時(shí)間內(nèi),計(jì)算機(jī)程序無(wú)故障 地運(yùn)行的概率”??煽啃酝ǔS谩捌骄чg隔時(shí)間" (MTBF來(lái)衡量??煽啃钥梢苑譃閮蓚€(gè)方面:容錯(cuò)性。其目的是在錯(cuò)誤發(fā)生時(shí)確保系統(tǒng)正確的行為,并進(jìn)行內(nèi)部“修復(fù)”。健壯性。這里說(shuō)的是保護(hù)應(yīng)用程序不受錯(cuò)誤使用和錯(cuò)誤輸入的影響,在遇到意外錯(cuò)誤事件時(shí)確保應(yīng)用系統(tǒng)處于

8、已經(jīng)定義好的狀態(tài)。(15)什么是ADL?常見白主流ADL有哪些?體系結(jié)構(gòu)描述語(yǔ)言(ADL是參照傳統(tǒng)編程語(yǔ)言,并針對(duì)軟件體系結(jié)構(gòu)特點(diǎn),重 新設(shè)計(jì)、開發(fā)和使用的專門的軟件體系結(jié)構(gòu)描述語(yǔ)言。Aesop支持體系結(jié)構(gòu)風(fēng)格的應(yīng)用;MetaH為設(shè)計(jì)者提供了關(guān)于實(shí)時(shí)電子控制系統(tǒng)軟件的設(shè)計(jì)指導(dǎo) ;C2支持基于消息傳遞風(fēng)格的用戶界面系統(tǒng)的描述;Rapide支持體系結(jié)構(gòu)設(shè)計(jì)的模擬,并提供了分析模擬結(jié)果的工具;SADLg供關(guān)于體系結(jié)構(gòu)細(xì)化的形式化基礎(chǔ);Unicon支持異構(gòu)的構(gòu)件和連接類型,并提供了關(guān)于體系結(jié)構(gòu)的高層編譯器;Wright支持體系結(jié)構(gòu)之間交互的說(shuō)明和分析。(16)ADL有哪些特性?(1 )構(gòu)造能力:ADL

9、能使用較小的獨(dú)立體系結(jié)構(gòu)元素來(lái)建造大型軟件系統(tǒng)。(2)抽象能力:ADL可以在描述軟件體系結(jié)構(gòu)中的構(gòu)件和連接件時(shí)只關(guān)注它們 的抽象特性,而不管其具體的實(shí)現(xiàn)細(xì)節(jié)。(3)復(fù)用能力:ADL在設(shè)計(jì)和開發(fā)軟件系統(tǒng)時(shí)可把所用到的構(gòu)件、連接件甚至 是軟件體系結(jié)構(gòu)都當(dāng)做可復(fù)用的部件。(4)組合能力:ADL在描述每一系統(tǒng)元素時(shí)都要描述其自己的局部結(jié)構(gòu),這種 描述局部結(jié)構(gòu)的特點(diǎn)使得ADL可支持軟件系統(tǒng)的動(dòng)態(tài)變化組合。(5 )異構(gòu)能力:ADL允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在。(6)分析和推理能力:ADL允許對(duì)其描述的體系結(jié)構(gòu)進(jìn)行多種不同的性能和功 能上的多種推理分析。(17)ADL構(gòu)成元素有哪些?(1)構(gòu)件:構(gòu)件是

10、一個(gè)計(jì)算單元或數(shù)據(jù)存儲(chǔ)??梢园喾N屬性,如接口、類 型、語(yǔ)義、約束、演化和非功能屬性等。接口是構(gòu)件與外部世界的一組交互點(diǎn), ADL中的構(gòu)件接口說(shuō)明了構(gòu)件提供了哪些服務(wù)。(2)連接件:用來(lái)建立構(gòu)件之間的交互以及支配這些交互規(guī)則的體系結(jié)構(gòu)構(gòu)造 模塊。連接件可以是共享變量、表入口、緩沖區(qū)、對(duì)連接器的指令、動(dòng)態(tài)數(shù)據(jù)結(jié) 構(gòu)等。連接件也有接口。連接件的接口由一組角色組成, 連接件的每一種角色定 義了該連接件表示的交互的參與者,二元連接有兩個(gè)角色,如消息傳遞連接件的 角色是發(fā)送者和接收者。(3)體系結(jié)構(gòu)配置:體系結(jié)構(gòu)配置描述體系結(jié)構(gòu)的構(gòu)件與連接件的連接圖。 體 系結(jié)構(gòu)配置提供信息來(lái)確定構(gòu)件是否正確連接、

11、接口是否匹配、連接件構(gòu)成的通 信是否正確,并說(shuō)明實(shí)現(xiàn)要求行為的組合語(yǔ)義。(18)設(shè)計(jì)模式的基本要素有哪些?1)模式名 用于描述模式的名字,說(shuō)明模式的問題、解決方案和效果。2 )問題解決說(shuō)明在何種場(chǎng)合使用模式。要描述使用模式的先決條件和特定設(shè) 計(jì)問題3)解決方案描述設(shè)計(jì)的成分、它們之間的相互關(guān)系、各自的職責(zé)和合作方式。4)效果 描述模式使用的效果,包括對(duì)時(shí)間和空間的衡量,以及對(duì)系統(tǒng)靈活性、 可擴(kuò)充性、可移植性的影響。(19)設(shè)計(jì)模式的類型1)創(chuàng)建型模式:與對(duì)象的創(chuàng)建有關(guān);2)結(jié)構(gòu)型模式:處理類和對(duì)象的組合,將一組對(duì)象組合成一個(gè)大的結(jié)構(gòu),例如 復(fù)雜的用戶界面;3)行為型模式:描述類或?qū)ο蟮慕换ズ吐?/p>

12、責(zé)分配,定義對(duì)象 間的通信和復(fù)雜程序中的流控。(20)什么是軟件構(gòu)件?軟件構(gòu)件是一種組裝單元,它具有規(guī)范的接口規(guī)格說(shuō)明和顯式的語(yǔ)境依賴。軟件構(gòu)件可以被獨(dú)立部署,并由第三方任意地組裝。(21)軟件構(gòu)件分為哪些類型?(1)純計(jì)算構(gòu)件:具有簡(jiǎn)單輸入輸出關(guān)系,沒有運(yùn)行狀態(tài)變化如數(shù)值計(jì)算、 過(guò) 濾器、轉(zhuǎn)換器等。(2)存儲(chǔ)構(gòu)件:存放共享的、永久性的、結(jié)構(gòu)化的數(shù)據(jù)。如 數(shù)據(jù)庫(kù)、文件、符號(hào)表、超文本等。(3)管理構(gòu)件:執(zhí)行操作與運(yùn)行狀態(tài)緊密 相關(guān)。如抽象數(shù)據(jù)類型、面向?qū)ο笙到y(tǒng)中的對(duì)象、服務(wù)器等。(4)控制構(gòu)件: 管 理其它構(gòu)件運(yùn)行的時(shí)間、時(shí)機(jī)及次序。例如,調(diào)度器、同步器等。(5)鏈接構(gòu)件: 在實(shí)體之間傳遞信息

13、。例如,通信機(jī)制、用戶界面等。22什么叫數(shù)據(jù)黑板?組成結(jié)構(gòu)是什么?黑板模式是一種常用的架構(gòu)模式, 應(yīng)用中的多種不同數(shù)據(jù)處理邏輯相互影響 和協(xié)同來(lái)完成數(shù)據(jù)分析處理。就好像多位不同專家在同一黑板上交流思想,每個(gè) 專家都可以獲得別的專家寫在黑板上的信息, 同時(shí)也可以用自己的分析去更新黑 板上的信息,從而影響其他專家。知識(shí)源、黑板數(shù)據(jù)結(jié)構(gòu)、控制23參考模型,給出OSI參考模型的體系結(jié)構(gòu)標(biāo)準(zhǔn)參考模型也就是設(shè)計(jì)模型一般的軟件體系結(jié)構(gòu)模型反映的是已有系統(tǒng)的體系結(jié)構(gòu),而參考模型反映了一大類系統(tǒng)的體系結(jié)構(gòu)。參考模型源于對(duì)應(yīng)用領(lǐng)域的研究,它描述了一個(gè)理想化的包含了系統(tǒng)應(yīng)具有 的所有特征的軟件體系結(jié)構(gòu)。典型的例子是

14、OSI參考模型。OSI參考模型是一個(gè)七層模型24分布式系統(tǒng)是什么?分布式系統(tǒng)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng),所以分布式系統(tǒng)具有高度的內(nèi)聚性和 透明性所有大型計(jì)算機(jī)系統(tǒng)現(xiàn)在都是分布式系統(tǒng)。分布式系統(tǒng)的信息處理分布在多個(gè)計(jì)算機(jī)上,而不是只限于單個(gè)計(jì)算機(jī)上。在分布式系統(tǒng)中,系統(tǒng)軟件運(yùn)行于用網(wǎng)絡(luò) 相連的一組松散地集成在一起的處理器上25分布式系統(tǒng)主要特征有那些?資源共享、開放性、并發(fā)性、可伸縮性、容錯(cuò)性、透明性、26什么是抽象工廠模式?結(jié)構(gòu)如何?提供創(chuàng)建一系列或相互依賴對(duì)象的接口,無(wú)需制定他們具體的類。結(jié)構(gòu):抽象產(chǎn)品;具體產(chǎn)品;抽象工廠;具體工廠27什么是組合模式?結(jié)構(gòu)如何?將對(duì)象組合成樹型結(jié)構(gòu)以表示“部

15、分-整體”的層次結(jié)構(gòu),Compos讓e使得用 戶對(duì)單個(gè)對(duì)象和組合對(duì)象的使用具有一致性。結(jié)構(gòu):抽象組件;Compos讓e節(jié)點(diǎn);leaf節(jié)點(diǎn)28什么是中介模式?有點(diǎn)是什么?用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互,中介者使各對(duì)象不需要顯示的相互引用,從而使耦合松散,而且可以獨(dú)立改變它們之間的交互。優(yōu)點(diǎn):1可以避免許多對(duì)象為了之間的通信而相互顯示引用,不僅系統(tǒng)難以 維護(hù),而且也使其他系統(tǒng)難以復(fù)用這些對(duì)象;2可以通過(guò)中介者將原本分布于多 個(gè)對(duì)象之間的交互行為集中在一起;3具體中介者使得各個(gè)具體同事完全解耦, 修改任何一個(gè)具體同事的代碼不會(huì)影響到其他同事;4具體中介者集中了同事之問是如何交互的細(xì)節(jié),使得系統(tǒng)

16、比較清楚地知道整個(gè)系統(tǒng)中的同事是如何交互 的;當(dāng)一些對(duì)象想相互通信,但又無(wú)法互相包含對(duì)方的引用,那么使用中介者模 式就可以使得這些對(duì)象互相通信。29什么是行為型模式?列出6種屬于行為型模式的設(shè)計(jì)模式?行為模式涉及算法和對(duì)象之間職責(zé)的分配。行為模式不僅描述對(duì)象或類的模式,還描述它們之間的通信。行為模式刻劃了在運(yùn)行時(shí)難以跟蹤的復(fù)雜的控制流,但這類模式把人們的注意力從控制流轉(zhuǎn)移到對(duì)象間的相互聯(lián)系。類行為模式使用繼承機(jī)制在類間分派行為。對(duì)象行為模式使用對(duì)象復(fù)合而不是繼承,描述對(duì)象如何協(xié)同完成預(yù)定任務(wù)。 職責(zé)鏈、命令、遍歷器、中介者、備忘錄、觀察者、狀態(tài)、策略、訪問者30什么是結(jié)構(gòu)型模式?列出6種屬于結(jié)構(gòu)型模式的設(shè)計(jì)模式?結(jié)構(gòu)型模式主要用于描述如何組合類和對(duì)象以獲得更大的結(jié)構(gòu)。適配器模式、橋接模式、組合模式、裝飾模式、外觀模式、享元模式、代理模式、31遠(yuǎn)程代理模式實(shí)現(xiàn)的過(guò)程細(xì)節(jié)?客戶端發(fā)送請(qǐng)求,服務(wù)器接收請(qǐng)求擴(kuò)展Remote接口、遠(yuǎn)程對(duì)象、存根與代理、啟動(dòng)注冊(cè)、啟動(dòng)遠(yuǎn)程對(duì)象服務(wù)、 運(yùn)行客戶端程序讀書的好處1、行萬(wàn)里路,讀萬(wàn)卷書。2、書山有路勤為徑,學(xué)海無(wú)涯苦作舟。3、讀書破萬(wàn)卷,下筆如有神。4、我所學(xué)到的任何有價(jià)值的知識(shí)都是由自學(xué)中得來(lái)的。一一達(dá)爾文5、少壯不努力,老大徒悲傷。6、黑發(fā)不知勤學(xué)早,白首方悔讀書遲。一一顏真卿7、寶劍鋒從磨礪出,梅花香自苦寒來(lái)。8、讀書要三到:心到、眼到、

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論