面向對象分析與設計試題及其答案_第1頁
面向對象分析與設計試題及其答案_第2頁
面向對象分析與設計試題及其答案_第3頁
面向對象分析與設計試題及其答案_第4頁
面向對象分析與設計試題及其答案_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、面向對象分析與設計試題 B 卷一、單項選擇題 ( 在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號 填在題干的括號內。每小題 2 分,共 20 分 )1. 到 20 世紀末,面向對象軟件工程已經(jīng)逐漸發(fā)展成熟,特別是()的形成和廣泛使用,采用面向對象分析與編程的軟件開發(fā)方法已成為軟件開發(fā)的主流方法。A. Simula67 語言 B. Smalltalk 語言C. Java 語言 D. 統(tǒng)一建模語言 (UML) 的標準2. 面向對象的運動產(chǎn)生了多種面向對象的語言 , 其中 ( )是一種混合性面向對象語言 , 既 支持面向過程的程序設計方法, 又支持面向對象的程序設計方法, 有廣泛應用

2、的基礎和豐富 開發(fā)環(huán)境的支持,因而使面向對象的程序設計能得到很快普及。A. SmalltalkB. EiffelC. C+D. Java3下列不屬于面向對象技術的基本特征的是( )。A. 封裝性 B. 模塊性 C. 多態(tài)性 D. 繼承性4. 面向對象程序設計將描述事物的數(shù)據(jù)與 ( ) 封裝在一起 ,作為一個相互依存、不可分割 的整體來處理。A. 信息 B. 數(shù)據(jù)隱藏 C. 對數(shù)據(jù)的操作 D. 數(shù)據(jù)抽象5. 關于面向對象方法的優(yōu)點,下列不正確的敘述是 ( )。A. 與人類習慣的思維方法比較一致B. 可重用性好C.以數(shù)據(jù)操作為中心D.可維護性好6. ( )是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表

3、達方法。A. 類圖 B. 對象圖7. ( ) 是表達系統(tǒng)類及其相互聯(lián)系的圖示 和其他圖的基礎。A.對象圖B.組件圖C. 序列圖D. 用例圖,它是面向對象設計的核心,建立狀態(tài)圖、協(xié)作圖C. 類圖D. 配置圖8. ( )描述了一組交互對象間的動態(tài)協(xié)作關系,它表示完成某項行為的對象和這些對象之 間傳遞消息的時間順序。A .對象圖B.協(xié)作圖C.狀態(tài)圖D.序列圖9. ( )就是用于表示構成分布式系統(tǒng)的節(jié)點集和節(jié)點之間的聯(lián)系的圖示,它可以表示系統(tǒng)中軟件和硬件的物理架構。A. 組件圖B. 協(xié)作圖C. 狀態(tài)圖D. 配置圖10. 使用 UML 進行關系數(shù)據(jù)庫的( )時,需要設計出表達持久數(shù)據(jù)的實體類及其聯(lián)系,

4、并把它們映射成為關系數(shù)據(jù)庫表( Table) 、視圖 (View) 等。A. 業(yè)務 Use Case 模型設計B. 邏輯數(shù)據(jù)模型設計C. 物理數(shù)據(jù)模型設計C. 物理實現(xiàn)設計、填空題 ( 每空 1 分,共 20 分 )1. 面向對象開發(fā)方法一改過去傳統(tǒng)的以 _ 功能分析 _ 為基礎的 _面向過程 _ 的結 構化分析與設計方法, 它模擬人們理解和處理客觀世界的方式來分析問題, 把系統(tǒng)視為一系列 _ 對象 _的集合,其_ 面向對象的設計 _ 又將分析的結果映射到某種面向對象實 現(xiàn)工具的結構上, 使映射過程有著比較直接的對應關系, 使分析者、 設計者和編程者都 可使用相同的 _概念 _ ,從而使面向對

5、象的軟件開發(fā)能比較自然地模擬客觀世界的活動, 使問題描述空間與 _解空間 _ 在結構上盡可能一致。因此,采用面向對象方法可以更有 效地開發(fā)大型軟件系統(tǒng)。 面向對象方法的 _封裝_、_繼承 _、_多態(tài)_等機制不僅支持軟 件復用,而且使軟件維護工作可靠有效,可實現(xiàn)軟件系統(tǒng)的柔性制造,更好地克服_ 軟件危機 _ 。因此,它已成為成熟的廣為采用的軟件開發(fā)方法。2. 對象是客觀實體的抽象表示,是由 _描述對象屬性的數(shù)據(jù) _ 和_對這些數(shù)據(jù)進行的操作 行為 _兩部分組成。而 _類_是對具有相同屬性和行為的一組對象的抽象描述。因此, 它可作為一種用戶自定義類型和創(chuàng)建對象的樣板, 而按照這種樣板所創(chuàng)建的一個個

6、具體 對象就是類的 _實例_。通過 _繼承 _關系又可形成一種類層次結構。3. UML 中用于描述系統(tǒng)的靜態(tài)建模的視圖稱為靜態(tài)視圖,包括_用例圖 _、_類圖_、_對象圖 _ 、_包圖 _和_構件圖 _。三、寫出下列程序的輸出結果。 ( 滿分 10 分 )#include #include class Personpublic:Person(char *s)name=new charstrlen(s)+1;strcpy(name, s);virtual void print() cout ”My name is ”nameendl; protected:char *name;class Stud

