UML軟件建模復(fù)習(xí)題_第1頁
UML軟件建模復(fù)習(xí)題_第2頁
UML軟件建模復(fù)習(xí)題_第3頁
UML軟件建模復(fù)習(xí)題_第4頁
UML軟件建模復(fù)習(xí)題_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、附件:UML2軟件建模課程代號(00000)同步練習(xí)題二O一五年一月目錄第1章 概述1第2章 用例與用例圖5第3章 類與接口14第4章 關(guān)系建模21第5章 其他結(jié)構(gòu)建模27第6章 交互與交互圖29第7章 狀態(tài)機與狀態(tài)圖36第8章 活動與活動圖43第9章 構(gòu)件與構(gòu)件圖48第10章 制品、結(jié)點與部署圖51第1章 概述第1章 概述一、單項選擇題1下面不是面向?qū)ο笤O(shè)計基本特性的是( a )。 A.一致性 B.封裝性 C.多態(tài)性 D.繼承性2. 關(guān)于繼承性,下列說法錯誤的是(c ) A. 子類不能直接訪問其超類的私有特征,但子類繼承其超類的私有特征。 B. 子類的對象可代替其父類的對象。 C. 子類和超

2、類相互依賴。 D. 當(dāng)一個子類實例化創(chuàng)建一個對象時,該子類的超類也將實例化。3. UML的概念模型不包括( a ) A.應(yīng)用領(lǐng)域 B.規(guī)則 C.基本構(gòu)造塊 D.公共機制4. UML圖不包括( d ) A.用例圖 B.類圖 C.狀態(tài)圖 D.流程圖5. 面向?qū)ο笤O(shè)計的基本特性除了封裝和多態(tài)之外,還包括( c ) A.一致性 B.完整性 C.繼承性 D.可移植性6. 關(guān)于繼承性,下列說法錯誤的是( d ) A.父類的protected成員可被其子類訪問。 B.子類的對象可代替其父類的對象。 C.子類的每個對象都是其父類的一個對象。 D.一個父類可以有多個子類,每個子類只能有一個父類。7. 在面向?qū)ο?/p>

3、設(shè)計中,關(guān)于繼承性,下面說法錯誤的是(b ) A.子類不但繼承超類的屬性和操作,也繼承超類的關(guān)聯(lián)。 B.子類繼承超類的特性,但并不繼承其私有特性。 C.子類的每個對象都是其超類的一個對象,所以子類的對象可代替其超類的對象。 D.超類的protected成員可被其子類訪問。8. 面向?qū)ο蟮姆庋b有三個層面的解釋,不屬于這三個層面的是( c ) A.對象的封裝 B.類的封裝 C.接口的封裝 D.包的封裝9. 好模型的應(yīng)該符合的條件是(a ) 規(guī)范性 正確性 一致性 完備性 獨立性 A. B. C. D.10. 關(guān)于對象和實例的概念,下面說法錯誤的是( c ) A.對象是由類經(jīng)實例化創(chuàng)建而來的。 B.

4、一個對象是一個實例。 C.一個實例也是一個對象。 D.一個對象是屬性和行為的一個封裝體。11. 下面哪個不是UML中的靜態(tài)視圖( a ) A.狀態(tài)圖 B.用例圖 C.對象圖 D.類圖12. 下面關(guān)于正向工程與逆向工程的描述,哪個不正確( c ) A.正向工程是通過到實現(xiàn)語言的映射而把模型轉(zhuǎn)換為代碼的過程。 B.逆向工程是通過從特定實現(xiàn)語言的映射而把代碼轉(zhuǎn)換為模型的過程。 C.正向工程是通過從特定實現(xiàn)語言的映射而把代碼轉(zhuǎn)換為模型的過程。 D.正向工程與逆向工程可以通過rose支持來實現(xiàn)。13. 在結(jié)構(gòu)化程序設(shè)計思想中,不屬于程序三種基本控制結(jié)構(gòu)的是( c ) A.順序 B.循環(huán) C.嵌套 D.選

5、擇14. 在面向?qū)ο蟮姆椒▽W(xué)中,封裝的目的是分離對象的( d )。 A.定義和實現(xiàn) B.設(shè)計和測試 C.設(shè)計和實現(xiàn) D.分析和定義二、填空題1. 對象的_行為_用于管理維護對象的狀態(tài),可能是改變狀態(tài),也可能讀取狀態(tài)。2. 面向?qū)ο笾饕w現(xiàn)為人們觀察分析世界的一種_思維_方式,而不局限于軟件設(shè)計和編程。3. 靜態(tài)的操作往往用于管理靜態(tài)的性質(zhì),但靜態(tài)操作中沒有_當(dāng)前對象_的概念。4. _模型_是基于圖形的表示,以可視化方式,形象直觀地描述系統(tǒng)的特征。5. 結(jié)合軟件開發(fā)過程,模型往往可劃分為業(yè)務(wù)模型、_分析模型_、設(shè)計模型、測試模型等。三、名詞解釋題1. 對象2. 多態(tài)性3. 行為圖4. 封裝性5.

6、 結(jié)構(gòu)圖四、簡答題1. 對象的概念是什么?2. 如何理解對象的封裝?3. 好模型的標(biāo)準(zhǔn)是什么?4. 什么是面向?qū)ο蠼#?. 為什么要建模?6. 使用建模工具的好處是什么?7. 如何描述系統(tǒng)的語境?參考答案一、單項選擇題 1A 2C 3A 4C 5C 6D 7B 8C 9A 10C11A 12C 13C 14D二、填空題1. 行為 2. 思維 3. 當(dāng)前對象 4. 模型 5. 分析模型三、名詞解釋題1. 一個對象是:具有明確定義的邊界和唯一標(biāo)識(identity)的一個實體(entity)。 狀態(tài)和行為的一個封裝體。 類的一個實例(instance)。2. 多態(tài)性的一般性含義是,某一論域中的一

