




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象分析與設計試題B卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題2分,共20分).到20世紀末,面向對象軟件工程已經逐漸發展成熟,特別是( )的形成和廣泛使用,采用面向對象分析與編程的軟件開發方法已成為軟件開發的主流方法。A.Simula67語言 B.Smalltalk語言C。Java語言 D.統一建模語言(UML)的標準2。面向對象的運動產生了多種面向對象的語言,其中()是一種混合性面向對象語言,既支持面向過程的程序設計方法,又支持面向對象的程序設計方法,有廣泛應用的基礎和豐富開發環境的支持,因而使面向對象的程序設計能得到很快普及.A.Smalltalk B。Eiffel C。C++ D。Java3.下列不屬于面向對象技術的基本特征的是()。A。封裝性B.模塊性 C。多態性 D。繼承性.面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理。A.信息B.數據隱藏 C。對數據的操作D.數據抽象.關于面向對象方法的優點,下列不正確的敘述是().A。與人類習慣的思維方法比較一致 B.可重用性好C。以數據操作為中心 D.可維護性好。()是從用戶使用系統的角度描述系統功能的圖形表達方法。A.類圖 B。對象圖C.序列圖D.用例圖。 ()是表達系統類及其相互聯系的圖示,它是面向對象設計的核心,建立狀態圖、協作圖和其他圖的基礎。A.對象圖B.組件圖 C.類圖 D.配置圖.()描述了一組交互對象間的動態協作關系,它表示完成某項行為的對象和這些對象之間傳遞消息的時間順序.A.對象圖B.協作圖 C。狀態圖D。序列圖9。()就是用于表示構成分布式系統的節點集和節點之間的聯系的圖示,它可以表示系統中軟件和硬件的物理架構。A。組件圖B。協作圖 C。狀態圖 D。配置圖10.使用UML進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯系,并把它們映射成為關系數據庫表(Table)、視圖(View)等。A。業務UseCase模型設計 B.邏輯數據模型設計C。物理數據模型設計 C。物理實現設計二、填空題(每空1分,共20分).面向對象開發方法一改過去傳統的以___功能分析___為基礎的__面向過程__的結構化分析與設計方法,它模擬人們理解和處理客觀世界的方式來分析問題,把系統視為一系列__對象_的集合,其__面向對象的設計__又將分析的結果映射到某種面向對象實現工具的結構上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的_概念_,從而使面向對象的軟件開發能比較自然地模擬客觀世界的活動,使問題描述空間與_解空間__在結構上盡可能一致。因此,采用面向對象方法可以更有效地開發大型軟件系統。面向對象方法的_封裝_、_繼承_、__多態_等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現軟件系統的柔性制造,更好地克服_軟件危機__。因此,它已成為成熟的廣為采用的軟件開發方法。.對象是客觀實體的抽象表示,是由__描述對象屬性的數據__和_對這些數據進行的操作行為__兩部分組成.而_類_是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創建對象的樣板,而按照這種樣板所創建的一個個具體對象就是類的__實例__.通過_繼承__關系又可形成一種類層次結構。.UML中用于描述系統的靜態建模的視圖稱為靜態視圖,包括_用例圖__、_類圖__、_對象圖__、__包圖__和__構件圖_。三、寫出下列程序的輸出結果。(滿分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分).簡述面向對象軟件開發方法的優點。。簡述面向對象技術的三大機制。答:(1)封裝性(encapsulation)所謂封裝就是把對象的屬性和行為結合成一個獨立的單位,使外界不能直接訪問或修改這些數據和代碼,外界只能通過對象提供的接口函數來改變或獲取對象的屬性數據,這就實現了消息隱蔽.(2)繼承性如果在一個已定義的類上,增加一些特殊屬性或操作,可以形成一個新的類,這個類不僅繼承了前一個類的全部特征,而且具有新的特性,因此可看作前一個類的特例,是對前一個類的繼承.前一個類稱為父類,新產生的類叫做子類。通過繼承關系可形成一種類層次結構,叫做繼承結構。(3)多態性在類層次結構的不同類中,可用相同的函數名實現功能不同的函數。.簡述OOA模型的層次結構.答:OOA模型采用五層次結構,它們分別是:(1)對象-類層劃分待開發系統及其環境信息的基本構造單位,標出反映問題域的對象和類,并用符號進行規范的描述,用信息提供者熟悉的術語為對象和類命名。
(2)屬性層定義對象和某些結構中的數據單元,繼承結構中所有類的公共屬性可放于通用類中.標識對象類必需的屬性并放在合適的繼承層次上,屬性的特殊限制和實例連接關系也應標識出來。(3)服務層表示對象的服務或行為,即是要定義類上的操作。(4)結構層標識現實世界中對象之間的關系。當一個對象是另一個對象的一部分時,用”整體-部分”關系表示;當一個類屬于另一個類時,用類之間繼承關系表示。(5)主題層可將相關類或對象劃分為一個主題。4。簡述OOD模型的總體結構,并畫圖表示。【4】答案:OOD體系結構的各個部分內容:(1)問題論域部分,在OOA模型的基礎上,細化分析結果,設計一組構成底層應用模型的類和對象。(2)人機交互部分:設計用戶界面模型,該用戶界面模型中的類和對象提供實現人機交互操作的接口函數。用戶界面設計包括菜單設計、窗口設計、輸入/輸出界面設計等等.(3)任務管理部分:建立一些類,用以負責處理操作系統級的并發問題、中斷、調度以及其它與特定平臺有關的問題。(4)數據管理部分:提供數據管理系統中存儲和檢索對象的基本結構,包括對永久性數據的訪問和管理。數據管理設計包括:—數據存放設計:數據存放設計選擇數據存放的方式(文件存放、關系數據庫表格存放或面向對象的數據庫存放).—設計相應的操作。為每個需要存儲的對象和類增加用于存儲管理的屬性和操作,在類和對象的定義中加以描述。問題論域部位人機交互部金任務管理部處數據管理部分問題論域部位人機交互部金任務管理部處數據管理部分class&objectlayer(class&objectlayer(類及對象層)attributelayer(類及對象層)servicelayer(服務層)實例邊界structlayer(結構層)服務structlayer(結構層)服務subjectlayer(主題層)r"lF"1o主題圖1.5OOD模型的總體結構}五.試用UML對教學管理系統及相關的數據庫系統進行分析和設計。學生選課系統一般包括(1)選課管理功能;(2)成績管理功能。試完成下列工作:(1)建立系統靜態結構模型—畫出系統用例圖和類圖;(10分)(2)建立系統動態結構模型-畫出系統序列圖和協作圖;(10分)(3)建立關系數據庫邏輯模型。(10分)【答案:(1)系統用例圖如下學生,《管理老師信息學生 *管理學生信息
管理員學生,《管理老師信息學生 *管理學生信息
管理員管理課程信息?■管理開設課程學生成績管理管理員(a(a)選課管理的用例圖(b)成績管理的用例圖對象類圖如下:教師課程學生編號1* 0*課程名描述1*0*編號姓名1姓名地址中話開設課程學時選修課程地址中話課程名加入課程()學生名課程名學期授課日期授課時間地點指定老師()學生滿否() 增加記錄()選課統計() 開設課程學生成績登記課程名學生名授課日期學期授課時間課程名開設課程學生成績登記課程名學生名授課日期學期授課時間課程名地點成績指定老師()加入成績()學生滿否()打印()印1A成績統計學期課程名成績 按課程統計()按學生統計()打印() (b)成績管理對象類圖(2)把需要持久存儲的數據實體類及其聯系,映射成為如下關系數據庫表:學生(學生號、姓名、出生日期、性別、籍貫、地址、電話、入學時間、專業、班級備注)教師(教師號、姓名、出生日期、性別、籍貫、地址、電話、職稱、專長、備注)課程(課程號、課程名、描述、學分、學時、性質、備注)開設課程(課程號、學期、授課日期、授課時間、地點、選修人數、備注)】面向對象分析與設計試題C卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內.每小題1分,共20分)1。面向對象技術的最重要的基本特征是()。A.抽象性 B。封裝性C。多態性 D。繼承性面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理。A。信息B.數據隱藏C。對數據的操作D.數據抽象關于面向對象方法的優點,下列不正確的敘述是()。
B.可重用性好D.B.可重用性好D.可維護性好C.以數據操作為中心C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A。增加了一些新的運算符 B。允許函數重載,并允許設置缺省參數C.規定函數說明符必須用原型D.引進了類和對象的概念下列不屬于類的成員函數的是()。A。構造函數 B.析構函數C。友元函數 D.拷貝構造函數繼承機制的作用是()。A。信息隱藏 B。數據封裝C.派生新類 D.數據抽象類模板經過實例化而生成具體()A.對象 B.模板函數C.函數模板 D.類類的析構函數是在()調用的。A.類創建時 B。創建對象時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中的靜態視圖()A.狀態圖 B。用例圖 C.對象圖D.類圖14.在用例之間,會有三種不同的關系,下列哪個不是它們之間可能的關系(D)A.包含(include) B。擴展(extend)C。泛化C。泛化(generalization)D.關聯(connect)15.下列關于活動圖的說法錯誤的是()一張活動圖從本質上說是一個流程圖,顯示從活動到活動的控制流活動圖用于對業務過程中順序和并發的工作流程進行建模。活動圖的基本要素包括狀態、轉移、分支、分叉和匯合、泳道、對象流。D.活動圖是UML中用于對系統的靜態方面建模的五種圖中的一種16.用例(Use—case)用來描述系統在事件做出響應時所采取的行動用例之間是具有相關性的。在一個“訂單輸入子系統”中,創建新訂單和更新訂單都需要檢查用戶帳號是否正確。那么,用例“創建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是()關系A。擴展(extend) B.包含(include)C.分類(classification) D.聚集(aggregation).UML中類的有三種,下面哪個不是其中之一()A.實體類 B.抽象類 C.控制類 D.邊界類.閱讀圖例,判斷下列哪個說法是錯誤的。( )- f<<:inc5ude?A <-> O讀者 點書 - Q可查詢1
.,<^ex1errd^>"-。交納費金A。讀者可以使用系統的還書用例B.每次執行還書用例都要執行圖書查詢用例C.每次執行還書用例都要執行交納罰金用例D。執行還書用例有可能既執行圖書查詢用例,又執行交納罰金用例.關于協作圖的描述,下列哪個不正確(B)A。協作圖作為一種交互圖,強調的是參加交互的對象的組織;B。協作圖是順序圖的一種特例C。協作圖中有消息流的順序號;D。在ROSE工具中,協作圖可在順序圖的基礎上按用5”鍵自動生成;.在UML中,()把活動圖中的活動劃分為若干組,并將劃分的組指定給對象這些對象必須履行該組所包括的活動,它能夠明確地表示哪些活動是由哪些對象完成的。A.組合活動 B.同步條 C.活動 D.泳道二、填空題(每空1分,共20分)1。對象是客觀實體的抽象表示,是由和兩部分組成。而是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創建對象的樣板,而按照這種樣板所創建的一個個具體對象就是類的。通過關系又可形成一種類層次結構.在類層次結構的不同類中,可用相同的函數名實現功能不同的函數,面向對象技術的這種特性叫做2。UML從不同的視角為系統架構建模,可產生九種視圖:、、、、、、、 、 。3。 是用來反映若干個對象之間動態協作關系的一種交互圖。它主要反映對象之間已發送消息的先后次序和對象之間的交互過程。 是用來描述實現某些服務所涉及的對象及其相互之間的關系(包括消息通信)的動態視圖。建模者可以選擇 來反映對象之間的協作關系;如果需要強調時間和序列,最好選擇 ;如果需要強調上下文相關,最好選擇 。三、寫出下列程序的輸出結果。(滿分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分).簡述統一建模語言UML的優點。.簡述面向對象技術的三大機制。。簡述面向對象分析的基本步驟。.簡述OOD模型的總體結構,并畫圖表示。5。應用UML進行系統分析和設計所需建立視圖有那幾種?五。試用UML對圖書管理系統及相關的數據庫系統進行分析和設計。圖書管理系統應實現(1)借書;(2)還書;(3)圖書資料和借閱信息查詢;(4)系統維護。試完成下列工作:(1)建立系統靜態結構模型—畫出系統用例圖和類圖;(10分)(2)建立系統動態結構模型—畫出序列例圖和協作圖;(10分)(2)建立關系數據庫邏輯模型。(10分)面向對象分析與設計試題D卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內.每小題1分,共20分).到20世紀末,面向對象軟件工程已經逐漸發展成熟,特別是( )的形成和廣泛使用,采用面向對象分析與編程的軟件開發方法已成為軟件開發的主流方法.A.Simula67語言 B。Smalltalk語言C.Java語言 D。統一建模語言(UML)的標準2.下列不屬于面向對象技術的基本特征的是().A。封裝性B.模塊性 C。多態性 D.繼承性面向對象程序設計將描述事物的數據與()封裝在一起,作為一個相互依存、不可分割的整體來處理.A。信息B。數據隱藏 C。對數據的操作D。數據抽象C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A.增加了一些新的運算符 B.允許函數重載,并允許設置缺省參數C。規定函數說明符必須用原型D.引進了類和對象的概念下列不屬于類的成員函數的是()。A。構造函數B。析構函數 C.友元函數D。拷貝構造函數繼承機制的作用是()。A。信息隱藏B。數據封裝 C。派生新類 D.數據抽象通常對象有很多屬性,但對于外部對象來說某些屬性應該不能被直接訪問,下面哪個不是UML中的類成員訪問限定符()A.公有的 B。受保護的 C.友員的D。私有的類模板經過實例化而生成具體()A。對象B。模板函數C。函數模板 D.類類的構造函數是在()調用的.A。類創建時 B.創建對象時C.刪除對象時 D。不自動調用10在公有繼承的情況下,基類成員在派生類中的訪問權限()A.受限制B。保持不變C。受保護 D。不受保護11.C++語言通過()來建立類族。A.類的嵌套 B。類的繼承C.虛函數D。抽象類12。UML提供了4種結構圖用于對系統的靜態方面進行可視化、詳述、構造和文檔化其中()是面向對象系統建模中最常用的圖,用于說明系統的靜態設計視圖A。用例圖B.類圖C。對象圖D。序列圖.當需要描述體系結構的靜態實施視圖時,應該選擇()。A.對象圖B.組件圖 C。類圖 D。配置圖.用例(Use-case)用來描述系統在事件做出響應時所采取的行動。用例之間是具有相關性的。在一個“訂單輸入子系統"中,創建新訂單和更新訂單都需要檢查用戶帳號是否正確。那么,用例“創建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是()關系.A。擴展(extend) B.包含(include)C。分類(classification) D.聚集(aggregation).()是描述系統中在某一時刻,一組對象以及它們之間關系的圖形,其可以看作是類圖在系統某一時刻的實例.A.組件圖 B.類圖C.對象圖 D.部署圖16。順序圖是強調消息隨時間順序變化的交互圖,下面哪個不是用來描述順序圖的組成部分()A。狀態 B.生命線C.激活期 D。類角色17。下面哪個選項中有不是活動圖中的基本元素()A.狀態、分支 B.狀態、匯合C。泳道、轉移 D。信號、轉移.以下是圖書管理系統中的相關類,屬于邊界類的是()A.書類 B.借書操作界面類C。書籍管理類D。讀者類.在用UML進行數據庫的分析與設計過程中,()就是進行數據庫的需求分析,使用用例圖、類圖、順序圖、活動圖等建立業務模型.A。邏輯數據模型設計 B業務UseCase模型設計C。物理數據模型設計 D.物理實現設計.使用UML進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯系,并把它們映射成為關系數據庫表(Table)、視圖(View)等.A。業務UseCase模型設計 B.邏輯數據模型設計C.物理數據模型設計 C。物理實現設計二、填空題(每空1分,共20分).UML中用于描述系統的靜態建模的視圖稱為靜態視圖,包括 、 、 和 。用于描述系統的動態建模的視圖稱為動態視圖,包括 、 、 和 。。對象是客觀實體的抽象表示,是由 和 兩部分組成.而 是對具有相同屬性和行為的一組對象的抽象描述。因此,它可作為一種用戶自定義類型和創建對象的樣板,而按照這種樣板所創建的一個個具體對象就是類的 通過 關系又可形成一種類層次結構。.是美國Rational公司的面向對象建模工具,利用這個工具可以建立用描述的的模型,而且可以自動生成和維護C++、Java、VB、Oracle等語言和系統的代碼。 的界面分為三個部分—— 窗口、 窗口和 窗口。三、寫出下列程序的輸出結果。(滿分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的優點。.簡述面向對象技術的三大機制。3。簡述OOA模型的層次結構.4.簡述OOD模型的總體結構,并畫圖表示。5。應用UML進行數據庫系統分析和設計步驟。五.試用UML對網上超市系統及相關的數據庫系統進行分析和設計.請完成下列工作:(1)建立系統靜態結構模型—畫出系統用例圖和類圖;(10分)(2)建立系統動態結構模型-畫出序例圖和活動圖;(10分)(2)建立關系數據庫邏輯模型。(10分)2009—2010第一學期面向對象分析與設計試題一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題1分,共20分)()常常被定義成虛函數.A.構造函數B.析構函數C.友元函數 D。靜態函數()是對具有相同屬性和行為的對象集合的抽象描述A。系統B.實體 C。對象 D。類封裝的目的是實現信息的有效()A。共享 B。隱蔽C。操作 D.繼承()是實現“一種接口,多種方法”的技術。A.抽象性B。封裝性 C。多態性D.繼承性5。C++對C語言作了很多改進,即從面向過程變成為面向對象的主要原因是()。A。增加了一些新的運算符 B。引進了類和對象的概念C.允許類的繼承和派生 D.允許函數重載.繼承機制的作用是().A。信息隱藏 B。數據封裝 C.數據抽象 D.軟件重用.()經過實例化而生成具體的類。A.對象B。函數模板 C.類模板D.STL。類的構造函數是在()調用的。A。類創建時 B.創建對象時C。刪除對象時 D.不自動調用9。在保護性繼承的情況下,基類的public和protected成員在派生類中變為()成員。A.公有B.私有C.受保護D.任意10。下列哪種做法不符合面向對象設計的原則( )。類與類之間的耦合應該很松散繼承耦合應盡可能松散繼承耦合應盡可能緊密D.設計應該具有最優的可重用性11.()是從用戶使用系統的角度描述系統功能的圖形表達方法。A.對象圖B。類圖C。序列圖D.用例圖12.在對象模型中,()體現了繼承性概念.A。關聯B。依賴關系 C。泛化關系 D。聚合/組合關系. ()是面向對象設計的核心,建立狀態圖、協作圖和其他圖的基礎.A.對象圖B.組件圖C.類圖D.序列圖.下面哪個是UML中的動態視圖()A.用例圖 B.類圖 C。對象圖D。序列圖15.下列說法錯誤的是()A.活動圖不能用于描述系統業務流程。活動圖由一系列的動作狀態構成,動作的狀態控制可以從一個狀態流向另一個與之相鄰的狀態。活動圖還可以表示決策、條件、動作狀態的并行執行、消息的規范說明等內容。協作圖可以用來描繪系統業務流程。16.在一個“圖書管理系統”中,借書處理和還書處理都需要先通過身份驗證。那么,用例“借書處理”、“還書處理”與用例“身份驗證”之間是()關系A。特化 B。泛化 C.使用 D。擴展17.()就是用于表示構成分布式系統的節點集和節點之間的聯系的圖示,它可以表示系統中軟件和硬件的物理架構。A.對象圖 B。類圖 C。組件圖 D.配置圖18.閱讀圖例,判斷下列哪個說法是錯誤的.( )《■ 「—<^indkjde?A <ZD諫者 還書一 國可查詢1一,X。交納北金A。讀者可以使用系統的還書用例B.每次執行還書用例都要執行圖書查詢用例C。執行還書用例有可能既執行圖書查詢用例,又執行交納罰金用例D。每次執行還書用例都要執行交納罰金用例.()描述了一組交互對象間的動態協作關系,它表示完成某項行為操作的參與對象和這些對象之間傳遞消息的時間順序。A。協作圖B。序列圖C。對象圖D.組件圖.()能夠更好地用于對數據庫建模.A.傳統的ER圖 B.UML的用例圖C.UML的類圖 D.數據流圖二、填空題(每空1分,共20分).面向對象開發方法模擬人們理解和處理客觀世界的方式來」1__問題,把系統視為一系列一()__的集合,其面向對象的一0_又將分析的結果映射到某種面向對象」4__工具的結構上,使映射過程有著比較直接的對應關系,使分析者、設計者和編程者都可使用相同的概念,從而使面向對象的軟件開發能比較自然地模擬客觀世界的活動,使一(5)—空間與_(6)__空間在結構上盡可能一致。因此,采用面向對象方法可以更有效地開發大型軟件系統。面向對象方法的一(7)__、,8)__、 _(9)__態等機制不僅支持軟件復用,而且使軟件維護工作可靠有效,可實現軟件系統的柔性制造,更好地克服__3^.因此,它已成為成熟的廣為采用的軟件開發方法。到20世紀末,面向對象軟件工程逐漸發展成熟,特別是一(11__的形成和廣泛使用,使面向對象軟件開發方法已成為軟件開發的主流技術.2。UML通過9種視圖來為系統建模,這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的面向對象系統開發方法的基本步驟..簡述基于UML的關系數據庫設計的方法步驟。五、請用UML對圖書借閱管理系統及相關的數據庫系統進行分析和設計.圖書管理系統應實現圖書資料和借閱信息查詢、借書、還書以及系統維護功能操作。試完成下列工作:(1)畫出讀者用例圖(5分)(2)畫出“讀者查詢圖書信息”用例的序列圖和協作圖(10分)(3)畫出設計類圖(10分);(4)“讀者"與“圖書"類之間存在多對多的關聯,試將這種關聯轉化為一個關聯表.(5分)---2010—2011第一學期面向對象分析與設計試題一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題1分,共20分).()是對具有相同屬性和行為的一組對象的抽象描述。A。實體B。對象 C.類模板D.類。一類對象向另一類對象所發消息的格式中不包括().A.對象名B.操作函數名C.參數表 D。類名3.面向對象技術的三大機制不包括( ).A.抽象B.封裝 C。多態 D。繼承4。從整體功能層面考慮類的設計應遵循下列三條原則,除了( )。A.單一功能原則 B。封裝原則C.最小驚訝原則C.最小驚訝原則5。可以在類外訪問類的(A.私有成員C.公有成員D。開放/封閉原則)。B。受保護性成員D.純虛函數C.基類對象的指針C.基類對象的指針D.派生類對象的指針.類的( )是供創建類的實例對象時調用,完成對象的初始化.A.內聯函數 B。析構函數 C。友員函數D。構造函數.派生類可以繼承()。A。私有成員 B。部分公有成員C.構造函數 D。析構函數。如果合理地利用(),就可以在類的復雜層次關系中為共享訪問與成員隱蔽之間找到一個平衡點,既實現部分成員隱蔽,又能方便部分成員的繼承,實現代碼的高效重用和擴充。A。私有繼承B。保護繼承C。公有繼承D.多繼承.如果將某類族中的一個同名成員函數說明為虛函數,則可用()來調用不同派生類的虛函數,實現運行時多態.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.()階段的主要目標是為了更精確地理解用戶需求,并獲得一個使用開發人員熟悉的語言描述的、易于維護且能體現系統基本結構的模型。A.系統需求分析 B。系統分析C.系統設計 D。系統實現14。在面向對象程序設計語言中,()是利用可重用成分構造軟件系統的最有效的特性,它不僅支持系統的可重用性,而且還有利于提高系統的可擴充性.A.封裝 B.繼承 C.抽象 D。引用15。()是從用戶使用系統的角度描述系統功能的圖形表達方法。A.類圖 B.組件圖 C.用例圖 D.配置圖16。用來描述實現某些服務所涉及的對象及其交互關系(包括消息通信)的動態視圖就稱為(),可用于描繪業務流程。A.對象圖 B。協作圖 C。狀態圖 D。活動圖17。()表示構成系統的代碼部件及其相互之間聯系的圖示.A。狀態圖 B.協作圖 C。組件圖 D.配置圖18。UML提供了一系列的圖支持面向對象的分析與設計,其中()描述的是系統的靜態組織結構和數據結構。A。序列圖B協作圖C.對象圖D。類圖.( )是描述系統體系結構的靜態實現視圖.A.類圖 B.對象圖C。組件圖D。配置圖.使用UML進行關系數據庫的()時,需要設計出表達持久數據的實體類及其聯系,并把它們映射成為關系數據庫表(Table)、視圖(View)等。A.物理數據模型設計 B。物理實現設計C。業務UseCase模型設計 C。邏輯數據模型設計二、填空題(每空1分,共20分).用_(1)_機制可以實現發送一個通用消息而調用不同的方法;工_2_)機制是實現信息隱蔽的一種技術,其目的是使類的_3)_相互分離..類是一組具有相同屬性和服務的對象的抽象描述,類中的每個對象都是這個類的一個_(4)_。類之間共享屬性與服務的機制叫做_(5)。一個對象通過發送—(6)_來請求另一個對象為其服務。3。派生類的生成包含三個步驟:_(7)_、_(8)_和_(9)_.。一(10)_描述完成某項行為操作的參與對象和這些對象之間傳遞消息的時間順序。一(11)_描述系統運行過程中某類對象可能具有的狀態,以及在不同狀態間的跳轉和觸發這些跳轉的外部事件。_12可用于描述系統業務流程,它由一系列的動作狀態構成,動作的狀態控制可以從一個狀態流向另一個與之相鄰的狀態。.基于UML的系統分析的主要目標是為了更精確地理解_(13_),并獲得一個使用開發人員的語言描述的、易于維護的且能體現系統基本結構的(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分)。為什么面向對象方法能更有效地克服軟件危機?.如何實現運行時多態?.基于UML的面向對象系統開發方法包括哪幾步?.簡述確定分析類的方法。5。簡述基于UML的數據庫系統分析和設計的步驟.五。分析與設計題試用UML對開放式學籍管理系統及相關的數據庫系統進行分析和設計。學籍管理系統的主要用戶是系統管理員和學生:系統管理員使用學籍管理系統來實現教師信息管理、學生信息管理,課程管理、成績管理和打印報表;學生使用學籍管理系統來實現選課管理和成績查詢。試完成下列工作:(1)畫出學籍管理系統的用例圖;(6分)(2)定義學籍管理系統的三個基本分析類;(6分)(3)畫出學籍管理系統的類圖;(6分)(4)畫出學生查詢成績的活動圖;(6分)(5)學生類和課程類之間存在多對多的關聯,試將這種關聯轉化為關系數據庫模式。(6分)2010-2011第二學期面向對象分析與設計試題A卷一、單項選擇題(在每小題的四個備選答案中,選出一個正確答案并將正確答案的序號填在題干的括號內。每小題1分,共20分)1.面向對象分析與設計是面向對象軟件開發過程中的兩個重要階段,下列活動中,不屬于面向對象分析階段。A.構建分析模型B.識別分析類C用例動態建模D.評估分析模型2。在面向對象方法中, 可看成是屬性數據以及這些屬性數據上的專用操作的封裝體。A。實體B。類 C.類模板D.對象。類是一組具有相同屬性和相同操作的對象的集合,類中的每個對象都是這個類的一個A。實體B.實例C.用例 D.組件.一個對象通過發送 來請求另一對象為其服務.A.參數B,消息C.成員函數名D.接口函數名5?類之間共享屬性和操作的機制稱為 .A。抽象B。封裝 C。多態 D。繼承6.類的設計應遵循三條基本原則。對于一個設計并實現好的類,如果需要功能上的擴充,一般來說應該通過添加新類實現,而不是修改原類的代碼。這種原則叫 。A.封裝原則 B。開放/封閉原則C。最小驚訝原則 D.單一功能原則7。一個類的只能被類的成員函數、友元函數及派生類的成員函數所訪問。A.私有成員 B。受保護性成員C。公有成員 D.純虛函數8.當對象離開其有效范圍,或被清除時,將被調用來釋放對象所占用的內存。A。靜態成員函數 B。友員函數C.構造函數 D.析構函數9。是實現一種接口,多種方法”的技術。A。抽象B。封裝 C。多態 D.繼承.如果某基類的一個成員函數被說明為 ,則該成員函數在派生類中可以有不同的函數實現。A。內聯函數 B。靜態函數 C.友元函數 D.虛函數.在二進制模式下,可利用文件輸入/輸出流類中定義的——函數將所有數據以字符形式存儲到文件里.A。load B。save C。writeD。read.基類中的public成員,通過protected派生,其在派生類中的可見性為.A。pri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省菏澤市高三10月期中考-政治試題(含答案)
- 中醫專長培訓定制班一學員協議書
- 2024年河北省中等職業對口升學中職英語真題(解析版)
- 2025年泰安貨運從業資格證試題及答案
- 脊柱外科相關知識
- 2025年份第二季度職業柔道俱樂部寢技專家訓練器械維護協議
- 工程售后服務協議書
- 股權轉讓附條件協議
- 二零二五版房屋合租協議
- 建設加油加氣加氫充電一體站項目可行性研究報告寫作模板-拿地申報
- 《電力機車制動機》 課件 項目三 CCB-II制動系統
- 乳豬料生產工藝
- 醫療放射事故應急處理與輻射泄漏處置培訓課件
- 蔚來培訓課件
- 山東省地震安全性評價收費項目及標準
- 牙周病的護理課件
- 腎上腺占位的教學查房課件
- 護理人員緊急調配方案課件
- 機房搬遷服務投標方案(技術標)
- 銀行跨境人民幣結算業務創新與營銷策略
- TY/T 1103-2023群眾體育賽事活動辦賽指南編制內容與評估指引
評論
0/150
提交評論