版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社會(huì)消防安全培訓(xùn)學(xué)校課程
- 數(shù)學(xué)智力題目及答案
- 2026年信息安全政策了解程度面試題
- 2026年房地產(chǎn)行業(yè)市場(chǎng)分析師招聘考試題庫(kù)
- 晨會(huì)工作匯報(bào)話術(shù)
- 2025年電力行業(yè)安全生產(chǎn)檢查指南
- 軌道交通運(yùn)營(yíng)管理與應(yīng)急處理指南(標(biāo)準(zhǔn)版)
- 倉(cāng)儲(chǔ)物流操作與管理手冊(cè)
- 互聯(lián)網(wǎng)廣告管理與審查規(guī)范(標(biāo)準(zhǔn)版)
- 酒店客房服務(wù)質(zhì)量管理與提升指南(標(biāo)準(zhǔn)版)
- 急性心肌梗死后心律失常護(hù)理課件
- 產(chǎn)品供貨方案、售后服務(wù)方案
- 十八而志夢(mèng)想以行+活動(dòng)設(shè)計(jì) 高三下學(xué)期成人禮主題班會(huì)
- 2023年上海華東理工大學(xué)機(jī)械與動(dòng)力工程學(xué)院教師崗位招聘筆試試題及答案
- TOC供應(yīng)鏈物流管理精益化培訓(xùn)教材PPT課件講義
- 醫(yī)院18類(lèi)常用急救藥品規(guī)格清單
- 放棄公開(kāi)遴選公務(wù)員面試資格聲明
- 2023-2024學(xué)年江蘇省海門(mén)市小學(xué)語(yǔ)文五年級(jí)期末點(diǎn)睛提升提分卷
- GB/T 1685-2008硫化橡膠或熱塑性橡膠在常溫和高溫下壓縮應(yīng)力松弛的測(cè)定
- 北京城市旅游故宮紅色中國(guó)風(fēng)PPT模板
- DB42T1319-2021綠色建筑設(shè)計(jì)與工程驗(yàn)收標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論