7、個元素可以有多種具體解釋。編程語言中的重載(overload)和類屬(generic)都是多態(tài)性機制。3. 行為圖表示系統(tǒng)中對象的動態(tài)行為,包括用例、交互、狀態(tài)機、活動等。一個系統(tǒng)的動態(tài)行為可描述為隨時間而進行的一系列變化,但用例除外。24. 封裝是一種自然的構(gòu)造,目的是保護內(nèi)部;面向?qū)ο蠓庋b就是把表示狀態(tài)的各個性質(zhì)和對狀態(tài)的各個操作包裝成對象類型,使得對對象狀態(tài)的存取只能通過封裝提供的接口來進行。5. 結(jié)構(gòu)圖用于表示系統(tǒng)中的靜態(tài)結(jié)構(gòu),描述運行時刻不變的特征,與時間無關(guān)的元素,可描述抽象的概念,也可描述現(xiàn)實世界中的事實。四、簡答題1. 一個對象是: 具有明確定義的邊界和唯一標(biāo)識(identit

8、y) 的一個實體(entity)。狀態(tài)和行為的一個封裝體。 類的一個實例(instance)。2. 一個對象封裝了自己的狀態(tài)和行為。在運行時刻,對象的狀態(tài)表示為一組性質(zhì)的值,一個對象持有自己的性質(zhì)的值,而且通過自己的行為對自己的狀態(tài)施加管理。3. 好模型并沒有統(tǒng)一的、明確的標(biāo)準(zhǔn),但可以從達到建模目的的程度來判定其質(zhì)量優(yōu)劣,即規(guī)范設(shè)計、可視化、構(gòu)建、存檔??梢园岩惶啄P妥鳛橐粋€邏輯系統(tǒng),“好”模型應(yīng)符合以下幾個條件:規(guī)范性、 正確性、一致性、完備性。4. 面向?qū)ο蠼⒈唤J挛锒伎醋鲗ο?,然后再描述其結(jié)構(gòu)和行為。整個運行系統(tǒng)可看作一個對象,來考察其使用案例(use case) 所表現(xiàn)的功能。面

9、向?qū)ο蠼J且环N建模規(guī)范。面向?qū)ο蠼J且环N軟件建模方法,即采用對象、類、接口等基本概念,采用封裝性、繼承性、多態(tài)性等進行建模,得到的模型被稱為對象模型。5. 建模是為了能更好地理解復(fù)雜系統(tǒng)。人的大腦一次只能處理有限的信息,人對復(fù)雜問題的理解能力是有限的。建模的最根本目的就是在動手構(gòu)建系統(tǒng)之前先來理解它。6. 規(guī)范,便于建檔和共享;能支持正向工程,從模型( 主要是類圖) 能生成源代碼框架;能支持逆向工程,從源代碼生成模型,起碼能生成類圖。一些工具還能支持Roundtrip工程,即正向和逆向互動,模型(如類圖)與源代碼都能更改,也能自動保持一致。7. 描述語境UML的做法是建立一個矩形框,在左上

10、角命名來描述特定語境,將參與者放在矩形框之外并與系統(tǒng)進行交互。為了對系統(tǒng)的行為建模,將一組相關(guān)用例納入矩形框中,表示系統(tǒng)對外提供的功能。第2章 用例與用例圖第2章 用例與用例圖一、單項選擇題1. 在一個“訂單處理系統(tǒng)”中,下新訂單和更新訂單都要核查用戶賬號是否正確,則用例“下新訂單”、“更新訂單”與用例“核查用戶賬號”之間的關(guān)系是( d ) A.泛化 B.實現(xiàn) C. 擴展 D.包含2. 在UML提供的圖中,用于描述系統(tǒng)與外部系統(tǒng)及用戶之間的交互的圖是( a ) A.用例圖   B.類圖   C.對象圖  D.部署圖3. 關(guān)于用例之間的包含和擴展關(guān)系,下面說法錯誤的

11、是( c ) A.包含是指一個用例含有另一個用例的行為。 B.包含關(guān)系是一種依賴關(guān)系,指向被包含的用例。 C.擴展關(guān)系是從一個擴展用例到一個被擴展用例的一種泛化關(guān)系。 D.擴展關(guān)系規(guī)范了擴展用例的行為如何及何時插入到被擴展用例的行為之中。4. UML中,用例圖展示了外部Actor與系統(tǒng)所提供的用例之間的連接,UML中的外部Actor是指( d ) A.人 B.硬件設(shè)備 C.人和硬件設(shè)備 D.人、硬件設(shè)備或外部系統(tǒng)5. 下列關(guān)于用例圖的描述,錯誤的是( d ) A.用例圖中的參與者和用例之間是關(guān)聯(lián)關(guān)系。 B.包含是用例之間的一種依賴關(guān)系,指向被包含的用例。 C.參與者和參與者之間、用例和用例之間

12、都可能出現(xiàn)泛化關(guān)系。 D.擴展關(guān)系規(guī)范了擴展用例的行為如何及何時插入到被擴展用例的行為之中,由被擴展用例指向擴展用例。6. 在用例圖中,關(guān)于參與者與角色,下面說法錯誤的是(c ) A.一個參與者actor表示與系統(tǒng)交互的一種角色。 B.一個參與者與特定的用例之間具有關(guān)聯(lián)關(guān)系。 C.參與者只能表示特定用戶所扮演的角色。 D.參與者之間可能有泛化關(guān)系。7. 下面關(guān)系中不適合描述用例之間關(guān)系的是(b ) A.包含 B.關(guān)聯(lián) C.擴展 D.泛化8. 如果對銀行ATM的常用功能進行建模,包括取款、存款、轉(zhuǎn)賬、查詢等,可以用來表示該系統(tǒng)的功能需求的是(b ) A.序列圖 B.用例圖 C.活動圖 D.對象圖