7、ent:public Person public:Student(char *s, float g):Person(s) avg=g; void print(char *s) couts ”My name is “name ”and my grade is ”avgendl; private:float avg;class professor:public Person public:Professor(char *s, int n):Person(s) publs=n; void print() cout ”My name is ”name ”and I have ”publs ”publi

8、cation. ”print();p=&y; p-print();p=&z; p-print(); 【運行結果:My name is ZhangMy name is WangMy name is Liu and I have 5 publications.四. 簡答題(每小題 5 分,共 20 分)1. 簡述面向對象軟件開發(fā)方法的優(yōu)點。2. 簡述面向對象技術的三大機制。答:( 1)封裝性 (encapsulation) 所謂封裝就是把對象的屬性和行為結合成一個獨立的單位, 使外界不能直接訪問或修改 這些數(shù)據(jù)和代碼,外界只能通過對象提供的接口函數(shù)來改變或獲取對象的屬性數(shù)據(jù),這 就實現(xiàn)了消息隱蔽。

9、(2) 繼承性 如果在一個已定義的類上,增加一些特殊屬性或操作,可以形成一個新的類,這個類不 僅繼承了前一個類的全部特征, 而且具有新的特性, 因此可看作前一個類的特例, 是對前 一個類的繼承。 前一個類稱為父類, 新產(chǎn)生的類叫做子類。 通過繼承關系可形成一種類層 次結構,叫做繼承結構。( 3)多態(tài)性 在類層次結構的不同類中,可用相同的函數(shù)名實現(xiàn)功能不同的函數(shù)。3. 簡述 OOA 模型的層次結構。答:00A模型采用五層次結構,它們分別是:對象 - 類層 劃分待開發(fā)系統(tǒng)及其環(huán)境信息的基本構造單位, 標出反映問題域的對象和類, 并用符號 進行規(guī)范的描述,用信息提供者熟悉的術語為對象和類命名。(2)

10、屬性層定義對象和某些結構中的數(shù)據(jù)單元,繼承結構中所有類的公共屬性可放于通用類中。 標識對象類必需的屬性并放在合適的繼承層次上,屬性的特殊限制和實例連接關系也應標識出來。(3)服務層表示對象的服務或行為,即是要定義類上的操作。(4)結構層標識現(xiàn)實世界中對象之間的關系。當一個對象是另一個對象的一部分時,用整體-部分關系表示;當一個類屬于另一個類時,用類之間繼承關系表示。(5)主題層可將相關類或對象劃分為一個主題。4. 簡述00D模型的總體結構,并畫圖表示?!?】答案:00D體系結構的各個部分內容:(1)問題論域部分,在00A模型的基礎上,細化分析結果,設計一組構成底層應用模型的類和對 象。(2)人

11、機交互部分:設計用戶界面模型 ,該用戶界面模型中的類和對象提供實現(xiàn)人機交互操作的接口函數(shù)。用戶界面設計包括菜單設計、窗口設計、輸入 /輸出界面設計等等。(3)任務管理部分:建立一些類,用以負責處理操作系統(tǒng)級的并發(fā)問題、中斷、調度以及 其它與特定平臺有關的問題。(4)數(shù)據(jù)管理部分:提供數(shù)據(jù)管理系統(tǒng)中存儲和檢索對象的基本結構,包括對永久性數(shù)據(jù)的訪問和管理。數(shù)據(jù)管理設計包括:數(shù)據(jù)存放設計:數(shù)據(jù)存放設計選擇數(shù)據(jù)存放的方式(文件存放、關系數(shù)據(jù)庫表格存放或面向對象的數(shù)據(jù)庫存放)。設計相應的操作。為每個需要存儲的對象和類增加用于存儲管理的屬性和操作,類和對象的定義中加以描述。class & object l

12、ayer(類及對象層attribute layer(類及對象層service layer(服務層 )struct layer(結構層 )subject layer(主題層 )問 題 論 域 部 分人 機 交 互 部 分任 務 管 理 部 分數(shù) 據(jù) 管 理 部 分)實例連接類邊界實例邊界服務口 口口主題屬性消息五試用UML對教學管理系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。學生選課系統(tǒng)一般包 括(1)選課管理功能;(2)成績管理功能。試完成下列工作:(1 )建立系統(tǒng)靜態(tài)結構模型 一畫出系統(tǒng)用例圖和類圖;(10分)(2)建立系統(tǒng)動態(tài)結構模型 一畫出系統(tǒng)序列圖和協(xié)作圖;(10分)(3) 建立關系數(shù)據(jù)庫邏

13、輯模型。(10分)【答案:管理老師信息O老師學生查詢學生成績查詢課程成績管理員管理學生信息亠管理課程信息4管理開設課程(a)選課管理的用例圖(b)成績管理的用例圖對象類圖如下:(a)選課對象類圖開設課程課程名 授課日期 授課時間 地點指定老師() 學生滿否()學生成績登記學生名 學期 課程名 成績 加入成績() 打?。ǎ╞)成績管理對象類圖成績統(tǒng)計學期課程名成績按課程統(tǒng)計()按學生統(tǒng)計 o打?。ǎ?)把需要持久存儲的數(shù)據(jù)實體類及其聯(lián)系,映射成為如下關系數(shù)據(jù)庫表:學生(學生號、姓名、出生日期、性別、籍貫、地址、電話、入學時間、專業(yè)、班級備注) 教師(教師號、姓名、出生日期、性別、籍貫、地址、

14、電話、職稱、專長、備注)課程(課程號、課程名、描述、學分、學時、性質、備注)開設課程(課程號、學期、授課日期、授課時間、地點、選修人數(shù)、備注)】面向對象分析與設計試題C卷一、單項選擇題 (在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號 填在題干的括號內。每小題1分,共20分)1. 面向對象技術的最重要的基本特征是()。A.抽象性 B.封裝性C.多態(tài)性D.繼承性2. 面向對象程序設計將描述事物的數(shù)據(jù)與 ()封裝在一起,作為一個相互依存、不可分割 的整體來處理。A信息B.數(shù)據(jù)隱藏C.對數(shù)據(jù)的操作 D.數(shù)據(jù)抽象3. 關于面向對象方法的優(yōu)點,下列不正確的敘述是()。A.與人類習慣的思維

