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

下載本文檔

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

文檔簡介

面向對象分析與設計試題B卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題2分,共20分).到20世紀末,面向對象軟件工程已經逐漸發(fā)展成熟,特別是( )的形成和廣泛使用,采用面向對象分析與編程的軟件開發(fā)方法已成為軟件開發(fā)的主流方法。A.Simula67語言 B.Smalltalk語言C。Java語言 D.統(tǒng)一建模語言(UML)的標準2。面向對象的運動產生了多種面向對象的語言,其中()是一種混合性面向對象語言,既支持面向過程的程序設計方法,又支持面向對象的程序設計方法,有廣泛應用的基礎和豐富開發(fā)環(huán)境的支持,因而使面向對象的程序設計能得到很快普及.A.Smalltalk B。Eiffel C。C++ D。Java3.下列不屬于面向對象技術的基本特征的是()。A。封裝性B.模塊性 C。多態(tài)性 D。繼承性.面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理。A.信息B.數據隱藏 C。對數據的操作D.數據抽象.關于面向對象方法的優(yōu)點,下列不正確的敘述是().A。與人類習慣的思維方法比較一致 B.可重用性好C。以數據操作為中心 D.可維護性好。()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達方法。A.類圖 B。對象圖C.序列圖D.用例圖。 ()是表達系統(tǒng)類及其相互聯(lián)系的圖示,它是面向對象設計的核心,建立狀態(tài)圖、協(xié)作圖和其他圖的基礎。A.對象圖B.組件圖 C.類圖 D.配置圖.()描述了一組交互對象間的動態(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進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯(lián)系,并把它們映射成為關系數據庫表(Table)、視圖(View)等。A。業(yè)務UseCase模型設計 B.邏輯數據模型設計C。物理數據模型設計 C。物理實現設計二、填空題(每空1分,共20分).面向對象開發(fā)方法一改過去傳統(tǒng)的以___功能分析___為基礎的__面向過程__的結構化分析與設計方法,它模擬人們理解和處理客觀世界的方式來分析問題,把系統(tǒng)視為一系列__對象_的集合,其__面向對象的設計__又將分析的結果映射到某種面向對象實現工具的結構上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的_概念_,從而使面向對象的軟件開發(fā)能比較自然地模擬客觀世界的活動,使問題描述空間與_解空間__在結構上盡可能一致。因此,采用面向對象方法可以更有效地開發(fā)大型軟件系統(tǒng)。面向對象方法的_封裝_、_繼承_、__多態(tài)_等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現軟件系統(tǒng)的柔性制造,更好地克服_軟件危機__。因此,它已成為成熟的廣為采用的軟件開發(fā)方法。.對象是客觀實體的抽象表示,是由__描述對象屬性的數據__和_對這些數據進行的操作行為__兩部分組成.而_類_是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創(chuàng)建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的__實例__.通過_繼承__關系又可形成一種類層次結構。.UML中用于描述系統(tǒng)的靜態(tài)建模的視圖稱為靜態(tài)視圖,包括_用例圖__、_類圖__、_對象圖__、__包圖__和__構件圖_。三、寫出下列程序的輸出結果。(滿分10分)#include<iostream。h>#include〈string.h〉classPerson{public:Person(char*s){name=newchar[strlen(s)+1];strcpy(name,s);}virtualvoidprint(){cout〈<"Mynameis”<〈name〈<endl;}protected:char*name;};classStudent:publicPerson{public:Student(char*s,floatg):Person(s) {avg=g;}voidprint(char*s){cout<<s〈<"Mynameis“<〈name<<"andmygradeis”〈〈avg<<endl;}private:floatavg;};classprofessor:publicPerson{public:Professor(char*s,intn):Person(s){publs=n;}voidprint(){cout〈〈”Mynameis”〈<name<<"andIhave"〈〈publs〈<"publication.”〈<endl; }private:intpubls;};voidmain(void){Person*p;Personx(“Zhang”);Studenty(“Wang”,4,2);Professorz(“Liu”,5);p=&x;p-〉print();p=&y;p->print();p=&z; p—>print();}【運行結果:MynameisZhangMynameisWangMynameisLiuandIhave5publications.四。簡答題(每小題5分,共20分).簡述面向對象軟件開發(fā)方法的優(yōu)點。。簡述面向對象技術的三大機制。答:(1)封裝性(encapsulation)所謂封裝就是把對象的屬性和行為結合成一個獨立的單位,使外界不能直接訪問或修改這些數據和代碼,外界只能通過對象提供的接口函數來改變或獲取對象的屬性數據,這就實現了消息隱蔽.(2)繼承性如果在一個已定義的類上,增加一些特殊屬性或操作,可以形成一個新的類,這個類不僅繼承了前一個類的全部特征,而且具有新的特性,因此可看作前一個類的特例,是對前一個類的繼承.前一個類稱為父類,新產生的類叫做子類。通過繼承關系可形成一種類層次結構,叫做繼承結構。(3)多態(tài)性在類層次結構的不同類中,可用相同的函數名實現功能不同的函數。.簡述OOA模型的層次結構.答:OOA模型采用五層次結構,它們分別是:(1)對象-類層劃分待開發(fā)系統(tǒng)及其環(huán)境信息的基本構造單位,標出反映問題域的對象和類,并用符號進行規(guī)范的描述,用信息提供者熟悉的術語為對象和類命名。

(2)屬性層定義對象和某些結構中的數據單元,繼承結構中所有類的公共屬性可放于通用類中.標識對象類必需的屬性并放在合適的繼承層次上,屬性的特殊限制和實例連接關系也應標識出來。(3)服務層表示對象的服務或行為,即是要定義類上的操作。(4)結構層標識現實世界中對象之間的關系。當一個對象是另一個對象的一部分時,用”整體-部分”關系表示;當一個類屬于另一個類時,用類之間繼承關系表示。(5)主題層可將相關類或對象劃分為一個主題。4。簡述OOD模型的總體結構,并畫圖表示?!?】答案:OOD體系結構的各個部分內容:(1)問題論域部分,在OOA模型的基礎上,細化分析結果,設計一組構成底層應用模型的類和對象。(2)人機交互部分:設計用戶界面模型,該用戶界面模型中的類和對象提供實現人機交互操作的接口函數。用戶界面設計包括菜單設計、窗口設計、輸入/輸出界面設計等等.(3)任務管理部分:建立一些類,用以負責處理操作系統(tǒng)級的并發(fā)問題、中斷、調度以及其它與特定平臺有關的問題。(4)數據管理部分:提供數據管理系統(tǒng)中存儲和檢索對象的基本結構,包括對永久性數據的訪問和管理。數據管理設計包括:—數據存放設計:數據存放設計選擇數據存放的方式(文件存放、關系數據庫表格存放或面向對象的數據庫存放).—設計相應的操作。為每個需要存儲的對象和類增加用于存儲管理的屬性和操作,在類和對象的定義中加以描述。問題論域部位人機交互部金任務管理部處數據管理部分問題論域部位人機交互部金任務管理部處數據管理部分class&objectlayer(class&objectlayer(類及對象層)attributelayer(類及對象層)servicelayer(服務層)實例邊界structlayer(結構層)服務structlayer(結構層)服務subjectlayer(主題層)r"lF"1o主題圖1.5OOD模型的總體結構}五.試用UML對教學管理系統(tǒng)及相關的數據庫系統(tǒng)進行分析和設計。學生選課系統(tǒng)一般包括(1)選課管理功能;(2)成績管理功能。試完成下列工作:(1)建立系統(tǒng)靜態(tài)結構模型—畫出系統(tǒng)用例圖和類圖;(10分)(2)建立系統(tǒng)動態(tài)結構模型-畫出系統(tǒng)序列圖和協(xié)作圖;(10分)(3)建立關系數據庫邏輯模型。(10分)【答案:(1)系統(tǒng)用例圖如下學生,《管理老師信息學生 *管理學生信息

管理員學生,《管理老師信息學生 *管理學生信息

管理員管理課程信息?■管理開設課程學生成績管理管理員(a(a)選課管理的用例圖(b)成績管理的用例圖對象類圖如下:教師課程學生編號1* 0*課程名描述1*0*編號姓名1姓名地址中話開設課程學時選修課程地址中話課程名加入課程()學生名課程名學期授課日期授課時間地點指定老師()學生滿否() 增加記錄()選課統(tǒng)計() 開設課程學生成績登記課程名學生名授課日期學期授課時間課程名開設課程學生成績登記課程名學生名授課日期學期授課時間課程名地點成績指定老師()加入成績()學生滿否()打?。ǎ┯?A成績統(tǒng)計學期課程名成績 按課程統(tǒng)計()按學生統(tǒng)計()打?。ǎ?(b)成績管理對象類圖(2)把需要持久存儲的數據實體類及其聯(lián)系,映射成為如下關系數據庫表:學生(學生號、姓名、出生日期、性別、籍貫、地址、電話、入學時間、專業(yè)、班級備注)教師(教師號、姓名、出生日期、性別、籍貫、地址、電話、職稱、專長、備注)課程(課程號、課程名、描述、學分、學時、性質、備注)開設課程(課程號、學期、授課日期、授課時間、地點、選修人數、備注)】面向對象分析與設計試題C卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內.每小題1分,共20分)1。面向對象技術的最重要的基本特征是()。A.抽象性 B。封裝性C。多態(tài)性 D。繼承性面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理。A。信息B.數據隱藏C。對數據的操作D.數據抽象關于面向對象方法的優(yōu)點,下列不正確的敘述是()。

B.可重用性好D.B.可重用性好D.可維護性好C.以數據操作為中心C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A。增加了一些新的運算符 B。允許函數重載,并允許設置缺省參數C.規(guī)定函數說明符必須用原型D.引進了類和對象的概念下列不屬于類的成員函數的是()。A。構造函數 B.析構函數C。友元函數 D.拷貝構造函數繼承機制的作用是()。A。信息隱藏 B。數據封裝C.派生新類 D.數據抽象類模板經過實例化而生成具體()A.對象 B.模板函數C.函數模板 D.類類的析構函數是在()調用的。A.類創(chuàng)建時 B。創(chuàng)建對象時C。刪除對象時 D。不自動調用在公有繼承的情況下,基類成員在派生類中的訪問權限()A.受限制B。保持不變 C。受保護 D.不受保護10。C++語言通過()來建立類族。A.類的嵌套B。類的繼承C。虛函數D.抽象類.在UML中,有3種基本構造塊,分別是(A)A。事物、關系和圖 B.注釋、關系和圖C.事物、關系和結構 D.注釋、關系和結構.在UML中,有四種關系,下面哪個不是(BA.依賴關系 B.繼承關系 C.泛化關系 D.實現關系.下面哪個不是UML中的靜態(tài)視圖()A.狀態(tài)圖 B。用例圖 C.對象圖D.類圖14.在用例之間,會有三種不同的關系,下列哪個不是它們之間可能的關系(D)A.包含(include) B。擴展(extend)C。泛化C。泛化(generalization)D.關聯(lián)(connect)15.下列關于活動圖的說法錯誤的是()一張活動圖從本質上說是一個流程圖,顯示從活動到活動的控制流活動圖用于對業(yè)務過程中順序和并發(fā)的工作流程進行建模?;顒訄D的基本要素包括狀態(tài)、轉移、分支、分叉和匯合、泳道、對象流。D.活動圖是UML中用于對系統(tǒng)的靜態(tài)方面建模的五種圖中的一種16.用例(Use—case)用來描述系統(tǒng)在事件做出響應時所采取的行動用例之間是具有相關性的。在一個“訂單輸入子系統(tǒng)”中,創(chuàng)建新訂單和更新訂單都需要檢查用戶帳號是否正確。那么,用例“創(chuàng)建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是()關系A。擴展(extend) B.包含(include)C.分類(classification) D.聚集(aggregation).UML中類的有三種,下面哪個不是其中之一()A.實體類 B.抽象類 C.控制類 D.邊界類.閱讀圖例,判斷下列哪個說法是錯誤的。( )- f<<:inc5ude?A <-> O讀者 點書 - Q可查詢1

.,<^ex1errd^>"-。交納費金A。讀者可以使用系統(tǒng)的還書用例B.每次執(zhí)行還書用例都要執(zhí)行圖書查詢用例C.每次執(zhí)行還書用例都要執(zhí)行交納罰金用例D。執(zhí)行還書用例有可能既執(zhí)行圖書查詢用例,又執(zhí)行交納罰金用例.關于協(xié)作圖的描述,下列哪個不正確(B)A。協(xié)作圖作為一種交互圖,強調的是參加交互的對象的組織;B。協(xié)作圖是順序圖的一種特例C。協(xié)作圖中有消息流的順序號;D。在ROSE工具中,協(xié)作圖可在順序圖的基礎上按用5”鍵自動生成;.在UML中,()把活動圖中的活動劃分為若干組,并將劃分的組指定給對象這些對象必須履行該組所包括的活動,它能夠明確地表示哪些活動是由哪些對象完成的。A.組合活動 B.同步條 C.活動 D.泳道二、填空題(每空1分,共20分)1。對象是客觀實體的抽象表示,是由和兩部分組成。而是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創(chuàng)建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的。通過關系又可形成一種類層次結構.在類層次結構的不同類中,可用相同的函數名實現功能不同的函數,面向對象技術的這種特性叫做2。UML從不同的視角為系統(tǒng)架構建模,可產生九種視圖:、、、、、、、 、 。3。 是用來反映若干個對象之間動態(tài)協(xié)作關系的一種交互圖。它主要反映對象之間已發(fā)送消息的先后次序和對象之間的交互過程。 是用來描述實現某些服務所涉及的對象及其相互之間的關系(包括消息通信)的動態(tài)視圖。建模者可以選擇 來反映對象之間的協(xié)作關系;如果需要強調時間和序列,最好選擇 ;如果需要強調上下文相關,最好選擇 。三、寫出下列程序的輸出結果。(滿分10分)#include<iostreamh>#include<stringh〉classPerson{public:Person(char*s){name=newchar[strlen(s)+1];strcpy(name,s);}virtualvoidprint(){cout〈<”Mynameis”<<name<<endl;}protected:char*name;};classStudent:publicPerson{public:Student(char*s,floa)t:gPerson(s){avg=g;}voidprint(cha*rs){cout<<s<<”Mynameis<<name<<%ndmygradei”<<avg<<endl;}private:floatavg;};classprofesso:rpublicPerson{publi:cProfessor(char火s,int)n:Person(s){publs=n}voidprint(){cou<t<”Mynameis”<<name<<”andIhav”e<<publs<<”publication<."<endl;}private:intpubls;};voidmain(void){Person*p;Personx(“Zhang");Studenty(“Wang”,4,2);Professorz(“Liu",5);p=&x; p—>print();p=&y; p->print();p=&z;p->print();}四.簡答題(每小題4分,共20分).簡述統(tǒng)一建模語言UML的優(yōu)點。.簡述面向對象技術的三大機制。。簡述面向對象分析的基本步驟。.簡述OOD模型的總體結構,并畫圖表示。5。應用UML進行系統(tǒng)分析和設計所需建立視圖有那幾種?五。試用UML對圖書管理系統(tǒng)及相關的數據庫系統(tǒng)進行分析和設計。圖書管理系統(tǒng)應實現(1)借書;(2)還書;(3)圖書資料和借閱信息查詢;(4)系統(tǒng)維護。試完成下列工作:(1)建立系統(tǒng)靜態(tài)結構模型—畫出系統(tǒng)用例圖和類圖;(10分)(2)建立系統(tǒng)動態(tài)結構模型—畫出序列例圖和協(xié)作圖;(10分)(2)建立關系數據庫邏輯模型。(10分)面向對象分析與設計試題D卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內.每小題1分,共20分).到20世紀末,面向對象軟件工程已經逐漸發(fā)展成熟,特別是( )的形成和廣泛使用,采用面向對象分析與編程的軟件開發(fā)方法已成為軟件開發(fā)的主流方法.A.Simula67語言 B。Smalltalk語言C.Java語言 D。統(tǒng)一建模語言(UML)的標準2.下列不屬于面向對象技術的基本特征的是().A。封裝性B.模塊性 C。多態(tài)性 D.繼承性面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理.A。信息B。數據隱藏 C。對數據的操作D。數據抽象C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A.增加了一些新的運算符 B.允許函數重載,并允許設置缺省參數C。規(guī)定函數說明符必須用原型D.引進了類和對象的概念下列不屬于類的成員函數的是()。A。構造函數B。析構函數 C.友元函數D??截悩嬙旌瘮道^承機制的作用是()。A。信息隱藏B。數據封裝 C。派生新類 D.數據抽象通常對象有很多屬性,但對于外部對象來說某些屬性應該不能被直接訪問,下面哪個不是UML中的類成員訪問限定符()A.公有的 B。受保護的 C.友員的D。私有的類模板經過實例化而生成具體()A。對象B。模板函數C。函數模板 D.類類的構造函數是在()調用的.A。類創(chuàng)建時 B.創(chuàng)建對象時C.刪除對象時 D。不自動調用10在公有繼承的情況下,基類成員在派生類中的訪問權限()A.受限制B。保持不變C。受保護 D。不受保護11.C++語言通過()來建立類族。A.類的嵌套 B。類的繼承C.虛函數D。抽象類12。UML提供了4種結構圖用于對系統(tǒng)的靜態(tài)方面進行可視化、詳述、構造和文檔化其中()是面向對象系統(tǒng)建模中最常用的圖,用于說明系統(tǒng)的靜態(tài)設計視圖A。用例圖B.類圖C。對象圖D。序列圖.當需要描述體系結構的靜態(tài)實施視圖時,應該選擇()。A.對象圖B.組件圖 C。類圖 D。配置圖.用例(Use-case)用來描述系統(tǒng)在事件做出響應時所采取的行動。用例之間是具有相關性的。在一個“訂單輸入子系統(tǒng)"中,創(chuàng)建新訂單和更新訂單都需要檢查用戶帳號是否正確。那么,用例“創(chuàng)建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是()關系.A。擴展(extend) B.包含(include)C。分類(classification) D.聚集(aggregation).()是描述系統(tǒng)中在某一時刻,一組對象以及它們之間關系的圖形,其可以看作是類圖在系統(tǒng)某一時刻的實例.A.組件圖 B.類圖C.對象圖 D.部署圖16。順序圖是強調消息隨時間順序變化的交互圖,下面哪個不是用來描述順序圖的組成部分()A。狀態(tài) B.生命線C.激活期 D。類角色17。下面哪個選項中有不是活動圖中的基本元素()A.狀態(tài)、分支 B.狀態(tài)、匯合C。泳道、轉移 D。信號、轉移.以下是圖書管理系統(tǒng)中的相關類,屬于邊界類的是()A.書類 B.借書操作界面類C。書籍管理類D。讀者類.在用UML進行數據庫的分析與設計過程中,()就是進行數據庫的需求分析,使用用例圖、類圖、順序圖、活動圖等建立業(yè)務模型.A。邏輯數據模型設計 B業(yè)務UseCase模型設計C。物理數據模型設計 D.物理實現設計.使用UML進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯(lián)系,并把它們映射成為關系數據庫表(Table)、視圖(View)等.A。業(yè)務UseCase模型設計 B.邏輯數據模型設計C.物理數據模型設計 C。物理實現設計二、填空題(每空1分,共20分).UML中用于描述系統(tǒng)的靜態(tài)建模的視圖稱為靜態(tài)視圖,包括 、 、 和 。用于描述系統(tǒng)的動態(tài)建模的視圖稱為動態(tài)視圖,包括 、 、 和 。。對象是客觀實體的抽象表示,是由 和 兩部分組成.而 是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創(chuàng)建對象的樣板,而按照這種樣板所創(chuàng)建的一個個具體對象就是類的 通過 關系又可形成一種類層次結構。.是美國Rational公司的面向對象建模工具,利用這個工具可以建立用描述的的模型,而且可以自動生成和維護C++、Java、VB、Oracle等語言和系統(tǒng)的代碼。 的界面分為三個部分—— 窗口、 窗口和 窗口。三、寫出下列程序的輸出結果。(滿分10分)#include〈iostream。h>#include〈string。h〉classBase{protected:int*p;public:Base(inta=0){p=newint(a);}?Base(){deletep;}virtualvoidprint(){cout<〈”p->”〈〈*p〈〈endl;}};classDerived:publicBase{staticinty;public:Derived(intb=0) {*p=b;y++;}voidprint(){cout〈〈*p〈〈',‘〈<y<〈endl;}};intDerived::y=0;voidmain(void){Derivedd(10);Base*pb=&d;pb->print();Derived(20).print();}四。簡答題(每空4分,共20分).簡述UML的優(yōu)點。.簡述面向對象技術的三大機制。3。簡述OOA模型的層次結構.4.簡述OOD模型的總體結構,并畫圖表示。5。應用UML進行數據庫系統(tǒng)分析和設計步驟。五.試用UML對網上超市系統(tǒng)及相關的數據庫系統(tǒng)進行分析和設計.請完成下列工作:(1)建立系統(tǒng)靜態(tài)結構模型—畫出系統(tǒng)用例圖和類圖;(10分)(2)建立系統(tǒng)動態(tài)結構模型-畫出序例圖和活動圖;(10分)(2)建立關系數據庫邏輯模型。(10分)2009—2010第一學期面向對象分析與設計試題一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題1分,共20分)()常常被定義成虛函數.A.構造函數B.析構函數C.友元函數 D。靜態(tài)函數()是對具有相同屬性和行為的對象集合的抽象描述A。系統(tǒng)B.實體 C。對象 D。類封裝的目的是實現信息的有效()A。共享 B。隱蔽C。操作 D.繼承()是實現“一種接口,多種方法”的技術。A.抽象性B。封裝性 C。多態(tài)性D.繼承性5。C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A。增加了一些新的運算符 B。引進了類和對象的概念C.允許類的繼承和派生 D.允許函數重載.繼承機制的作用是().A。信息隱藏 B。數據封裝 C.數據抽象 D.軟件重用.()經過實例化而生成具體的類。A.對象B。函數模板 C.類模板D.STL。類的構造函數是在()調用的。A。類創(chuàng)建時 B.創(chuàng)建對象時C。刪除對象時 D.不自動調用9。在保護性繼承的情況下,基類的public和protected成員在派生類中變?yōu)椋ǎ┏蓡T。A.公有B.私有C.受保護D.任意10。下列哪種做法不符合面向對象設計的原則( )。類與類之間的耦合應該很松散繼承耦合應盡可能松散繼承耦合應盡可能緊密D.設計應該具有最優(yōu)的可重用性11.()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達方法。A.對象圖B。類圖C。序列圖D.用例圖12.在對象模型中,()體現了繼承性概念.A。關聯(lián)B。依賴關系 C。泛化關系 D。聚合/組合關系. ()是面向對象設計的核心,建立狀態(tài)圖、協(xié)作圖和其他圖的基礎.A.對象圖B.組件圖C.類圖D.序列圖.下面哪個是UML中的動態(tài)視圖()A.用例圖 B.類圖 C。對象圖D。序列圖15.下列說法錯誤的是()A.活動圖不能用于描述系統(tǒng)業(yè)務流程?;顒訄D由一系列的動作狀態(tài)構成,動作的狀態(tài)控制可以從一個狀態(tài)流向另一個與之相鄰的狀態(tài)。活動圖還可以表示決策、條件、動作狀態(tài)的并行執(zhí)行、消息的規(guī)范說明等內容。協(xié)作圖可以用來描繪系統(tǒng)業(yè)務流程。16.在一個“圖書管理系統(tǒng)”中,借書處理和還書處理都需要先通過身份驗證。那么,用例“借書處理”、“還書處理”與用例“身份驗證”之間是()關系A。特化 B。泛化 C.使用 D。擴展17.()就是用于表示構成分布式系統(tǒng)的節(jié)點集和節(jié)點之間的聯(lián)系的圖示,它可以表示系統(tǒng)中軟件和硬件的物理架構。A.對象圖 B。類圖 C。組件圖 D.配置圖18.閱讀圖例,判斷下列哪個說法是錯誤的.( )《■ 「—<^indkjde?A <ZD諫者 還書一 國可查詢1一,X。交納北金A。讀者可以使用系統(tǒng)的還書用例B.每次執(zhí)行還書用例都要執(zhí)行圖書查詢用例C。執(zhí)行還書用例有可能既執(zhí)行圖書查詢用例,又執(zhí)行交納罰金用例D。每次執(zhí)行還書用例都要執(zhí)行交納罰金用例.()描述了一組交互對象間的動態(tài)協(xié)作關系,它表示完成某項行為操作的參與對象和這些對象之間傳遞消息的時間順序。A。協(xié)作圖B。序列圖C。對象圖D.組件圖.()能夠更好地用于對數據庫建模.A.傳統(tǒng)的ER圖 B.UML的用例圖C.UML的類圖 D.數據流圖二、填空題(每空1分,共20分).面向對象開發(fā)方法模擬人們理解和處理客觀世界的方式來」1__問題,把系統(tǒng)視為一系列一()__的集合,其面向對象的一0_又將分析的結果映射到某種面向對象」4__工具的結構上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的概念,從而使面向對象的軟件開發(fā)能比較自然地模擬客觀世界的活動,使一(5)—空間與_(6)__空間在結構上盡可能一致。因此,采用面向對象方法可以更有效地開發(fā)大型軟件系統(tǒng)。面向對象方法的一(7)__、,8)__、 _(9)__態(tài)等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現軟件系統(tǒng)的柔性制造,更好地克服__3^.因此,它已成為成熟的廣為采用的軟件開發(fā)方法。到20世紀末,面向對象軟件工程逐漸發(fā)展成熟,特別是一(11__的形成和廣泛使用,使面向對象軟件開發(fā)方法已成為軟件開發(fā)的主流技術.2。UML通過9種視圖來為系統(tǒng)建模,這9種視圖是:(12)、 (13)、 (14)、、 (16) 、 一(17)、一(18) 、 (19) 、 (20).三、寫出下列程序的輸出結果(滿分10分)#include<iostream.h〉classperson{public:virtualvoidshow(){cout<<“Itisaperson”〈〈endl;}};classstudent:publicperson{public:virtualvoidshow(){cout<〈“Itisastudent”〈〈endl;}};voidmain(){personO1,*ps;StudentO2;O1.show();O2.show();ps=&O1;ps-〉show();ps=&O2;ps-〉show();}四、簡答題(每小題5分,共20分)。簡述面向對象分析的基本步驟。。簡述建立面向對象設計模型的方法步驟。.簡述基于UML的面向對象系統(tǒng)開發(fā)方法的基本步驟..簡述基于UML的關系數據庫設計的方法步驟。五、請用UML對圖書借閱管理系統(tǒng)及相關的數據庫系統(tǒng)進行分析和設計.圖書管理系統(tǒng)應實現圖書資料和借閱信息查詢、借書、還書以及系統(tǒng)維護功能操作。試完成下列工作:(1)畫出讀者用例圖(5分)(2)畫出“讀者查詢圖書信息”用例的序列圖和協(xié)作圖(10分)(3)畫出設計類圖(10分);(4)“讀者"與“圖書"類之間存在多對多的關聯(lián),試將這種關聯(lián)轉化為一個關聯(lián)表.(5分)---2010—2011第一學期面向對象分析與設計試題一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題1分,共20分).()是對具有相同屬性和行為的一組對象的抽象描述。A。實體B。對象 C.類模板D.類。一類對象向另一類對象所發(fā)消息的格式中不包括().A.對象名B.操作函數名C.參數表 D。類名3.面向對象技術的三大機制不包括( ).A.抽象B.封裝 C。多態(tài) D。繼承4。從整體功能層面考慮類的設計應遵循下列三條原則,除了( )。A.單一功能原則 B。封裝原則C.最小驚訝原則C.最小驚訝原則5??梢栽陬愅庠L問類的(A.私有成員C.公有成員D。開放/封閉原則)。B。受保護性成員D.純虛函數C.基類對象的指針C.基類對象的指針D.派生類對象的指針.類的( )是供創(chuàng)建類的實例對象時調用,完成對象的初始化.A.內聯(lián)函數 B。析構函數 C。友員函數D。構造函數.派生類可以繼承()。A。私有成員 B。部分公有成員C.構造函數 D。析構函數。如果合理地利用(),就可以在類的復雜層次關系中為共享訪問與成員隱蔽之間找到一個平衡點,既實現部分成員隱蔽,又能方便部分成員的繼承,實現代碼的高效重用和擴充。A。私有繼承B。保護繼承C。公有繼承D.多繼承.如果將某類族中的一個同名成員函數說明為虛函數,則可用()來調用不同派生類的虛函數,實現運行時多態(tài).A.基類對象B。A.基類對象10。C++中既可實現文件輸入又可實現文件輸出的類是()A。ifstreamB.ofstream C。iostreamD.fstream11.基類中的protected成員,通過public派生,其在派生類中的可見性為()。A.不可訪問 B.privateC。protected D。public12。在C++程序中,對象之間的相互通信可以通過()來實現.A.繼承 B.調用成員函數C封裝 D.函數重載13.()階段的主要目標是為了更精確地理解用戶需求,并獲得一個使用開發(fā)人員熟悉的語言描述的、易于維護且能體現系統(tǒng)基本結構的模型。A.系統(tǒng)需求分析 B。系統(tǒng)分析C.系統(tǒng)設計 D。系統(tǒng)實現14。在面向對象程序設計語言中,()是利用可重用成分構造軟件系統(tǒng)的最有效的特性,它不僅支持系統(tǒng)的可重用性,而且還有利于提高系統(tǒng)的可擴充性.A.封裝 B.繼承 C.抽象 D。引用15。()是從用戶使用系統(tǒng)的角度描述系統(tǒng)功能的圖形表達方法。A.類圖 B.組件圖 C.用例圖 D.配置圖16。用來描述實現某些服務所涉及的對象及其交互關系(包括消息通信)的動態(tài)視圖就稱為(),可用于描繪業(yè)務流程。A.對象圖 B。協(xié)作圖 C。狀態(tài)圖 D。活動圖17。()表示構成系統(tǒng)的代碼部件及其相互之間聯(lián)系的圖示.A。狀態(tài)圖 B.協(xié)作圖 C。組件圖 D.配置圖18。UML提供了一系列的圖支持面向對象的分析與設計,其中()描述的是系統(tǒng)的靜態(tài)組織結構和數據結構。A。序列圖B協(xié)作圖C.對象圖D。類圖.( )是描述系統(tǒng)體系結構的靜態(tài)實現視圖.A.類圖 B.對象圖C。組件圖D。配置圖.使用UML進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯(lián)系,并把它們映射成為關系數據庫表(Table)、視圖(View)等。A.物理數據模型設計 B。物理實現設計C。業(yè)務UseCase模型設計 C。邏輯數據模型設計二、填空題(每空1分,共20分).用_(1)_機制可以實現發(fā)送一個通用消息而調用不同的方法;工_2_)機制是實現信息隱蔽的一種技術,其目的是使類的_3)_相互分離..類是一組具有相同屬性和服務的對象的抽象描述,類中的每個對象都是這個類的一個_(4)_。類之間共享屬性與服務的機制叫做_(5)。一個對象通過發(fā)送—(6)_來請求另一個對象為其服務。3。派生類的生成包含三個步驟:_(7)_、_(8)_和_(9)_.。一(10)_描述完成某項行為操作的參與對象和這些對象之間傳遞消息的時間順序。一(11)_描述系統(tǒng)運行過程中某類對象可能具有的狀態(tài),以及在不同狀態(tài)間的跳轉和觸發(fā)這些跳轉的外部事件。_12可用于描述系統(tǒng)業(yè)務流程,它由一系列的動作狀態(tài)構成,動作的狀態(tài)控制可以從一個狀態(tài)流向另一個與之相鄰的狀態(tài)。.基于UML的系統(tǒng)分析的主要目標是為了更精確地理解_(13_),并獲得一個使用開發(fā)人員的語言描述的、易于維護的且能體現系統(tǒng)基本結構的(14)模型。該模型主要包括_(15_)和(16_)。.基于UML的關系數據庫設計一般可分為4個階段:(17)、(18)、(19)和(20)。三、寫出下列程序的輸出結果。(滿分10分)classB{public:B(){cout<<”B"<〈endl;}virtualvoidf(){cout〈〈"B::f"<〈endl;}virtual~B() {cout<〈"?B"〈〈endl;}};ClassD:publicB{private:intd;public:D(){cout<<”D”<<endl;}voidf() {cout〈<"D::f"<〈endl; }virtual~D(){cout〈<“?D”<〈endl;}};voidmain(){B*pB;Dd1;pB=&d1;pB-〉f();deletepB;}四。簡答題(每小題4分,共20分)。為什么面向對象方法能更有效地克服軟件危機?.如何實現運行時多態(tài)?.基于UML的面向對象系統(tǒng)開發(fā)方法包括哪幾步?.簡述確定分析類的方法。5。簡述基于UML的數據庫系統(tǒng)分析和設計的步驟.五。分析與設計題試用UML對開放式學籍管理系統(tǒng)及相關的數據庫系統(tǒng)進行分析和設計。學籍管理系統(tǒng)的主要用戶是系統(tǒng)管理員和學生:系統(tǒng)管理員使用學籍管理系統(tǒng)來實現教師信息管理、學生信息管理,課程管理、成績管理和打印報表;學生使用學籍管理系統(tǒng)來實現選課管理和成績查詢。試完成下列工作:(1)畫出學籍管理系統(tǒng)的用例圖;(6分)(2)定義學籍管理系統(tǒng)的三個基本分析類;(6分)(3)畫出學籍管理系統(tǒng)的類圖;(6分)(4)畫出學生查詢成績的活動圖;(6分)(5)學生類和課程類之間存在多對多的關聯(lián),試將這種關聯(lián)轉化為關系數據庫模式。(6分)2010-2011第二學期面向對象分析與設計試題A卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案并將正確答案的序號填在題干的括號內。每小題1分,共20分)1.面向對象分析與設計是面向對象軟件開發(fā)過程中的兩個重要階段,下列活動中,不屬于面向對象分析階段。A.構建分析模型B.識別分析類C用例動態(tài)建模D.評估分析模型2。在面向對象方法中, 可看成是屬性數據以及這些屬性數據上的專用操作的封裝體。A。實體B。類 C.類模板D.對象。類是一組具有相同屬性和相同操作的對象的集合,類中的每個對象都是這個類的一個A。實體B.實例C.用例 D.組件.一個對象通過發(fā)送 來請求另一對象為其服務.A.參數B,消息C.成員函數名D.接口函數名5?類之間共享屬性和操作的機制稱為 .A。抽象B。封裝 C。多態(tài) D。繼承6.類的設計應遵循三條基本原則。對于一個設計并實現好的類,如果需要功能上的擴充,一般來說應該通過添加新類實現,而不是修改原類的代碼。這種原則叫 。A.封裝原則 B。開放/封閉原則C。最小驚訝原則 D.單一功能原則7。一個類的只能被類的成員函數、友元函數及派生類的成員函數所訪問。A.私有成員 B。受保護性成員C。公有成員 D.純虛函數8.當對象離開其有效范圍,或被清除時,將被調用來釋放對象所占用的內存。A。靜態(tài)成員函數 B。友員函數C.構造函數 D.析構函數9。是實現一種接口,多種方法”的技術。A。抽象B。封裝 C。多態(tài) D.繼承.如果某基類的一個成員函數被說明為 ,則該成員函數在派生類中可以有不同的函數實現。A。內聯(lián)函數 B。靜態(tài)函數 C.友元函數 D.虛函數.在二進制模式下,可利用文件輸入/輸出流類中定義的——函數將所有數據以字符形式存儲到文件里.A。load B。save C。writeD。read.基類中的public成員,通過protected派生,其在派生類中的可見性為.A。pri

溫馨提示

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

評論

0/150

提交評論