13、9. 在銀行ATM建模中,每次取款或轉(zhuǎn)賬都要求登錄系統(tǒng),那么登錄系統(tǒng)與它們之間的關(guān)系就是(b ) A.包含用例 B.被包含用例 C.擴展用例 D.被擴展用例10. 關(guān)于用例,下面說法是錯誤的是( b ) A.一個用例表示了系統(tǒng)中的一部分功能和行為。 B.一個用例也描述了一個功能如何實現(xiàn)。 C.一個用例抽象了一組動作的規(guī)范。 D.一個用例的動作的執(zhí)行會產(chǎn)生可觀察的結(jié)果。11. 在圖書管理系統(tǒng)的用例圖中,還書用例和罰款用例之間是( b )關(guān)系 A.包含 B.擴展 C.分類 D.聚集12. 在用例之間,會有三種不同的關(guān)系,下列哪個不是他們之間的關(guān)系(a )。 A.聚集 B.泛化 C.擴展 D.包含1

14、3. 在確定用例名時,一般使用( c)來表示。 A.名詞 B.形容詞 C.動詞 D.代詞14. 一個用例中加入一些新的動作后則構(gòu)成了另一個用例,這兩個用例之間的關(guān)系是( c) A.聚集 B.泛化 C.擴展 D. 包含15. 參與者與用例之間的關(guān)系是( d ) A.包含 B.擴展 C.泛化 D.關(guān)聯(lián)二、填空題下圖是圖書管理系統(tǒng)中的用例圖,完成14題:1. 圖中Get book和GetWithFine的關(guān)系是_延伸(或擴展)_。2. 這種關(guān)系只是在特定的稱為_延伸(或擴展)_點發(fā)生。3. Get book稱為_基(或被延伸 或被擴展)_用例。4. Lend book和Check user acco

15、unt的關(guān)系是_包含_。上圖是飲料銷售系統(tǒng)的用例圖,完成58題:5. 圖中購買飲料和購買一瓶飲料的關(guān)系是_泛化_。6. 供貨和根據(jù)銷售情況供貨的關(guān)系是_延伸(或擴展)_。7. 取錢和打開銷售機的關(guān)系是_包含 _。8. 顧客和購買飲料的關(guān)系是_關(guān)聯(lián)_。根據(jù)下圖完成1921題:9. 貸款客戶與借款用例之間的關(guān)系是_關(guān)聯(lián)關(guān)系_。10. 還款用例與計息用例之間的關(guān)系是_包含關(guān)系_。11. 相對于還款用例和還息用例,計息用例稱為_ _包含_用例。三、名詞解釋題1. 用例2. 參與者3. 擴展關(guān)系4. 包含關(guān)系四、簡答題1. 用例之間的關(guān)系有哪些?2. 用例的作用是什么?3. 用例建模的重要性是什么?4.

16、 包含關(guān)系和擴展關(guān)系的區(qū)別是什么?5. 用例圖的作用是什么?五案例分析題1. 為某企業(yè)建立一個人事管理系統(tǒng)。有以下需求:n 總經(jīng)理可創(chuàng)建部門、撤銷部門、更改部門的名稱、安排部門經(jīng)理,也能對人員指派部門;n 人事部門的工作人員可建立員工的人事檔案,應(yīng)包括身份證號、姓名、性別、出生日期等;n 部門經(jīng)理可為本部門添加新員工、確定員工的工資、也可解除本部門的特定員工;n 員工可修改自己的個人信息,如聯(lián)系電話、Email等,也可查看本部門的其他員工的信息。 根據(jù)以上描述,結(jié)合常識和邏輯推理,建立用例圖來表示系統(tǒng)的功能。2. 某大學(xué)教務(wù)部計劃采用計算機管理學(xué)生選課的過程,以幫助管理人員更快、更好的做好選課

17、管理工作。其功能如下: n 教務(wù)處課程管理人員顯示本學(xué)期可以選擇的課程; n 學(xué)生選課完畢后,學(xué)校的財務(wù)系統(tǒng)記錄學(xué)生的繳費金額n 在選定后的一段時間內(nèi),學(xué)生可以添加、刪除選定的課程。 n 教師可以通過選課系統(tǒng)得到選修自己課程的學(xué)生名單。 n 學(xué)生和教師登錄時需要驗證。 在需求分析階段,采用UML的用例圖描述該系統(tǒng)的功能需求。3. 現(xiàn)有一個新生注冊管理系統(tǒng)。超級管理員可以為不同部門、不同工作人員進行 “權(quán)限設(shè)置”,并可以對數(shù)據(jù)信息進行管理。各部門領(lǐng)導(dǎo),可以根據(jù)實際情況隨時查看學(xué)生信息、班級信息,宿舍信息并可以查詢已交費注冊的學(xué)生打印發(fā)票。各部門領(lǐng)導(dǎo)和超級管理員,都可以設(shè)置工作人員在招生工作中的角

18、色。工作人員可以對學(xué)生的收費進行錄入、修改、學(xué)號或姓名查詢,也可以對學(xué)生學(xué)號、學(xué)期、成績進行管理,也可以調(diào)整班級。工作人員對繳費注冊學(xué)生分配或調(diào)整宿舍,使注冊的學(xué)生能入住。工作人員可以根據(jù)實際工作需要查詢統(tǒng)計出新生注冊報到人數(shù)、宿舍入住情況、男女生人數(shù)、各地區(qū)人數(shù)等匯總信息。工作人員對學(xué)生交來的檔案進行管理。新生通過該系統(tǒng)進行報道注冊。請根據(jù)上述描述,繪制新生報到注冊系統(tǒng)的用例圖。4. 試畫出網(wǎng)上選課系統(tǒng)的用例圖。 用例有:登錄;找回密碼;查看課程信息;按課程編號查詢;按課程名查詢;選擇課程;刪除已選課程;維護課程信息;參與者有系統(tǒng)管理員與學(xué)生。5. 描述學(xué)校圖書管理系統(tǒng)中的功能需求。系統(tǒng)中主