15、方法比較一致B.可重用性好C.以數(shù)據(jù)操作為中心D.可維護性好14在用例之間,會有三種不同的關系,下列哪個不是它們之間可能的關系(D)A. 包含( include ) B.擴展( extend )C. 泛化( generalization )D.關聯(lián)( connect )15下列關于活動圖的說法錯誤的是()A. 一張活動圖從本質上說是一個流程圖,顯示從活動到活動的控制流B. 活動圖用于對業(yè)務過程中順序和并發(fā)的工作流程進行建模。C. 活動圖的基本要素包括狀態(tài)、轉移、分支、分叉和匯合、泳道、對象流。D. 活動圖是UML中用于對系統(tǒng)的靜態(tài)方面建模的五種圖中的一種4. C+ 對 C 語言作了很多改進,即

16、從面向過程變成為面向對象的主要原因是 A. 增加了一些新的運算符 B. 允許函數(shù)重載, 明符必須用原型 D. 引進了類和對象的概念并允許設置缺省參數(shù)C.( ) 。 規(guī)定函數(shù)說5.下列不屬于類的成員函數(shù)的是( ) 。A. 構造函數(shù) B. 析構函數(shù)C.友元函數(shù)D. 拷貝構造函數(shù)6.繼承機制的作用是 ( )。A. 信息隱藏 B. 數(shù)據(jù)封裝C.派生新類D. 數(shù)據(jù)抽象7.類模板經(jīng)過實例化而生成具體( )A. 對象B. 模板函數(shù)C. 函數(shù)模板D. 類8.9.類的析構函數(shù)是在 ( ) 調用的。A. 類創(chuàng)建時C. 刪除對象時在公有繼承的情況下,基類成員在派生類中的訪問權限A. 受限制B. 創(chuàng)建對象時 D. 不

17、自動調用10. C+ 語言通過類的嵌套A.B. 保持不變 C. 受保護 ( ) 來建立類族。B. 類的繼承C. 虛函數(shù)( )D. 不受保護D.抽象類11在A.C.UML中,有 事物、關系和圖 事物、關系和結構3 種基本構造塊,分別是( A)B. 注釋、關系和圖 注釋、關系和結構D.UML中,有四種關系,下面哪個不是(C.12在A. 依賴關系B. 繼承關系B)泛化關系 D.實現(xiàn)關系13下面哪個不是A. 狀態(tài)圖UM沖的靜態(tài)視圖B. 用例圖)C.對象圖 D.類圖16用例( Use-case )用來描述系統(tǒng)在事件做出響應時所采取的行動。用例之間是具有相關 性的。在一個“訂單輸入子系統(tǒng)” 中,創(chuàng)建新訂單

18、和更新訂單都需要檢查用戶帳號是否正確。 那么,用例“創(chuàng)建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是()關系A. 擴展( extend ) B. 包含( include )C. 分類( classification ) D.聚集( aggregation )D.邊界類17. UML中類的有三種,下面哪個不是其中之一()A.實體類 B. 抽象類 C. 控制類18閱讀圖例,判斷下列哪個說法是錯誤的。()還書圖書查詢ex1女納罰金A. 讀者可以使用系統(tǒng)的還書用例B. 每次執(zhí)行還書用例都要執(zhí)行圖書查詢用例C. 每次執(zhí)行還書用例都要執(zhí)行交納罰金用例D. 執(zhí)行還書用例有可能既執(zhí)行圖書查詢用例,又執(zhí)行

19、交納罰金用例19 .關于協(xié)作圖的描述,下列哪個不正確(B)A. 協(xié)作圖作為一種交互圖,強調的是參加交互的對象的組織;B. 協(xié)作圖是順序圖的一種特例C. 協(xié)作圖中有消息流的順序號;D. 在ROSE工具中,協(xié)作圖可在順序圖的基礎上按“F5”鍵自動生成;20 .在UML中,()把活動圖中的活動劃分為若干組,并將劃分的組指定給對象,這些對 象必須履行該組所包括的活動,它能夠明確地表示哪些活動是由哪些對象完成的。A .組合活動B .同步條C.活動D .泳道二、填空題(每空1分,共20分)1. 對象是客觀實體的抽象表示,是由 和 兩部分組成。而 是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一

