1、UML中常見(jiàn)的關(guān)系的線性表示:
擴(kuò)展關(guān)系:、泛化(繼承)關(guān)系:、依賴關(guān)系:
聚合關(guān)系:、組成關(guān)系:、
關(guān)聯(lián)關(guān)系:、實(shí)現(xiàn)關(guān)系:
2、UML中幾種基本圖及其基本功能作用:
UML的重要內(nèi)容可以由哪五類圖(共9種圖形)來(lái)定義:
答:用例圖:用例圖。
靜態(tài)圖:類圖、對(duì)象圖
行為圖:狀態(tài)圖、活動(dòng)圖
交互圖:時(shí)序圖、協(xié)作圖
實(shí)現(xiàn)圖:構(gòu)件圖、部署圖
1)類圖:類圖是描述類、接口、協(xié)作以及它們之間的關(guān)系的圖,用來(lái)顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)。
類包括:類圖、屬性、方法。
類圖包括:類、接口、協(xié)作、關(guān)系、約束、注釋以及包。
類的表示包括:名稱、屬性、操作、職責(zé)和約束。
類圖的建模過(guò)程:確定對(duì)象與類、確定類的屬性、確定類的關(guān)系。
類圖在UML中的重要作用:1.為開(kāi)發(fā)人員提供這種模仿現(xiàn)實(shí)世界的表達(dá)方式。
2.讓分析員使用客戶所采用的術(shù)語(yǔ)和客戶交流,促使客戶說(shuō)出所要解決的問(wèn)題的重要細(xì)節(jié)。
2)對(duì)象圖:對(duì)象圖表示在某一時(shí)刻一組對(duì)象以及他們之間的關(guān)系的圖。
UML對(duì)象圖的用途
◆捕獲實(shí)例和連接、◆在分析和設(shè)計(jì)階段創(chuàng)建、◆捕獲交互的靜態(tài)部分、◆舉例說(shuō)明數(shù)據(jù)/對(duì)象結(jié)構(gòu)、◆詳細(xì)描述瞬態(tài)圖、◆由分析人員、設(shè)計(jì)人員和代碼實(shí)現(xiàn)人員開(kāi)發(fā)
3)用例圖:表述了一組用例、參與者以及它們之間的關(guān)系的圖。
用例模型包括:用例圖和用例規(guī)則。
用例規(guī)則包括:基本流和備選流。
用例圖的組成元素有:參與者,用例,通信關(guān)聯(lián),用例規(guī)約
建立用例模型步驟:
1) 根據(jù)系統(tǒng)邊界確定參與者
2) 根據(jù)每個(gè)參與者確定與之相關(guān)聯(lián)的用例
3) 對(duì)每個(gè)用例寫(xiě)出用例規(guī)約文檔,調(diào)整用例模型(優(yōu)化參與者與參與者之間的關(guān)系,用例與用例之間的關(guān)系)
用例對(duì)于系統(tǒng)開(kāi)發(fā)人員來(lái)說(shuō)的價(jià)值:是用來(lái)從用戶的觀察角度收集系統(tǒng)需求的一項(xiàng)技術(shù),便于分析員與客戶和用戶交流,使系統(tǒng)更符合用戶的需求
4)順序圖也稱為時(shí)序圖,它描敘了系統(tǒng)中對(duì)象間通過(guò)消息進(jìn)行的交互,強(qiáng)調(diào)了消息在時(shí)間軸上的先后順序。
順序圖是由對(duì)象、生命線、控制焦點(diǎn)和消息等構(gòu)成。(消息表示了對(duì)象間的通信,生命線表示了對(duì)象的生存期,控制焦點(diǎn)表示對(duì)象正在執(zhí)行一些活動(dòng))
順序圖將交互關(guān)系表示為一張二維圖,其中縱向是時(shí)間軸,時(shí)間沿豎線向下延伸,橫向代表了在協(xié)作中各獨(dú)立對(duì)象的角色。
順序圖中從左到右各對(duì)象分別為:執(zhí)行者角色、控制類、用戶接口、業(yè)務(wù)層、后臺(tái)數(shù)據(jù)庫(kù)。
順序圖的作用:順序圖常用來(lái)描述用例的實(shí)現(xiàn),它表明了由哪些對(duì)象通過(guò)消息相互協(xié)作來(lái)實(shí)現(xiàn)用例的功能。在順序圖中,標(biāo)識(shí)了消息發(fā)生的先后順序。
5)協(xié)作圖:描述了系統(tǒng)中對(duì)象間通過(guò)消息進(jìn)行的交互,強(qiáng)調(diào)了對(duì)象在交互行為中承擔(dān)的角色。
協(xié)作圖包括對(duì)象、鏈(連接器)、消息。
(協(xié)作圖與順序圖的比較與各自的優(yōu)缺點(diǎn)下面有)
交互圖(協(xié)作圖與順序圖)的特征:交互圖形主要用于對(duì)用例中的控制建模,一般情況下,一個(gè)交互圖形表達(dá)單個(gè)用例的行為,它表示出該用例中若干個(gè)實(shí)例對(duì)象和對(duì)象之間所傳遞的消息,交互圖形有效的幫助人們觀察和理解系統(tǒng)內(nèi)部的協(xié)作關(guān)系和過(guò)程行為。
6)狀態(tài)圖:描述了一個(gè)對(duì)象所處的可能狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換,并給出了狀態(tài)變化序列的起點(diǎn)和終點(diǎn)。
狀態(tài)圖包括:狀態(tài)、轉(zhuǎn)換。
一個(gè)狀態(tài)圖表示一個(gè)狀態(tài)機(jī),表示從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的控制流。
引發(fā)狀態(tài)轉(zhuǎn)換的事件主要有:調(diào)用事件、變化事件、時(shí)間事件以及信號(hào)事件。
建模步驟:找出適合用模型描述其行為的類、確定對(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ì)化。
作用:能幫助分析員、設(shè)計(jì)員和開(kāi)發(fā)人員理解系統(tǒng)中對(duì)象的行為。(P87)
7)活動(dòng)圖:描述從活動(dòng)到活動(dòng)的流。
活動(dòng)圖包括:動(dòng)作狀態(tài),活動(dòng)狀態(tài),動(dòng)作流、分支與合并、分關(guān)與匯合、泳道以及對(duì)象流。
8)構(gòu)件圖:主要用來(lái)描述各種軟件構(gòu)件之間的依賴關(guān)系,是描述構(gòu)件與構(gòu)件關(guān)系的圖。
構(gòu)件圖包括注釋、約束和包。
構(gòu)件包括5個(gè)要素:接口聲明、接口實(shí)現(xiàn)、構(gòu)件標(biāo)準(zhǔn)、封裝方法以及部署方法。
構(gòu)件分為3種類型:配置構(gòu)件、工作產(chǎn)品構(gòu)件以及執(zhí)行構(gòu)件。
構(gòu)件圖的基本目的是:使系統(tǒng)人員和開(kāi)發(fā)人員能夠從整體上了解系統(tǒng)的所有物理部件;同時(shí),也使我們知道如何對(duì)構(gòu)件進(jìn)行打包,以便交付給最終客戶;最后,構(gòu)件圖顯示了被開(kāi)發(fā)系統(tǒng)所包含的構(gòu)件之間的依賴關(guān)系
(構(gòu)件和類的比較見(jiàn)下面)
9)部署圖:描述系統(tǒng)中的硬件節(jié)點(diǎn)及節(jié)點(diǎn)之間如何連接的圖。
部署圖的組成元素包括節(jié)點(diǎn)、節(jié)點(diǎn)間的鏈接。
部署圖的目的:描述系統(tǒng)投產(chǎn)的相關(guān)問(wèn)題;描述系統(tǒng)與生產(chǎn)環(huán)境中的其他系統(tǒng)間的依賴關(guān)系,這些系統(tǒng)可能是已經(jīng)存在,或是將要引入的;描述一個(gè)商業(yè)應(yīng)用主要的部署結(jié)構(gòu);設(shè)計(jì)一個(gè)嵌入系統(tǒng)的硬件和軟件結(jié)構(gòu);描述一個(gè)組織的硬件/網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。
(活動(dòng)圖與狀態(tài)圖的比較見(jiàn)下面)
3、類圖的表示:
4、略
5、對(duì)象間的可見(jiàn)性:可見(jiàn)性指的是一個(gè)對(duì)象能夠“看到” 或者引用另一個(gè)對(duì)象的能力。Public + ,private - ,protected #
6、類的區(qū)分:
UML將類分為邊界類、實(shí)體類以及控制類。
1)邊界類用于描述外部參與者與系統(tǒng)之間的交互。
邊界類是一種用于對(duì)系統(tǒng)外部環(huán)境與其內(nèi)部運(yùn)作之間的交互進(jìn)行建模的類。這種交互包括轉(zhuǎn)換事件,并記錄系統(tǒng)表示方式(例如接口)中的變更。
2)實(shí)體類主要是作為數(shù)據(jù)管理和業(yè)務(wù)邏輯處理層面上存在的類別。
實(shí)體類的主要職責(zé)是存儲(chǔ)和管理系統(tǒng)內(nèi)部的信息,它也可以有行為,甚至很復(fù)雜的行為,但這些行為必須與它所代表的實(shí)體對(duì)象密切相關(guān)。
實(shí)體類保存要放進(jìn)持久存儲(chǔ)體的信息。持久存儲(chǔ)體就是數(shù)據(jù)庫(kù)、文件等可以永久存儲(chǔ)數(shù)據(jù)的介質(zhì)。實(shí)體類可以通過(guò)事件流和交互圖發(fā)現(xiàn)。通常每個(gè)實(shí)體類在數(shù)據(jù)庫(kù)中有相應(yīng)的表,實(shí)體類中的屬性對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的字段。
實(shí)體類是用于對(duì)必須存儲(chǔ)的信息和相關(guān)行為建模的類。實(shí)體對(duì)象(實(shí)體類的實(shí)例)用于保存和更新一些現(xiàn)象的有關(guān)信息,例如:事件、人員或者一些現(xiàn)實(shí)生活中的對(duì)象。
3)控制類用于描述一個(gè)用例所具有的事件流控制行為,控制一個(gè)用例中的事件順序。
1.邊界類,描述外部與系統(tǒng)內(nèi)部交互的類;2.控制類,控制其他類;3.實(shí)體類,存儲(chǔ)信息和相關(guān)行為的類;
7、面向?qū)ο箝_(kāi)發(fā)系統(tǒng)是一系列對(duì)象的集合。
8、面向?qū)ο蟮娜髾C(jī)制:封裝、繼承、多態(tài)。
9、軟件工作的有效性和可靠性。
10、面向?qū)ο笾笆敲嫦蜻^(guò)程的結(jié)構(gòu)化分析與設(shè)計(jì)方法,這種方法以功能分析為基礎(chǔ)。
11、對(duì)象是客觀實(shí)體的抽象表示,是由描述對(duì)象屬性的數(shù)據(jù)和對(duì)這些數(shù)據(jù)進(jìn)行的操作行為兩部分組成。而類是對(duì)具有相同屬性和行為一組對(duì)象的抽象描述。因此,它作為一種用戶自定義類型和創(chuàng)建對(duì)象的樣板,而按照這種樣板所創(chuàng)建的一個(gè)個(gè)具體對(duì)象就是類的實(shí)例。通過(guò)繼承關(guān)系又可形成一種類層關(guān)系。
12、UML中靜態(tài)圖有:用例圖、類圖、對(duì)象圖、構(gòu)件圖、部署圖
動(dòng)態(tài)圖有:活動(dòng)圖、順序圖、協(xié)作圖、狀態(tài)圖
簡(jiǎn)答題:
1、簡(jiǎn)述面向?qū)ο蟮娜髾C(jī)制:封裝性、繼承性以及多態(tài)性。
1)封裝性。所謂封裝就是把對(duì)象的屬性和行為結(jié)合成一個(gè)獨(dú)立的單位,使外界不能直接訪問(wèn)或修改這些數(shù)據(jù)和代碼,外界只能通過(guò)對(duì)象提供的接口函數(shù)來(lái)改變或獲取對(duì)象的屬性數(shù)據(jù),這就實(shí)現(xiàn)了消息的隱蔽;2)繼承性。如果在一個(gè)已定義的類上,增加一些特殊屬性或操作,可以形成一個(gè)新的類,這個(gè)類不僅繼承了前一個(gè)類的全部特征,而且具有新的特性,因此可看作前一個(gè)類的特例,是對(duì)前一個(gè)類的繼承。前一個(gè)類成為父類,新產(chǎn)生的類叫做子類。通過(guò)繼承關(guān)系可形成一種類層次結(jié)構(gòu),叫做繼承結(jié)構(gòu);3)多態(tài)性。在類層次結(jié)構(gòu)的不同類中,可用相同的函數(shù)名實(shí)現(xiàn)功能不同的函數(shù)。多態(tài)即程序中同名的不同方法共存的情況,常見(jiàn)的兩種多態(tài)方式為:①子類對(duì)父類方法的覆蓋;② 利用重載在同一個(gè)類中定義多個(gè)同名的不同方法。
2、敘述面向?qū)ο蟀l(fā)展的動(dòng)因:
為了超越程序復(fù)雜性障礙,克服軟件危機(jī),人們提出了面向?qū)ο筌浖_(kāi)發(fā)方法。面向?qū)ο箝_(kāi)發(fā)方法一改過(guò)去傳統(tǒng)的以功能分析為基礎(chǔ)的面向過(guò)程的結(jié)構(gòu)化分析與設(shè)計(jì)方法。面向?qū)ο箝_(kāi)發(fā)方法模擬人們理解和處理客觀世界的方式來(lái)分析問(wèn)題,把系統(tǒng)視為一系列對(duì)象的結(jié)合,其面向?qū)ο笤O(shè)計(jì)又將分析的結(jié)果映射到某一種面向?qū)ο髮?shí)現(xiàn)工具的結(jié)構(gòu)上,使映射過(guò)程有著比較直接的對(duì)應(yīng)關(guān)系,使分析者、設(shè)計(jì)者和編程者都可使用相同的概念,從而使面向?qū)ο蟮能浖_(kāi)發(fā)能比較自然地模擬客觀世界的活動(dòng),使問(wèn)題描述空間與解空間在結(jié)構(gòu)上盡可能一致。因此,采用面向?qū)ο蠓椒梢愿行У亻_(kāi)發(fā)大型軟件系統(tǒng)。面向?qū)ο蠓椒ǖ姆庋b、繼承、多態(tài)等機(jī)制不僅支持軟件復(fù)用,而且使軟件維護(hù)工作可靠有效,可實(shí)現(xiàn)軟件系統(tǒng)的柔性制造,更好地克服軟件危機(jī)。因此,它成為成熟的廣為采用的軟件開(kāi)發(fā)方法。
3、分析順序圖和協(xié)作圖之間的差別和優(yōu)缺點(diǎn):
順序圖可視化地表示了對(duì)象之間隨時(shí)間發(fā)生的交互,它除了展示對(duì)象之間的關(guān)聯(lián),還顯示出對(duì)象之間的消息傳遞。與順序圖一樣,協(xié)作圖也展示對(duì)象之間的交互關(guān)系。順序圖強(qiáng)調(diào)的是交互的時(shí)間順序,而協(xié)作圖強(qiáng)調(diào)的是交互的語(yǔ)境和參與交互的對(duì)象的整體組織。順序圖按照時(shí)間順序布圖,而協(xié)作圖按照空間組織布圖。
順序圖可以清晰地表示消息之間的順序和時(shí)間關(guān)系,但需要較多的水平方向的空間。
協(xié)作圖在增加對(duì)象時(shí)比較容易,而且分支也比較少,但如果消息比較多時(shí)難以表示消息之間的順序。
填空、選擇:
1、2略
3、在用例圖中用例與角色是關(guān)聯(lián)角色。
4、順序圖中有生命線。
5、整體與局部的關(guān)系用聚集(聚合)表達(dá)的。
6、UML圖中,關(guān)聯(lián)角色的構(gòu)造型有5種
7、略
8、UML中4大關(guān)系:依賴、泛化、實(shí)現(xiàn)和關(guān)聯(lián)。
9、UML構(gòu)造塊中的事物和關(guān)系各包含哪些內(nèi)容?
UML的事物包含:動(dòng)作事物、結(jié)構(gòu)事物、分組事物、注釋事物
動(dòng)作事物包含:交互、狀態(tài)機(jī)
結(jié)構(gòu)事物包含:類、接口、用例、協(xié)作、節(jié)點(diǎn)、構(gòu)件、活動(dòng)類
分組事物包含:包
注釋事物包含:注解
10、活動(dòng)圖中的泳道技術(shù)的作用:通過(guò)泳道不僅體現(xiàn)了整個(gè)活動(dòng)控制流,還體現(xiàn)出了每個(gè)活動(dòng)的實(shí)施者。
11、狀態(tài)圖描述從狀態(tài)到狀態(tài)的控制流程,常用來(lái)對(duì)系統(tǒng)的動(dòng)態(tài)特稱進(jìn)行建模。
12、UML中類可分為3大類:實(shí)體類、控制類和邊界類。
13、UML體系分為3大部分:UML基本構(gòu)造塊、UML規(guī)則和UML公共機(jī)制。
1. 比較活動(dòng)圖與狀態(tài)圖:
1)活動(dòng)圖和狀態(tài)圖描述的重點(diǎn)不同:活動(dòng)圖描述的是從活動(dòng)到活動(dòng)的控制流,而狀態(tài)圖表述的是對(duì)象的狀態(tài)及狀態(tài)之間的轉(zhuǎn)移。
2)活動(dòng)圖和狀態(tài)圖使用的場(chǎng)合不同:對(duì)于以下幾種情況可以使用活動(dòng)圖:分析用例、理解涉及多個(gè)用例的工作流、處理多線程應(yīng)用:對(duì)于下面的情況要使用狀態(tài)圖:顯示一個(gè)對(duì)象在其生命周期內(nèi)的行為。
2. 構(gòu)件和類的比較:從構(gòu)件的定義來(lái)看,構(gòu)件和類十分相似,如都有名稱,都可以實(shí)現(xiàn)一組接口,都可以參與依賴,泛化和關(guān)聯(lián)關(guān)系,都可以被嵌套,都可以有實(shí)例,都可以參與交互,但它們之間也存著以下明顯區(qū)別:1)類是對(duì)實(shí)體的抽象,而構(gòu)件是對(duì)存在于計(jì)算機(jī)中的物理部件的抽象。也就是說(shuō)構(gòu)件是可以部署的,而類不能部署。2)構(gòu)件是屬于軟件模塊,而非邏輯模塊,與類相比,它們處于不同的抽象級(jí)別,甚至可以說(shuō),構(gòu)件就是由一組類通過(guò)協(xié)作完成的;3)類可以直接擁有操作和屬性,而構(gòu)件僅擁有可以通過(guò)其接口訪問(wèn)的操作。
3、面向?qū)ο蠓椒ǖ幕居^點(diǎn):
(1)客觀世界由對(duì)象組成,任何客觀實(shí)體都是對(duì)象。對(duì)象是系統(tǒng)的基本單位。
(2)復(fù)雜的對(duì)象可以包含簡(jiǎn)單的對(duì)象。
(3)事物的靜態(tài)特征用對(duì)象的屬性表示;事物的動(dòng)態(tài)特征用對(duì)象的操作表示。
(4)對(duì)象的屬性與操作結(jié)合在一起,封裝成一個(gè)獨(dú)立的實(shí)體
(5)具有相同屬性和操作的對(duì)象可歸納成類,對(duì)象是類的一個(gè)實(shí)例。
(6) 類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性。
(7)對(duì)象之間通過(guò)消息進(jìn)行通信,以實(shí)現(xiàn)對(duì)象之間的動(dòng)態(tài)聯(lián)系。
4、簡(jiǎn)述面向?qū)ο蠓治龇椒ǎ∣OA)的5個(gè)基本步驟
1)、識(shí)別對(duì)象,識(shí)別對(duì)象包括標(biāo)識(shí)潛在的對(duì)象和篩選對(duì)象兩步
2)、識(shí)別對(duì)象的屬性
3)、識(shí)別對(duì)象的行為
4)、識(shí)別對(duì)象所屬的類
5)、定義主題詞
原文:https://blog.csdn.net/u011973516/article/details/30301827