19、要滿足借書者、圖書管理員需求。對借書者來說主要是查詢個人信息、查詢圖書信息、預(yù)定當(dāng)前正在被別人借閱的圖書、借閱圖書和 返還圖書等;圖書管理員是系統(tǒng)的主要使用者,負責(zé)借書處理和還書處理,當(dāng)讀者預(yù)定的圖書借出給定預(yù)定者后取消圖書預(yù)定。請用用例圖描述用戶的需求。6. 某“遠程網(wǎng)絡(luò)教學(xué)系統(tǒng)”的功能需求如下:A. 學(xué)生登錄網(wǎng)站后,可以瀏覽課件、查找課件、下載課件、觀看教學(xué)視頻。B. 學(xué)生需要登錄“遠程網(wǎng)絡(luò)教學(xué)系統(tǒng)”后才能正常使用該系統(tǒng)的所有功能。如果忘記密碼,可與通過“找回密碼”功能恢復(fù)密碼。 請畫出學(xué)生參與者的用例圖。參考答案一、單項選擇題 1D 2A 3C 4D 5D 6C 7B 8B 9B 10.

20、B11B 12A 13C 14C 15D二、填空題1延伸(或擴展) 2.延伸(或擴展) 3.基(或被延伸 或被擴展) 4.包含5.泛化 6.延伸(或擴展) 7.包含 8.關(guān)聯(lián)9.關(guān)聯(lián)關(guān)系 10.包含關(guān)系 11.包含三、名詞解釋題1. 用例表示一個系統(tǒng)中的一部分功能和行為。在 UML 中,一個系統(tǒng)的所有功能和行為都可以建模為用例。2. 參與者是系統(tǒng)的外部、直接與系統(tǒng)交互的實體。盡管在用例圖中描述參與者,但它并不是系統(tǒng)之內(nèi)的一部分,而是存在于系統(tǒng)之外的環(huán)境中。3. 一種依賴關(guān)系,表示從一個“擴展用例”指向一個“被擴展用例”的關(guān)系,描述了“擴展用例”的行為如何和何時被插入到“被擴展用例”的行為之中。

21、4. 一種依賴關(guān)系,表示從一個“包含用例”指向一個“被包含用例”,表示“包含用例”含有定義在“被包含用例”中的行為,即“包含用例”的一次執(zhí)行包含了“被包含用例”的執(zhí)行。四、簡答題1. 用例之間的關(guān)系主要有泛化、包含和擴展。 泛化表示了一個具體的用例和一個一般化的用例之間的關(guān)系。 包含表示了一個用例的執(zhí)行將含有另一個用例的執(zhí)行。 擴展表示了一個用例的行為如何和何時被插入到一個被擴展用例之中。2. 用例描述系統(tǒng)級的功能,可描述完整的功能需求。在正向工程中,用例描述將要實現(xiàn)的行為,而不描述其如何實現(xiàn)。用例還將驅(qū)動軟件的后續(xù)開發(fā),作為客戶驗收測試的依據(jù)。3. 用例表達簡單,通過用例對系統(tǒng)的行為建模,為

22、領(lǐng)域?qū)<?、最終用戶和開發(fā)人員提供了一個共同的交流平臺。用例為開發(fā)人員提供了一種直接認(rèn)識和理解元素的手段,以便于設(shè)計和實現(xiàn)。用例是測試模型的基礎(chǔ),交付系統(tǒng)時用戶的驗收測試規(guī)范來源于用例。4. 兩者都表示用一個用例的行為來延伸另一個用例。區(qū)別在于包含是無條件的延伸,有較強的依賴關(guān)系;而擴展是有條件的、定位的延伸,被擴展用例相對獨立于擴展用例。5. 用例圖是從軟件需求分析到最終實現(xiàn)的第一步,它顯示了系統(tǒng)的用戶和用戶希望提供的功能,有利于用戶和軟件開發(fā)人員之間的溝通。用例圖可視化的表達了系統(tǒng)的需求,具有直觀、規(guī)范等優(yōu)點,克服了純文字性說明的不足。用例方法是完全從外部來定義系統(tǒng)的,它把需求和設(shè)計完全分離

23、開來,使用戶不用關(guān)心系統(tǒng)內(nèi)部是如何完成各種功能的。五案例分析題1要點:(1)抽取出總經(jīng)理、部門經(jīng)理、人事部工作人員和員工四個參與者,并且存在泛化關(guān)系。 (2)抽取11個用例。 (3)將參與者和相應(yīng)交互的用例相關(guān)聯(lián)。注:此題為應(yīng)用題,考核考生能否根據(jù)需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。2要點:(1)抽取出管理員、教師、學(xué)生和獨立計費系統(tǒng)四個參與者。 (2)抽取4個用例。 (3)將參與者和相應(yīng)交互的用例相關(guān)聯(lián)。注:此題考核考生能否根據(jù)需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。3. 要點:(1)抽取出超級管理員、部門領(lǐng)導(dǎo)、工作人員、新生4個參與者。 (2)抽取權(quán)限設(shè)置、數(shù)據(jù)管理

