UML功能性圖規(guī)范和實(shí)施細(xì)則_第1頁(yè)
UML功能性圖規(guī)范和實(shí)施細(xì)則_第2頁(yè)
UML功能性圖規(guī)范和實(shí)施細(xì)則_第3頁(yè)
UML功能性圖規(guī)范和實(shí)施細(xì)則_第4頁(yè)
UML功能性圖規(guī)范和實(shí)施細(xì)則_第5頁(yè)
已閱讀5頁(yè),還剩116頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

UML功能性圖規(guī)范和實(shí)施細(xì)則一、UML功能性圖概述

UML(統(tǒng)一建模語(yǔ)言)功能性圖是用于描述系統(tǒng)功能、行為和交互的圖形化工具。它主要包括用例圖、類(lèi)圖、序列圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖等。這些圖有助于開(kāi)發(fā)者和分析師清晰地理解系統(tǒng)的結(jié)構(gòu)和行為,從而提高溝通效率,降低開(kāi)發(fā)風(fēng)險(xiǎn)。本規(guī)范和實(shí)施細(xì)則旨在為UML功能性圖的設(shè)計(jì)和使用提供詳細(xì)的指導(dǎo)。

(一)UML功能性圖的主要類(lèi)型

1.用例圖(UseCaseDiagram)

用于描述系統(tǒng)外部的用戶與系統(tǒng)之間的交互。主要元素包括:

-用例(UseCase):系統(tǒng)提供的服務(wù)或功能。

-參與者(Actor):與系統(tǒng)交互的外部實(shí)體。

-關(guān)系:如關(guān)聯(lián)、泛化、包含、擴(kuò)展等。

2.類(lèi)圖(ClassDiagram)

用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類(lèi)、接口、關(guān)系等。主要元素包括:

-類(lèi)(Class):系統(tǒng)中的實(shí)體,具有屬性和方法。

-接口(Interface):定義系統(tǒng)中的行為規(guī)范。

-關(guān)系:如關(guān)聯(lián)、繼承、依賴(lài)、聚合、組合等。

3.序列圖(SequenceDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互順序。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-消息(Message):對(duì)象之間的交互。

-生命線(Lifeline):對(duì)象在時(shí)間上的存在。

4.協(xié)作圖(CollaborationDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互關(guān)系。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-關(guān)系(Relationship):對(duì)象之間的連接。

-消息(Message):對(duì)象之間的交互。

5.狀態(tài)圖(StateDiagram)

用于描述系統(tǒng)中對(duì)象的狀態(tài)變化。主要元素包括:

-狀態(tài)(State):對(duì)象的生命周期階段。

-事件(Event):觸發(fā)狀態(tài)變化的條件。

-轉(zhuǎn)換(Transition):狀態(tài)之間的變化。

6.活動(dòng)圖(ActivityDiagram)

用于描述系統(tǒng)中的業(yè)務(wù)流程或操作流程。主要元素包括:

-活動(dòng)狀態(tài)(ActivityState):業(yè)務(wù)流程中的步驟。

-分支(Branch):條件判斷。

-合并(Merge):分支的匯合。

二、UML功能性圖的設(shè)計(jì)規(guī)范

(一)用例圖設(shè)計(jì)規(guī)范

1.用例命名

用例名稱(chēng)應(yīng)簡(jiǎn)潔明了,反映其主要功能。例如:“用戶登錄”、“商品購(gòu)買(mǎi)”。

2.參與者識(shí)別

參與者應(yīng)是系統(tǒng)的外部實(shí)體,如用戶、管理員等。避免將系統(tǒng)內(nèi)部對(duì)象作為參與者。

3.關(guān)系繪制

-關(guān)聯(lián):表示參與者與用例之間的交互關(guān)系。

-泛化:表示用例的繼承關(guān)系。

-包含:表示用例的組成關(guān)系。

-擴(kuò)展:表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖設(shè)計(jì)規(guī)范

1.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)反映其主要功能或?qū)傩浴@纾骸坝脩簟?、“訂單”?/p>

2.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

3.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

4.關(guān)系繪制

-關(guān)聯(lián):表示類(lèi)之間的合作關(guān)系。

-繼承:表示類(lèi)之間的繼承關(guān)系。

-依賴(lài):表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系。

-聚合:表示整體與部分的關(guān)系。

-組合:表示整體與部分的強(qiáng)依賴(lài)關(guān)系。

(三)序列圖設(shè)計(jì)規(guī)范

1.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。例如:“用戶”、“訂單服務(wù)”。

2.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,表示對(duì)象之間的交互順序。

3.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖設(shè)計(jì)規(guī)范

1.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

2.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖設(shè)計(jì)規(guī)范

1.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

2.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

3.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖設(shè)計(jì)規(guī)范

1.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

2.分支與合并

分支表示條件判斷,合并表示分支的匯合。

3.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

三、UML功能性圖的實(shí)施細(xì)則

(一)用例圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具(如EnterpriseArchitect、Visio等)繪制用例圖。

2.命名規(guī)范

用例名稱(chēng)應(yīng)使用動(dòng)詞短語(yǔ),例如:“登錄系統(tǒng)”、“購(gòu)買(mǎi)商品”。

3.參與者識(shí)別

參與者應(yīng)包括所有與系統(tǒng)交互的外部實(shí)體,如用戶、管理員等。

4.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示參與者與用例之間的關(guān)聯(lián)。

-泛化:使用空心三角形表示用例的泛化關(guān)系。

-包含:使用空心菱形表示用例的包含關(guān)系。

-擴(kuò)展:使用實(shí)心菱形表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制類(lèi)圖。

2.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)使用名詞或名詞短語(yǔ),例如:“用戶”、“訂單”。

3.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

4.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

5.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示類(lèi)之間的關(guān)聯(lián)。

-繼承:使用空心三角形表示類(lèi)的繼承關(guān)系。

-依賴(lài):使用虛線表示類(lèi)之間的依賴(lài)關(guān)系。

-聚合:使用空心菱形表示類(lèi)的聚合關(guān)系。

-組合:使用實(shí)心菱形表示類(lèi)的組合關(guān)系。

(三)序列圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制序列圖。

2.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。

3.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,消息編號(hào)應(yīng)按順序排列。

4.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制協(xié)作圖。

2.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

3.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制狀態(tài)圖。

2.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

3.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

4.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制活動(dòng)圖。

2.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

3.分支與合并

分支表示條件判斷,合并表示分支的匯合。

4.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

四、總結(jié)

UML功能性圖是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中的重要工具,通過(guò)規(guī)范的設(shè)計(jì)和實(shí)施細(xì)則,可以有效地提高系統(tǒng)的可理解性和可維護(hù)性。本規(guī)范和實(shí)施細(xì)則為UML功能性圖的設(shè)計(jì)和使用提供了詳細(xì)的指導(dǎo),幫助開(kāi)發(fā)者和分析師更好地利用UML圖來(lái)描述系統(tǒng)的功能和行為。

三、UML功能性圖的實(shí)施細(xì)則(續(xù))

(一)用例圖實(shí)施細(xì)則(續(xù))

1.繪制工具的選擇與使用

-選擇工具:根據(jù)項(xiàng)目需求和團(tuán)隊(duì)熟悉度選擇合適的UML建模工具。常見(jiàn)工具包括EnterpriseArchitect、VisualParadigm、StarUML等。選擇時(shí)應(yīng)考慮工具的易用性、功能完整性、成本以及是否支持團(tuán)隊(duì)協(xié)作。

-基本操作:

(1)創(chuàng)建用例圖:在工具中創(chuàng)建新項(xiàng)目,選擇用例圖模板或從空白畫(huà)布開(kāi)始。

(2)添加參與者:從工具的庫(kù)中拖拽“參與者”圖標(biāo)到畫(huà)布上,并輸入?yún)⑴c者名稱(chēng),如“用戶”、“管理員”。

(3)添加用例:拖拽“用例”圖標(biāo)到畫(huà)布上,并輸入用例名稱(chēng),如“登錄系統(tǒng)”、“查詢(xún)信息”。

(4)建立關(guān)系:使用工具提供的連接線工具,根據(jù)需要建立參與者與用例之間的關(guān)系(關(guān)聯(lián)、泛化、包含、擴(kuò)展)。

(5)配置屬性:在用例或參與者上右鍵點(diǎn)擊,選擇“屬性”或“細(xì)節(jié)”,輸入相關(guān)描述信息,如用例的優(yōu)先級(jí)、參與者所屬角色等。

(6)導(dǎo)出與共享:將繪制好的用例圖導(dǎo)出為圖片或PDF格式,或直接在團(tuán)隊(duì)協(xié)作平臺(tái)中共享項(xiàng)目文件。

2.命名規(guī)范的最佳實(shí)踐

-用例命名:

-使用動(dòng)詞短語(yǔ),明確表達(dá)系統(tǒng)提供的功能。例如,使用“處理訂單”而不是“訂單管理”。

-保持簡(jiǎn)潔,避免冗長(zhǎng)。用例名稱(chēng)應(yīng)盡量控制在15個(gè)字以?xún)?nèi)。

-使用一致的命名風(fēng)格,如全部使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu)。

-參與者命名:

-使用名詞或名詞短語(yǔ),表示與系統(tǒng)交互的外部實(shí)體。例如,使用“客戶”而不是“購(gòu)買(mǎi)者”。

-與用例命名風(fēng)格保持一致,確保整體文檔的統(tǒng)一性。

3.參與者識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)列出所有用戶類(lèi)型:根據(jù)系統(tǒng)功能,列出所有可能與之交互的用戶類(lèi)型,如普通用戶、管理員、客服人員等。

(2)分析交互行為:針對(duì)每個(gè)用戶類(lèi)型,分析其與系統(tǒng)的主要交互行為,確定是否需要將其作為參與者。

(3)排除內(nèi)部對(duì)象:確保參與者僅為系統(tǒng)外部的實(shí)體,排除系統(tǒng)內(nèi)部的對(duì)象或服務(wù)。

-示例:

-系統(tǒng):在線購(gòu)物平臺(tái)

-參與者:

-普通用戶:瀏覽商品、下訂單、支付、評(píng)價(jià)商品。

-管理員:管理商品信息、處理訂單、管理用戶信息。