20、種用戶自定義類型和創(chuàng)建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的 。通過 關系又可形成一種類層次結構。在類層次結構的不同類中,可用相同的函數(shù)名實現(xiàn)功能不同的函數(shù),面向對象技術的這種特性叫做2. UML從不同的視角為系統(tǒng)架構建模,可產(chǎn)生九種視圖:、 、 。3. 是用來反映若干個對象之間動態(tài)協(xié)作關系的一種交互圖。它主要反映對象之間已發(fā)送消息的先后次序和對象之間的交互過程。 是用來描述實現(xiàn)某些服務所涉及的對象及其相互之間的關系(包括消息通信)的動態(tài)視圖。建模者可以選擇 來反映對象之間的協(xié)作關系; 如果需要強調時間和序列, 最好選擇 ;如果需要強調上下文相關,最好選擇三、寫出下列程序的輸

21、出結果。 ( 滿分 10 分 )#include #include class Personpublic:Person(char *s)name=new charstrlen(s)+1; strcpy(name, s);virtual void print() cout ”My name is ”nameendl; protected:char *name;class Student:public Person public:Student(char *s, float g):Person(s) avg=g; void print(char *s) couts ”My name is “nam

22、e ”and my grade is ”avgendl; private:float avg;class professor:public Person public:Professor(char *s, int n):Person(s) publs=n; void print() cout ”My name is ”name ”and I have ”publs ”publication. ”print(); p=&y; p-print(); p=&z; p-print(); 四. 簡答題(每小題 4 分,共 20 分)1. 簡述統(tǒng)一建模語言 UML 的優(yōu)點。2. 簡述面向對象技術的三大機制

23、。3. 簡述面向對象分析的基本步驟。4. 簡述 OOD 模型的總體結構,并畫圖表示。5. 應用 UML 進行系統(tǒng)分析和設計所需建立視圖有那幾種?五. 試用 UML 對圖書管理系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。圖書管理系統(tǒng)應實現(xiàn) (1)借書; (2) 還書;( 3)圖書資料和借閱信息查詢;( 4)系統(tǒng)維護。試完成下列工作: (1)建立系統(tǒng)靜態(tài)結構模型 畫出系統(tǒng)用例圖和類圖;( 10 分) (2)建立系統(tǒng)動態(tài)結構模型 畫出序列例圖和協(xié)作圖;( 10 分)(2 )建立關系數(shù)據(jù)庫邏輯模型。( 10 分)面向對象分析與設計試題 D 卷一、單項選擇題 ( 在每小題的四個備選答案中,選出一個正確答案,并

24、將正確答案的序號 填在題干的括號內。每小題 1 分,共 20 分 )1. 到 20 世紀末,面向對象軟件工程已經(jīng)逐漸發(fā)展成熟,特別是( ) 的形成和廣泛使 用,采用面向對象分析與編程的軟件開發(fā)方法已成為軟件開發(fā)的主流方法。A. Simula67 語言 B. Smalltalk 語言C. Java 語言 D. 統(tǒng)一建模語言 (UML) 的標準 2下列不屬于面向對象技術的基本特征的是( )。A. 封裝性 B. 模塊性 C. 多態(tài)性 D. 繼承性3. 面向對象程序設計將描述事物的數(shù)據(jù)與 ( ) 封裝在一起 ,作為一個相互依存、不可分割 的整體來處理。A. 信息 B. 數(shù)據(jù)隱藏 C. 對數(shù)據(jù)的操作 D

25、. 數(shù)據(jù)抽象4. C+ 對 C 語言作了很多改進,即從面向過程變成為面向對象的主要原因是 ( )。A. 增加了一些新的運算符 B. 允許函數(shù)重載,并允許設置缺省參數(shù) C. 規(guī)定函數(shù)說 明符必須用原型 D. 引進了類和對象的概念5. 下列不屬于類的成員函數(shù)的是 ( )。A. 構造函數(shù) B. 析構函數(shù) C. 友元函數(shù) D. 拷貝構造函數(shù)6. 繼承機制的作用是 ( ) 。A. 信息隱藏 B. 數(shù)據(jù)封裝 C. 派生新類 D. 數(shù)據(jù)抽象7. 通常對象有很多屬性,但對于外部對象來說某些屬性應該不能被直接訪問,下面哪個不是 UML 中的類成員訪問限定符 ( )A. 公有的B. 受保護的C.友員的D.私有的8

26、. 類模板經(jīng)過實例化而生成具體()A. 對象B. 模板函數(shù)C. 函數(shù)模板D. 類9. 類的構造函數(shù)是在 ( ) 調用的。A. 類創(chuàng)建時B.創(chuàng)建對象時C. 刪除對象時 D. 不自動調用10 在公有繼承的情況下,基類成員在派生類中的訪問權限 ( )A. 受限制 B. 保持不變 C. 受保護 D. 不受保護11 . C+ 語言通過 ( ) 來建立類族。A. 類的嵌套 B. 類的繼承 C. 虛函數(shù) D. 抽象類12. UML提供了 4種結構圖用于對系統(tǒng)的靜態(tài)方面進行可視化、詳述、構造和文檔化。其中( )是面向對象系統(tǒng)建模中最常用的圖,用于說明系統(tǒng)的靜態(tài)設計視圖A. 用例圖B. 類圖C. 對象圖D. 序