24、、設(shè)置操作人員、查詢信息、打印發(fā)票、報到管理、班級、宿舍管理信息統(tǒng)計、報到注冊等用例。注:此題為應(yīng)用題,考核考生能否根據(jù)需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。4. 要點:(1)抽取出相關(guān)用例與參與者。 (2)將參與者和相應(yīng)交互的用例相關(guān)聯(lián)。注:此題考核考生能否根據(jù)需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。5. 要點:(1)抽取出參與者。 (2)抽取用例。 (3)將參與者和相應(yīng)交互的用例相關(guān)聯(lián)。注:此題考核考生能否根據(jù)需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。6. 要點:(1)抽取用例與參與者。 (2)將參與者和相應(yīng)交互的用例相關(guān)聯(lián)。注:此題為應(yīng)用題,考核考生能否根據(jù)

25、需求描述繪制用例圖,考核用例圖的概念、理解和應(yīng)用。第3章 類與接口第3章 類與接口一、單項選擇題1. 關(guān)于約束,下列描述錯誤的是( c ) A. 約束是對特定模型元素附加的語義信息。 B. 可以在注解中表示約束。 C. 約束必須表示為規(guī)范的約束語言。 D. 約束允許增加新的規(guī)則或者修改已有的規(guī)則。2. 在類圖中,""表示的可見性是 ( d ) A.Public       B.Protected    C.Private   D.Package 3. 通常

26、把一組具有相同數(shù)據(jù)結(jié)構(gòu)和相同操作的對象的集合定義為( a ) A.類 B.屬性 C.對象 D.消息4. 關(guān)于抽象類和具體類,下列說法不正確的是( a ) A.如果一個類有父類,該類就是具體類。 B.如果一個類繼承了父類的抽象操作/方法,而該類未提供實現(xiàn),那么該類是抽象類。 C.抽象類沒有任何直接的實例,而具體類則有直接實例。 D.在UML中,通過把一個類的名稱寫為斜體來指明該類是抽象類。5. 關(guān)于接口,下面說法錯誤的是(c ) A.接口通常僅說明一組相關(guān)的操作,不說明這些操作的實現(xiàn)方法。 B.一個接口僅說明一組抽象的行為規(guī)范。 C.接口是一種抽象類型,可以直接實例化。 D.一個接口可由多個類實

27、現(xiàn)。6. 關(guān)于對象和對象圖,下面說法錯誤的是( c ) A.一個對象是一個實例,是屬性和行為的一個封裝體。 B.對象圖表示運行時刻的對象狀態(tài)及對象之間的關(guān)聯(lián)“鏈”。 C.在建模過程中,應(yīng)先制作類圖,再制作對象圖。 D.一個值規(guī)范是一組實例的規(guī)范,可以是對象,可通過表達式來表示或計算多個實例。7. 在面向?qū)ο蟮恼Z言中,下面描述正確的是( a ) A.類的實例化是指對類的實例分配存儲空間 B.每個類都必須創(chuàng)建一個實例 C.每個類只能創(chuàng)建一個實例 D.類的實例化是指對類進行初始化8. 關(guān)于對象和實例,下列說法不正確的是( b ) A.在UML模型圖中,可能存在匿名實例。 B.一個對象的狀態(tài)是靜態(tài)的,

28、只能由屬性值表示。 C.對象是由類經(jīng)過實例化創(chuàng)建出來的。 D.對象都是實例,但有些實例不是對象。9. 類圖用于對系統(tǒng)的靜態(tài)設(shè)計視圖建模,類圖的常用建模技術(shù)不包括( c ) A.對邏輯數(shù)據(jù)庫模式建模 B.對系統(tǒng)的詞匯建模 C.對對象結(jié)構(gòu)建模 D.對簡單協(xié)作建模10. 在下面關(guān)于類的描述中,錯誤的是(d ) A.一個類是具有相同特征、約束和語義規(guī)范的一組對象的抽象描述。 B.類是抽象的 C.類是靜態(tài)的 D.類是現(xiàn)實世界中客觀存在的事物11. 下面哪個展現(xiàn)了一組對象以及它們之間的關(guān)系( b )3 A.活動圖 B.對象圖 C.類圖 D.用例圖二、填空題根據(jù)下圖,完成16題:1. 類名“Window”書

29、寫為斜體,說明該類為_抽象類/abstract類_。2. 在每個性質(zhì)或操作說明的前面,“+”表示_ public/公共_;3. “#”表示_ protected/保護 _;4. “-”表示_ private/私有_。5. 帶下劃線的性質(zhì)或操作表示_.靜態(tài)/static _。6. display()方法是斜體表示的意思是_抽象方法_。根據(jù)下圖完成711題:7. 對于A類的一個對象,其關(guān)聯(lián)的B類對象的數(shù)量允許為0。對不對?_對_。8. 對于B類的一個對象,其關(guān)聯(lián)的A. 類對象的數(shù)量最多是_1個_。9. 對于D類的一個對象,其關(guān)聯(lián)的C類對象的數(shù)量允許為0。對不對?_不對_。10. 對于A. 類的一個

30、對象,其關(guān)聯(lián)的D類對象的數(shù)量允許為多個。對不對?_對_。11. 圖中subset b表示_ d是b的一個子集合_。三、名詞解釋題1. 泛化集2接口3. 對象圖4. 類元5. 操作6. 約束四、簡答題1. 對象圖的用途是什么?2. 角色的意思是什么?3. 簡述如何在實際工作中發(fā)現(xiàn)類。4. 簡述怎樣發(fā)現(xiàn)類之間的繼承關(guān)系。五案例分析題1. 下圖描述了一種整數(shù)鏈表的基本結(jié)構(gòu)。用一個對象圖表示有兩個節(jié)點(data值分別為43和22)的情形。2. 現(xiàn)有一個訂購貨物系統(tǒng),客戶可以建立訂單,訂單包含建立的日期和訂單狀態(tài),可以計算每個訂單的稅額和總價,每個訂單由訂單明細構(gòu)成,與產(chǎn)品相關(guān)。每個訂單可以通過信用卡、