-客服人員:處理用戶咨詢(xún)、解決用戶問(wèn)題。

4.關(guān)系繪制的詳細(xì)說(shuō)明

-關(guān)聯(lián)(Association):

-繪制方法:使用實(shí)線連接參與者和用例,表示參與者與用例之間的交互關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注關(guān)系名稱(chēng),如“使用”、“請(qǐng)求”。

-泛化(Generalization):

-繪制方法:使用空心三角形連接子用例和父用例,表示用例的繼承關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注繼承關(guān)系,如“繼承”。

-包含(Include):

-繪制方法:使用空心菱形連接包含用例和被包含用例,表示用例的組成關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注包含關(guān)系,如“包含”。

-擴(kuò)展(Extend):

-繪制方法:使用實(shí)心菱形連接擴(kuò)展用例和被擴(kuò)展用例,表示用例的擴(kuò)展關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注擴(kuò)展關(guān)系,如“擴(kuò)展”。

5.用例圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心功能用例?

-是否遺漏了重要的參與者?

-是否所有用例都有明確的參與者?

-一致性檢查:

-用例命名是否符合規(guī)范?

-參與者命名是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(二)類(lèi)圖實(shí)施細(xì)則(續(xù))

1.繪制工具的高級(jí)應(yīng)用

-動(dòng)態(tài)布局:利用工具的自動(dòng)布局功能,調(diào)整類(lèi)、接口、關(guān)系的位置,使圖形更加美觀和易于理解。

-樣式配置:自定義類(lèi)的顏色、字體、線條樣式等,突出重點(diǎn)類(lèi)或關(guān)系。

-模板使用:創(chuàng)建常用的類(lèi)圖模板,提高繪圖效率,確保項(xiàng)目風(fēng)格統(tǒng)一。

2.類(lèi)命名與職責(zé)分配

-類(lèi)命名原則:

-使用名詞或名詞短語(yǔ),反映類(lèi)的主要功能或表示的實(shí)體。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-保持命名的一致性,如使用駝峰命名法或下劃線命名法。

-職責(zé)分配:

-每個(gè)類(lèi)應(yīng)具有明確的職責(zé),避免一個(gè)類(lèi)承擔(dān)過(guò)多功能。

-通過(guò)方法命名和屬性定義,清晰地表達(dá)類(lèi)的職責(zé)。

-使用單一職責(zé)原則(SingleResponsibilityPrinciple)指導(dǎo)類(lèi)的設(shè)計(jì)。

3.屬性定義的詳細(xì)說(shuō)明

-屬性命名:

-使用名詞或名詞短語(yǔ),表示類(lèi)的特征。

-與類(lèi)命名風(fēng)格保持一致。

-屬性類(lèi)型:

-選擇合適的數(shù)據(jù)類(lèi)型,如String、Integer、Date等。

-考慮屬性是否為基本類(lèi)型(如int、boolean)或復(fù)合類(lèi)型(如自定義類(lèi)、集合)。

-屬性修飾符:

-使用可見(jiàn)性修飾符(public、protected、private)控制屬性的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符(static)表示屬性屬于類(lèi)而非實(shí)例。

-使用final修飾符表示屬性值不可修改。

4.方法定義的詳細(xì)說(shuō)明

-方法命名:

-使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu),表示類(lèi)的行為。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-參數(shù)定義:

-明確每個(gè)參數(shù)的名稱(chēng)和類(lèi)型,以及其作用。

-考慮參數(shù)是否為可選參數(shù)或默認(rèn)參數(shù)。

-返回值定義:

-明確方法的返回值類(lèi)型,以及其表示的意義。

-考慮方法是否返回void表示無(wú)返回值。

-方法修飾符:

-使用可見(jiàn)性修飾符控制方法的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符表示方法屬于類(lèi)而非實(shí)例。

-使用抽象修飾符表示方法由子類(lèi)實(shí)現(xiàn)。

5.關(guān)系繪制的詳細(xì)說(shuō)明(續(xù))

-聚合(Aggregation):

-繪制方法:使用空心菱形表示整體與部分的關(guān)系,空心菱形在整體端。

-示例:汽車(chē)與車(chē)輪的關(guān)系,汽車(chē)包含車(chē)輪,但車(chē)輪可以獨(dú)立于汽車(chē)存在。

-組合(Composition):

-繪制方法:使用實(shí)心菱形表示整體與部分的關(guān)系,實(shí)心菱形在整體端。

-示例:人體與心臟的關(guān)系,心臟是人體的組成部分,心臟的生命周期依賴(lài)于人體。

-依賴(lài)(Dependency):

-繪制方法:使用虛線表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系,箭頭指向被依賴(lài)的類(lèi)。

-示例:排序方法與列表的關(guān)系,排序方法依賴(lài)于列表的數(shù)據(jù)結(jié)構(gòu),但排序方法不修改列表。

6.類(lèi)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心類(lèi)和接口?

-是否遺漏了重要的屬性和方法?

-是否所有關(guān)系都已正確表示?

-一致性檢查:

-類(lèi)命名是否符合規(guī)范?

-屬性和方法定義是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(三)序列圖實(shí)施細(xì)則(續(xù))

1.對(duì)象識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)分析用例實(shí)現(xiàn):根據(jù)用例圖中的用例,分析其具體實(shí)現(xiàn)涉及哪些類(lèi)和方法。

(2)確定主要對(duì)象:選擇用例實(shí)現(xiàn)中的主要對(duì)象,作為序列圖中的參與者。

(3)排除次要對(duì)象:排除對(duì)用例實(shí)現(xiàn)影響較小的對(duì)象,簡(jiǎn)化序列圖。

-示例:

-用例:用戶登錄

-主要對(duì)象:用戶、認(rèn)證服務(wù)、數(shù)據(jù)庫(kù)

-次要對(duì)象:日志服務(wù)、消息隊(duì)列

2.消息傳遞的詳細(xì)說(shuō)明

-消息類(lèi)型:

-同步消息:發(fā)送方等待接收方響應(yīng)的消息,表示為實(shí)線加箭頭。

-異步消息:發(fā)送方不等待接收方響應(yīng)的消息,表示為虛線加箭頭。

-回調(diào)消息:接收方在完成操作后發(fā)送的消息,表示為實(shí)線加雙向箭頭。

-消息編號(hào):

-按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-使用括號(hào)標(biāo)注消息編號(hào),如“1:登錄請(qǐng)求”。

-條件與分支:

-使用菱形表示條件判斷,分支表示不同的消息傳遞路徑。

-在分支上標(biāo)注條件,如“用戶名存在”。

3.生命線繪制的詳細(xì)說(shuō)明

-生命線表示:使用垂直虛線表示對(duì)象在時(shí)間上的存在,生命線的高度表示對(duì)象的存在時(shí)間。

-激活條:在生命線上使用矩形表示對(duì)象處于激活狀態(tài),即正在處理消息。

-自消息:表示對(duì)象自身發(fā)送的消息,使用從生命線出發(fā)的弧線表示。

4.序列圖繪制的詳細(xì)步驟

(1)確定主要對(duì)象:根據(jù)用例實(shí)現(xiàn),確定序列圖中的主要對(duì)象。

(2)創(chuàng)建對(duì)象實(shí)例:在序列圖上方繪制對(duì)象實(shí)例,并標(biāo)注對(duì)象名稱(chēng)。

(3)繪制生命線:為每個(gè)對(duì)象實(shí)例繪制生命線,表示對(duì)象的存在時(shí)間。

(4)添加消息傳遞:根據(jù)用例實(shí)現(xiàn),添加對(duì)象之間的消息傳遞,并標(biāo)注消息編號(hào)和類(lèi)型。

(5)添加激活條:在對(duì)象處理消息時(shí),繪制激活條表示對(duì)象處于激活狀態(tài)。

(6)添加條件與分支:如有必要,添加條件判斷和分支,表示不同的消息傳遞路徑。

(7)檢查與調(diào)整:檢查序列圖是否清晰易懂,調(diào)整對(duì)象位置和消息傳遞,確保圖形的整潔性。

5.序列圖繪制的檢查清單

-完整性檢查:

-是否包含了所有主要對(duì)象?

-是否所有重要的消息傳遞都已表示?

-是否所有條件與分支都已表示?

-一致性檢查:

-消息編號(hào)是否按時(shí)間順序排列?

-消息類(lèi)型是否正確?

-激活條是否正確表示對(duì)象的處理狀態(tài)?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(四)協(xié)作圖實(shí)施細(xì)則(續(xù))

1.對(duì)象關(guān)系的詳細(xì)說(shuō)明

-關(guān)聯(lián)關(guān)系:表示對(duì)象之間的靜態(tài)連接,使用實(shí)線表示,可以標(biāo)注關(guān)聯(lián)名稱(chēng)。

-依賴(lài)關(guān)系:表示對(duì)象之間的臨時(shí)依賴(lài),使用虛線表示,箭頭指向被依賴(lài)的對(duì)象。

-聚合關(guān)系:表示整體與部分的關(guān)系,使用空心菱形表示,空心菱形在整體端。

-組合關(guān)系:表示整體與部分的強(qiáng)依賴(lài)關(guān)系,使用實(shí)心菱形表示,實(shí)心菱形在整體端。

2.消息傳遞的詳細(xì)說(shuō)明(續(xù))

-消息編號(hào):與序列圖相同,按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-消息類(lèi)型:與序列圖相同,使用實(shí)線表示同步消息,虛線表示異步消息。

3.協(xié)作圖與序列圖的轉(zhuǎn)換

-轉(zhuǎn)換方法:

(1)選擇焦點(diǎn)對(duì)象:在協(xié)作圖中選擇一個(gè)主要對(duì)象作為焦點(diǎn)對(duì)象。

(2)創(chuàng)建序列圖:根據(jù)協(xié)作圖中的消息傳遞,創(chuàng)建相應(yīng)的序列圖。

(3)調(diào)整對(duì)象順序:根據(jù)序列圖的時(shí)間順序,調(diào)整協(xié)作圖中對(duì)象的順序。

-示例:

-協(xié)作圖:用戶->認(rèn)證服務(wù)->數(shù)據(jù)庫(kù)