27、列圖13. 當需要描述體系結構的靜態(tài)實施視圖時,應該選擇()。A.對象圖B.組件圖C.類圖D.配置圖14. 用例( Use-case )用來描述系統(tǒng)在事件做出響應時所采取的行動。用例之間是具有相關 性的。 在一個“訂單輸入子系統(tǒng)”中,創(chuàng)建新訂單和更新訂單都需要檢查用戶帳號是否正確。 那么,用例“創(chuàng)建新訂單” 、“更新訂單” 與用例“檢查用戶帳號” 之間是 ()關系。A. 擴展( extend )B.包含( include )C. 分類( classification ) D. 聚集( aggregation )15. ( )是描述系統(tǒng)中在某一時刻,一組對象以及它們之間關系的圖形,其可以看作是

28、類圖在系統(tǒng)某一時刻的實例。A .組件圖B .類圖C .對象圖D .部署圖16. 順序圖是強調消息隨時間順序變化的交互圖, 下面哪個不是用來描述順序圖的組成部分 ()A. 狀態(tài) B. 生命線 C. 激活期D. 類角色17. 下面哪個選項中有不是活動圖中的基本元素( )A .狀態(tài)、分支B.狀態(tài)、匯合C. 泳道、轉移D. 信號、轉移18. 以下是圖書管理系統(tǒng)中的相關類,屬于邊界類的是 ( )A.書類B.借書操作界面類C書籍管理類D.讀者類19. 在用 UML 進行數(shù)據(jù)庫的分析與設計過程中, ( ) 就是進行數(shù)據(jù)庫的需求分析,使用用 例圖、類圖、順序圖、活動圖等建立業(yè)務模型。A. 邏輯數(shù)據(jù)模型設計B

29、業(yè)務 Use Case 模型設計C. 物理數(shù)據(jù)模型設計D. 物理實現(xiàn)設計20. 使用 UML 進行關系數(shù)據(jù)庫的( )時,需要設計出表達持久數(shù)據(jù)的實體類及其聯(lián)系, 并把它們映射成為關系數(shù)據(jù)庫表( Table) 、視圖 (View) 等。A. 業(yè)務 Use Case 模型設計B. 邏輯數(shù)據(jù)模型設計C. 物理數(shù)據(jù)模型設計C. 物理實現(xiàn)設計二、填空題 ( 每空 1 分,共 20 分 )1. UML 中用于描述系統(tǒng)的靜態(tài)建模的視圖稱為靜態(tài)視圖,包括 、 、 、 和 。用于描述系統(tǒng)的 動態(tài)建模的視圖稱為動態(tài)視圖,包括 、 、和 。2. 對象是客觀實體的抽象表示,是由 和 兩部分組成。而 是對具有相同屬性

30、和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創(chuàng) 建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的 通過 關系又可形成一種類層次結構。3. 是美國 Rational 公司的面向對象建模工具,利用這個工具可以建立用 描述的 的模型,而且可以自動生成和維護C+ 、Java 、VB 、Oracle 等語言和系統(tǒng)的代碼。 的界面分為三個部分 窗口、 窗口和 窗口。三、寫出下列程序的輸出結果。 ( 滿分 10 分 ) #include #include class Base protected: int *p;public:Base(int a=0)p=new int(a);

31、Base() delete p; virtual void print() cout*pendl; ;class Derived:public Base static int y;public:Derived(int b=0) *p=b; y+; void print() cout*p,yprint();Derived(20).print(); 四. 簡答題(每空 4 分,共 20 分)1. 簡述 UML 的優(yōu)點。2. 簡述面向對象技術的三大機制。3. 簡述 OOA 模型的層次結構。4. 簡述 OOD 模型的總體結構,并畫圖表示。5. 應用 UML 進行數(shù)據(jù)庫系統(tǒng)分析和設計步驟。五. 試用 U

32、ML 對網(wǎng)上超市系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。請完成下列工作: (1)建立系統(tǒng)靜態(tài)結構模型 畫出系統(tǒng)用例圖和類圖;( 10 分) (2)建立系統(tǒng)動態(tài)結構模型 畫出序例圖和活動圖;( 10 分)(2 )建立關系數(shù)據(jù)庫邏輯模型。( 10 分)2009-2010 第一學期面向對象分析與設計試題一、單項選擇題 ( 在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號 填在題干的括號內。每小題 1 分,共 20 分 )1. ( ) 常常被定義成虛函數(shù)。A. 構造函數(shù) B. 析構函數(shù) C. 友元函數(shù)D. 靜態(tài)函數(shù)2. ( )是對具有相同屬性和行為的對象集合的抽象描述A. 系統(tǒng)B. 實體C

33、. 對象D. 類3. 封裝的目的是實現(xiàn)信息的有效( )A. 共享B. 隱蔽C. 操作D. 繼承4. ( )是實現(xiàn) “一種接口,多種方法 ”的技術。A. 抽象性 B. 封裝性 C. 多態(tài)性 D. 繼承性5. C+ 對 C 語言作了很多改進,即從面向過程變成為面向對象的主要原因是 ( )。A. 增加了一些新的運算符B. 引進了類和對象的概念C. 允許類的繼承和派生D. 允許函數(shù)重載6. 繼承機制的作用是 ( )。A. 信息隱藏 B. 數(shù)據(jù)封裝 C. 數(shù)據(jù)抽象 D. 軟件重用7. ( ) 經(jīng)過實例化而生成具體的類。A. 對象 B. 函數(shù)模板 C. 類模板 D. STL8. 類的構造函數(shù)是在 ( )