31、支票或者現(xiàn)金進行支付。請根據(jù)上述描述,繪制該系統(tǒng)的類圖,要求描述類之間的關(guān)系,并注意多重性和角色。3. 分析學(xué)生成績管理系統(tǒng),建立類圖描述學(xué)生,老師,班級,部門,課程之間的關(guān)系。參考答案一、單項選擇題 1C 2D 3A 4A 5C 6C 7A 8B 9C 10D11B二、填空題1.抽象類/abstract類 2.public/公共 3.protected/保護 4.private/私有 5.靜態(tài)/static 6.抽象方法7.對 8.1個 9.不對/錯 10.對 11.d是b的一個子集合三、名詞解釋題1. 泛化集(generalization set)是一種元素,定義了泛化關(guān)系的各種子集合。從

32、語義上說,一個泛化集包含一組泛化關(guān)系,針對同一個一般性類元,提供了一種分類方式,得到了一組子類型劃分。2. 接口(interface)和類一樣是一種類型,接口有三個主要問題:接口如何定義和表示、接口如何實現(xiàn)、接口如何使用。3. 對象圖(object diagram) 是一種結(jié)構(gòu)圖,表示一組實例以及實例之間的鏈link。4. 類元(classifier)是類、接口等元類的超類,所以類元是類、接口等元素的泛稱。5. 操作(operation) 是一種行為特征。行為特征描述了對特定請求作出應(yīng)答的規(guī)范。一個行為特征包含一組形式參量( 簡稱形參) ,完成特定的計算,也可能引發(fā)指定類型的異常。一個操作表示

33、了該類對象可被請求而提供的一項服務(wù)。6. 要對模型元素添加某些條件或限制。約束(Constraint) 能表示這些條件或限制,采用自然語言或計算機語言表示,對建模元素的某些語義進行限定。四、簡答題1. 描述對象圖是在實例的級別上描述特定時刻的情形。在軟件工程中對象圖至少有以下兩個用途: 業(yè)務(wù)對象描述。在分析業(yè)務(wù)階段,識別對象的邊界和標(biāo)識,識別對象的類型,描述對象的值,把一組相關(guān)對象聚集在一張對象圖上,用一組對象圖來表示實例情況。 實例場景描述。類圖應(yīng)該能正確反映計算機對象所反映的客觀業(yè)務(wù)對象的規(guī)律。2. 一個角色是參與特定語境中的某種實體的被命名的特定行為。一種角色是一種特定行為的命名。角色在

34、特定語境中才能完全確定。角色描述實體的抽象行為,但不描述實體本身。3. 在與客戶的交談中,要注意客戶用來描述業(yè)務(wù)實體的名詞術(shù)語。這些名詞可作為領(lǐng)域模型中的類。還要注意你聽到的動詞,因為這些動詞可能會構(gòu)成這些類中的操作。(3分)當(dāng)?shù)玫揭唤M類的核心列表后,應(yīng)當(dāng)向客戶詢問在業(yè)務(wù)過程中每個類的作用。他們的回答將告訴你這些類的職責(zé)。4. 為候選的類有可能和它的父類、子類在談話中同時被發(fā)現(xiàn)。系統(tǒng)分析員意識到某個類的屬性和操作也許能被運用到其他多個類當(dāng)中去。另一種可能的情況是系統(tǒng)分析員注意到兩個或者多個類可能具有相同的屬性和操作數(shù)。五案例分析題1. 對象圖 基本評分標(biāo)準(zhǔn): (1) 列出三個對象。 (2) 說

35、明各對象的屬性值及鏈。2. 要點:(1)抽取出8個類。 (2)描述類之間的關(guān)系、多重性等。注:此題為基本題,考核考生能否根據(jù)需求描述繪制類圖,考核的知識是類圖的概念、理解和應(yīng)用。3. 基本評分標(biāo)準(zhǔn):(1) 列出類。(2) 說明各類的屬性值及關(guān)系。第4章 關(guān)系建模第4章 關(guān)系建模一、單項選擇題1. 關(guān)于UML的一般命名規(guī)則,下面說法錯誤的是(b ) A.類名的首字母應(yīng)該大寫。 B.屬性名的首字母應(yīng)該大寫。 C.操作名的首字母應(yīng)該小寫。 D.接口名的首字母應(yīng)該大寫。2. 關(guān)于關(guān)聯(lián)和依賴,下面說法是錯誤的是( c ) A. 如果兩個類之間有關(guān)聯(lián),隱含著兩者之間存在某種依賴。 B. 如果兩個類之間表示

36、了關(guān)聯(lián)關(guān)系,就不需要再表示依賴關(guān)系了。 C. 如果兩個類之間有依賴,隱含著兩者之間有關(guān)聯(lián)關(guān)系。 D. 如果兩個類之間有依賴,兩者之間不一定有關(guān)聯(lián)。3. 如果一個關(guān)聯(lián)的兩端都在同一個類A上,那么該關(guān)聯(lián)表示( c ) A. 類A的每個對象對自己都存在一個鏈接link。 B. 類A的每個對象都有兩個實例。 C. 類A的每個對象與本類的其它對象有鏈接link。 D. 類A有部分對象對自己存在一個鏈接link。4. 在一個“訂單輸入子系統(tǒng)”中,創(chuàng)建新訂單和更新訂單都需要檢查用戶帳號是否正確。那么,用例“創(chuàng)建新訂單”、“更新訂單”與用例“檢查用戶帳號”之間是( c ) A.包含關(guān)系 B.擴展關(guān)系 C.分類