-序列圖:用戶發(fā)送登錄請(qǐng)求->認(rèn)證服務(wù)查詢(xún)數(shù)據(jù)庫(kù)->數(shù)據(jù)庫(kù)返回用戶信息

4.協(xié)作圖繪制的詳細(xì)步驟

(1)確定主要對(duì)象:根據(jù)用例實(shí)現(xiàn),確定協(xié)作圖中的主要對(duì)象。

(2)創(chuàng)建對(duì)象實(shí)例:在協(xié)作圖上方繪制對(duì)象實(shí)例,并標(biāo)注對(duì)象名稱(chēng)。

(3)繪制對(duì)象關(guān)系:根據(jù)用例實(shí)現(xiàn),繪制對(duì)象之間的關(guān)系(關(guān)聯(lián)、依賴(lài)、聚合、組合)。

(4)添加消息傳遞:根據(jù)用例實(shí)現(xiàn),添加對(duì)象之間的消息傳遞,并標(biāo)注消息編號(hào)和類(lèi)型。

(5)調(diào)整對(duì)象位置:根據(jù)消息傳遞的時(shí)間順序,調(diào)整對(duì)象的位置,使圖形更加清晰。

(6)檢查與調(diào)整:檢查協(xié)作圖是否清晰易懂,調(diào)整對(duì)象位置和消息傳遞,確保圖形的整潔性。

5.協(xié)作圖繪制的檢查清單

-完整性檢查:

-是否包含了所有主要對(duì)象?

-是否所有重要的消息傳遞都已表示?

-是否所有對(duì)象關(guān)系都已表示?

-一致性檢查:

-消息編號(hào)是否按時(shí)間順序排列?

-消息類(lèi)型是否正確?

-對(duì)象關(guān)系是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(五)狀態(tài)圖實(shí)施細(xì)則(續(xù))

1.狀態(tài)定義的詳細(xì)說(shuō)明

-狀態(tài)類(lèi)型:

-初始狀態(tài):表示對(duì)象的生命周期開(kāi)始,使用實(shí)心圓圈表示,位于狀態(tài)圖的左側(cè)。

-中間狀態(tài):表示對(duì)象的生命周期中的某個(gè)階段,使用圓角矩形表示。

-終止?fàn)顟B(tài):表示對(duì)象的生命周期結(jié)束,使用實(shí)心圓圈表示,位于狀態(tài)圖的右側(cè)。

-狀態(tài)轉(zhuǎn)換:使用帶箭頭的實(shí)線表示狀態(tài)之間的轉(zhuǎn)換,箭頭指向目標(biāo)狀態(tài)。

-事件觸發(fā):使用方框表示觸發(fā)狀態(tài)轉(zhuǎn)換的事件,方框內(nèi)標(biāo)注事件名稱(chēng)。

-動(dòng)作:使用橢圓表示狀態(tài)中的動(dòng)作,橢圓內(nèi)標(biāo)注動(dòng)作名稱(chēng)。

2.事件觸發(fā)的詳細(xì)說(shuō)明

-事件類(lèi)型:

-內(nèi)部事件:由對(duì)象自身觸發(fā)的事件,不標(biāo)注事件名稱(chēng)。

-外部事件:由外部因素觸發(fā)的事件,標(biāo)注事件名稱(chēng),如“收到訂單”、“取消訂單”。

-時(shí)間事件:由時(shí)間觸發(fā)的事件,標(biāo)注時(shí)間條件,如“10分鐘后”。

-事件順序:多個(gè)事件可以觸發(fā)同一狀態(tài)轉(zhuǎn)換,事件之間使用逗號(hào)分隔。

3.狀態(tài)圖繪制的詳細(xì)步驟

(1)確定初始狀態(tài):在狀態(tài)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“初始”。

(2)定義中間狀態(tài):根據(jù)對(duì)象的生命周期,定義中間狀態(tài),使用圓角矩形表示,并標(biāo)注狀態(tài)名稱(chēng)。

(3)繪制狀態(tài)轉(zhuǎn)換:根據(jù)對(duì)象的行為,繪制狀態(tài)之間的轉(zhuǎn)換,使用帶箭頭的實(shí)線表示。

(4)添加事件觸發(fā):在狀態(tài)轉(zhuǎn)換上添加事件觸發(fā),使用方框表示,標(biāo)注事件名稱(chēng)。

(5)添加動(dòng)作:在狀態(tài)中添加動(dòng)作,使用橢圓表示,標(biāo)注動(dòng)作名稱(chēng)。

(6)定義終止?fàn)顟B(tài):在狀態(tài)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“終止”。

(7)檢查與調(diào)整:檢查狀態(tài)圖是否清晰易懂,調(diào)整狀態(tài)和轉(zhuǎn)換,確保圖形的整潔性。

4.狀態(tài)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有初始狀態(tài)和終止?fàn)顟B(tài)?

-是否包含了所有中間狀態(tài)?

-是否所有狀態(tài)轉(zhuǎn)換都已表示?

-一致性檢查:

-狀態(tài)轉(zhuǎn)換是否正確?

-事件觸發(fā)是否正確?

-動(dòng)作是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(六)活動(dòng)圖實(shí)施細(xì)則(續(xù))

1.活動(dòng)狀態(tài)的定義與繪制

-活動(dòng)狀態(tài)類(lèi)型:

-開(kāi)始狀態(tài):表示活動(dòng)的開(kāi)始,使用實(shí)心圓圈表示,位于活動(dòng)圖的左側(cè)。

-中間狀態(tài):表示活動(dòng)中的某個(gè)步驟,使用圓角矩形表示。

-結(jié)束狀態(tài):表示活動(dòng)的結(jié)束,使用實(shí)心圓圈表示,位于活動(dòng)圖的右側(cè)。

-活動(dòng)狀態(tài)繪制:

(1)繪制開(kāi)始狀態(tài):在活動(dòng)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“開(kāi)始”。

(2)繪制中間狀態(tài):根據(jù)業(yè)務(wù)流程,繪制中間狀態(tài),使用圓角矩形表示,并標(biāo)注活動(dòng)名稱(chēng)。

(3)繪制結(jié)束狀態(tài):在活動(dòng)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“結(jié)束”。

2.分支與合并的詳細(xì)說(shuō)明

-分支:表示條件判斷,使用菱形表示,菱形內(nèi)標(biāo)注條件,分支表示不同的活動(dòng)路徑。

-合并:表示分支的匯合,使用菱形表示,菱形內(nèi)標(biāo)注合并條件,合并表示不同的活動(dòng)路徑的匯合。

-繪制方法:

(1)繪制分支:在活動(dòng)路徑上添加菱形,標(biāo)注條件,繪制分支路徑。

(2)繪制合并:在分支路徑的匯合處添加菱形,標(biāo)注合并條件,繪制合并路徑。

3.泳道圖的定義與繪制

-泳道圖:用于表示不同參與者或角色在業(yè)務(wù)流程中的責(zé)任,使用垂直矩形表示泳道,泳道內(nèi)繪制活動(dòng)狀態(tài)和分支合并。

-繪制方法:

(1)繪制泳道:在活動(dòng)圖的上方或左側(cè)繪制垂直矩形,標(biāo)注泳道名稱(chēng),如“用戶”、“系統(tǒng)”。

(2)繪制活動(dòng)狀態(tài):在泳道內(nèi)繪制活動(dòng)狀態(tài),表示不同參與者或角色的活動(dòng)。

(3)繪制分支與合并:在泳道內(nèi)繪制分支與合并,表示不同參與者或角色的條件判斷和路徑匯合。

4.活動(dòng)圖繪制的詳細(xì)步驟

(1)繪制開(kāi)始狀態(tài):在活動(dòng)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“開(kāi)始”。

(2)繪制中間狀態(tài):根據(jù)業(yè)務(wù)流程,繪制中間狀態(tài),使用圓角矩形表示,并標(biāo)注活動(dòng)名稱(chēng)。

(3)繪制分支與合并:如有必要,繪制分支與合并,表示條件判斷和路徑匯合。

(4)繪制結(jié)束狀態(tài):在活動(dòng)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“結(jié)束”。

(5)檢查與調(diào)整:檢查活動(dòng)圖是否清晰易懂,調(diào)整活動(dòng)狀態(tài)和分支合并,確保圖形的整潔性。

5.活動(dòng)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有開(kāi)始狀態(tài)和結(jié)束狀態(tài)?

-是否包含了所有中間狀態(tài)?

-是否所有分支與合并都已表示?

-一致性檢查:

-活動(dòng)狀態(tài)是否正確?

-分支與合并是否正確?

-泳道圖(如有)是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

四、總結(jié)(續(xù))

UML功能性圖是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中的重要工具,通過(guò)規(guī)范的設(shè)計(jì)和實(shí)施細(xì)則,可以有效地提高系統(tǒng)的可理解性和可維護(hù)性。本規(guī)范和實(shí)施細(xì)則為UML功能性圖的設(shè)計(jì)和使用提供了詳細(xì)的指導(dǎo),幫助開(kāi)發(fā)者和分析師更好地利用UML圖來(lái)描述系統(tǒng)的功能和行為。通過(guò)遵循這些規(guī)范和實(shí)施細(xì)則,可以確保UML圖的質(zhì)量和一致性,從而提高項(xiàng)目的成功率和開(kāi)發(fā)效率。

一、UML功能性圖概述

UML(統(tǒng)一建模語(yǔ)言)功能性圖是用于描述系統(tǒng)功能、行為和交互的圖形化工具。它主要包括用例圖、類(lèi)圖、序列圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖等。這些圖有助于開(kāi)發(fā)者和分析師清晰地理解系統(tǒng)的結(jié)構(gòu)和行為,從而提高溝通效率,降低開(kāi)發(fā)風(fēng)險(xiǎn)。本規(guī)范和實(shí)施細(xì)則旨在為UML功能性圖的設(shè)計(jì)和使用提供詳細(xì)的指導(dǎo)。

(一)UML功能性圖的主要類(lèi)型

1.用例圖(UseCaseDiagram)

用于描述系統(tǒng)外部的用戶與系統(tǒng)之間的交互。主要元素包括:

-用例(UseCase):系統(tǒng)提供的服務(wù)或功能。

-參與者(Actor):與系統(tǒng)交互的外部實(shí)體。

-關(guān)系:如關(guān)聯(lián)、泛化、包含、擴(kuò)展等。