34、調用的。A. 類創(chuàng)建時B. 創(chuàng)建對象時C. 刪除對象時D. 不自動調用9. 在保護性繼承的情況下,基類的 public 和 protected 成員在派生類中變?yōu)?( ) 成員。A. 公有 B. 私有 C. 受保護 D. 任意10. 下列哪種做法不符合面向對象設計的原則()。A. 類與類之間的耦合應該很松散B. 繼承耦合應盡可能松散C. 繼承耦合應盡可能緊密D. 設計應該具有最優(yōu)的可重用性11. ()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達方法。A.對象圖 B. 類圖 C. 序列圖 D. 用例圖12在對象模型中,()體現(xiàn)了繼承性概念。A.關聯(lián) B.依賴關系C.泛化關系D.聚合/組合關系13

35、. ()是面向對象設計的核心,建立狀態(tài)圖、協(xié)作圖和其他圖的基礎。A.對象圖B.組件圖 C.類圖D.序列圖14. 下面哪個是 UML中的動態(tài)視圖(A. 用例圖 B. 類圖)C. 對象圖 D. 序列圖15. 下列說法錯誤的是()A. 活動圖不能用于描述系統(tǒng)業(yè)務流程。B. 活動圖由一系列的動作狀態(tài)構成,動作的狀態(tài)控制可以從一個狀態(tài)流 向另一個與之相鄰的狀態(tài)。C. 活動圖還可以表示決策、條件、動作狀態(tài)的并行執(zhí)行、消息的規(guī)范說明等內容。D. 協(xié)作圖可以用來描繪系統(tǒng)業(yè)務流程。16. 在一個“圖書管理系統(tǒng)”中,借書處理和還書處理都需要先通過身份驗證。那么,用 例“借書處理”、“還書處理”與用例“身份驗證”之

36、間是()關系A. 特化 B. 泛化 C.使用D. 擴展17. ()就是用于表示構成分布式系統(tǒng)的節(jié)點集和節(jié)點之間的聯(lián)系的圖示,它可以表示 系統(tǒng)中軟件和硬件的物理架構。A.對象圖 B. 類圖 C. 組件圖D. 配置圖18. 閱讀圖例,判斷下列哪個說法是錯誤的。()include _SHFJ/ 還書、-圖書查詢交納罰金A. 讀者可以使用系統(tǒng)的還書用例B. 每次執(zhí)行還書用例都要執(zhí)行圖書查詢用例C. 執(zhí)行還書用例有可能既執(zhí)行圖書查詢用例,又執(zhí)行交納罰金用例D.每次執(zhí)行還書用例都要執(zhí)行交納罰金用例19. ()描述了一組交互對象間的動態(tài)協(xié)作關系,它表示完成某項行為操作的參與對象 和這些對象之間傳遞消息的時間

37、順序。A.協(xié)作圖 B. 序列圖 C. 對象圖 D. 組件圖20. ()能夠更好地用于對數(shù)據(jù)庫建模。A.傳統(tǒng)的ER圖B. UML的用例圖C . UML的類圖D.數(shù)據(jù)流圖二、填空題(每空1分,共20分)1. 面向對象開發(fā)方法模擬人們理解和處理客觀世界的方式來(1) 問題,把系統(tǒng)視為一系列_(2)_的集合,其面向對象的_(3)_又將分析的結果映射到某種面向對象工具的結構上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的概念,從而使面向對象的軟件開發(fā)能比較自然地模擬客觀世界的 活動,使(5)_空間與 (6) 空間在結構上盡可能一致。因此,采用面向對象方法可以更有效地開發(fā)大型軟

38、件系統(tǒng)。面向對象方法的_、_(8)_、_(9)_態(tài)等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現(xiàn)軟件系統(tǒng)的柔性制造,更 好地克服 (10)。因此,它已成為成熟的廣為采用的軟件開發(fā)方法。到20世紀末,面向對象軟件工程逐漸發(fā)展成熟,特別是(11)的形成和廣泛使用,使面向對象軟件開發(fā)方法已成為軟件開發(fā)的主流技術。2. UML通過9種視圖來為系統(tǒng)建模,這 9種視圖是:(12)、(13)、(14)(15)、 (16) 、(17)(18)、(19)、(20) 。三、寫出下列程序的輸出結果 (滿分10分)#in elude class pers on public:virtual void sh

39、ow() cout “ Itis a person ” endl;class stude nt:public pers on public:virtual void show() cout “It is a student ” show();ps=&O2;ps-show();四、簡答題(每小題 5 分,共 20 分)1. 簡述面向對象分析的基本步驟。2. 簡述建立面向對象設計模型的方法步驟。3. 簡述基于 UML 的面向對象系統(tǒng)開發(fā)方法的基本步驟。4. 簡述基于 UML 的關系數(shù)據(jù)庫設計的方法步驟。五、請用 UML 對圖書借閱管理系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。 圖書管理系統(tǒng)應 實現(xiàn)圖書