37、關(guān)系 D.聚集關(guān)系5. 關(guān)于UML的一般命名規(guī)則,名稱首字母應(yīng)該大寫的元素是( d ) A.類的屬性 B.類的操作 C.類的實例 D.類6. UML中關(guān)聯(lián)的多重性是指( b) A.一個類由多少個方法被另一個類調(diào)用 B.一個類的實例能夠與另一個類的多少個實例相關(guān)聯(lián) C.一個類的某個方法被另一個類調(diào)用的次數(shù) D.兩個類所具有的相同的方法和屬性7. 在結(jié)構(gòu)建模中,關(guān)系建模具有重要地位,下面關(guān)系中不屬于基本關(guān)系的是( c ) A.泛化 B.依賴 C.交互 D.關(guān)聯(lián)8. 關(guān)于關(guān)聯(lián)和依賴,下面說法錯誤的是( c ) A.如果兩個類之間有關(guān)聯(lián),隱含著兩者之間存在某種依賴。 B.如果兩個類之間表示了關(guān)聯(lián)關(guān)系,

38、就不需要再表示依賴關(guān)系了。 C.如果兩個類之間有依賴,隱含著兩者之間有關(guān)聯(lián)關(guān)系。 D.如果兩個類之間有依賴,兩者之間不一定有關(guān)聯(lián)。9. 在采用UML分析類與類的關(guān)系中,如果類A需要使用標(biāo)準(zhǔn)數(shù)學(xué)函數(shù)類庫中提供的功能,那么類A與標(biāo)準(zhǔn)類庫提供的類之間存在的關(guān)系是( a ) A.依賴 B.關(guān)聯(lián) C.泛化 D.聚集10. 下面關(guān)于關(guān)聯(lián)的說法中,錯誤的是( c ) A.一個關(guān)聯(lián)是一組鏈(link)的抽象。 B.關(guān)聯(lián)類是表示關(guān)聯(lián)的類,主要用于表示關(guān)聯(lián)特有的性質(zhì)和操作。 C.關(guān)聯(lián)表示了較抽象的類元和較具體的類元之間的一種定向關(guān)系 D.聚集是表示整體和部分概念的一種特殊的關(guān)聯(lián)。12. 對于關(guān)系建模的說法中,錯誤

39、的是( d ) A.僅當(dāng)被建模的關(guān)系不是關(guān)聯(lián)或泛化關(guān)系時,才考慮依賴關(guān)系。 B.僅當(dāng)表示“is-a-kind-of”或者“is a”關(guān)系時,才使用泛化關(guān)系。 C.如果兩個類之間已存在泛化或關(guān)聯(lián)關(guān)系,隱含著存在依賴關(guān)系,而且不需要表示。 D.描述對象間的結(jié)構(gòu)關(guān)系應(yīng)以泛化為主。13. 在下列關(guān)系中,屬于非定向關(guān)系的是( d )關(guān)系。 A.泛化 B.擴展 C.依賴 D.關(guān)聯(lián)14. 類A中的某操作有一個形參類型為類B,那么A和B之間可以建模為( c )關(guān)系。 A.泛化 B.聚集 C.依賴 D.關(guān)聯(lián)二、填空題根據(jù)下圖完成14題:1. Person類與Company類之間存在一個名為_job_的關(guān)聯(lián)類。2

40、. 一個人至少要有一個工作的公司對嗎?_不對_。3. 圖中employer表示_角色_。4. 1.* 表示_關(guān)聯(lián)多重性_。下圖是關(guān)于一個學(xué)校的信息系統(tǒng)的類圖,完成57題:5. 圖中School和Department之間的關(guān)系是_組合_。6. School和Student之間的關(guān)系是_共享聚合_。7. 前兩者關(guān)系的共同點是_整體和部分的關(guān)聯(lián)關(guān)系_。根據(jù)下圖完成812題:8. Polygon類與Point類之間是_共享_聚集關(guān)系.9. ordered的意思是_有序地_。10. 由圖中可知,當(dāng)一個Polygon對象被撤銷,它所含有的Point對象也將自動撤銷。這句話對嗎?_不對_。11. Polyg

41、on類與GraphicsBundle類之間是_復(fù)合_聚集關(guān)系。12.由圖中可知,當(dāng)一個Polygon對象被撤銷,它所含有的GraphicsBundle對象也將自動撤銷。這句話對嗎?_對_。 根據(jù)下圖完成1315題: 動物+新陳代謝(in 食物)食物翅膀猴子企鵝猴群13. 圖中的動物和食物之間的關(guān)系是_依賴關(guān)系_。14. 企鵝和翅膀之間的關(guān)系是_復(fù)合聚集關(guān)系_。15. 圖中的關(guān)系有一處標(biāo)示錯誤,請說明為什么_猴子應(yīng)當(dāng)是猴群的一部分,而不是相反_。三、名詞解釋題1. 依賴關(guān)系2. 關(guān)聯(lián)關(guān)系3. 限定關(guān)聯(lián)4. 復(fù)合聚集5. 聚集關(guān)系6. 多元關(guān)聯(lián)四、簡答題1. 不良設(shè)計的7種現(xiàn)象是什么?2. 如何識

42、別類之間的關(guān)聯(lián)?3. 將類的多繼承轉(zhuǎn)換為單繼承的常用方法是什么?4. 面向?qū)ο笤O(shè)計的五個原則SOLID是什么?參考答案一、單項選擇題 1B 2C 3C 4C 5D 6B 7C 8C 9A 10C11D 12D 13D 14C 二、填空題1.Job 2.錯(不對) 3.端點名(角色) 4.關(guān)聯(lián)多重性5.組合 6.共享聚合 7.整體和部分的關(guān)聯(lián)關(guān)系8.共享 9.有序的 10.錯誤/不對 11.復(fù)合 12.正確/對13.依賴關(guān)系 14.復(fù)合聚集關(guān)系/整體和部分的關(guān)系15.猴子應(yīng)當(dāng)是猴群的一部分,而不是相反三、名詞解釋題1. 依賴(Dependency)是兩個元素之間的一種定向關(guān)系,從一個client