2.類(lèi)圖(ClassDiagram)

用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類(lèi)、接口、關(guān)系等。主要元素包括:

-類(lèi)(Class):系統(tǒng)中的實(shí)體,具有屬性和方法。

-接口(Interface):定義系統(tǒng)中的行為規(guī)范。

-關(guān)系:如關(guān)聯(lián)、繼承、依賴(lài)、聚合、組合等。

3.序列圖(SequenceDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互順序。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-消息(Message):對(duì)象之間的交互。

-生命線(Lifeline):對(duì)象在時(shí)間上的存在。

4.協(xié)作圖(CollaborationDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互關(guān)系。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-關(guān)系(Relationship):對(duì)象之間的連接。

-消息(Message):對(duì)象之間的交互。

5.狀態(tài)圖(StateDiagram)

用于描述系統(tǒng)中對(duì)象的狀態(tài)變化。主要元素包括:

-狀態(tài)(State):對(duì)象的生命周期階段。

-事件(Event):觸發(fā)狀態(tài)變化的條件。

-轉(zhuǎn)換(Transition):狀態(tài)之間的變化。

6.活動(dòng)圖(ActivityDiagram)

用于描述系統(tǒng)中的業(yè)務(wù)流程或操作流程。主要元素包括:

-活動(dòng)狀態(tài)(ActivityState):業(yè)務(wù)流程中的步驟。

-分支(Branch):條件判斷。

-合并(Merge):分支的匯合。

二、UML功能性圖的設(shè)計(jì)規(guī)范

(一)用例圖設(shè)計(jì)規(guī)范

1.用例命名

用例名稱(chēng)應(yīng)簡(jiǎn)潔明了,反映其主要功能。例如:“用戶登錄”、“商品購(gòu)買(mǎi)”。

2.參與者識(shí)別

參與者應(yīng)是系統(tǒng)的外部實(shí)體,如用戶、管理員等。避免將系統(tǒng)內(nèi)部對(duì)象作為參與者。

3.關(guān)系繪制

-關(guān)聯(lián):表示參與者與用例之間的交互關(guān)系。

-泛化:表示用例的繼承關(guān)系。

-包含:表示用例的組成關(guān)系。

-擴(kuò)展:表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖設(shè)計(jì)規(guī)范

1.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)反映其主要功能或?qū)傩?。例如:“用戶”、“訂單”?/p>

2.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

3.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

4.關(guān)系繪制

-關(guān)聯(lián):表示類(lèi)之間的合作關(guān)系。

-繼承:表示類(lèi)之間的繼承關(guān)系。

-依賴(lài):表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系。

-聚合:表示整體與部分的關(guān)系。

-組合:表示整體與部分的強(qiáng)依賴(lài)關(guān)系。

(三)序列圖設(shè)計(jì)規(guī)范

1.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。例如:“用戶”、“訂單服務(wù)”。

2.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,表示對(duì)象之間的交互順序。

3.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖設(shè)計(jì)規(guī)范

1.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

2.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖設(shè)計(jì)規(guī)范

1.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

2.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

3.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖設(shè)計(jì)規(guī)范

1.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

2.分支與合并

分支表示條件判斷,合并表示分支的匯合。

3.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

三、UML功能性圖的實(shí)施細(xì)則

(一)用例圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具(如EnterpriseArchitect、Visio等)繪制用例圖。

2.命名規(guī)范

用例名稱(chēng)應(yīng)使用動(dòng)詞短語(yǔ),例如:“登錄系統(tǒng)”、“購(gòu)買(mǎi)商品”。

3.參與者識(shí)別

參與者應(yīng)包括所有與系統(tǒng)交互的外部實(shí)體,如用戶、管理員等。

4.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示參與者與用例之間的關(guān)聯(lián)。

-泛化:使用空心三角形表示用例的泛化關(guān)系。

-包含:使用空心菱形表示用例的包含關(guān)系。

-擴(kuò)展:使用實(shí)心菱形表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制類(lèi)圖。

2.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)使用名詞或名詞短語(yǔ),例如:“用戶”、“訂單”。

3.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

4.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

5.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示類(lèi)之間的關(guān)聯(lián)。

-繼承:使用空心三角形表示類(lèi)的繼承關(guān)系。

-依賴(lài):使用虛線表示類(lèi)之間的依賴(lài)關(guān)系。

-聚合:使用空心菱形表示類(lèi)的聚合關(guān)系。

-組合:使用實(shí)心菱形表示類(lèi)的組合關(guān)系。

(三)序列圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制序列圖。

2.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。

3.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,消息編號(hào)應(yīng)按順序排列。

4.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制協(xié)作圖。

2.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

3.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制狀態(tài)圖。

2.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

3.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

4.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制活動(dòng)圖。

2.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

3.分支與合并

分支表示條件判斷,合并表示分支的匯合。

4.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

四、總結(jié)

UML功能性圖是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中的重要工具,通過(guò)規(guī)范的設(shè)計(jì)和實(shí)施細(xì)則,可以有效地提高系統(tǒng)的可理解性和可維護(hù)性。本規(guī)范和實(shí)施細(xì)則為UML功能性圖的設(shè)計(jì)和使用提供了詳細(xì)的指導(dǎo),幫助開(kāi)發(fā)者和分析師更好地利用UML圖來(lái)描述系統(tǒng)的功能和行為。

三、UML功能性圖的實(shí)施細(xì)則(續(xù))

(一)用例圖實(shí)施細(xì)則(續(xù))

1.繪制工具的選擇與使用

-選擇工具:根據(jù)項(xiàng)目需求和團(tuán)隊(duì)熟悉度選擇合適的UML建模工具。常見(jiàn)工具包括EnterpriseArchitect、VisualParadigm、StarUML等。選擇時(shí)應(yīng)考慮工具的易用性、功能完整性、成本以及是否支持團(tuán)隊(duì)協(xié)作。

-基本操作:

(1)創(chuàng)建用例圖:在工具中創(chuàng)建新項(xiàng)目,選擇用例圖模板或從空白畫(huà)布開(kāi)始。

(2)添加參與者:從工具的庫(kù)中拖拽“參與者”圖標(biāo)到畫(huà)布上,并輸入?yún)⑴c者名稱(chēng),如“用戶”、“管理員”。

(3)添加用例:拖拽“用例”圖標(biāo)到畫(huà)布上,并輸入用例名稱(chēng),如“登錄系統(tǒng)”、“查詢(xún)信息”。

(4)建立關(guān)系:使用工具提供的連接線工具,根據(jù)需要建立參與者與用例之間的關(guān)系(關(guān)聯(lián)、泛化、包含、擴(kuò)展)。

(5)配置屬性:在用例或參與者上右鍵點(diǎn)擊,選擇“屬性”或“細(xì)節(jié)”,輸入相關(guān)描述信息,如用例的優(yōu)先級(jí)、參與者所屬角色等。

(6)導(dǎo)出與共享:將繪制好的用例圖導(dǎo)出為圖片或PDF格式,或直接在團(tuán)隊(duì)協(xié)作平臺(tái)中共享項(xiàng)目文件。

2.命名規(guī)范的最佳實(shí)踐

-用例命名:

-使用動(dòng)詞短語(yǔ),明確表達(dá)系統(tǒng)提供的功能。例如,使用“處理訂單”而不是“訂單管理”。

-保持簡(jiǎn)潔,避免冗長(zhǎng)。用例名稱(chēng)應(yīng)盡量控制在15個(gè)字以?xún)?nèi)。

-使用一致的命名風(fēng)格,如全部使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu)。

-參與者命名:

-使用名詞或名詞短語(yǔ),表示與系統(tǒng)交互的外部實(shí)體。例如,使用“客戶”而不是“購(gòu)買(mǎi)者”。

-與用例命名風(fēng)格保持一致,確保整體文檔的統(tǒng)一性。

3.參與者識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)列出所有用戶類(lèi)型:根據(jù)系統(tǒng)功能,列出所有可能與之交互的用戶類(lèi)型,如普通用戶、管理員、客服人員等。

(2)分析交互行為:針對(duì)每個(gè)用戶類(lèi)型,分析其與系統(tǒng)的主要交互行為,確定是否需要將其作為參與者。

(3)排除內(nèi)部對(duì)象:確保參與者僅為系統(tǒng)外部的實(shí)體,排除系統(tǒng)內(nèi)部的對(duì)象或服務(wù)。

-示例:

-系統(tǒng):在線購(gòu)物平臺(tái)

-參與者:

-普通用戶:瀏覽商品、下訂單、支付、評(píng)價(jià)商品。

-管理員:管理商品信息、處理訂單、管理用戶信息。

-客服人員:處理用戶咨詢(xún)、解決用戶問(wèn)題。

4.關(guān)系繪制的詳細(xì)說(shuō)明

-關(guān)聯(lián)(Association):

-繪制方法:使用實(shí)線連接參與者和用例,表示參與者與用例之間的交互關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注關(guān)系名稱(chēng),如“使用”、“請(qǐng)求”。

-泛化(Generalization):

-繪制方法:使用空心三角形連接子用例和父用例,表示用例的繼承關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注繼承關(guān)系,如“繼承”。

-包含(Include):

-繪制方法:使用空心菱形連接包含用例和被包含用例,表示用例的組成關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注包含關(guān)系,如“包含”。

-擴(kuò)展(Extend):

-繪制方法:使用實(shí)心菱形連接擴(kuò)展用例和被擴(kuò)展用例,表示用例的擴(kuò)展關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注擴(kuò)展關(guān)系,如“擴(kuò)展”。

5.用例圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心功能用例?

-是否遺漏了重要的參與者?

-是否所有用例都有明確的參與者?

-一致性檢查:

-用例命名是否符合規(guī)范?

-參與者命名是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(二)類(lèi)圖實(shí)施細(xì)則(續(xù))

1.繪制工具的高級(jí)應(yīng)用

-動(dòng)態(tài)布局:利用工具的自動(dòng)布局功能,調(diào)整類(lèi)、接口、關(guān)系的位置,使圖形更加美觀和易于理解。

-樣式配置:自定義類(lèi)的顏色、字體、線條樣式等,突出重點(diǎn)類(lèi)或關(guān)系。

