《面向?qū)ο笃谀┛荚?答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《面向?qū)ο笃谀┛荚?答案(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、一、 填空(15分)
1、類之間的 靜態(tài)聯(lián)系稱作關(guān)聯(lián)。
? 在實(shí)例化后,由類產(chǎn)生對(duì)象,鏈?zhǔn)顷P(guān)聯(lián)的實(shí)例。
? 在系統(tǒng)實(shí)現(xiàn)時(shí),關(guān)聯(lián)采用對(duì)象的屬性來(lái)實(shí)現(xiàn)。
2、用例圖用于建立需求模型,描述用戶的需求。對(duì)象圖是面向?qū)ο蠓治鲋械幕灸P?,屬于靜態(tài)結(jié)構(gòu)模型。
3、順序圖(時(shí)序圖)、通信圖、活動(dòng)圖、狀態(tài)圖用于描述系統(tǒng)的行為方面的特征,屬于動(dòng)態(tài)結(jié)構(gòu)模型。
4、時(shí)序圖構(gòu)成:參與者、相互協(xié)作的對(duì)象、對(duì)象的生命線、參與者與對(duì)象之間發(fā)送的消息、執(zhí)行規(guī)約
5、表示
[可見(jiàn)性] 屬性名[:類型][ =初始值]
可見(jiàn)性分為+表示:(公有的)、#表示:(受保護(hù)的)、-表示:(私有的
2、)、 ~(包,只有在同一包中聲明的類能夠使用這一屬性)。
二、 名詞解釋(15分)
1、面向?qū)ο蠓椒ǎ菏且环N運(yùn)用對(duì)象、類、繼承、封裝、聚合、關(guān)聯(lián)、消息、多態(tài)性等概念來(lái)構(gòu)造系統(tǒng)的軟件開(kāi)發(fā)方法。
2、類:是具有相同屬性和操作的一組對(duì)象的集合,它為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和操作務(wù)兩個(gè)主要部分。類的作用是用來(lái)創(chuàng)建對(duì)象,對(duì)象是類的一個(gè)實(shí)例。
3、抽象:指從事物中舍棄個(gè)別的、非本質(zhì)的、與問(wèn)題域無(wú)關(guān)的特征,而抽取共同的、本質(zhì)特征的、相關(guān)的做法。
4、多態(tài)性:在具有繼承關(guān)系的類層次結(jié)構(gòu)中可以定義同名的操作或?qū)傩?,但這些屬性或操作具有不
3、同的含義,即具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。(“同名不同參”或“同名不同類”)
5、OOA模型:就是通過(guò)面向?qū)ο蟮姆治鏊⒌南到y(tǒng)分析模型。
用況:一個(gè)用況是對(duì)參與者使用系統(tǒng)的一項(xiàng)功能的描述,是一組動(dòng)作序列的描述,是一項(xiàng)請(qǐng)求與響應(yīng)。(
三、 簡(jiǎn)答(45分)
1、繼承和泛化關(guān)系
特殊類擁有其一般類的全部屬性與操作,稱作特殊類對(duì)一般類的繼承。
一般類對(duì)特殊類的抽象關(guān)系叫泛化關(guān)系(簡(jiǎn)稱泛化)。
2、聚合與組合有區(qū)別,請(qǐng)說(shuō)明他們間的區(qū)別,并指出下圖中哪圖是聚合?
聚合刻畫了現(xiàn)實(shí)事物之間的構(gòu)成關(guān)系,體現(xiàn)“整體——部分”關(guān)系。而關(guān)聯(lián)沒(méi)有組
4、成關(guān)系或擁有關(guān)系。如例題中的c圖
3、簡(jiǎn)述下圖中體現(xiàn)的面向?qū)ο蟮幕舅枷?
答: (1)第一次抽象封裝:事物——對(duì)象
①首先,直接以問(wèn)題域(現(xiàn)實(shí)世界)中的事物為中心來(lái)思考問(wèn)題、認(rèn)識(shí)問(wèn)題;②然后,根據(jù)這些事物的本質(zhì)特征和系統(tǒng)責(zé)任,把它們抽象地表示為系統(tǒng)中的對(duì)象,作為系統(tǒng)的基本構(gòu)成單位。(對(duì)象) 這可以使系統(tǒng)直接映射問(wèn)題域,保持問(wèn)題域中事物及其相互關(guān)系的本來(lái)面貌.
①用對(duì)象的屬性(attribute)表示事物的性質(zhì)(靜態(tài)特征);用對(duì)象的操作(operation)表示事物的行為(動(dòng)態(tài)特征)。②對(duì)象的屬性與操作結(jié)合為一體,成為一個(gè)獨(dú)立的、不可分的實(shí)體,對(duì)外屏
5、蔽其內(nèi)部細(xì)節(jié)。(對(duì)象的封裝)③復(fù)雜的對(duì)象可以用簡(jiǎn)單的對(duì)象作為其構(gòu)成部分,對(duì)象之間是相互聯(lián)系的。(聚合)④對(duì)象之間通過(guò)消息進(jìn)行通訊,以實(shí)現(xiàn)對(duì)象之間的動(dòng)態(tài)聯(lián)系. (消息)
(2)第二次抽象(分類):對(duì)象——類
①通過(guò)抽象對(duì)對(duì)象進(jìn)行分類。把具有相同屬性和相同操作的對(duì)象歸為一類,類(class)是這些對(duì)象的抽象描述,每個(gè)對(duì)象是它的類的一個(gè)實(shí)例。 (分類)
②通過(guò)關(guān)聯(lián)表達(dá)類(一組對(duì)象)之間的靜態(tài)關(guān)系。(關(guān)聯(lián))
(3)第三次抽象:子類——父類
通過(guò)在不同程度上運(yùn)用抽象的原則,可以得到較一般的類和較特殊的類。特殊類繼承一般類的屬性與操作,從而簡(jiǎn)化系統(tǒng)的構(gòu)造過(guò)程及其文檔。(繼承)
6、
4、為什么說(shuō)面向?qū)ο笳Z(yǔ)言使得從客觀世界到計(jì)算機(jī)世界的語(yǔ)義鴻溝變窄?
5、 簡(jiǎn)單說(shuō)明OOA與OOD有何區(qū)別
答: OOA用面向?qū)ο蟮慕UZ(yǔ)言對(duì)系統(tǒng)要實(shí)現(xiàn)的需求進(jìn)行建模,不考慮與系統(tǒng)的具體實(shí)現(xiàn)有關(guān)的因素或環(huán)境(如編程語(yǔ)言、界面、數(shù)據(jù)庫(kù)等);
OOD是針對(duì)系統(tǒng)的一組具體實(shí)現(xiàn)條件或環(huán)境,繼續(xù)用面向?qū)ο蟮慕UZ(yǔ)言進(jìn)行系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。
包括兩部分工作:
? 第一、根據(jù)具體實(shí)現(xiàn)條件或環(huán)境對(duì)OOA模型進(jìn)行修改和調(diào)整
? 第二、根據(jù)具體實(shí)現(xiàn)條件或環(huán)境建立人機(jī)界面、數(shù)據(jù)存儲(chǔ)和控制驅(qū)動(dòng)等。
6、軟件復(fù)用有何益處、有哪些級(jí)別的軟件復(fù)用,為什么說(shuō)繼承是軟件復(fù)用的重要
7、形式
益處:
? 提高軟件開(kāi)發(fā)效率;
? 改善軟件質(zhì)量。
復(fù)用級(jí)別:
? 程序(代碼)級(jí)復(fù)用
? 分析、設(shè)計(jì)結(jié)果的復(fù)用
繼承是重要的軟件復(fù)用形式
7、如何發(fā)現(xiàn)參與者?
人員——
系統(tǒng)的直接使用者
設(shè)備——
與系統(tǒng)直接相聯(lián)的設(shè)備為系統(tǒng)提供信息
在系統(tǒng)控制下運(yùn)行
不與系統(tǒng)相聯(lián)的設(shè)備
計(jì)算機(jī)設(shè)備
外系統(tǒng)——
上級(jí)系統(tǒng)
子系統(tǒng)
其它原有系統(tǒng)
8、使用擴(kuò)展用況描述下用例
9、類和對(duì)象的聯(lián)系有何聯(lián)系?
? 對(duì)象是類的實(shí)例——由類創(chuàng)建出對(duì)象,系統(tǒng)是由若干個(gè)對(duì)象在計(jì)算機(jī)中的運(yùn)行協(xié)作完成
8、具體的功能;
? 屬性相似——一個(gè)類的所有對(duì)象都具有相同個(gè)數(shù)、名稱、類型和含義的屬性,但不同的對(duì)象屬性具有不同的值;
? 操作相同——一個(gè)類的所有對(duì)象的操作都具有相同的聲明和實(shí)現(xiàn)
? 生命周期——對(duì)象具有生命周期,類沒(méi)有。
10、OO方法中有“實(shí)例屬性”和“類屬性” 之分,請(qǐng)說(shuō)明什么是“實(shí)例屬性”和“類屬性”?
答: 實(shí)例屬性包含同一屬性的每一個(gè)對(duì)象(實(shí)例)都具有自己的值。
類屬性是描述類的所有對(duì)象共同特征的一個(gè)數(shù)據(jù)項(xiàng),對(duì)于任何對(duì)象實(shí)例,它的屬性值都是相同的,系統(tǒng)中只存在同一數(shù)據(jù)空間。 C++中冠以static的成員變量是類屬性,這樣的屬性對(duì)一個(gè)類的
9、全部對(duì)象實(shí)例只是一份共同的數(shù)據(jù)空間,所以對(duì)任何對(duì)象而言,該屬性的值總是相同的。
11、在下圖中,根據(jù)指定的條件標(biāo)明A、B間的多重性。
給定類A的一個(gè)對(duì)象a:
(1) a 可以恰好與類B的一個(gè)對(duì)象關(guān)聯(lián)
(2) a 可以最多與類B的一個(gè)對(duì)象關(guān)聯(lián)
(3) a 可以與類B的一個(gè)或多個(gè)對(duì)象關(guān)聯(lián)
(4) a 可以與類B的零個(gè)或多個(gè)對(duì)象關(guān)聯(lián)
12、 如果在具有關(guān)聯(lián)關(guān)系的類中,存在著一個(gè)屬性放在哪個(gè)類中都不合適的情況,就考慮使用關(guān)聯(lián)類。請(qǐng)舉例說(shuō)明:
舉例:
13、特殊類繼承了一般類的關(guān)聯(lián)。請(qǐng)對(duì)下列類圖,加以說(shuō)明。
答:一個(gè)系統(tǒng)管理員可以操作1.
10、.*的計(jì)算機(jī),那么一個(gè)系統(tǒng)管理員也可以操作1..*的服務(wù)器或客戶機(jī)
答:教授可以指導(dǎo)學(xué)生、也可以指導(dǎo)教授的含義。
答:學(xué)生可以指導(dǎo)學(xué)生、教授可以指導(dǎo)教授。學(xué)生可以指導(dǎo)教授,教授可以指導(dǎo)學(xué)生的含義(學(xué)生和教授都是人)
答:學(xué)生可以指導(dǎo)學(xué)生、教授可以指導(dǎo)教授,教授可以指導(dǎo)學(xué)生的含義
14、簡(jiǎn)述對(duì)象生命線在時(shí)序圖中的特點(diǎn)
答:
生命線代表著類對(duì)象在當(dāng)前模塊中的存活期,即代表了某個(gè)對(duì)象何時(shí)被創(chuàng)建,何時(shí)別銷毀。
? 生命線自上而下,上端出現(xiàn)與對(duì)象被創(chuàng)建時(shí),下端結(jié)束于對(duì)象被銷毀時(shí)。否則,生命線應(yīng)當(dāng)從圖的頂部一直延續(xù)到底部。
? 創(chuàng)建對(duì)象的消息箭頭的頭部畫在對(duì)象
11、符號(hào)上。如果對(duì)象在圖中被銷毀,那么用一個(gè)大的“×” 標(biāo)記它的析構(gòu),該標(biāo)記或者放在調(diào)用析構(gòu)的消息箭頭處,或者放在從被銷毀的對(duì)象最終返回處理結(jié)果的箭尾處(在自析構(gòu)的情況下)。
生命線可以分裂成兩條或更多條并發(fā)的生命線,并在某個(gè)后續(xù)點(diǎn)處合并,以表示條件性。即,消息的分支可能導(dǎo)致同一對(duì)象在生命周期的同一時(shí)刻表現(xiàn)出不同的行為,也就產(chǎn)生了生命線上的分支結(jié)構(gòu)。
15、時(shí)序圖中,包含下圖形,請(qǐng)說(shuō)明其含義
一個(gè)對(duì)象的操作遞歸地調(diào)用自己或調(diào)用本對(duì)象的其他操作,將出現(xiàn)自調(diào)用的情形。
四、 分析建模(25分)
1、ATM終端處理取款的用況圖,動(dòng)作序列如下:
12、 系統(tǒng)從持卡人處獲得取款命令;
系統(tǒng)檢查口令;
系統(tǒng)完成用戶的取款處理;
判斷是否打印回單,并打印回單;
結(jié)束操作并退卡
要求使用擴(kuò)展用例或包含用例轉(zhuǎn)換上同例圖
答:
2、很多軟件系統(tǒng)都需要登錄,若用戶登錄成功,就可以操作系統(tǒng)的功能,主要有以下方式:
u 打開(kāi)登錄頁(yè)面,用戶輸入登錄信息,系統(tǒng)執(zhí)行用戶驗(yàn)證;系統(tǒng)驗(yàn)證成功后,系統(tǒng)彈出功能提示框,等待用戶選擇執(zhí)行功能;用戶選擇執(zhí)行某個(gè)功能。
u 打開(kāi)登錄頁(yè)面,用戶輸入登錄信息,系統(tǒng)執(zhí)行用戶驗(yàn)證;系統(tǒng)驗(yàn)證成功后,轉(zhuǎn)入主界面;用戶可以執(zhí)行界面中的任何一個(gè)功能。
u
13、用戶執(zhí)行主界面的某個(gè)功能,系統(tǒng)打開(kāi)登錄頁(yè)面,用戶輸入登錄信息,系統(tǒng)執(zhí)行驗(yàn)證,驗(yàn)證通過(guò)后,系統(tǒng)繼續(xù)執(zhí)行用戶選擇功能的動(dòng)作序列,完成用戶選擇的功能。
如下以一個(gè)研究生學(xué)籍管理系統(tǒng)為例,描述三種登錄方法。
為了簡(jiǎn)化起見(jiàn),假設(shè)此處僅描述登錄、選課和查看學(xué)分這3項(xiàng)功能。
要求:分別設(shè)計(jì)出上三種處理方式的用例圖:
3、用關(guān)聯(lián)類為公司和雇員之間的薪水關(guān)系建模。
4、使用多重性、聚合建立大學(xué)、系、學(xué)生、課程、教師間的類圖
5、銷售部接受到訂貨單后,進(jìn)行審核,未被批準(zhǔn)的訂單,直接送檔案科歸檔;批準(zhǔn)的訂單,在系統(tǒng)中錄入,開(kāi)具出庫(kù)單;配送部根據(jù)出庫(kù)單發(fā)貨并運(yùn)送貨物,財(cái)務(wù)部對(duì)已發(fā)貨的訂單開(kāi)具銷售發(fā)票并寄送給客戶;客戶在收到貨物后,驗(yàn)貨付款;財(cái)務(wù)對(duì)已經(jīng)收到的貨款,開(kāi)具收款憑證,連同訂單歸檔。
要求:畫出以上活動(dòng)的活動(dòng)圖。