43、 元素指向一個 supplier 元素,說明了client 元素需要supplier 元素的規(guī)范或?qū)崿F(xiàn)。2. 關(guān)聯(lián)是一種關(guān)系,同時也是一種類元。關(guān)聯(lián)確定了類型的實例之間的語義關(guān)系。一個關(guān)聯(lián)至少有兩個端,每個端連接到一個類型。3. 帶有限定符的關(guān)聯(lián)稱為限定關(guān)聯(lián)(qualified association)。限定符表示為一個小矩形,連接到一個關(guān)聯(lián)的一端,位于類元符號和關(guān)聯(lián)線之間。限定符矩形是關(guān)聯(lián)路徑的一部分,而不是類元的一部分。4. 也稱為合成式,表示各部分對象的生命期受限于整體。整體一端表示為實心菱形。在復(fù)合式聚集中,整體對象應(yīng)負責(zé)其各部分對象的生存和存儲。一個部分對象在特定時刻只能被包含在一個

44、復(fù)合對象中,即該復(fù)合對象“獨占”其部分對象,也稱為“強”聚集。5. 聚集(aggregation) ,也稱為聚合,表示整體與部分之間的關(guān)系。整體一端用一個菱形表示。聚集分為共享聚集和復(fù)合聚集。6. 如果一個關(guān)聯(lián)具有兩個以上的關(guān)聯(lián)端,則稱為多元關(guān)聯(lián)。最常見的是三元關(guān)聯(lián),用一個菱形符號表示一個多元關(guān)聯(lián),伸出三個關(guān)聯(lián)端分別連接到三個類元。四、簡答題1. 僵硬(rigidity) 、脆弱(fragility) 、低復(fù)用(immobility)、高粘度(viscosity)、無端復(fù)雜性(needless complexity) 、無端復(fù)制(needless repetition)、晦澀(opacity)

45、。2. 可以從對象的性質(zhì)的識別和分析入手。如果一個性質(zhì)的值的類型不是一個基本類型,而是某個構(gòu)造類型,那么該對象就有一個鏈,鏈接到該構(gòu)造類型的對象之上,這樣就識別出一個關(guān)聯(lián)。3. 用接口替代類,以保持子類的類型結(jié)構(gòu)。選擇保留一個超類,而將其它超類都轉(zhuǎn)換為接口。把一個類轉(zhuǎn)換為一個接口,主要是運用泛化與聚集關(guān)系,為這些接口分別提供一個實現(xiàn)類,然后子類中將每個實現(xiàn)類的一個對象作.為自己的一個性質(zhì)加以引用,用一個聚集關(guān)系。4. SRP:The Single Responsibility Principle,單一職責(zé)原則。一個類應(yīng)僅有一個改變的理由。OCP:The Open/Closed Principl

46、e ,開閉原則。不應(yīng)修改已有的類,而應(yīng)擴展一個類。LSP:The Liskov Substitution Principle,里氏替換原則。子類對象能隨時隨地替換其超類。ISP: The Interface Segregation Principle,接口分離原則。一個客戶程序只需關(guān)注自己所需要的接口。DIP: The Dependency Inversion Principle,依賴倒置原則。依賴抽象而不依賴細節(jié)。第5章 其他結(jié)構(gòu)建模第5章 其他結(jié)構(gòu)建模一、單項選擇題1. 用于把元素組織成組的通用機制是(a ) A.包 B.類 C.接口 D.組件2. UML結(jié)構(gòu)包括基本構(gòu)造塊、(d )和把這

47、些構(gòu)造塊放在一起的規(guī)則。 A.圖形表示 B.公共機制 C.類與對象的實現(xiàn) D.系統(tǒng)細節(jié)的規(guī)格說明3. 關(guān)于構(gòu)造型(stereotype),下列說法不正確的是( b) A. 建立構(gòu)造型的目的是適應(yīng)特定平臺或領(lǐng)域的建模需要。 B. UML未提供預(yù)定義的構(gòu)造型,故此需要用戶自行定義。 C. 可以為構(gòu)造型定義圖標(biāo),并把該圖標(biāo)放在名字的右邊。 D. 一個構(gòu)造型定義了一個已有元類如何被擴展的規(guī)范。4. 構(gòu)造型«import»表示( c)導(dǎo)入。 A.private B.protected C.public D.package5. 構(gòu)造型«access»表示( a )導(dǎo)

48、入。 A.private B.protected C.public D.package6. 下面哪一個不是包的內(nèi)聚性有三原則。(d ) A.重用發(fā)布等價原則 B.共同重用原則 C.共同封閉原則 D.共同繼承原則7. 下面不屬于包關(guān)系的是( c )。 A.導(dǎo)入關(guān)系 B.合并關(guān)系 C.關(guān)聯(lián)關(guān)系 D.依賴關(guān)系8. 下面說法錯誤的是(b ) A.共同重用是為了提高包的獨立性 B.子類的穩(wěn)定性比父類的穩(wěn)定性好 C.共同封閉是為了提高包的聚合性 D.包不應(yīng)該存在循環(huán)依賴二、填空題1. 一個構(gòu)造型用_矩形_表示,必須確定一個名字,并用«stereotype»說明在名字上方,用一個實心三角箭頭指向被擴展的元類。2. 一個包有一個名字,包中各元素的限定名就是包名加上元素的名稱,如果P是包的名字,A是類的名字,則包和類表示為_P:A_。3. 一個包擁有其成員,這隱含著如果一個包被刪除,包中_所有元素_及其子包都將被刪除。 4. 復(fù)合結(jié)構(gòu)主要對一組互聯(lián)元素的_組成結(jié)構(gòu)_進行建模,表示運行時

溫馨提示

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

評論

0/150

提交評論