-模板使用:創(chuàng)建常用的類(lèi)圖模板,提高繪圖效率,確保項(xiàng)目風(fēng)格統(tǒng)一。

2.類(lèi)命名與職責(zé)分配

-類(lèi)命名原則:

-使用名詞或名詞短語(yǔ),反映類(lèi)的主要功能或表示的實(shí)體。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-保持命名的一致性,如使用駝峰命名法或下劃線命名法。

-職責(zé)分配:

-每個(gè)類(lèi)應(yīng)具有明確的職責(zé),避免一個(gè)類(lèi)承擔(dān)過(guò)多功能。

-通過(guò)方法命名和屬性定義,清晰地表達(dá)類(lèi)的職責(zé)。

-使用單一職責(zé)原則(SingleResponsibilityPrinciple)指導(dǎo)類(lèi)的設(shè)計(jì)。

3.屬性定義的詳細(xì)說(shuō)明

-屬性命名:

-使用名詞或名詞短語(yǔ),表示類(lèi)的特征。

-與類(lèi)命名風(fēng)格保持一致。

-屬性類(lèi)型:

-選擇合適的數(shù)據(jù)類(lèi)型,如String、Integer、Date等。

-考慮屬性是否為基本類(lèi)型(如int、boolean)或復(fù)合類(lèi)型(如自定義類(lèi)、集合)。

-屬性修飾符:

-使用可見(jiàn)性修飾符(public、protected、private)控制屬性的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符(static)表示屬性屬于類(lèi)而非實(shí)例。

-使用final修飾符表示屬性值不可修改。

4.方法定義的詳細(xì)說(shuō)明

-方法命名:

-使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu),表示類(lèi)的行為。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-參數(shù)定義:

-明確每個(gè)參數(shù)的名稱(chēng)和類(lèi)型,以及其作用。

-考慮參數(shù)是否為可選參數(shù)或默認(rèn)參數(shù)。

-返回值定義:

-明確方法的返回值類(lèi)型,以及其表示的意義。

-考慮方法是否返回void表示無(wú)返回值。

-方法修飾符:

-使用可見(jiàn)性修飾符控制方法的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符表示方法屬于類(lèi)而非實(shí)例。

-使用抽象修飾符表示方法由子類(lèi)實(shí)現(xiàn)。

5.關(guān)系繪制的詳細(xì)說(shuō)明(續(xù))

-聚合(Aggregation):

-繪制方法:使用空心菱形表示整體與部分的關(guān)系,空心菱形在整體端。

-示例:汽車(chē)與車(chē)輪的關(guān)系,汽車(chē)包含車(chē)輪,但車(chē)輪可以獨(dú)立于汽車(chē)存在。

-組合(Composition):

-繪制方法:使用實(shí)心菱形表示整體與部分的關(guān)系,實(shí)心菱形在整體端。

-示例:人體與心臟的關(guān)系,心臟是人體的組成部分,心臟的生命周期依賴(lài)于人體。

-依賴(lài)(Dependency):

-繪制方法:使用虛線表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系,箭頭指向被依賴(lài)的類(lèi)。

-示例:排序方法與列表的關(guān)系,排序方法依賴(lài)于列表的數(shù)據(jù)結(jié)構(gòu),但排序方法不修改列表。

6.類(lèi)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心類(lèi)和接口?

-是否遺漏了重要的屬性和方法?

-是否所有關(guān)系都已正確表示?

-一致性檢查:

-類(lèi)命名是否符合規(guī)范?

-屬性和方法定義是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(三)序列圖實(shí)施細(xì)則(續(xù))

1.對(duì)象識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)分析用例實(shí)現(xiàn):根據(jù)用例圖中的用例,分析其具體實(shí)現(xiàn)涉及哪些類(lèi)和方法。

(2)確定主要對(duì)象:選擇用例實(shí)現(xiàn)中的主要對(duì)象,作為序列圖中的參與者。

(3)排除次要對(duì)象:排除對(duì)用例實(shí)現(xiàn)影響較小的對(duì)象,簡(jiǎn)化序列圖。

-示例:

-用例:用戶登錄

-主要對(duì)象:用戶、認(rèn)證服務(wù)、數(shù)據(jù)庫(kù)

-次要對(duì)象:日志服務(wù)、消息隊(duì)列

2.消息傳遞的詳細(xì)說(shuō)明

-消息類(lèi)型:

-同步消息:發(fā)送方等待接收方響應(yīng)的消息,表示為實(shí)線加箭頭。

-異步消息:發(fā)送方不等待接收方響應(yīng)的消息,表示為虛線加箭頭。

-回調(diào)消息:接收方在完成操作后發(fā)送的消息,表示為實(shí)線加雙向箭頭。

-消息編號(hào):

-按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-使用括號(hào)標(biāo)注消息編號(hào),如“1:登錄請(qǐng)求”。

-條件與分支:

-使用菱形表示條件判斷,分支表示不同的消息傳遞路徑。

-在分支上標(biāo)注條件,如“用戶名存在”。

3.生命線繪制的詳細(xì)說(shuō)明

-生命線表示:使用垂直虛線表示對(duì)象在時(shí)間上的存在,生命線的高度表示對(duì)象的存在時(shí)間。

-激活條:在生命線上使用矩形表示對(duì)象處于激活狀態(tài),即正在處理消息。

-自消息:表示對(duì)象自身發(fā)送的消息,使用從生命線出發(fā)的弧線表示。

4.序列圖繪制的詳細(xì)步驟

(1)確定主要對(duì)象:根據(jù)用例實(shí)現(xiàn),確定序列圖中的主要對(duì)象。

(2)創(chuàng)建對(duì)象實(shí)例:在序列圖上方繪制對(duì)象實(shí)例,并標(biāo)注對(duì)象名稱(chēng)。

(3)繪制生命線:為每個(gè)對(duì)象實(shí)例繪制生命線,表示對(duì)象的存在時(shí)間。

(4)添加消息傳遞:根據(jù)用例實(shí)現(xiàn),添加對(duì)象之間的消息傳遞,并標(biāo)注消息編號(hào)和類(lèi)型。

(5)添加激活條:在對(duì)象處理消息時(shí),繪制激活條表示對(duì)象處于激活狀態(tài)。

(6)添加條件與分支:如有必要,添加條件判斷和分支,表示不同的消息傳遞路徑。

(7)檢查與調(diào)整:檢查序列圖是否清晰易懂,調(diào)整對(duì)象位置和消息傳遞,確保圖形的整潔性。

5.序列圖繪制的檢查清單

-完整性檢查:

-是否包含了所有主要對(duì)象?

-是否所有重要的消息傳遞都已表示?

-是否所有條件與分支都已表示?

-一致性檢查:

-消息編號(hào)是否按時(shí)間順序排列?

-消息類(lèi)型是否正確?

-激活條是否正確表示對(duì)象的處理狀態(tài)?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(四)協(xié)作圖實(shí)施細(xì)則(續(xù))

1.對(duì)象關(guān)系的詳細(xì)說(shuō)明

-關(guān)聯(lián)關(guān)系:表示對(duì)象之間的靜態(tài)連接,使用實(shí)線表示,可以標(biāo)注關(guān)聯(lián)名稱(chēng)。

-依賴(lài)關(guān)系:表示對(duì)象之間的臨時(shí)依賴(lài),使用虛線表示,箭頭指向被依賴(lài)的對(duì)象。

-聚合關(guān)系:表示整體與部分的關(guān)系,使用空心菱形表示,空心菱形在整體端。

-組合關(guān)系:表示整體與部分的強(qiáng)依賴(lài)關(guān)系,使用實(shí)心菱形表示,實(shí)心菱形在整體端。

2.消息傳遞的詳細(xì)說(shuō)明(續(xù))

-消息編號(hào):與序列圖相同,按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-消息類(lèi)型:與序列圖相同,使用實(shí)線表示同步消息,虛線表示異步消息。

3.協(xié)作圖與序列圖的轉(zhuǎn)換

-轉(zhuǎn)換方法:

(1)選擇焦點(diǎn)對(duì)象:在協(xié)作圖中選擇一個(gè)主要對(duì)象作為焦點(diǎn)對(duì)象。

(2)創(chuàng)建序列圖:根據(jù)協(xié)作圖中的消息傳遞,創(chuàng)建相應(yīng)的序列圖。

(3)調(diào)整對(duì)象順序:根據(jù)序列圖的時(shí)間順序,調(diào)整協(xié)作圖中對(duì)象的順序。

-示例:

-協(xié)作圖:用戶->認(rèn)證服務(wù)->數(shù)據(jù)庫(kù)

-序列圖:用戶發(fā)送登錄請(qǐng)求->認(rèn)證服務(wù)查詢(xún)數(shù)據(jù)庫(kù)->數(shù)據(jù)庫(kù)返回用戶信息

4.協(xié)作圖繪制的詳細(xì)步驟

(1)確定主要對(duì)象:根據(jù)用例實(shí)現(xiàn),確定協(xié)作圖中的主要對(duì)象。

(2)創(chuàng)建對(duì)象實(shí)例:在協(xié)作圖上方繪制對(duì)象實(shí)例,并標(biāo)注對(duì)象名稱(chēng)。

(3)繪制對(duì)象關(guān)系:根據(jù)用例實(shí)現(xiàn),繪制對(duì)象之間的關(guān)系(關(guān)聯(lián)、依賴(lài)、聚合、組合)。

(4)添加消息傳遞:根據(jù)用例實(shí)現(xiàn),添加對(duì)象之間的消息傳遞,并標(biāo)注消息編號(hào)和類(lèi)型。

(5)調(diào)整對(duì)象位置:根據(jù)消息傳遞的時(shí)間順序,調(diào)整對(duì)象的位置,使圖形更加清晰。

(6)檢查與調(diào)整:檢查協(xié)作圖是否清晰易懂,調(diào)整對(duì)象位置和消息傳遞,確保圖形的整潔性。

5.協(xié)作圖繪制的檢查清單

-完整性檢查:

-是否包含了所有主要對(duì)象?

-是否所有重要的消息傳遞都已表示?

-是否所有對(duì)象關(guān)系都已表示?

-一致性檢查:

-消息編號(hào)是否按時(shí)間順序排列?

-消息類(lèi)型是否正確?