40、資料和借閱信息查詢、借書、 還書以及系統(tǒng)維護功能操作。試完成下列工作:(1)畫出讀者用例圖( 5 分)( 2)畫出“讀者查詢圖書信息”用例的序列圖和協(xié)作圖(10 分)( 3)畫出設計類圖( 10 分);( 4)“讀者”與“圖書”類之間存在多對多的關聯(lián),試將這種關聯(lián)轉化為一個關聯(lián)表。( 5分)2010-2011 第一學期 面向對象分析與設計試題一、單項選擇題 ( 在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號 填在題干的括號內。每小題 1 分,共 20 分 )1. ( )是對具有相同屬性和行為的一組對象的抽象描述。A. 實體B. 對象C. 類模板D. 類2. 一類對象向另一類對象

41、所發(fā)消息的格式中不包括()。A. 對象名B. 操作函數(shù)名C. 參數(shù)表D.類名3.面向對象技術的三大機制不包括()。A. 抽象B. 封裝C. 多態(tài)D.繼承4. 從整體功能層面考慮類的設計應遵循下列三條原則,除了( )。A.單一功能原則B.封裝原則C.最小驚訝原則D.開放 /封閉原則5. 可以在類外訪問類的()。A.私有成員B.受保護性成員C.公有成員D.純虛函數(shù)6. 類的( )是供創(chuàng)建類的實例對象時調用,完成對象的初始化。A. 內聯(lián)函數(shù)B.析構函數(shù)C.友員函數(shù)D.構造函數(shù)7. 派生類可以繼承( ) 。A. 私有成員B. 部分公有成員C. 構造函數(shù)D. 析構函數(shù)8. 如果合理地利用(),就可以在類

42、的復雜層次關系中為共享訪問與成員隱蔽之間找到一個平衡點 ,既實現(xiàn)部分成員隱蔽 ,又能方便部分成員的繼承,實現(xiàn)代碼的高效重用和擴 充。A. 私有繼承 B. 保護繼承 C. 公有繼承 D. 多繼承9. 如果將某類族中的一個同名成員函數(shù)說明為虛函數(shù),則可用( )來調用不同派生類的 虛函數(shù),實現(xiàn)運行時多態(tài)。A. 基類對象B. 派生類對象C. 基類對象的指針D. 派生類對象的指針10. C+ 中既可實現(xiàn)文件輸入又可實現(xiàn)文件輸出的類是( )A. ifstreamB. ofstreamC. iostream D. fstream11. 基類中的 protected 成員,通過 public 派生,其在派生類

43、中的可見性為 ( )。 A. 不可訪問 B. privateC. protected D. public在 C+ 程序中,對象之間的相互通信可以通過( )來實現(xiàn)。A .繼承B.調用成員函數(shù)C 封裝D 函數(shù)重載12. ()階段的主要目標是為了更精確地理解用戶需求,并獲得一個使用開發(fā)人員熟悉的 語言描述的、易于維護且能體現(xiàn)系統(tǒng)基本結構的模型。A.系統(tǒng)需求分析B.系統(tǒng)分析C.系統(tǒng)設計D.系統(tǒng)實現(xiàn)13. 在面向對象程序設計語言中,()是利用可重用成分構造軟件系統(tǒng)的最有效的特性,它不僅支持系統(tǒng)的可重用性,而且還有利于提高系統(tǒng)的可擴充性。A.封裝B.繼承C.抽象D.引用14. ()是從用戶使用系統(tǒng)的角度描

44、述系統(tǒng)功能的圖形表達方法。D.配置圖(包括消息通信)的動態(tài)視圖就稱為A.類圖B.組件圖C.用例圖15. 用來描述實現(xiàn)某些服務所涉及的對象及其交互關系(),可用于描繪業(yè)務流程。D.活動圖A.對象圖B.協(xié)作圖C.狀態(tài)圖16. ()表示構成系統(tǒng)的代碼部件及其相互之間聯(lián)系的圖示。配置圖)描述的是系統(tǒng)的靜態(tài)組D.A.狀態(tài)圖B.協(xié)作圖C.組件圖17. UML提供了一系列的圖支持面向對象的分析與設計,其中織結構和數(shù)據(jù)結構。A.序列圖B協(xié)作圖C.對象圖19. ()是描述系統(tǒng)體系結構的靜態(tài)實現(xiàn)視圖。A .類圖B.對象圖20. 使用UML進行關系數(shù)據(jù)庫的( 并把它們映射成為關系數(shù)據(jù)庫表(A.物理數(shù)據(jù)模型設計C.業(yè)

45、務Use Case模型設計D.類圖C.組件圖)時,需要設計出表達持久數(shù)據(jù)的實體類及其聯(lián)系, Table)、視圖(View)等。B. 物理實現(xiàn)設計C. 邏輯數(shù)據(jù)模型設計D.配置圖二、填空題(每空1分,共20分)1. 用_ ( 1 )機制可以實現(xiàn)發(fā)送一個通用消息而調用不同的方法:(2_)機制是實現(xiàn)信息隱蔽的一種技術,其目的是使類的(3)相互分離。2. 類是一組具有相同屬性和服務的對象的抽象描述,類中的每個對象都是這個類的一個(4)。類之間共享屬性與服務的機制叫做(5)o一個對象通過發(fā)送(6 )來請求另一個對象為其服務。3. 派生類的生成包含三個步驟:_( 7 )_、_( 8 )_ 和 _( 9 )

