版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 理解面向?qū)ο蟮乃枷耄ǚ庋b性、繼承性、多態(tài)性),作出一個(gè)簡(jiǎn)述??陀^世界是由對(duì)象組成,任何客觀實(shí)體都是對(duì)象,復(fù)雜對(duì)象可以由簡(jiǎn)單對(duì)象組成。具有相同屬性和操作的對(duì)象可歸納成類,對(duì)象是類的一個(gè)實(shí)例。類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性。對(duì)象之間的聯(lián)系通過(guò)消息傳遞來(lái)維系。封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)重要原則,封裝有兩個(gè)含義:結(jié)合性即將屬性和方法結(jié)合;信息隱蔽性利用接口機(jī)制隱蔽內(nèi)部細(xì)節(jié)。繼承性是指子類可以自動(dòng)擁有父類的全部屬性與操作的機(jī)制。繼承可分為單重繼承和多重繼承兩類。繼承簡(jiǎn)化了對(duì)現(xiàn)實(shí)世界的描述定義子類時(shí)不必定義那些在父類中已經(jīng)定義過(guò)的屬性和操作使軟件的復(fù)用性提高。多態(tài)性是指
2、同一操作作用于不同的對(duì)象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果。2 什么是分解、耦合度和內(nèi)聚度? 耦合度是從模塊外部考察模塊的獨(dú)立性程度。模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性則越差。模塊間耦合高低取決于模塊接口的復(fù)雜性、調(diào)用的方式及傳遞的消息。 內(nèi)聚度(Cohesion)是模塊內(nèi)部各成份(語(yǔ)句或語(yǔ)句段)之間的聯(lián)系。模塊內(nèi)部各成份聯(lián)系越緊,即其內(nèi)聚度越大,模塊獨(dú)立性就越強(qiáng)。分解:將系統(tǒng)分為更小成分3 什么是動(dòng)態(tài)綁定?動(dòng)態(tài)綁定,是指在程序運(yùn)行時(shí)才將消息所請(qǐng)求的操作與實(shí)現(xiàn)該操作的方法進(jìn)行連接。4 什么是用例圖,用例圖有哪些部分組成。用例是從用戶的觀點(diǎn)對(duì)系統(tǒng)行為的一個(gè)描述,特定的環(huán)璄下,特
3、定的目標(biāo)相關(guān)的系統(tǒng)與用戶之間的一組可能的交互序列組成.用例圖顯示誰(shuí)將是相關(guān)的用戶、用戶希望系統(tǒng)提供什么服務(wù)以及用戶需要為系統(tǒng)提供的服務(wù)。用例圖包含6個(gè)元素:參與者(Actor)、 用例(Use Case)、關(guān)聯(lián)關(guān)系(Association)包含關(guān)系(Include)、 擴(kuò)展關(guān)系(Extend)、泛化關(guān)系(Generalization)5 用例圖中參與者之間的關(guān)系有哪些?用例之間的關(guān)系有哪些?參與者之間的關(guān)系:泛化關(guān)系用例之間的關(guān)系:關(guān)聯(lián)關(guān)系、包含關(guān)系、擴(kuò)展關(guān)系、泛化關(guān)系6 試描述用例圖在UML中的地位和作用。地位:用例圖顯示了用例和活動(dòng)者之間、用例之間、以及活動(dòng)者之間的關(guān)系,這種關(guān)系描述了模型
4、元素之間的語(yǔ)義聯(lián)系。其源于客戶需求分析,又稱用例分析,是整個(gè)系統(tǒng)開發(fā)中的非常關(guān)鍵的過(guò)程。作用:用例圖是使用統(tǒng)一建模語(yǔ)言設(shè)計(jì)新系統(tǒng)的起點(diǎn),在初始階段完成。用例圖提供了系統(tǒng)的一個(gè)概覽,為系統(tǒng)提供給用戶的功能進(jìn)行說(shuō)明。 從形式上講,用例記錄用戶使用系統(tǒng)時(shí)從頭到尾的一系列事件。是用戶和開發(fā)者一起深入剖析系統(tǒng)功能的起點(diǎn)。 在開發(fā)項(xiàng)目的初期,用例圖可以描述現(xiàn)實(shí)世界中的活動(dòng)和動(dòng)機(jī)。同時(shí)可以在項(xiàng)目后期改進(jìn)用例圖以反映用戶界面和設(shè)計(jì)細(xì)節(jié)。7 掌握用例模型的獲取方法。參與者獲取方法誰(shuí)使用系統(tǒng)的主要功能誰(shuí)需要系統(tǒng)支持他們的主要工作誰(shuí)來(lái)維護(hù)、管理系統(tǒng)使其能正常工作系統(tǒng)需要控制哪些硬件系統(tǒng)需要與哪些系統(tǒng)交互對(duì)系統(tǒng)產(chǎn)生的
5、結(jié)果感興趣的是哪些人或哪些事物 用例獲取方法: 識(shí)別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每個(gè)參與者是如何使用系統(tǒng)的。 參與者要求系統(tǒng)提供哪些功能 參與者需要讀、產(chǎn)生、刪除、修改或存儲(chǔ)系統(tǒng)中的信息有哪些類型必須提醒參與者的系統(tǒng)事件有哪些參與者必須提醒系統(tǒng)事件有哪些8 用例之間的擴(kuò)展、泛化、包含三種關(guān)系有什么異同,請(qǐng)分別舉例說(shuō)明。擴(kuò)展關(guān)系擴(kuò)展用例被定義為基礎(chǔ)用例的增量擴(kuò)展。n 基礎(chǔ)用例提供擴(kuò)展點(diǎn)以添加新的行為。n 擴(kuò)展用例提供插入片段以插入到基礎(chǔ)用例的擴(kuò)展點(diǎn)上泛化關(guān)系父用例也可以被特別列舉為一個(gè)或多個(gè)子用例。n 子用例表示父用例的特殊形式。n 子用例從父用例處繼承行為和屬性,還可以添加行
6、為或覆蓋、改變繼承的行為包含關(guān)系客戶用例可以簡(jiǎn)單地包含提供者用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。9 類圖有哪些元素構(gòu)成?類之間的關(guān)系有哪些?掌握UML中類圖的繪制方法。類、接口、協(xié)作、依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系、實(shí)現(xiàn)關(guān)系類之間的關(guān)系:依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系、實(shí)現(xiàn)關(guān)系10 簡(jiǎn)述類的聚合和組合關(guān)系的異同點(diǎn)。聚合是一種特殊的關(guān)聯(lián), 聚合更明確指出聚合的主體具有整體-部分關(guān)系.組合是一種特殊的聚合, 組合中的某個(gè)主體控制著另外一個(gè)主體的生命周期,而且他們還存在整體-部分關(guān)系.聚合和組合的主要區(qū)別在于聚合關(guān)系是“has-a”關(guān)系,組合關(guān)系是“contains-a”關(guān)系;聚
7、合關(guān)系表示整體與部分的關(guān)系比較弱,而組合比較強(qiáng);聚合關(guān)系中代表部分事物的對(duì)象與代表聚合事物的對(duì)象的生存期無(wú)關(guān),一旦刪除了聚合對(duì)象不一定就刪除了代表部分事物的對(duì)象。組合中一旦刪除了組合對(duì)象,同時(shí)也就刪除了代表部分事物的對(duì)象。11 對(duì)象圖的適用場(chǎng)景以及它的優(yōu)缺點(diǎn)。對(duì)象圖適用于論證類模型的設(shè)計(jì)以及對(duì)源代碼進(jìn)行分析和說(shuō)明。其優(yōu)點(diǎn)是能夠直觀理解出系統(tǒng)運(yùn)行時(shí)的實(shí)時(shí)狀態(tài),缺點(diǎn)是比較復(fù)雜,工作量大。12 掌握交互圖(時(shí)序圖與協(xié)作圖)的繪制方法。交互圖用來(lái)一步一步地描述用例地實(shí)現(xiàn)流程,包括流中需要什么對(duì)象,對(duì)象之間發(fā)送什么,什么角色啟動(dòng)流、消息按什么順序發(fā)送等。交互圖通過(guò)從用例建模中得到的用例文檔說(shuō)明、詞匯表和
8、用例圖來(lái)創(chuàng)建。如何創(chuàng)建交互圖創(chuàng)建交互圖的步驟如下:1.尋找對(duì)象2.尋找角色3 獲取消息,并加入圖中。13 掌握活動(dòng)圖、狀態(tài)圖的繪制方法。活動(dòng)圖繪制方法:第一步,定義活動(dòng)圖的范圍首先應(yīng)該定義您要對(duì)什么建模。單個(gè)用戶案例?一個(gè)用戶案例的一部分?一個(gè)包含多個(gè)用戶案例的商務(wù)流程?一個(gè)類的單個(gè)方法?一旦您定義了所作圖的范圍,應(yīng)該在其頂部,用一個(gè)標(biāo)注添加標(biāo)簽,指明該圖的標(biāo)題和唯一的標(biāo)示符。您有可能也想要包括該圖的時(shí)間甚至作者名。 第二步,添加起始和結(jié)束點(diǎn)每個(gè)活動(dòng)圖有一個(gè)起始點(diǎn)和結(jié)束點(diǎn),因此您也要馬上添加它們。在 UML精粹(UML Distilled)(參見(jiàn) 參考資料),F(xiàn)owler 和 Scott認(rèn)為結(jié)
9、束點(diǎn)是可選的。有時(shí)候一個(gè)活動(dòng)只是一個(gè)簡(jiǎn)單的結(jié)束,如果是這種情況,指明其唯一的轉(zhuǎn)變是到一個(gè)結(jié)束點(diǎn)也是無(wú)害的。這樣,當(dāng)其他人閱讀您的圖時(shí),他或她知道您已經(jīng)考慮了如何退出這些活動(dòng)。 第三步,添加活動(dòng)如果您正對(duì)一個(gè)用戶案例建模,對(duì)每個(gè)角色(actor)所發(fā)出的主要步驟引入一個(gè)活動(dòng)(該活動(dòng)可能包括起始步驟,加上對(duì)起始步驟系統(tǒng)響應(yīng)的任何步驟)。如果您正對(duì)一個(gè)高層的商務(wù)流程建模,對(duì)每個(gè)主要流程引入一個(gè)活動(dòng),通常為一個(gè)用戶案例或用戶案例包。最后,如果您正對(duì)一個(gè)方法建模,那么對(duì)此引入一個(gè)活動(dòng)是很常見(jiàn)的。 第四步,添加活動(dòng)間的轉(zhuǎn)變我的風(fēng)格總是應(yīng)該退出一個(gè)活動(dòng),即使它是轉(zhuǎn)變到一個(gè)結(jié)束點(diǎn)。一旦一個(gè)活動(dòng)有多個(gè)轉(zhuǎn)變時(shí),您
10、必需對(duì)每個(gè)轉(zhuǎn)變加以相應(yīng)標(biāo)示。 第五步,添加決策點(diǎn)有時(shí)候,您所建模的邏輯需要做出一個(gè)決策。有可能是需要檢查某些事務(wù)或比較某些事務(wù)。要注意的是,使用決策點(diǎn)是可選的。例如,在 圖 1中,我可以只是簡(jiǎn)單地將“接受”和“拒絕”兩個(gè)轉(zhuǎn)變直接接到“在大學(xué)報(bào)名(Enrollin University)”活動(dòng)。 第六步,找出可并行活動(dòng)之處當(dāng)兩個(gè)活動(dòng)間沒(méi)有直接的聯(lián)系,而且它們都必需在第三個(gè)活動(dòng)開始前結(jié)束,那它們是可以并行運(yùn)行的。在 圖 1中,您看到是有可能“參加簡(jiǎn)要介紹(attendoverview)”和“報(bào)名研討班(enroll in seminars)”可以按任意次序進(jìn)行,但是它們都得在您結(jié)束整個(gè)流程前完成。
11、狀態(tài)圖建模技術(shù)建模步驟:找出適合用模型描述其行為的類。確定對(duì)象可能存在的狀態(tài)。確定引起狀態(tài)轉(zhuǎn)換的事件。確定轉(zhuǎn)換進(jìn)行時(shí)對(duì)象執(zhí)行的相應(yīng)動(dòng)作。對(duì)建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化。14 類的設(shè)計(jì)原則包括哪些內(nèi)容?單一職責(zé)原則(SRP)含義:就一個(gè)類而言,應(yīng)該僅有一個(gè)引起它變化的原因。開放封閉原則(OCP)含義:軟件實(shí)體應(yīng)該是可以擴(kuò)展的,但是不可修改的;對(duì)于擴(kuò)展是開放的,對(duì)于修改是封閉的。Liskov替換原則(LSP)含義:子類型必須能夠替換掉它們的基類型。依賴倒置原則(DIP)含義:高層模塊不應(yīng)依賴于低層模塊,二者都應(yīng)該依賴于抽象;抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象。接口隔離原則(DIP)含義:不
12、應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結(jié)構(gòu)。15 包圖與組件圖的概念,掌握包圖的設(shè)計(jì)原則,包括穩(wěn)定性和抽象度的衡量方法。包圖:對(duì)于龐大的應(yīng)用系統(tǒng)而言,其包含的類成百上千,再加上復(fù)雜的類間關(guān)系,處理復(fù)雜度太高。這也就是引入了“包”這種分組事物構(gòu)造塊。對(duì)語(yǔ)義上相關(guān)的元素進(jìn)行分組;定義模型中的“語(yǔ)義邊界”;組件圖:描述了軟件的各種組件和它們之間的依賴關(guān)系。組件圖中通常包含3個(gè)元素:組件,接口,依賴關(guān)系.包圖的設(shè)計(jì)原則:內(nèi)聚性原則:重用發(fā)布等價(jià)原則(REP):重用的粒度就是發(fā)布的粒度.當(dāng)一個(gè)包的目的是為了重用,那么這個(gè)包下的所有類都應(yīng)該是重用的。共同重用原則(CRP):如
13、果重用了包中的一個(gè)類,那么就要重用包中的所有類。共同封閉原則(CCP):包中的所有類對(duì)于同一種性質(zhì)的變化應(yīng)該是共同封閉的。一個(gè)變化若對(duì)一個(gè)封閉的包產(chǎn)生影響,則將對(duì)該包中的所有類產(chǎn)生影響,而對(duì)于其他包則不造成任何影響。耦合性原則:無(wú)環(huán)依賴原則(ADP):在包的依賴關(guān)系圖中不允許存在環(huán)穩(wěn)定依賴原則(SDP):朝著穩(wěn)定的方向進(jìn)行依賴穩(wěn)定抽象原則(SAP):包的抽象程度應(yīng)該與其穩(wěn)定程度一致穩(wěn)定性度量 Ca輸入耦合度,依賴于該包內(nèi)的類的數(shù)目; Ce輸出耦合度,依賴于該包外的類的數(shù)目; 不穩(wěn)定性I=Ce/(Ca+Ce) I=0表示該包具有最大的穩(wěn)定性; I=1表示該包具有最大的不穩(wěn)定性。抽象性度量 Nc包
14、中類的總數(shù); Na包中抽象類的數(shù)目; 抽象性度量A=Na/Nc A=0意味著包中沒(méi)有任何抽象類; A=1意味著包中只包含抽象類。16 掌握所介紹的各種設(shè)計(jì)模式的用途,類圖,以及相關(guān)實(shí)例。(策略模式、工廠模式、對(duì)象裝飾模式等)策略模式:定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái), 并且使它們可相互替換。本模式使得算法可獨(dú)立于使用它的客戶而變化。將這些算法硬編進(jìn)使用它們的類中是不可取的,其原因如下:需要功能的客戶程序如果直接包含算法代碼的話將會(huì)變得復(fù)雜,這使得客戶程序龐大并且難以維護(hù), 尤其當(dāng)其需要支持多種算法時(shí)問(wèn)題會(huì)更加嚴(yán)重。不同的時(shí)候需要不同的算法,我們不想支持我們并不使用的算法。當(dāng)功能是客戶程序
15、的一個(gè)難以分割的成分時(shí),增加新的算法或改變現(xiàn)有算法將十分困難。適用性需要使用一個(gè)算法的不同變體。算法使用客戶不應(yīng)該知道的數(shù)據(jù)。可使用策略模式以避免暴露復(fù)雜的、與算法相關(guān)的數(shù)據(jù)結(jié)構(gòu)。一個(gè)類定義了多種行為, 并且這些行為在這個(gè)類的操作中以多個(gè)條件語(yǔ)句的形式出現(xiàn)。將相關(guān)的條件分支移入它們各自的Strategy類中以代替這些條件語(yǔ)句。相關(guān)實(shí)例:收銀打折系統(tǒng)觀察者模式:定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí), 所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。適用性當(dāng)對(duì)一個(gè)對(duì)象的改變需要同時(shí)改變其它對(duì)象, 而不知道具體有多少對(duì)象有待改變。橋接模式:將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以
16、獨(dú)立地變化。效果采用橋接模式可以獲得以下好處。(1)將接口與實(shí)現(xiàn)分離:一個(gè)接口可以有若干實(shí)現(xiàn),一個(gè)實(shí)現(xiàn)也可以為若干對(duì)象服務(wù),表示邏輯的對(duì)象可以動(dòng)態(tài)地與實(shí)現(xiàn)功能的對(duì)象組合。(2)提高可擴(kuò)充性:邏輯和實(shí)現(xiàn)都可以通過(guò)類層次的擴(kuò)展進(jìn)行擴(kuò)充。在如下情況下可以使用橋接模式(1)不希望在業(yè)務(wù)和業(yè)務(wù)的軟件實(shí)現(xiàn)之間存在因定的綁定關(guān)系。(2)希望類的抽象和實(shí)現(xiàn)部分可以擴(kuò)充,進(jìn)而實(shí)現(xiàn)不同的抽象接口和實(shí)現(xiàn)部分的組合。(3)修改實(shí)現(xiàn)部分對(duì)用戶不產(chǎn)生影響,即代碼無(wú)須重新編譯。(4)復(fù)用實(shí)現(xiàn)部分。由于實(shí)現(xiàn)部分所處的層次較低,因此可以被多種業(yè)務(wù)模塊復(fù)用。對(duì)象裝飾模式:在界面設(shè)計(jì)中,一種較為靈活的實(shí)現(xiàn)方式是將組件嵌入另一個(gè)對(duì)象
17、中,我們稱這個(gè)嵌入的對(duì)象為裝飾。這個(gè)裝飾與它所裝飾的組件接口一致,因此它對(duì)使用該組件的客戶透明。透明性使得你可以遞歸的嵌套多個(gè)裝飾,從而可以添加任意多的功能。動(dòng)態(tài)地給對(duì)象添加一些額外的職責(zé),就功能來(lái)說(shuō)裝飾模式相比生成子類更為靈活使用場(chǎng)合在以下情況下應(yīng)當(dāng)使用裝飾模式:1.需要擴(kuò)展一個(gè)類的功能,或給一個(gè)類增加附加責(zé)任。 2.需要?jiǎng)討B(tài)地給一個(gè)對(duì)象增加功能,這些功能可以再動(dòng)態(tài)地撤銷。 3.需要增加由一些基本功能的排列組合而產(chǎn)生的非常大量的功能,從而使繼承關(guān)系變得不現(xiàn)實(shí)。實(shí)例:穿衣服,帽子,鞋子等。工廠模式:定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類,即使一個(gè)類的實(shí)例化延遲到其子類。問(wèn)題: 對(duì)
18、具有共同父類的子類對(duì)象的創(chuàng)建,一般使用new方式實(shí)現(xiàn),帶來(lái)程序維護(hù)性問(wèn)題。如何解決:集中創(chuàng)建對(duì)象,通過(guò)參數(shù)區(qū)分不同子類對(duì)象,即工廠模式。簡(jiǎn)單工廠模式優(yōu)缺點(diǎn): 模式的核心是工廠類,這個(gè)類負(fù)責(zé)產(chǎn)品的創(chuàng)建,而客戶端可以免去產(chǎn)品創(chuàng)建的責(zé)任,這實(shí)現(xiàn)了責(zé)任的分割。但由于工廠類集中了所有產(chǎn)品創(chuàng)建邏輯的,如果不能正常工作的話會(huì)對(duì)系統(tǒng)造成很大的影響。如果增加新產(chǎn)品必須修改工廠角色的源碼。 17. 什么是實(shí)體類、邊界類和控制類?為什么將分析類劃分成這三種類型類的種類有實(shí)體類,邊界類和控制類。實(shí)體類:判別特征是它的對(duì)象持有應(yīng)用的大部分?jǐn)?shù)據(jù),一般實(shí)體類的對(duì)象是持久的,也就是說(shuō)它們的存在超過(guò)一個(gè)會(huì)話的生命期,或者有時(shí)存
19、在于系統(tǒng)的整個(gè)生命期間。邊界類:參與者用邊界類的對(duì)象與系統(tǒng)交互,邊界類還可以用于建立與另一個(gè)系統(tǒng)的通信, 因此邊界類將系統(tǒng)與系統(tǒng)外部的變化隔離開。控制類:用于描述一個(gè)用例所具有的事件流控制行為,控制一個(gè)用例中的事件順序?qū)⒎治鲱悇澐殖蛇@三種類型的好處在于:所產(chǎn)生的類更小更專門化;這種劃分將易變的外部界面與系統(tǒng)基本功能進(jìn)行了屏蔽,使分析模型更易于變化。(分析模型是對(duì)客觀事物或現(xiàn)象的一種描述)18 請(qǐng)簡(jiǎn)要闡述在軟件開發(fā)過(guò)程中使用UML 的必要性以及好處。必要性:軟件系統(tǒng)是產(chǎn)品,開發(fā)者和使用者是不同群體,對(duì)于一個(gè)復(fù)雜的軟件系統(tǒng),開發(fā)必須由多個(gè)方面人員參與、合作共同完成.在試圖交流、理解一個(gè)系統(tǒng)時(shí),可根
20、據(jù)人們所關(guān)心的某一方面的問(wèn)題,查閱對(duì)應(yīng)的系統(tǒng)模型,從而得到對(duì)此問(wèn)題的理解。如果整個(gè)系統(tǒng)的功能、原理和結(jié)構(gòu)沒(méi)有一個(gè)全面而詳細(xì)的記載的話,將會(huì)對(duì)此軟件產(chǎn)品的開發(fā)、維護(hù)和升級(jí)產(chǎn)生不利的結(jié)果。uml的好處有: 1.用統(tǒng)一而直觀的圖符來(lái)幫助不同角色(客戶,分析者,設(shè)計(jì)者,實(shí)現(xiàn)者.)進(jìn)行良好的溝通 2.開發(fā)的不同階段(分析,設(shè)計(jì),實(shí)施,測(cè)試)均采用一致的模型,從而保證了階段順利切換. 19 在繪制類圖時(shí),第一步就是發(fā)現(xiàn)類,最常用的方法是什么?請(qǐng)簡(jiǎn)要說(shuō)明它的使用方法。名詞動(dòng)詞分析法通過(guò)事件流尋找類 分析事件流中的名詞,將性質(zhì)相同的歸為一類;去除不恰當(dāng)?shù)幕蚝?,去除?yīng)歸為屬性的項(xiàng)目。 命名所獲取的類。 如何
21、確定屬性 注意需求中的名詞; 注意用例模型或需求文檔中的名詞,數(shù)據(jù)表。如何確定方法 實(shí)現(xiàn):實(shí)現(xiàn)業(yè)務(wù)功能,通過(guò)事件流中的動(dòng)詞分析進(jìn)行捕捉; 管理:管理對(duì)象的創(chuàng)建或構(gòu)造; 訪問(wèn):查詢或修改每個(gè)類的屬性; 幫助:說(shuō)明類完成任務(wù)所需要的操作。20 簡(jiǎn)述面向?qū)ο蠓治鲞^(guò)程。面向?qū)ο蠓治龅哪康脑谟诮?。面向?qū)ο蠓治龅囊话悴襟E如下:1、獲取客戶對(duì)系統(tǒng)的需求,包括標(biāo)識(shí)場(chǎng)景和用例,以及建立需求模型(根據(jù)需求所做的簡(jiǎn)單的框圖);2、用基本的需求為指南來(lái)選擇類和對(duì)象;3、定義類的結(jié)構(gòu)和層次;4、建造對(duì)象關(guān)系模型;5、建造對(duì)象行為模型(即動(dòng)態(tài)模型,包括交互模型,狀態(tài)模型,有時(shí)序圖,協(xié)作圖,狀態(tài)圖);6、利用用例場(chǎng)景來(lái)復(fù)
22、審分析模型。21 簡(jiǎn)述面向?qū)ο笤O(shè)計(jì)過(guò)程。面向?qū)ο笤O(shè)計(jì)是將面向?qū)ο蠓治鏊鶆?chuàng)建的分析模型轉(zhuǎn)換為設(shè)計(jì)模型。面向?qū)ο笤O(shè)計(jì)的目標(biāo)是產(chǎn)生一個(gè)滿足用戶需求,并且完全可實(shí)現(xiàn)的面向?qū)ο笤O(shè)計(jì)模型。1、 系統(tǒng)設(shè)計(jì)將分析模型劃分成子系統(tǒng)標(biāo)識(shí)問(wèn)題本身的并發(fā)性,并為子系統(tǒng)分配處理器任務(wù)管理設(shè)計(jì)數(shù)據(jù)管理設(shè)計(jì)資源管理設(shè)計(jì)人機(jī)界面設(shè)計(jì)子系統(tǒng)間的通信2、對(duì)象設(shè)計(jì);對(duì)象設(shè)計(jì)是為每個(gè)類的屬性和操作做出詳細(xì)的設(shè)計(jì),并設(shè)計(jì)連接類與它的協(xié)作者之間的消息規(guī)約。對(duì)象描述的方式 協(xié)議描述:描述對(duì)象的接口,即定義對(duì)象可以接收的消息以及接收到消息后完成的相關(guān)操作; 實(shí)現(xiàn)描述:描述傳送給對(duì)象的消息所蘊(yùn)含的每個(gè)操作的實(shí)現(xiàn)細(xì)節(jié),實(shí)現(xiàn)細(xì)節(jié)就是關(guān)于描述對(duì)象屬
23、性的數(shù)據(jù)結(jié)構(gòu)的內(nèi)部細(xì)節(jié)和描述操作的過(guò)程細(xì)節(jié)。為對(duì)象中的屬性和操作設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和算法。3、消息設(shè)計(jì); 使用對(duì)象間的協(xié)作和對(duì)象-關(guān)系模型,設(shè)計(jì)消息模型。4、復(fù)審。復(fù)審設(shè)計(jì)模型并在需要時(shí)迭代。 22 請(qǐng)觀察一部電梯的運(yùn)行方式,并用狀態(tài)圖描述它的各種狀態(tài)(簡(jiǎn)化為“第一層”、“向上運(yùn)動(dòng)”、“向下運(yùn)動(dòng)”、“等待”、“運(yùn)動(dòng)到第一層”五種狀態(tài))和可能轉(zhuǎn)移。23. 簡(jiǎn)單的電子表包含兩個(gè)按鈕A 和B,系統(tǒng)啟動(dòng)后進(jìn)入顯示時(shí)分秒時(shí)間狀態(tài)。在顯示時(shí)間狀態(tài)下按鈕B 用于切換兩種時(shí)間顯示方式,即顯示時(shí)分秒和顯示年月日。而在顯示時(shí)分秒狀態(tài)下,按鈕A 用于切換四種操作方式:顯示時(shí)間、設(shè)置小時(shí)、設(shè)置分鐘和設(shè)置秒鐘;在顯示年月日狀
24、態(tài)下按鈕A 用于切換顯示時(shí)間、設(shè)置年份、設(shè)置月份和設(shè)置日期四種操作方式。試畫出其狀態(tài)轉(zhuǎn)換圖。24 某“訂貨”用例的文字描述如下:接收顧客的訂單、確認(rèn)訂單是否已付款。若未付款,則取消并退回訂單;若已付款,則檢查每個(gè)訂單項(xiàng)。對(duì)有貨的訂單項(xiàng)更新庫(kù)存,同時(shí)向顧客發(fā)放提貨單;對(duì)于缺貨的訂單項(xiàng)則向顧客發(fā)放缺貨單,同時(shí)向采購(gòu)人員發(fā)放采購(gòu)單。請(qǐng)用活動(dòng)圖描述這一用例。25 掌握UML 中各種模型圖的作用,畫法,結(jié)合“網(wǎng)上學(xué)生選課系統(tǒng)”仔細(xì)理解。第一類是用例圖,從用戶角度描述系統(tǒng)功能,并指出各功能的操作者。第二類是靜態(tài)圖(Static diagram),包括類圖、對(duì)象圖和包圖。其中類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅
25、定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個(gè)生命周期都是有效的。對(duì)象圖是類圖的實(shí)例,幾乎使用與類圖完全相同的標(biāo)識(shí)。他們的不同點(diǎn)在于對(duì)象圖顯示類的多個(gè)對(duì)象實(shí)例,而不是實(shí)際的類。由于對(duì)象存在生命周期,因此對(duì)象圖只能在系統(tǒng)某一時(shí)間段存在。包由包或類組成,表示包與包之間的關(guān)系。包圖用于描述系統(tǒng)的分層結(jié)構(gòu)。第三類是行為圖(Behavior diagram),描述系統(tǒng)的動(dòng)態(tài)模型和組成對(duì)象間的交互關(guān)系。其中狀態(tài)圖描述類的對(duì)象所有可能的狀態(tài)以及事件發(fā)生時(shí)狀態(tài)的轉(zhuǎn)移條件。通常,狀態(tài)圖是對(duì)類圖的補(bǔ)充。在實(shí)用上并不需要為所有的類畫
26、狀態(tài)圖,僅為那些有多個(gè)狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。而活動(dòng)圖描述滿足用例要求所要進(jìn)行的活動(dòng)以及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng)。第四類是交互圖(Interactive diagram),描述對(duì)象間的交互關(guān)系。其中順序圖顯示對(duì)象之間的動(dòng)態(tài)合作關(guān)系,它強(qiáng)調(diào)對(duì)象之間消息發(fā)送的順序,同時(shí)顯示對(duì)象之間的交互;合作圖描述對(duì)象間的協(xié)作關(guān)系,合作圖跟順序圖相似,顯示對(duì)象間的動(dòng)態(tài)合作關(guān)系。除顯示信息交換外,合作圖還顯示對(duì)象以及它們之間的關(guān)系。如果強(qiáng)調(diào)時(shí)間和順序,則使用順序圖;如果強(qiáng)調(diào)上下級(jí)關(guān)系,則選擇合作圖。這兩種圖合稱為交互圖。第五類是實(shí)現(xiàn)圖( Implementation diag
27、ram )。其中構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。網(wǎng)上選課系統(tǒng)建模類圖范例根據(jù)前面課程的分析可知選課系統(tǒng)可設(shè)計(jì)如下類:(1)界面FormObject(2)控制對(duì)象ControlObject(3)課程Course角色類:(1)管理員Register(2)學(xué)生Student(3)學(xué)生和管理員的父類People(4)數(shù)據(jù)庫(kù)Database時(shí)序圖:協(xié)作圖:26 無(wú)向圖包括點(diǎn)集和邊集,其中邊集的邊連接著點(diǎn)集的一對(duì)點(diǎn),如下圖所示。試用類模型描述無(wú)向圖,只需描述其結(jié)構(gòu),不需描述其中點(diǎn)的位置和邊的長(zhǎng)度等信息。27 簡(jiǎn)單有向圖與無(wú)向圖類似,只是邊是有向的,
28、如下圖所示。試用一個(gè)類模型描述有向圖。28 下面類圖是一個(gè)圖形交互編輯器的部分類圖,其中sheet(頁(yè)面)是Line 和Box 的集合,selection 是選中的Line 和Box 的集合。在下面的類圖中沒(méi)能表示一個(gè)Line 或Box 元素只能屬于sheet 或selectio 之一的約束,試修改該類圖,使其能表示該約束關(guān)系。29 優(yōu)化下面的類圖,使其在沒(méi)有確認(rèn)專欄(Culumn)之前可以確定文本行(Line)在哪個(gè)頁(yè)面(Page)上。30 在圖33 中最上面的對(duì)象的名稱是什么?該圖表示的意思是什么?請(qǐng)繪制出與其相應(yīng)的類圖。最上面的對(duì)象的名稱是China,該圖表示中國(guó)是由福建,四川等省份組成
29、的。相應(yīng)的類圖如下:31. 用面向?qū)ο蠓椒ń⒁粋€(gè)現(xiàn)實(shí)問(wèn)題的分析模型。題目如下:學(xué)校管理系統(tǒng)要存儲(chǔ)下列數(shù)據(jù):(1)系:系名,系主任學(xué)生:學(xué)號(hào),姓名,學(xué)生所屬系教師:工作證號(hào),姓名,教師所屬系研究生:專業(yè)方向教授:研究領(lǐng)域課程:課程號(hào),名稱,學(xué)分(2)學(xué)生每學(xué)期要選修若干門課程,每門課有一個(gè)考試成績(jī);莫個(gè)學(xué)期開設(shè)的每門課程只有一個(gè)任教教師;一個(gè)教師只任教一門課;一個(gè)教師有能力講授多門課程,一門課程也可以有多位教師能夠講授;每個(gè)研究生只能跟隨一位教授.試畫出表示上述數(shù)據(jù)的類模型。32. 分析下面的類圖,畫出新的類圖,將原圖中的多對(duì)多的關(guān)系轉(zhuǎn)換為1:M(一對(duì)多)關(guān)系。33. 信用卡可能處于“開放”和
30、“關(guān)閉”狀態(tài),其中“開放”狀態(tài)可以直接進(jìn)入“關(guān)閉”狀態(tài),而從“關(guān)閉”狀態(tài)必須提供密碼驗(yàn)證才能進(jìn)入“開放”狀態(tài),“開放”狀態(tài)又包括“透支”和正常狀態(tài)之間的變化,當(dāng)剩余金額少于0,或者使用額度大于剩余金額,或者結(jié)算余額小于0時(shí)進(jìn)入透支狀態(tài),反之則為正常狀態(tài)。畫出信用卡的狀態(tài)轉(zhuǎn)換圖。34. 請(qǐng)判斷以下類圖中的類關(guān)系是否合適,并說(shuō)明理由。飛機(jī)有機(jī)翼、機(jī)身、駕駛艙商店里的電器,一臺(tái)電器可以是一臺(tái)洗衣機(jī),也可以不是;一臺(tái)電器可以是一臺(tái)電視機(jī),也可以不是;一臺(tái)電器可以是一臺(tái)空調(diào),也可以不是。公司員工很多,包括程序員、分析員與項(xiàng)目經(jīng)理等。35. 仔細(xì)分析“語(yǔ)音郵箱系統(tǒng)”的“保留語(yǔ)音信息”和“撥打郵箱號(hào)”的用例
31、事件流描述,請(qǐng)找出里面的對(duì)象,并畫出時(shí)序圖或協(xié)作圖。用例1:撥打郵箱號(hào)呼叫者撥打語(yǔ)音郵件系統(tǒng)的主號(hào)碼;語(yǔ)音郵件系統(tǒng)發(fā)出提示音:輸入郵箱號(hào)碼并加#號(hào)呼叫者輸入接收者的郵箱號(hào)語(yǔ)音郵件系統(tǒng)發(fā)出問(wèn)候語(yǔ):已進(jìn)入XX的郵箱,請(qǐng)留言。用例2:保留語(yǔ)音信息呼叫者“撥打郵箱號(hào)”呼叫者說(shuō)出信息呼叫者掛斷電話語(yǔ)音郵件系統(tǒng)將記錄的信息存放在接收者的郵箱中。36. 假設(shè)某高校需要建立一個(gè)檔案管理系統(tǒng),而你是該軟件系統(tǒng)的負(fù)責(zé)人。你所在的軟件公司與高校一致同意系統(tǒng)的構(gòu)建采用面向?qū)ο蠓椒āW鳛殚_發(fā)負(fù)責(zé)人,請(qǐng)你結(jié)合本課程中的學(xué)習(xí)知識(shí),提供參考的軟件體系結(jié)構(gòu)設(shè)計(jì)方案,描述開發(fā)這個(gè)系統(tǒng)的過(guò)程,并寫出開發(fā)過(guò)程的每個(gè)步驟中你認(rèn)為應(yīng)該用
32、到的主要技術(shù)。在面向?qū)ο蠹夹g(shù)中,對(duì)已有的類得特征稍作改變就可生成其他的類,這種方式稱為(C)A.委托 B.代 C.繼承 D.封裝類庫(kù)是一種預(yù)先定義的程序庫(kù),它以程序模塊的形式,按照(B)把一組類的定義和實(shí)現(xiàn)組織在一起:(C)對(duì)類庫(kù)的建設(shè)提供了強(qiáng)有力的支持。A.類的功能 B.類的層次結(jié)構(gòu) C.實(shí)例之間的調(diào)用關(guān)系 D.類的類型A.引用 B.重置 C.類屬類 D.封裝UML是一種面向?qū)ο蟮慕y(tǒng)一建模語(yǔ)言。它包含10種圖,其中,用例圖展示了外部actor與系統(tǒng)所提供的用例之間的連接,UML中的外部actor是指(D),用例可以用(C)圖來(lái)描述。狀態(tài)圖指明了對(duì)象所有可能的狀態(tài)以及狀態(tài)之間的遷移。如果一個(gè)并
33、發(fā)的狀態(tài)由n個(gè)并發(fā)的子狀態(tài)圖組成,那么,該并發(fā)狀態(tài)在某個(gè)時(shí)刻的狀態(tài)由(A)個(gè)子狀態(tài)中各取一個(gè)狀態(tài)組合而成。協(xié)作圖描述了協(xié)作的(A)之間的交互和鏈接,它畫成(A)圖的形式。A.人員 B.單位 C.人員或單位 D.人員或外部系統(tǒng)A.類 B.狀態(tài) C.活動(dòng) D.協(xié)作A.每一 B.任意一 C.任意二 D.任意m(m=n)A.對(duì)象 B.類 C.用例 D.狀態(tài)A.對(duì)象 B.類 C.用例 D.狀態(tài)在面向?qū)ο蠓治鲞^(guò)程中,用概念模型來(lái)詳細(xì)描述系統(tǒng)的問(wèn)題域,用(B)來(lái)表示概念模型;用(A)來(lái)描述對(duì)象行為。A.序列圖 B類圖 C協(xié)作圖 D用例圖A.序列圖和協(xié)作圖 B用例圖和活動(dòng)圖 C類圖和包圖 D用例圖和構(gòu)件圖在U
34、ML中,(D)把活動(dòng)圖中的活動(dòng)劃分為若干組,并將劃分的組指定給對(duì)象,這些對(duì)象必須履行該組所包含的活動(dòng),它能夠明確地表示哪些活動(dòng)是由哪些對(duì)象完成的。A組合活動(dòng) B同步條 C活動(dòng) D泳道在較高的抽象層次上,傳統(tǒng)的程序流程圖與UML中活動(dòng)圖最根本的區(qū)別在于(A)。A程序流程圖明確地指定了每個(gè)活動(dòng)的先后順序,而活動(dòng)圖僅描述了活動(dòng)和必要的工作順序B活動(dòng)圖不能提供循環(huán)控制結(jié)構(gòu),而程序流程圖提供C活動(dòng)圖不能表示并發(fā)活動(dòng),而程序流程圖可以表示并發(fā)活動(dòng)D兩者采用不同的圖形符號(hào)系統(tǒng)在關(guān)于用例的描述中,錯(cuò)誤的是(A)A用例將系統(tǒng)的功能范圍分解成許多小的系統(tǒng)功能陳述B一個(gè)用例代表了系統(tǒng)的一個(gè)單一的目標(biāo)C用例是一個(gè)行為上相關(guān)的步驟序列D用例描述了系統(tǒng)與用戶的交互UML提供了4種結(jié)構(gòu)圖用于對(duì)系統(tǒng)的靜態(tài)方面進(jìn)行可視化、詳述、構(gòu)造和文檔化。其中(B)是面向?qū)ο笙到y(tǒng)建模中最常見(jiàn)的圖,用于說(shuō)明系統(tǒng)的靜態(tài)設(shè)計(jì)視圖;當(dāng)需要說(shuō)明系統(tǒng)的靜態(tài)實(shí)現(xiàn)視圖時(shí),應(yīng)該選擇(A);當(dāng)需要說(shuō)明體系結(jié)構(gòu)的靜態(tài)實(shí)施視圖時(shí),應(yīng)該選擇(D)。A構(gòu)件圖 B類圖 C對(duì)象圖 D部署圖A構(gòu)件圖 B協(xié)作
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度公司車輛租賃協(xié)議樣本
- 2024道路安全員招聘協(xié)議樣本
- 2024年聘用協(xié)議規(guī)范化樣本
- 2023-2024學(xué)年鄭州市高三下學(xué)期5月月考數(shù)學(xué)試題(A卷)
- 2024安全生產(chǎn)與環(huán)保綜合管理協(xié)議
- 二手車交易過(guò)戶協(xié)議范本2024
- 2024年度專項(xiàng)宣傳品訂制協(xié)議
- 2024年項(xiàng)目實(shí)施階段服務(wù)協(xié)議范本
- 天津市河北區(qū)2024-2025學(xué)年高二上學(xué)期11月期中英語(yǔ)試題(無(wú)答案)
- 2024專業(yè)桃苗采購(gòu)及種植服務(wù)協(xié)議
- 江蘇省鎮(zhèn)江市第二中學(xué)2023-2024學(xué)年高二上學(xué)期期中考試數(shù)學(xué)試卷(無(wú)答案)
- 2023-2024學(xué)年全國(guó)初一下生物人教版期末考試試卷(含答案解析)
- 2024年甘肅省隴南市武都區(qū)人民法院招聘18人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 職域行銷BBC模式開拓流程-企業(yè)客戶營(yíng)銷技巧策略-人壽保險(xiǎn)營(yíng)銷實(shí)戰(zhàn)-培訓(xùn)課件
- CPrimerPlus第六版中文版習(xí)題答案
- 乘法的故事(小學(xué)二年級(jí)課前小故事).ppt
- 《骨盆重要性》PPT課件.ppt
- WHO癌痛的三階梯止痛的原則
- 第二節(jié)絡(luò)合物的分子軌道理論
- 高等電力系統(tǒng)分析
- 運(yùn)動(dòng)與脂肪PPT課件
評(píng)論
0/150
提交評(píng)論