-對(duì)象關(guān)系是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(五)狀態(tài)圖實(shí)施細(xì)則(續(xù))

1.狀態(tài)定義的詳細(xì)說(shuō)明

-狀態(tài)類(lèi)型:

-初始狀態(tài):表示對(duì)象的生命周期開(kāi)始,使用實(shí)心圓圈表示,位于狀態(tài)圖的左側(cè)。

-中間狀態(tài):表示對(duì)象的生命周期中的某個(gè)階段,使用圓角矩形表示。

-終止?fàn)顟B(tài):表示對(duì)象的生命周期結(jié)束,使用實(shí)心圓圈表示,位于狀態(tài)圖的右側(cè)。

-狀態(tài)轉(zhuǎn)換:使用帶箭頭的實(shí)線表示狀態(tài)之間的轉(zhuǎn)換,箭頭指向目標(biāo)狀態(tài)。

-事件觸發(fā):使用方框表示觸發(fā)狀態(tài)轉(zhuǎn)換的事件,方框內(nèi)標(biāo)注事件名稱(chēng)。

-動(dòng)作:使用橢圓表示狀態(tài)中的動(dòng)作,橢圓內(nèi)標(biāo)注動(dòng)作名稱(chēng)。

2.事件觸發(fā)的詳細(xì)說(shuō)明

-事件類(lèi)型:

-內(nèi)部事件:由對(duì)象自身觸發(fā)的事件,不標(biāo)注事件名稱(chēng)。

-外部事件:由外部因素觸發(fā)的事件,標(biāo)注事件名稱(chēng),如“收到訂單”、“取消訂單”。

-時(shí)間事件:由時(shí)間觸發(fā)的事件,標(biāo)注時(shí)間條件,如“10分鐘后”。

-事件順序:多個(gè)事件可以觸發(fā)同一狀態(tài)轉(zhuǎn)換,事件之間使用逗號(hào)分隔。

3.狀態(tài)圖繪制的詳細(xì)步驟

(1)確定初始狀態(tài):在狀態(tài)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“初始”。

(2)定義中間狀態(tài):根據(jù)對(duì)象的生命周期,定義中間狀態(tài),使用圓角矩形表示,并標(biāo)注狀態(tài)名稱(chēng)。

(3)繪制狀態(tài)轉(zhuǎn)換:根據(jù)對(duì)象的行為,繪制狀態(tài)之間的轉(zhuǎn)換,使用帶箭頭的實(shí)線表示。

(4)添加事件觸發(fā):在狀態(tài)轉(zhuǎn)換上添加事件觸發(fā),使用方框表示,標(biāo)注事件名稱(chēng)。

(5)添加動(dòng)作:在狀態(tài)中添加動(dòng)作,使用橢圓表示,標(biāo)注動(dòng)作名稱(chēng)。

(6)定義終止?fàn)顟B(tài):在狀態(tài)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“終止”。

(7)檢查與調(diào)整:檢查狀態(tài)圖是否清晰易懂,調(diào)整狀態(tài)和轉(zhuǎn)換,確保圖形的整潔性。

4.狀態(tài)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有初始狀態(tài)和終止?fàn)顟B(tài)?

-是否包含了所有中間狀態(tài)?

-是否所有狀態(tài)轉(zhuǎn)換都已表示?

-一致性檢查:

-狀態(tài)轉(zhuǎn)換是否正確?

-事件觸發(fā)是否正確?

-動(dòng)作是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(六)活動(dòng)圖實(shí)施細(xì)則(續(xù))

1.活動(dòng)狀態(tài)的定義與繪制

-活動(dòng)狀態(tài)類(lèi)型:

-開(kāi)始狀態(tài):表示活動(dòng)的開(kāi)始,使用實(shí)心圓圈表示,位于活動(dòng)圖的左側(cè)。

-中間狀態(tài):表示活動(dòng)中的某個(gè)步驟,使用圓角矩形表示。

-結(jié)束狀態(tài):表示活動(dòng)的結(jié)束,使用實(shí)心圓圈表示,位于活動(dòng)圖的右側(cè)。

-活動(dòng)狀態(tài)繪制:

(1)繪制開(kāi)始狀態(tài):在活動(dòng)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“開(kāi)始”。

(2)繪制中間狀態(tài):根據(jù)業(yè)務(wù)流程,繪制中間狀態(tài),使用圓角矩形表示,并標(biāo)注活動(dòng)名稱(chēng)。

(3)繪制結(jié)束狀態(tài):在活動(dòng)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“結(jié)束”。

2.分支與合并的詳細(xì)說(shuō)明

-分支:表示條件判斷,使用菱形表示,菱形內(nèi)標(biāo)注條件,分支表示不同的活動(dòng)路徑。

-合并:表示分支的匯合,使用菱形表示,菱形內(nèi)標(biāo)注合并條件,合并表示不同的活動(dòng)路徑的匯合。

-繪制方法:

(1)繪制分支:在活動(dòng)路徑上添加菱形,標(biāo)注條件,繪制分支路徑。

(2)繪制合并:在分支路徑的匯合處添加菱形,標(biāo)注合并條件,繪制合并路徑。

3.泳道圖的定義與繪制

-泳道圖:用于表示不同參與者或角色在業(yè)務(wù)流程中的責(zé)任,使用垂直矩形表示泳道,泳道內(nèi)繪制活動(dòng)狀態(tài)和分支合并。

-繪制方法:

(1)繪制泳道:在活動(dòng)圖的上方或左側(cè)繪制垂直矩形,標(biāo)注泳道名稱(chēng),如“用戶”、“系統(tǒng)”。

(2)繪制活動(dòng)狀態(tài):在泳道內(nèi)繪制活動(dòng)狀態(tài),表示不同參與者或角色的活動(dòng)。

(3)繪制分支與合并:在泳道內(nèi)繪制分支與合并,表示不同參與者或角色的條件判斷和路徑匯合。

4.活動(dòng)圖繪制的詳細(xì)步驟

(1)繪制開(kāi)始狀態(tài):在活動(dòng)圖的左側(cè)繪制實(shí)心圓圈,標(biāo)注“開(kāi)始”。

(2)繪制中間狀態(tài):根據(jù)業(yè)務(wù)流程,繪制中間狀態(tài),使用圓角矩形表示,并標(biāo)注活動(dòng)名稱(chēng)。

(3)繪制分支與合并:如有必要,繪制分支與合并,表示條件判斷和路徑匯合。

(4)繪制結(jié)束狀態(tài):在活動(dòng)圖的右側(cè)繪制實(shí)心圓圈,標(biāo)注“結(jié)束”。

(5)檢查與調(diào)整:檢查活動(dòng)圖是否清晰易懂,調(diào)整活動(dòng)狀態(tài)和分支合并,確保圖形的整潔性。

5.活動(dòng)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有開(kāi)始狀態(tài)和結(jié)束狀態(tài)?

-是否包含了所有中間狀態(tài)?

-是否所有分支與合并都已表示?

-一致性檢查:

-活動(dòng)狀態(tài)是否正確?

-分支與合并是否正確?

-泳道圖(如有)是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

四、總結(jié)(續(xù))

UML功能性圖是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中的重要工具,通過(guò)規(guī)范的設(shè)計(jì)和實(shí)施細(xì)則,可以有效地提高系統(tǒng)的可理解性和可維護(hù)性。本規(guī)范和實(shí)施細(xì)則為UML功能性圖的設(shè)計(jì)和使用提供了詳細(xì)的指導(dǎo),幫助開(kāi)發(fā)者和分析師更好地利用UML圖來(lái)描述系統(tǒng)的功能和行為。通過(guò)遵循這些規(guī)范和實(shí)施細(xì)則,可以確保UML圖的質(zhì)量和一致性,從而提高項(xiàng)目的成功率和開(kāi)發(fā)效率。

一、UML功能性圖概述

UML(統(tǒng)一建模語(yǔ)言)功能性圖是用于描述系統(tǒng)功能、行為和交互的圖形化工具。它主要包括用例圖、類(lèi)圖、序列圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖等。這些圖有助于開(kāi)發(fā)者和分析師清晰地理解系統(tǒng)的結(jié)構(gòu)和行為,從而提高溝通效率,降低開(kāi)發(fā)風(fēng)險(xiǎn)。本規(guī)范和實(shí)施細(xì)則旨在為UML功能性圖的設(shè)計(jì)和使用提供詳細(xì)的指導(dǎo)。

(一)UML功能性圖的主要類(lèi)型

1.用例圖(UseCaseDiagram)

用于描述系統(tǒng)外部的用戶與系統(tǒng)之間的交互。主要元素包括:

-用例(UseCase):系統(tǒng)提供的服務(wù)或功能。

-參與者(Actor):與系統(tǒng)交互的外部實(shí)體。

-關(guān)系:如關(guān)聯(lián)、泛化、包含、擴(kuò)展等。

2.類(lèi)圖(ClassDiagram)

用于描述系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類(lèi)、接口、關(guān)系等。主要元素包括:

-類(lèi)(Class):系統(tǒng)中的實(shí)體,具有屬性和方法。

-接口(Interface):定義系統(tǒng)中的行為規(guī)范。

-關(guān)系:如關(guān)聯(lián)、繼承、依賴(lài)、聚合、組合等。