46、_。4. _ (10 ) 一描述完成某項行為操作的參與對象和這些對象之間傳遞消息的時間順序。 (11 )描述系統(tǒng)運行過程中某類對象可能具有的狀態(tài),以及在不同狀態(tài)間的跳轉和觸發(fā)這些跳轉的外部事件。12 可用于描述系統(tǒng)業(yè)務流程,它由一系列的動作狀態(tài)構成,動作的狀態(tài)控制可以從一個狀態(tài)流向另一個與之相鄰的狀態(tài)。5. 基于UML的系統(tǒng)分析的主要目標是為了更精確地理解_ (13_ ) _,并獲得一個使用開發(fā)人員的語言描述的、易于維護的且能體現(xiàn)系統(tǒng)基本結構的 (14 ) 模型。該模型主要包括(15 ) 和 (16 )。6. 基于UML的關系數(shù)據(jù)庫設計一般可分為4個階段:丄17_、丄18_、_(_19_)_

47、和 _(_20_。三、寫出下列程序的輸出結果。(滿分10分)class B public:B( ) cout B en dl;virtual void f( ) cout B:f en dl; virtual B( ) cout B endl; ;Class D: public B private:int d;public:D( ) cout D endl; void f( ) cout D:f endl; virtual D( ) cout D f();delete pB;四簡答題(每小題4分,共20分)1. 為什么面向對象方法能更有效地克服軟件危機?2. 如何實現(xiàn)運行時多態(tài)?3. 基于UM

48、L的面向對象系統(tǒng)開發(fā)方法包括哪幾步?4. 簡述確定分析類的方法。5. 簡述基于UML的數(shù)據(jù)庫系統(tǒng)分析和設計的步驟。五分析與設計題試用UML對開放式學籍管理系統(tǒng)及相關的數(shù)據(jù)庫系統(tǒng)進行分析和設計。學籍管理系統(tǒng)的主要用戶是系統(tǒng)管理員和學生:系統(tǒng)管理員使用學籍管理系統(tǒng)來實現(xiàn)教師信息管理、學生信息管理,課程管理、成績管理和打印報表;學生使用學籍管理系統(tǒng)來實現(xiàn)選課管理和成績查詢。試完成下列工作:(1) 畫出學籍管理系統(tǒng)的用例圖;(6分)定義學籍管理系統(tǒng)的三個基本分析類;(6分)(3)畫出學籍管理系統(tǒng)的類圖;(6分)(4)畫出學生查詢成績的活動圖;(6分)(5)學生類和課程類之間存在多對多的關聯(lián),試將這種關

49、聯(lián)轉化為關系數(shù)據(jù)庫模式。( 分)2010-2011第二學期面向對象分析與設計試題A卷一、單項選擇題 (在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題1分,共20分)1. 面向對象分析與設計是面向對象軟件開發(fā)過程中的兩個重要階段,下列活動中,屬于面向對象分析階段。A 構建分析模型B 識別分析類 C 用例動態(tài)建模D 評估分析模型2. 在面向對象方法中,可看成是屬性數(shù)據(jù)以及這些屬性數(shù)據(jù)上的專用操作的封裝體。A.實體B.類C.類模板D.對象3. 類是一組具有相同屬性和相同操作的對象的集合,類中的每個對象都是這個類的一個A.實體B.實例4. 一個對象通過發(fā)送來請求

50、另A.參數(shù)B.消息5 類之間共享屬性和操作的機制稱為A.抽象B.封裝6. 類的設計應遵循三條基本原則。對于 一般來說應該通過添加新類實現(xiàn)A.封裝原則C.最小驚訝原則7. 一個類的A.私有成員C.公有成員8. 當對象離開其有效范圍,或被清除時,A.靜態(tài)成員函數(shù)B.友員函數(shù)9. _是實現(xiàn) 一種接口,多種方法A.抽象B.封裝10. 如果某基類的一個成員函數(shù)被說明為 數(shù)實現(xiàn)。A.內聯(lián)函數(shù)B.靜態(tài)函數(shù)11. 在二進制模式下,可利用文件輸入 式存儲到文件里。C.用例D.組件-對象為其服務。C.成員函數(shù)名D.接口函數(shù)名。C.多態(tài)D.繼承-個設計并實現(xiàn)好的類,如果需要功能上的擴充,而不是修改原類的代碼。這種原則叫B.開放/封閉原則D.單一功能原則只能被類的成員函數(shù)、友元函數(shù)及派生類的成員函數(shù)所訪問。B.受保護性成員D.純虛函數(shù)將被調用來釋放對象所占用的內存。C.構造函數(shù)D.析構函數(shù)的技術。C.多態(tài)D.繼承,則該成員函數(shù)在派生類中可以有不同的函C.友元函數(shù)D.虛函數(shù)/輸出流類中定義的 函數(shù)將所有數(shù)據(jù)以字符形A. loadB. saveC. writeD. read12. 基類中的public成員,通過protect

溫馨提示

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

評論

0/150

提交評論