版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第9章 面向?qū)ο蠓椒▽W一、填空題(10小題)1、對象具有狀態(tài),描述對象的狀態(tài)用它的( )。答案:屬性值2、類具有屬性,描述類的屬性用( )。答案:數(shù)據(jù)結(jié)構(gòu)3、子類自動共享父類的屬性和操作的機制稱為( )。答案:繼承4、封裝性是指所有軟件部件內(nèi)部都有明確的( )以及清楚的( )。每個軟件部件都有友好的( ),軟件部件的( )與( )分離。答案:范圍、外部邊界、界面接口、內(nèi)部實現(xiàn)、外部可訪問性5、結(jié)構(gòu)化方法的本質(zhì)是( ),其( )、可修改性和可重用性都比較差。答案:功能分解、穩(wěn)定性6、動態(tài)模型描述了系統(tǒng)的( )。答案:動態(tài)行為7、類具有屬性,它是對象的( )的抽象,用( )來描述類的屬性。答案:狀
2、態(tài)、數(shù)據(jù)結(jié)構(gòu)8、動態(tài)模型描述了系統(tǒng)的( )結(jié)構(gòu)。答案:控制9、對象具有狀態(tài),對象用( )來描述它的狀態(tài)。答案:數(shù)據(jù)值10、在C+和C中有一個( )函數(shù),可以使用這個過程來說明構(gòu)成系統(tǒng)主要對象的那些類的實例。答案:main()二、單項選擇題(20小題)1、在確定類時,所有( )是候選的類。A、名詞B、形容詞C、動詞D、代詞答案:A2、面向?qū)ο筌浖夹g(shù)的許多強有力的功能和突出的優(yōu)點,都來源于把類組織成一個層次結(jié)構(gòu)的系統(tǒng),一個類的上層可以有父類,下層可以有子類,這種層次結(jié)構(gòu)系統(tǒng)的一個重要性質(zhì)是( ),一個類獲得其父類的全部描述(數(shù)據(jù)和操作)。A、傳遞性B、繼承性C、復用性D、并行性答案:B3、對象是
3、面向?qū)ο箝_發(fā)方法的基本成分,每個對象可用它本身的一組( )和它可以執(zhí)行的一組操作來定義。A、服務B、參數(shù)C、屬性D、調(diào)用答案:C4、面向?qū)ο箝_發(fā)方法子概念和表示上的一致性保證了分析和設計的( )過渡。A、困難B、不容易C、平滑D、順序答案:C5、以下說法正確的是( )。A、組裝結(jié)構(gòu)可用來描述現(xiàn)實世界中的一般的抽象關系B、分類結(jié)構(gòu)可用來描述現(xiàn)實世界中的類的組成的抽象關系C、面向?qū)ο蟮睦^承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機制D、面向?qū)ο蟮奈ㄒ恍允侵笇⒕哂幸恢滦缘臄?shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類答案:C6、與事件聯(lián)系在一起的瞬時操作是( )。A、處理B、動作C、活動D、加工答案:B7
4、、以下說法正確的是( )。A、角色說明類在關聯(lián)中的作用,它位于關聯(lián)的端點B、不同類的關聯(lián)角色不能省略C、同類的關聯(lián)角色可有可無D、在一個類層次結(jié)構(gòu)中,若有多重繼承,則該類層次結(jié)構(gòu)是樹狀層次結(jié)構(gòu)E、在一個類層次結(jié)構(gòu)中,若有單重繼承,則該類層次結(jié)構(gòu)是網(wǎng)狀層次結(jié)構(gòu)答案:A8、以下說法錯誤的是( )。A、數(shù)據(jù)流圖中的處理用來改變數(shù)據(jù)值B、在一個計算中,用數(shù)據(jù)流來表示一中間數(shù)據(jù)值,數(shù)據(jù)流不能改變數(shù)據(jù)值C、動作對象是一種主動對象,它通過生成或者使用數(shù)據(jù)值來驅(qū)動數(shù)據(jù)流圖D、數(shù)據(jù)流圖中的數(shù)據(jù)存儲是被動對象,它用來存儲數(shù)據(jù)E、存儲和動作對象可以用文件或外部設備來實現(xiàn)答案:E9、Rumbangh等人提出的對象模型
5、技術(shù)OMT把分析時收集的信息構(gòu)造在三類模型中,即對象模型、動態(tài)模型和( )。A、信息模型B、控制模型C、功能模型D、行為模型答案:C10、( )模型表示了對象的相互行為。A、對象B、動態(tài)C、功能D、分析答案:B11、在開發(fā)廢棄型類時,在軟件生存期中最花費時間的部分應當是軟件的( )。A、實現(xiàn)B、測試C、設計D、求精和維護答案:D12、通過執(zhí)行對象的操作改變該對象的屬性,但它必須通過( )的傳遞。A、接口B、消息C、信息D、操作答案:B13、在考察系統(tǒng)的一些涉及時序和改變的狀況時,要用動態(tài)模型來表示。動態(tài)模型著重于系統(tǒng)的控制邏輯,它包括兩個圖:一個是事件追蹤圖,另一個是( )。A、數(shù)據(jù)流圖B、狀
6、態(tài)圖C、系統(tǒng)結(jié)構(gòu)圖D、時序圖答案:B14、在確定屬性時,所有( )是候選的屬性。A、動詞B、名詞C、修飾性名次詞組D、詞組答案:C15、一個面向?qū)ο笙到y(tǒng)的體系結(jié)構(gòu)通過它的成分對象和對象間的關系確定,與傳統(tǒng)的面向數(shù)據(jù)流的結(jié)構(gòu)化開發(fā)方法相比,它具有( )優(yōu)點。A、設計穩(wěn)定B、變換分析C、事務分析D、模塊獨立性答案:A16、以下說法錯誤的是( )。A、多態(tài)性防止了程序相互依賴性而帶來的變動影響B(tài)、多態(tài)性是指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同結(jié)果C、多態(tài)性與繼承性相結(jié)合使軟件具有更廣泛的重用性和可擴充性D、封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎答案:A17、以下說法正確的是(
7、 )。A、對象模型指出發(fā)生了什么B、動態(tài)模型確定什么時候發(fā)生C、功能模型確定發(fā)生的客體D、功能模型描述了系統(tǒng)的所有計算,它考慮所計算的次序答案:B18、面向?qū)ο蟮闹饕卣鞒龑ο笪ㄒ恍?、封裝、繼承外,還有( )。A、多態(tài)性B、完整性C、可移植性D、兼容性答案:A19、動態(tài)模型的描述工具是( )。A、對象圖B、結(jié)構(gòu)圖C、狀態(tài)圖D、設計圖答案:C20、軟件部分的內(nèi)部實現(xiàn)與外部可訪問性分離,這是指軟件的( )。A、繼承性B、共享性C、封裝性D、抽象性答案:C三、簡答題(5小題)1、傳統(tǒng)開發(fā)方法存在的問題是什么?答案:傳統(tǒng)開發(fā)方法存在的問題是:(1)軟件重用性差。傳統(tǒng)的開發(fā)方法,例如結(jié)構(gòu)化方法等,雖然給
8、軟件產(chǎn)業(yè)帶來了巨大進步,但是并沒有解決軟件重用的問題。同類型的項目,只要需求有一些變化,都要從頭開始,原來的系統(tǒng)很難重用。(2)軟件可維護性差。用傳統(tǒng)方法開發(fā)出來的軟件,維護時其費用和成本仍然很高,其原因是可修改性差,維護困難,導致可維護性差。(3)開發(fā)出的軟件不能滿足用戶需要。用傳統(tǒng)的結(jié)構(gòu)化方法開發(fā)大型軟件系統(tǒng)涉及各種不同領域知識,在開發(fā)需求模糊或需求動態(tài)變化的系統(tǒng)時,所開發(fā)出的軟件系統(tǒng)往往不能真正滿足用戶的需要。其原因是開發(fā)人員不能完全獲得或不能徹底理解用戶的需求,以致開發(fā)出的軟件系統(tǒng)與用戶預期的系統(tǒng)不一致,不能滿足用戶的需要。另一種原因是所開發(fā)的軟件系統(tǒng)不能適應用戶經(jīng)常變化的情況,系統(tǒng)的
9、穩(wěn)定性差和可擴充性不能滿足用戶的需求。2、試述面向?qū)ο蠓椒ㄓ心男┨卣?。答案:面向?qū)ο蟮奶卣鳛椋海╨)對象唯一性。每個對象都有自身的唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。在對象建立時,有系統(tǒng)授予新對象以唯一的對象標識符,它在歷史版本管理中又起巨大作用。(2)分類性。分類性是指具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類。每個類是具有相同性質(zhì)的個體對象的集合,而每個對象是相關類的實例。(3)繼承性。繼承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機制,這是類之間的一種關系。在定義和實現(xiàn)一個類的時候,可以在一個已經(jīng)存在的類的
10、基礎上來進行,把這個已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。繼承性是面向?qū)ο蟪绦蛟O計語言不同于其他語言的最主要的特點,是其他語言所沒有的。在類層次中,子類只繼承一個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為“單重繼承”。在類層次中,子類繼承了多個父類的數(shù)據(jù)結(jié)構(gòu)和方法,則稱為“多重繼承”。(4)多態(tài)性(多形性)。多態(tài)性是指允許不同類的對象對同一消息作出響應。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為“動態(tài)性”。如MOVE操作,可以是窗口對象的移動操作,也可以是國際象棋子移動的操作。多態(tài)性允許每個對象以適合自身的方式去響應共同的消息。這樣就增強了操作的透明性、可理解性和可維護性
11、。用戶不必為相同的功能操作但作用于不同類型的對象而費心去識別。3、為什么說用結(jié)構(gòu)化方法開發(fā)的軟件,其穩(wěn)定性、可修改性和可重用性都比較差?答案:這是因為結(jié)構(gòu)化方法的本質(zhì)是功能分解,從代表目標系統(tǒng)狀態(tài)功能的單個處理著手,自頂向下不斷把復雜的處理分解為子處理,這樣一層一層地分解下去,直到僅剩下若干個容易實現(xiàn)的子處理為止,然后用相應的工具來描述各個最底層的處理。因此,結(jié)構(gòu)化方法是圍繞實現(xiàn)處理功能的“過程”來構(gòu)造系統(tǒng)的。然而,用戶需求的變化大部分是針對功能的。用這種方法設計出來的系統(tǒng)結(jié)構(gòu)常常是不穩(wěn)定的,用戶需求的變化往往造成系統(tǒng)結(jié)構(gòu)的較大變化,從而需要花費很大代價才能實現(xiàn)這種變化。4、簡述對象、類、類結(jié)
12、構(gòu)、消息、方法的基本概念。答案:它們的基本概念如下。(1)對象。對象是人們要進行研究的任何事物,從最簡單的整數(shù)到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。主要有如下的對象類型:有形實體、作用、事件、性能說明。對象具有狀態(tài)。一個對象用數(shù)據(jù)來描述它的狀態(tài),對象還有操作,用于改變對象的狀態(tài),對象及其操作就是對象的行為。對象實現(xiàn)了數(shù)據(jù)和操作的結(jié)合,使數(shù)據(jù)和操作封裝于對象的統(tǒng)一體中。對象內(nèi)的數(shù)據(jù)具有自己的操作。從而可靈活地專門描述對象的獨特行為,具有較強的獨立性和自治性,其內(nèi)部狀態(tài)不受或很少受外界的影響,具有很好的模塊化特點。為軟件重用奠定了堅實的基礎。(2)類。
13、類是具有相同屬性和服務的一組對象的集合。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。(3)類結(jié)構(gòu)。在客觀世界中有若干類,這些類之間有一定的結(jié)構(gòu)關系。通常有兩種主要的結(jié)構(gòu)關系,即一般一具體結(jié)構(gòu)關系,整體一部分結(jié)構(gòu)關系。一般一具體結(jié)構(gòu)關系稱為“分類關系”,也可以說是“或”關系,或者是“isa”關系。類的這種層次結(jié)構(gòu)可用來描述現(xiàn)實世界中的一般化的關系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細化。整體一部分結(jié)構(gòu)稱為“組裝結(jié)構(gòu)”,它們之間的關系是一種“與”關系,或者是“hasa”關系。類的這種層次關系可用來描述現(xiàn)實世界中的類的組成的抽象關系。上層的類具有整體性,
14、下層的類具有成員性。在類的層次結(jié)構(gòu)中,通常上層類稱為“父類”或“超類”,下層類稱為“子類”。(4)消息。對象之間進行通信的構(gòu)造叫做消息。在對象的操作中,當一個消息發(fā)送到某個對象時,消息包含接收對象去執(zhí)行某種操作的信息。接收信息的對象經(jīng)過解釋,然后給予響應。這種通信機制稱為“信息傳遞”。發(fā)送一條信息至少要包含說明接收消息的對象名、發(fā)送給該對象的消息名(即對象名,方法名),一般還要對參數(shù)加以說明,參數(shù)可以是認識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。(5)方法。類中操作的實現(xiàn)過程叫做“方法”,一個方法有方法名、參數(shù)、方法體。當一個對象接收一條消息后,它所包含的方法決定對象怎樣
15、動作。方法也可以發(fā)送消息給其他對象,請求執(zhí)行某一動作或提供信息。由于對象的內(nèi)部對用戶是密封的,所以消息只是對象同外部世界連接的管道。對象內(nèi)部的數(shù)據(jù)只能被自己的方法所操縱。5、試述面向?qū)ο蠓椒ǖ拈_發(fā)過程是怎樣的?答案:面向?qū)ο箝_發(fā)方法包括以下幾個過程:(1)面向?qū)ο蟮姆治?。面向?qū)ο蠓治龅哪康氖菍陀^世界的系統(tǒng)建立對象模型、動態(tài)模型、功能模型。在建立模型之前,設計者必須了解需求以及問題所處的環(huán)境,必須調(diào)查所有需求,分析所有需求的實質(zhì)含義。在理解系統(tǒng)需求的基礎上,按照上述建立模型的過程進行建模工作。建立模型的工作不是一次就可建好的,復雜問題的模型需要反復構(gòu)造,先構(gòu)造模型的子集,然后擴展到整個模型。(
16、2)面向?qū)ο蟮脑O計。面向?qū)ο蟮脑O計是把分析階段得到的分析模型,經(jīng)過逐步擴充和完善,轉(zhuǎn)變?yōu)樵O計模型。將分析模型的問題域的概念轉(zhuǎn)變?yōu)樵O計模型的實現(xiàn)概念上來。面向?qū)ο蟮脑O計也可以細分為系統(tǒng)設計和對象設計。系統(tǒng)設計確定實現(xiàn)系統(tǒng)的策略和目標系統(tǒng)的高層結(jié)構(gòu),如人機界面的設計。數(shù)據(jù)管理的設計、軟件控制的實現(xiàn)、系統(tǒng)的體系結(jié)構(gòu)等。對象設計確定實現(xiàn)用到的類、關聯(lián)的完整定義、接口形式及實現(xiàn)操作方法的算法,可以增加實現(xiàn)所必須的內(nèi)部對象,對數(shù)據(jù)結(jié)構(gòu)和算法進行優(yōu)化。面向?qū)ο蟮脑O計所遵循的基本原理和啟發(fā)規(guī)則與結(jié)構(gòu)化設計方法類似,但是增加了一些面向?qū)ο蟮男绿攸c。盡管面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O計是兩個階段,但是在實際的軟件開發(fā)中二者的界限是很模糊的,許多分析結(jié)果可以映射為設計結(jié)果,而在設計過程中又往往會加深和補充對系統(tǒng)需求的理解,從而進一步完善分析結(jié)果。因此,分析和設計是一個多次反復迭代的過程。(3)面向?qū)ο蟮膶崿F(xiàn)。面向?qū)ο蟮膶崿F(xiàn)包含兩方面的工作,把面向?qū)?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生鮮培訓課件教學課件
- 2024年廣告銷售代理合同
- 2024年度企業(yè)級云計算服務平臺合作合同
- 2024國際快遞運輸服務合同詳細條款
- 大班課件春節(jié)教學課件
- 真菌課件圖文教學課件
- 2024年度企業(yè)科技創(chuàng)新與研發(fā)外包合同協(xié)議書
- 2024年建筑工程施工合同與工程監(jiān)理協(xié)議
- 2024物業(yè)合同糾紛案件
- 2024中船工貿(mào)公司船舶建造合同版本
- 雅魯藏布江大拐彎巨型水電站規(guī)劃方案
- 廣西基本醫(yī)療保險門診特殊慢性病申報表
- 城市經(jīng)濟學習題與答案
- 國開成本會計第14章綜合練習試題及答案
- 幼兒園大班科學:《樹葉為什么會變黃》課件
- 1到50帶圈數(shù)字直接復制
- 鐵路工程施工組織設計(施工方案)編制分類
- 幼兒園中班數(shù)學《有趣的圖形》課件
- 《規(guī)劃每一天》教案2021
- 草莓創(chuàng)意主題實用框架模板ppt
- 山大口腔頜面外科學課件第5章 口腔種植外科-1概論、口腔種植的生物學基礎
評論
0/150
提交評論