3.序列圖(SequenceDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互順序。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-消息(Message):對(duì)象之間的交互。

-生命線(Lifeline):對(duì)象在時(shí)間上的存在。

4.協(xié)作圖(CollaborationDiagram)

用于描述系統(tǒng)中對(duì)象之間的交互關(guān)系。主要元素包括:

-對(duì)象(Object):系統(tǒng)中的實(shí)體。

-關(guān)系(Relationship):對(duì)象之間的連接。

-消息(Message):對(duì)象之間的交互。

5.狀態(tài)圖(StateDiagram)

用于描述系統(tǒng)中對(duì)象的狀態(tài)變化。主要元素包括:

-狀態(tài)(State):對(duì)象的生命周期階段。

-事件(Event):觸發(fā)狀態(tài)變化的條件。

-轉(zhuǎn)換(Transition):狀態(tài)之間的變化。

6.活動(dòng)圖(ActivityDiagram)

用于描述系統(tǒng)中的業(yè)務(wù)流程或操作流程。主要元素包括:

-活動(dòng)狀態(tài)(ActivityState):業(yè)務(wù)流程中的步驟。

-分支(Branch):條件判斷。

-合并(Merge):分支的匯合。

二、UML功能性圖的設(shè)計(jì)規(guī)范

(一)用例圖設(shè)計(jì)規(guī)范

1.用例命名

用例名稱(chēng)應(yīng)簡(jiǎn)潔明了,反映其主要功能。例如:“用戶登錄”、“商品購(gòu)買(mǎi)”。

2.參與者識(shí)別

參與者應(yīng)是系統(tǒng)的外部實(shí)體,如用戶、管理員等。避免將系統(tǒng)內(nèi)部對(duì)象作為參與者。

3.關(guān)系繪制

-關(guān)聯(lián):表示參與者與用例之間的交互關(guān)系。

-泛化:表示用例的繼承關(guān)系。

-包含:表示用例的組成關(guān)系。

-擴(kuò)展:表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖設(shè)計(jì)規(guī)范

1.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)反映其主要功能或?qū)傩?。例如:“用戶”、“訂單”?/p>

2.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

3.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

4.關(guān)系繪制

-關(guān)聯(lián):表示類(lèi)之間的合作關(guān)系。

-繼承:表示類(lèi)之間的繼承關(guān)系。

-依賴(lài):表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系。

-聚合:表示整體與部分的關(guān)系。

-組合:表示整體與部分的強(qiáng)依賴(lài)關(guān)系。

(三)序列圖設(shè)計(jì)規(guī)范

1.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。例如:“用戶”、“訂單服務(wù)”。

2.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,表示對(duì)象之間的交互順序。

3.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖設(shè)計(jì)規(guī)范

1.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

2.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖設(shè)計(jì)規(guī)范

1.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

2.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

3.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖設(shè)計(jì)規(guī)范

1.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

2.分支與合并

分支表示條件判斷,合并表示分支的匯合。

3.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

三、UML功能性圖的實(shí)施細(xì)則

(一)用例圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具(如EnterpriseArchitect、Visio等)繪制用例圖。

2.命名規(guī)范

用例名稱(chēng)應(yīng)使用動(dòng)詞短語(yǔ),例如:“登錄系統(tǒng)”、“購(gòu)買(mǎi)商品”。

3.參與者識(shí)別

參與者應(yīng)包括所有與系統(tǒng)交互的外部實(shí)體,如用戶、管理員等。

4.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示參與者與用例之間的關(guān)聯(lián)。

-泛化:使用空心三角形表示用例的泛化關(guān)系。

-包含:使用空心菱形表示用例的包含關(guān)系。

-擴(kuò)展:使用實(shí)心菱形表示用例的擴(kuò)展關(guān)系。

(二)類(lèi)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制類(lèi)圖。

2.類(lèi)命名

類(lèi)名稱(chēng)應(yīng)使用名詞或名詞短語(yǔ),例如:“用戶”、“訂單”。

3.屬性定義

屬性應(yīng)包括名稱(chēng)和類(lèi)型,例如:“用戶ID:String”、“訂單日期:Date”。

4.方法定義

方法應(yīng)包括名稱(chēng)、參數(shù)和返回值,例如:“登錄(用戶名:String,密碼:String):Boolean”。

5.關(guān)系繪制

-關(guān)聯(lián):使用實(shí)線表示類(lèi)之間的關(guān)聯(lián)。

-繼承:使用空心三角形表示類(lèi)的繼承關(guān)系。

-依賴(lài):使用虛線表示類(lèi)之間的依賴(lài)關(guān)系。

-聚合:使用空心菱形表示類(lèi)的聚合關(guān)系。

-組合:使用實(shí)心菱形表示類(lèi)的組合關(guān)系。

(三)序列圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制序列圖。

2.對(duì)象識(shí)別

序列圖中的對(duì)象應(yīng)是類(lèi)圖中的主要類(lèi)。

3.消息傳遞

消息傳遞應(yīng)按時(shí)間順序排列,消息編號(hào)應(yīng)按順序排列。

4.生命線繪制

生命線應(yīng)表示對(duì)象在時(shí)間上的存在,消息傳遞應(yīng)在生命線上進(jìn)行。

(四)協(xié)作圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制協(xié)作圖。

2.對(duì)象關(guān)系

協(xié)作圖中的對(duì)象關(guān)系應(yīng)與類(lèi)圖中的關(guān)系一致。

3.消息傳遞

消息傳遞應(yīng)表示對(duì)象之間的交互關(guān)系,消息編號(hào)應(yīng)按順序排列。

(五)狀態(tài)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制狀態(tài)圖。

2.狀態(tài)定義

狀態(tài)應(yīng)表示對(duì)象的生命周期階段,例如:“待處理”、“已發(fā)貨”。

3.事件觸發(fā)

事件應(yīng)表示觸發(fā)狀態(tài)變化的條件,例如:“訂單支付”、“發(fā)貨完成”。

4.轉(zhuǎn)換繪制

轉(zhuǎn)換應(yīng)表示狀態(tài)之間的變化,轉(zhuǎn)換條件應(yīng)明確標(biāo)注。

(六)活動(dòng)圖實(shí)施細(xì)則

1.繪制工具

使用UML建模工具繪制活動(dòng)圖。

2.活動(dòng)狀態(tài)

活動(dòng)狀態(tài)應(yīng)表示業(yè)務(wù)流程中的步驟,例如:“接收訂單”、“處理訂單”。

3.分支與合并

分支表示條件判斷,合并表示分支的匯合。

4.流程繪制

活動(dòng)狀態(tài)應(yīng)按順序排列,流程應(yīng)清晰表示業(yè)務(wù)邏輯。

四、總結(jié)

UML功能性圖是系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)中的重要工具,通過(guò)規(guī)范的設(shè)計(jì)和實(shí)施細(xì)則,可以有效地提高系統(tǒng)的可理解性和可維護(hù)性。本規(guī)范和實(shí)施細(xì)則為UML功能性圖的設(shè)計(jì)和使用提供了詳細(xì)的指導(dǎo),幫助開(kāi)發(fā)者和分析師更好地利用UML圖來(lái)描述系統(tǒng)的功能和行為。

三、UML功能性圖的實(shí)施細(xì)則(續(xù))

(一)用例圖實(shí)施細(xì)則(續(xù))

1.繪制工具的選擇與使用

-選擇工具:根據(jù)項(xiàng)目需求和團(tuán)隊(duì)熟悉度選擇合適的UML建模工具。常見(jiàn)工具包括EnterpriseArchitect、VisualParadigm、StarUML等。選擇時(shí)應(yīng)考慮工具的易用性、功能完整性、成本以及是否支持團(tuán)隊(duì)協(xié)作。

-基本操作:

(1)創(chuàng)建用例圖:在工具中創(chuàng)建新項(xiàng)目,選擇用例圖模板或從空白畫(huà)布開(kāi)始。

(2)添加參與者:從工具的庫(kù)中拖拽“參與者”圖標(biāo)到畫(huà)布上,并輸入?yún)⑴c者名稱(chēng),如“用戶”、“管理員”。

(3)添加用例:拖拽“用例”圖標(biāo)到畫(huà)布上,并輸入用例名稱(chēng),如“登錄系統(tǒng)”、“查詢(xún)信息”。

(4)建立關(guān)系:使用工具提供的連接線工具,根據(jù)需要建立參與者與用例之間的關(guān)系(關(guān)聯(lián)、泛化、包含、擴(kuò)展)。

(5)配置屬性:在用例或參與者上右鍵點(diǎn)擊,選擇“屬性”或“細(xì)節(jié)”,輸入相關(guān)描述信息,如用例的優(yōu)先級(jí)、參與者所屬角色等。

(6)導(dǎo)出與共享:將繪制好的用例圖導(dǎo)出為圖片或PDF格式,或直接在團(tuán)隊(duì)協(xié)作平臺(tái)中共享項(xiàng)目文件。

2.命名規(guī)范的最佳實(shí)踐

-用例命名:

-使用動(dòng)詞短語(yǔ),明確表達(dá)系統(tǒng)提供的功能。例如,使用“處理訂單”而不是“訂單管理”。

-保持簡(jiǎn)潔,避免冗長(zhǎng)。用例名稱(chēng)應(yīng)盡量控制在15個(gè)字以?xún)?nèi)。

-使用一致的命名風(fēng)格,如全部使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu)。

-參與者命名:

-使用名詞或名詞短語(yǔ),表示與系統(tǒng)交互的外部實(shí)體。例如,使用“客戶”而不是“購(gòu)買(mǎi)者”。

-與用例命名風(fēng)格保持一致,確保整體文檔的統(tǒng)一性。

3.參與者識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)列出所有用戶類(lèi)型:根據(jù)系統(tǒng)功能,列出所有可能與之交互的用戶類(lèi)型,如普通用戶、管理員、客服人員等。

(2)分析交互行為:針對(duì)每個(gè)用戶類(lèi)型,分析其與系統(tǒng)的主要交互行為,確定是否需要將其作為參與者。

(3)排除內(nèi)部對(duì)象:確保參與者僅為系統(tǒng)外部的實(shí)體,排除系統(tǒng)內(nèi)部的對(duì)象或服務(wù)。

-示例:

-系統(tǒng):在線購(gòu)物平臺(tái)

-參與者:

-普通用戶:瀏覽商品、下訂單、支付、評(píng)價(jià)商品。

-管理員:管理商品信息、處理訂單、管理用戶信息。

-客服人員:處理用戶咨詢(xún)、解決用戶問(wèn)題。

4.關(guān)系繪制的詳細(xì)說(shuō)明

-關(guān)聯(lián)(Association):

-繪制方法:使用實(shí)線連接參與者和用例,表示參與者與用例之間的交互關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注關(guān)系名稱(chēng),如“使用”、“請(qǐng)求”。

-泛化(Generalization):

-繪制方法:使用空心三角形連接子用例和父用例,表示用例的繼承關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注繼承關(guān)系,如“繼承”。

-包含(Include):

-繪制方法:使用空心菱形連接包含用例和被包含用例,表示用例的組成關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注包含關(guān)系,如“包含”。

-擴(kuò)展(Extend):

-繪制方法:使用實(shí)心菱形連接擴(kuò)展用例和被擴(kuò)展用例,表示用例的擴(kuò)展關(guān)系。

-標(biāo)注:在連接線上可以標(biāo)注擴(kuò)展關(guān)系,如“擴(kuò)展”。

5.用例圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心功能用例?

-是否遺漏了重要的參與者?

-是否所有用例都有明確的參與者?

-一致性檢查:

-用例命名是否符合規(guī)范?

-參與者命名是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(二)類(lèi)圖實(shí)施細(xì)則(續(xù))

1.繪制工具的高級(jí)應(yīng)用

-動(dòng)態(tài)布局:利用工具的自動(dòng)布局功能,調(diào)整類(lèi)、接口、關(guān)系的位置,使圖形更加美觀和易于理解。

-樣式配置:自定義類(lèi)的顏色、字體、線條樣式等,突出重點(diǎn)類(lèi)或關(guān)系。

-模板使用:創(chuàng)建常用的類(lèi)圖模板,提高繪圖效率,確保項(xiàng)目風(fēng)格統(tǒng)一。

2.類(lèi)命名與職責(zé)分配

-類(lèi)命名原則:

-使用名詞或名詞短語(yǔ),反映類(lèi)的主要功能或表示的實(shí)體。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-保持命名的一致性,如使用駝峰命名法或下劃線命名法。

-職責(zé)分配:

-每個(gè)類(lèi)應(yīng)具有明確的職責(zé),避免一個(gè)類(lèi)承擔(dān)過(guò)多功能。

-通過(guò)方法命名和屬性定義,清晰地表達(dá)類(lèi)的職責(zé)。

-使用單一職責(zé)原則(SingleResponsibilityPrinciple)指導(dǎo)類(lèi)的設(shè)計(jì)。

3.屬性定義的詳細(xì)說(shuō)明

-屬性命名:

-使用名詞或名詞短語(yǔ),表示類(lèi)的特征。

-與類(lèi)命名風(fēng)格保持一致。

-屬性類(lèi)型:

-選擇合適的數(shù)據(jù)類(lèi)型,如String、Integer、Date等。

-考慮屬性是否為基本類(lèi)型(如int、boolean)或復(fù)合類(lèi)型(如自定義類(lèi)、集合)。

-屬性修飾符:

-使用可見(jiàn)性修飾符(public、protected、private)控制屬性的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符(static)表示屬性屬于類(lèi)而非實(shí)例。

-使用final修飾符表示屬性值不可修改。

4.方法定義的詳細(xì)說(shuō)明

-方法命名:

-使用動(dòng)名詞或名詞動(dòng)賓結(jié)構(gòu),表示類(lèi)的行為。

-避免使用縮寫(xiě),除非是廣泛認(rèn)可的縮寫(xiě)。

-參數(shù)定義:

-明確每個(gè)參數(shù)的名稱(chēng)和類(lèi)型,以及其作用。

-考慮參數(shù)是否為可選參數(shù)或默認(rèn)參數(shù)。

-返回值定義:

-明確方法的返回值類(lèi)型,以及其表示的意義。

-考慮方法是否返回void表示無(wú)返回值。

-方法修飾符:

-使用可見(jiàn)性修飾符控制方法的訪問(wèn)權(quán)限。

-使用靜態(tài)修飾符表示方法屬于類(lèi)而非實(shí)例。

-使用抽象修飾符表示方法由子類(lèi)實(shí)現(xiàn)。

5.關(guān)系繪制的詳細(xì)說(shuō)明(續(xù))

-聚合(Aggregation):

-繪制方法:使用空心菱形表示整體與部分的關(guān)系,空心菱形在整體端。

-示例:汽車(chē)與車(chē)輪的關(guān)系,汽車(chē)包含車(chē)輪,但車(chē)輪可以獨(dú)立于汽車(chē)存在。

-組合(Composition):

-繪制方法:使用實(shí)心菱形表示整體與部分的關(guān)系,實(shí)心菱形在整體端。

-示例:人體與心臟的關(guān)系,心臟是人體的組成部分,心臟的生命周期依賴(lài)于人體。

-依賴(lài)(Dependency):

-繪制方法:使用虛線表示類(lèi)之間的臨時(shí)依賴(lài)關(guān)系,箭頭指向被依賴(lài)的類(lèi)。

-示例:排序方法與列表的關(guān)系,排序方法依賴(lài)于列表的數(shù)據(jù)結(jié)構(gòu),但排序方法不修改列表。

6.類(lèi)圖繪制的檢查清單

-完整性檢查:

-是否包含了所有核心類(lèi)和接口?

-是否遺漏了重要的屬性和方法?

-是否所有關(guān)系都已正確表示?

-一致性檢查:

-類(lèi)命名是否符合規(guī)范?

-屬性和方法定義是否一致?

-關(guān)系繪制是否正確?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(三)序列圖實(shí)施細(xì)則(續(xù))

1.對(duì)象識(shí)別的詳細(xì)步驟

-識(shí)別方法:

(1)分析用例實(shí)現(xiàn):根據(jù)用例圖中的用例,分析其具體實(shí)現(xiàn)涉及哪些類(lèi)和方法。

(2)確定主要對(duì)象:選擇用例實(shí)現(xiàn)中的主要對(duì)象,作為序列圖中的參與者。

(3)排除次要對(duì)象:排除對(duì)用例實(shí)現(xiàn)影響較小的對(duì)象,簡(jiǎn)化序列圖。

-示例:

-用例:用戶登錄

-主要對(duì)象:用戶、認(rèn)證服務(wù)、數(shù)據(jù)庫(kù)

-次要對(duì)象:日志服務(wù)、消息隊(duì)列

2.消息傳遞的詳細(xì)說(shuō)明

-消息類(lèi)型:

-同步消息:發(fā)送方等待接收方響應(yīng)的消息,表示為實(shí)線加箭頭。

-異步消息:發(fā)送方不等待接收方響應(yīng)的消息,表示為虛線加箭頭。

-回調(diào)消息:接收方在完成操作后發(fā)送的消息,表示為實(shí)線加雙向箭頭。

-消息編號(hào):

-按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-使用括號(hào)標(biāo)注消息編號(hào),如“1:登錄請(qǐng)求”。

-條件與分支:

-使用菱形表示條件判斷,分支表示不同的消息傳遞路徑。

-在分支上標(biāo)注條件,如“用戶名存在”。

3.生命線繪制的詳細(xì)說(shuō)明

-生命線表示:使用垂直虛線表示對(duì)象在時(shí)間上的存在,生命線的高度表示對(duì)象的存在時(shí)間。

-激活條:在生命線上使用矩形表示對(duì)象處于激活狀態(tài),即正在處理消息。

-自消息:表示對(duì)象自身發(fā)送的消息,使用從生命線出發(fā)的弧線表示。

4.序列圖繪制的詳細(xì)步驟

(1)確定主要對(duì)象:根據(jù)用例實(shí)現(xiàn),確定序列圖中的主要對(duì)象。

(2)創(chuàng)建對(duì)象實(shí)例:在序列圖上方繪制對(duì)象實(shí)例,并標(biāo)注對(duì)象名稱(chēng)。

(3)繪制生命線:為每個(gè)對(duì)象實(shí)例繪制生命線,表示對(duì)象的存在時(shí)間。

(4)添加消息傳遞:根據(jù)用例實(shí)現(xiàn),添加對(duì)象之間的消息傳遞,并標(biāo)注消息編號(hào)和類(lèi)型。

(5)添加激活條:在對(duì)象處理消息時(shí),繪制激活條表示對(duì)象處于激活狀態(tài)。

(6)添加條件與分支:如有必要,添加條件判斷和分支,表示不同的消息傳遞路徑。

(7)檢查與調(diào)整:檢查序列圖是否清晰易懂,調(diào)整對(duì)象位置和消息傳遞,確保圖形的整潔性。

5.序列圖繪制的檢查清單

-完整性檢查:

-是否包含了所有主要對(duì)象?

-是否所有重要的消息傳遞都已表示?

-是否所有條件與分支都已表示?

-一致性檢查:

-消息編號(hào)是否按時(shí)間順序排列?

-消息類(lèi)型是否正確?

-激活條是否正確表示對(duì)象的處理狀態(tài)?

-清晰性檢查:

-圖形是否清晰易懂?

-是否存在過(guò)多的線條導(dǎo)致圖形混亂?

-是否有必要的標(biāo)注說(shuō)明?

(四)協(xié)作圖實(shí)施細(xì)則(續(xù))

1.對(duì)象關(guān)系的詳細(xì)說(shuō)明

-關(guān)聯(lián)關(guān)系:表示對(duì)象之間的靜態(tài)連接,使用實(shí)線表示,可以標(biāo)注關(guān)聯(lián)名稱(chēng)。

-依賴(lài)關(guān)系:表示對(duì)象之間的臨時(shí)依賴(lài),使用虛線表示,箭頭指向被依賴(lài)的對(duì)象。

-聚合關(guān)系:表示整體與部分的關(guān)系,使用空心菱形表示,空心菱形在整體端。

-組合關(guān)系:表示整體與部分的強(qiáng)依賴(lài)關(guān)系,使用實(shí)心菱形表示,實(shí)心菱形在整體端。

2.消息傳遞的詳細(xì)說(shuō)明(續(xù))

-消息編號(hào):與序列圖相同,按時(shí)間順序?qū)ο⑦M(jìn)行編號(hào),表示消息的發(fā)送順序。

-消息類(lèi)型:與序列圖相同,使用實(shí)線表示同步消息,虛線表示異步消息。

3.協(xié)作圖與序列圖的轉(zhuǎn)換

-轉(zhuǎn)換方法:

(1)選擇焦點(diǎn)對(duì)象:在協(xié)作圖中選擇一個(gè)主要對(duì)象作為焦點(diǎn)對(duì)象。

(2)創(chuàng)建序列圖:根據(jù)協(xié)作圖中的消息傳遞,創(chuàng)建相應(yīng)的序列圖。

(3)調(diào)整對(duì)象順序:根據(jù)序列圖的時(shí)間順序,調(diào)整協(xié)作圖中對(duì)象的順序。

-示例:

-協(xié)作圖:用戶->認(rèn)證服務(wù)->數(shù)據(jù)庫(kù)

-序列

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論