UML圖識(shí)圖規(guī)范和應(yīng)用細(xì)則_第1頁(yè)
UML圖識(shí)圖規(guī)范和應(yīng)用細(xì)則_第2頁(yè)
UML圖識(shí)圖規(guī)范和應(yīng)用細(xì)則_第3頁(yè)
UML圖識(shí)圖規(guī)范和應(yīng)用細(xì)則_第4頁(yè)
UML圖識(shí)圖規(guī)范和應(yīng)用細(xì)則_第5頁(yè)
已閱讀5頁(yè),還剩133頁(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圖識(shí)圖規(guī)范和應(yīng)用細(xì)則一、UML圖識(shí)圖規(guī)范概述

UML(統(tǒng)一建模語(yǔ)言)圖是用于描述、可視化、構(gòu)建和文檔化軟件密集型系統(tǒng)的標(biāo)準(zhǔn)圖形建模語(yǔ)言。為了確保UML圖的可讀性和一致性,遵循規(guī)范的識(shí)圖方法至關(guān)重要。本規(guī)范旨在提供一套系統(tǒng)化的UML圖識(shí)圖方法,包括基本元素識(shí)別、圖類型解析和實(shí)際應(yīng)用指導(dǎo)。

(一)UML圖基本元素

1.圖符識(shí)別

(1)類圖:矩形框,包含類名、屬性(帶類型和可見性)、操作(帶返回類型和可見性)

(2)用例圖:橢圓形(用例)+矩形(參與者)

(3)序列圖:生命線(垂直虛線)+消息箭頭

(4)狀態(tài)圖:圓形(初始/結(jié)束)+方形(狀態(tài))+菱形(事件)

(5)活動(dòng)圖:圓形(開始/結(jié)束)+矩形(動(dòng)作)+菱形(決策)

2.關(guān)系識(shí)別

(1)關(guān)聯(lián):實(shí)線+箭頭(帶關(guān)系名稱)

(2)泛化:空心三角形箭頭

(3)聚合:實(shí)心菱形+空心菱形箭頭

(4)組合:實(shí)心菱形+實(shí)線箭頭

(5)依賴:虛線+箭頭

(二)圖類型解析方法

1.類圖識(shí)圖步驟

(1)識(shí)別所有類及其命名空間

(2)分析屬性:區(qū)分私有/受保護(hù)/公有屬性

(3)分析操作:關(guān)注參數(shù)列表和返回類型

(4)識(shí)別關(guān)系:記錄關(guān)聯(lián)方向和類型

(5)檢查繼承層次:確定父類與子類關(guān)系

2.用例圖識(shí)圖步驟

(1)識(shí)別所有參與者及其角色

(2)分析用例邊界:明確系統(tǒng)功能范圍

(3)檢查用例關(guān)系:識(shí)別包含/擴(kuò)展/泛化關(guān)系

(4)分析用例場(chǎng)景:確定觸發(fā)條件

3.序列圖識(shí)圖步驟

(1)確定參與對(duì)象及順序

(2)分析消息傳遞:關(guān)注同步/異步調(diào)用

(3)檢查生命周期:識(shí)別創(chuàng)建/銷毀事件

(4)找出關(guān)鍵協(xié)作路徑

二、UML圖應(yīng)用細(xì)則

(一)實(shí)際建模指導(dǎo)

1.建模準(zhǔn)備

(1)明確建模目的:系統(tǒng)分析/設(shè)計(jì)/文檔化

(2)收集需求文檔:確保模型與需求一致

(3)確定建模范圍:避免過度復(fù)雜或簡(jiǎn)單

2.建模步驟

(1)選擇合適圖類型:根據(jù)表達(dá)需求選擇圖類型

(2)繪制核心元素:先繪制主要類和用例

(3)添加關(guān)系:根據(jù)系統(tǒng)交互補(bǔ)充關(guān)系

(4)完善細(xì)節(jié):補(bǔ)充屬性、操作和參數(shù)

3.建模最佳實(shí)踐

(1)保持一致性:所有圖使用統(tǒng)一命名規(guī)則

(2)控制復(fù)雜度:?jiǎn)螆D元素不超過20個(gè)

(3)使用注釋:說(shuō)明關(guān)鍵設(shè)計(jì)決策

(4)版本管理:記錄變更歷史

(二)識(shí)圖常見問題處理

1.關(guān)系理解問題

(1)關(guān)聯(lián)歧義:通過關(guān)系名稱明確方向性

(2)繼承混淆:檢查空心三角形指向父類

(3)組合邊界:實(shí)心菱形定義組合關(guān)系

2.語(yǔ)義解讀問題

(1)訪問修飾符:-//+分別代表私有/受保護(hù)/公有

(2)多重繼承:使用復(fù)合類替代直接繼承

(3)隱藏沖突:通過命名空間解決操作重名

3.圖表不一致問題

(1)模型校驗(yàn):使用工具檢查圖間依賴關(guān)系

(2)沖突解決:優(yōu)先類圖約束用例圖

(3)版本同步:建立圖類型對(duì)應(yīng)表

(三)工具使用技巧

1.選擇工具類型

(1)建模工具:支持類圖/序列圖/用例圖

(2)聯(lián)動(dòng)工具:自動(dòng)更新相關(guān)圖

(3)導(dǎo)出工具:生成文檔或代碼

2.高效建模技巧

(1)模板應(yīng)用:使用預(yù)設(shè)圖模板加速建模

(2)元模型管理:建立企業(yè)建模標(biāo)準(zhǔn)

(3)協(xié)作模式:分支/合并版本控制

三、UML圖識(shí)圖規(guī)范維護(hù)

(一)培訓(xùn)與認(rèn)證

1.培訓(xùn)體系

(1)入門培訓(xùn):基礎(chǔ)圖類型識(shí)別(4小時(shí))

(2)進(jìn)階培訓(xùn):復(fù)雜關(guān)系解析(6小時(shí))

(3)實(shí)戰(zhàn)培訓(xùn):真實(shí)項(xiàng)目案例(8小時(shí))

2.認(rèn)證標(biāo)準(zhǔn)

(1)理論考核:選擇題/判斷題(60分合格)

(2)實(shí)操考核:建模任務(wù)評(píng)分

(3)綜合評(píng)審:同行評(píng)審反饋

(二)最佳實(shí)踐案例

1.金融系統(tǒng)案例

(1)類圖特點(diǎn):大量聚合關(guān)系(>30對(duì))

(2)用例圖特點(diǎn):分層用例結(jié)構(gòu)(3層)

(3)序列圖特點(diǎn):高并發(fā)交互(>50消息)

2.醫(yī)療系統(tǒng)案例

(1)狀態(tài)機(jī)特點(diǎn):復(fù)雜轉(zhuǎn)換條件(>20條)

(2)活動(dòng)圖特點(diǎn):分支合并邏輯(5處)

(3)依賴特點(diǎn):第三方庫(kù)引用(10個(gè))

(三)持續(xù)改進(jìn)機(jī)制

1.反饋收集

(1)定期問卷調(diào)查:收集識(shí)圖困難點(diǎn)

(2)模型評(píng)審會(huì):專家評(píng)審改進(jìn)建議

(3)使用數(shù)據(jù):統(tǒng)計(jì)錯(cuò)誤率(<5%為優(yōu))

2.更新周期

(1)年度評(píng)估:每年1次全面評(píng)估

(2)季度修訂:根據(jù)技術(shù)發(fā)展更新

(3)月度檢查:關(guān)鍵工具補(bǔ)丁更新

一、UML圖識(shí)圖規(guī)范概述

UML(統(tǒng)一建模語(yǔ)言)圖是用于描述、可視化、構(gòu)建和文檔化軟件密集型系統(tǒng)的標(biāo)準(zhǔn)圖形建模語(yǔ)言。為了確保UML圖的可讀性和一致性,遵循規(guī)范的識(shí)圖方法至關(guān)重要。本規(guī)范旨在提供一套系統(tǒng)化的UML圖識(shí)圖方法,包括基本元素識(shí)別、圖類型解析和實(shí)際應(yīng)用指導(dǎo)。

(一)UML圖基本元素

1.圖符識(shí)別

(1)類圖:類圖是UML中最常用的圖之一,用于表示系統(tǒng)的靜態(tài)結(jié)構(gòu)。識(shí)別類圖主要關(guān)注以下幾個(gè)要素:

-類名(ClassName):位于矩形框頂部,通常加粗顯示。類名應(yīng)簡(jiǎn)潔、明確地反映該類的核心職責(zé)。例如,“用戶”、“訂單”、“產(chǎn)品”。

-屬性(Attributes):位于矩形框中部,描述類的數(shù)據(jù)成員。每個(gè)屬性通常包含三部分:可見性(訪問修飾符)、屬性名、屬性類型??梢娦杂梅?hào)表示:`-`(私有private)、``(受保護(hù)protected)、`+`(公有public)。屬性類型需明確,如`String`、`int`、`Date`等。例如,“用戶”類可能有`-id:int`(用戶ID,私有整型)、`+name:String`(用戶名,公有字符串)。

-操作(Operations):位于矩形框底部,描述類的方法或行為。與屬性類似,操作也包含可見性、操作名、參數(shù)列表(包含參數(shù)名和類型)和返回類型。例如,“訂單”類可能有`+calculateTotal():double`(計(jì)算總價(jià),返回雙精度浮點(diǎn)數(shù))、`-validatePayment(paymentMethod:String):boolean`(驗(yàn)證支付方式,私有,接收字符串參數(shù),返回布爾值)。

-方法內(nèi)的注解:有時(shí)方法或?qū)傩耘詴?huì)有小括號(hào)內(nèi)的注解,如`()`,`()`等,`()`表示無(wú)參數(shù),`()`表示有未指定數(shù)量的參數(shù)。

(2)用例圖:用例圖描述系統(tǒng)的功能需求,展現(xiàn)外部參與者與系統(tǒng)交互的過程。識(shí)別用例圖主要關(guān)注:

-參與者(Actors):通常是矩形框或人形圖標(biāo),代表與系統(tǒng)交互的外部實(shí)體,如用戶、其他系統(tǒng)等。每個(gè)參與者應(yīng)有一個(gè)清晰的名稱,如“管理員”、“客戶”。有時(shí)會(huì)標(biāo)注參與者類型,如“普通用戶”、“VIP用戶”。

-用例(UseCases):通常是橢圓形,代表系統(tǒng)提供的功能或服務(wù)。用例名稱應(yīng)動(dòng)詞開頭,描述參與者能“做什么”,如“登錄系統(tǒng)”、“查詢產(chǎn)品”、“下訂單”。用例應(yīng)清晰地標(biāo)注在系統(tǒng)邊界內(nèi)。

-系統(tǒng)邊界(SystemBoundary):通常用一條粗實(shí)線或雙線矩形框表示,明確界定系統(tǒng)所包含的功能范圍。

-關(guān)系(Relationships):用例之間和用例與參與者之間可能存在關(guān)系,常見的有:

-關(guān)聯(lián)(Association):實(shí)線連接,表示參與者與用例之間的通用交互路徑。例如,多個(gè)管理員都可以“登錄系統(tǒng)”。

-包含(Include):空心菱形箭頭,表示一個(gè)用例是另一個(gè)用例的組成部分,調(diào)用包含用例時(shí)必須先執(zhí)行被包含用例。例如,“下訂單”用例包含“選擇產(chǎn)品”用例。

-擴(kuò)展(Extend):實(shí)心菱形箭頭,表示在特定條件下,用例可以擴(kuò)展另一個(gè)用例的行為。擴(kuò)展用例本身不是必需的,只在條件滿足時(shí)執(zhí)行。例如,“下訂單”可以用“使用優(yōu)惠券”來(lái)擴(kuò)展。

-泛化(Generalization):空心三角形箭頭,表示多個(gè)用例共享相同的行為,是從通用用例到特定用例的繼承關(guān)系。例如,“查詢信息”是一個(gè)通用用例,可以泛化出“查詢產(chǎn)品”、“查詢訂單”等具體用例。

(3)序列圖:序列圖按時(shí)間順序展示對(duì)象之間的交互,主要用于描述用例場(chǎng)景或操作流程。識(shí)別序列圖主要關(guān)注:

-生命線(Lifeline):垂直的虛線,代表圖中每個(gè)對(duì)象在一段時(shí)間內(nèi)的存在。生命線通常標(biāo)有對(duì)象名。例如,`用戶->服務(wù)員->訂單系統(tǒng)`。

-激活條(ActivationBar):位于生命線上的矩形框,表示對(duì)象正在執(zhí)行操作或方法的時(shí)間段。

-消息(Message):從一條生命線指向另一條生命線的箭頭,表示對(duì)象間的交互。消息分為:

-同步消息(Call):實(shí)線箭頭,表示調(diào)用操作,發(fā)送方等待接收方響應(yīng)。例如,`用戶->發(fā)送登錄請(qǐng)求`。

-異步消息(Return):虛線箭頭,表示調(diào)用操作,發(fā)送方不等待接收方響應(yīng)。例如,`系統(tǒng)->異步發(fā)送訂單確認(rèn)郵件`。

-創(chuàng)建消息:重箭頭,表示創(chuàng)建新對(duì)象。例如,`訂單系統(tǒng)->創(chuàng)建新訂單對(duì)象`。

-銷毀消息:X形箭頭,表示刪除對(duì)象。例如,`系統(tǒng)->銷毀過期訂單`。

-時(shí)間消息:帶有時(shí)間值的菱形框,表示延遲操作。例如,`系統(tǒng)->等待(5秒)`。

-初始消息:位于生命線頂部的黑色小圓圈,表示對(duì)象創(chuàng)建的開始。

-結(jié)束消息:位于生命線底部的黑色小方塊,表示對(duì)象生命結(jié)束。

(4)狀態(tài)圖:狀態(tài)圖描述一個(gè)對(duì)象在其生命周期內(nèi)可能經(jīng)歷的各種狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換。識(shí)別狀態(tài)圖主要關(guān)注:

-狀態(tài)(State):位于方框內(nèi),表示對(duì)象所處的特定條件或行為模式。每個(gè)狀態(tài)可以包含子狀態(tài)(嵌套方框)和區(qū)域(分欄)。例如,“訂單”對(duì)象的狀態(tài)圖可能包含“新建”、“待支付”、“已支付”、“已發(fā)貨”、“已完成”、“已取消”等狀態(tài)。

-事件(Event):方框內(nèi)的圓圈,表示觸發(fā)狀態(tài)轉(zhuǎn)換的特定條件。例如,`支付成功`、`發(fā)貨請(qǐng)求`。

-動(dòng)作(Action):方框內(nèi)的矩形,表示在狀態(tài)轉(zhuǎn)換過程中執(zhí)行的操作。例如,`記錄支付信息`、`更新庫(kù)存`。

-轉(zhuǎn)換(Transition):從一個(gè)狀態(tài)指向另一個(gè)狀態(tài)的箭頭,表示狀態(tài)的變化。轉(zhuǎn)換通常帶有事件/動(dòng)作作為標(biāo)簽。例如,從“待支付”狀態(tài)到“已支付”狀態(tài),可能由事件“支付成功”觸發(fā)。

-初始狀態(tài):位于狀態(tài)圖左上角的實(shí)心圓圈,表示對(duì)象生命周期的開始。

-終止?fàn)顟B(tài):位于狀態(tài)圖右下角的空心圓圈,表示對(duì)象生命周期的結(jié)束。

(5)活動(dòng)圖:活動(dòng)圖描述系統(tǒng)中的業(yè)務(wù)流程或操作流程,側(cè)重于動(dòng)作的順序和邏輯。識(shí)別活動(dòng)圖主要關(guān)注:

-動(dòng)作(Action):位于矩形框內(nèi),表示需要執(zhí)行的操作或任務(wù)。例如,“用戶注冊(cè)”、“驗(yàn)證身份”。

-開始/結(jié)束節(jié)點(diǎn):位于圖左側(cè)的黑色圓圈(開始)和右側(cè)的黑色圓圈(結(jié)束)。

-決策/條件節(jié)點(diǎn):位于菱形框內(nèi),表示基于某個(gè)條件進(jìn)行分支。例如,“年齡>18?”。

-合并節(jié)點(diǎn):位于菱形框內(nèi),表示多個(gè)分支匯合到同一點(diǎn)。形狀類似,但含義不同。

-對(duì)象流節(jié)點(diǎn):位于平行四邊形內(nèi),表示流程中創(chuàng)建或使用的對(duì)象。例如,“訂單對(duì)象”。

-控制流:從動(dòng)作節(jié)點(diǎn)指向下一個(gè)動(dòng)作節(jié)點(diǎn)的箭頭,表示流程的順序。

-對(duì)象流:帶有實(shí)心箭頭的虛線,表示對(duì)象在流程中的傳遞。例如,從“創(chuàng)建訂單”動(dòng)作流向“訂單對(duì)象”節(jié)點(diǎn)。

-分叉/匯合節(jié)點(diǎn):位于圓角矩形內(nèi),表示流程的并發(fā)或同步。分叉節(jié)點(diǎn)將一條流程分成多條并發(fā)路徑,匯合節(jié)點(diǎn)將多條并發(fā)路徑合并。

2.關(guān)系識(shí)別

(1)關(guān)聯(lián):關(guān)聯(lián)表示對(duì)象之間的連接或聚合關(guān)系,強(qiáng)調(diào)兩者之間的聯(lián)系。識(shí)別關(guān)聯(lián)需關(guān)注:

-關(guān)聯(lián)線:通常用實(shí)線表示。

-關(guān)系名稱:關(guān)聯(lián)線兩端可以有文字標(biāo)注,說(shuō)明關(guān)系類型或含義,如“擁有”、“管理”。

-角色名稱:在關(guān)聯(lián)線端點(diǎn)可以有小括號(hào)標(biāo)注,表示在該關(guān)系中對(duì)象的特定角色,如`客戶-1(付款方)`。

-基數(shù)(Cardinality):表示一個(gè)對(duì)象實(shí)例與另一個(gè)對(duì)象實(shí)例之間的數(shù)量關(guān)系。通常寫在角色名稱附近或關(guān)聯(lián)線旁邊,用`1`、``(零個(gè)或多個(gè))、`0..1`(零個(gè)或一個(gè))、`0..`(零個(gè)或多個(gè))等表示。例如,“1:客戶”表示一個(gè)客戶,“:訂單”表示多個(gè)訂單。

-關(guān)聯(lián)類型:

-組合(Composition):用實(shí)心菱形表示整體,通常在整體端。表示整體擁有部分,部分的生命周期受整體控制。例如,汽車與車輪的組合。

-聚合(Aggregation):用空心菱形表示整體,通常在部分端。表示整體擁有部分,但部分的生命周期獨(dú)立于整體。例如,學(xué)校與教師的關(guān)系。

(2)泛化:泛化表示一般與特殊的關(guān)系,是繼承的一種形式。識(shí)別泛化需關(guān)注:

-泛化線:通常用空心三角形箭頭,指向父類。

-繼承關(guān)系:子類(特殊類)繼承父類(一般類)的屬性和操作。

-重寫/覆蓋:子類可以重寫父類的操作,通常在子類操作旁加注`<<overriding>>`。

-約束:可以添加約束說(shuō)明繼承的條件,如`<<checked>>`。

(3)聚合:聚合是關(guān)聯(lián)的一種特殊形式,表示整體與部分的關(guān)系,但部分可以獨(dú)立于整體存在。識(shí)別聚合需關(guān)注:

-聚合線:用空心菱形表示整體,通常在部分端。

-關(guān)系名稱:如“包含”、“組成”。

-基數(shù):聚合關(guān)系通常需要明確基數(shù),如“1:課程..:學(xué)生”表示一個(gè)課程被一個(gè)或多個(gè)學(xué)生選修。

(4)組合:組合是聚合的一種更強(qiáng)形式,表示整體對(duì)部分擁有更強(qiáng)的控制,部分的生命周期完全依賴于整體。識(shí)別組合需關(guān)注:

-組合線:用實(shí)心菱形表示整體,通常在部分端。

-關(guān)系名稱:如“包含”、“擁有”。

-生命周期控制:整體負(fù)責(zé)創(chuàng)建和銷毀部分。

(5)依賴:依賴表示一個(gè)對(duì)象的變化可能影響另一個(gè)對(duì)象,但關(guān)系相對(duì)較弱。識(shí)別依賴需關(guān)注:

-依賴線:用虛線表示。

-關(guān)系名稱:如“使用”、“依賴于”。

-使用場(chǎng)景:通常表示一個(gè)對(duì)象使用另一個(gè)對(duì)象的類型定義,或一個(gè)操作需要另一個(gè)操作的參數(shù)類型。

(二)圖類型解析方法

1.類圖識(shí)圖步驟

(1)識(shí)別所有類及其命名空間:從圖的邊緣開始,識(shí)別所有獨(dú)立的矩形框,確定每個(gè)類的名稱。注意類名前的包名(如果存在),表示類的歸屬。

(2)分析屬性:仔細(xì)查看每個(gè)類內(nèi)部的屬性區(qū)域,記錄每個(gè)屬性的可見性(`-`、``、`+`)、屬性名、屬性類型。特別注意類型是否自定義或來(lái)自特定框架。

(3)分析操作:查看每個(gè)類內(nèi)部的操作區(qū)域,記錄每個(gè)操作的可見性、操作名、參數(shù)列表(參數(shù)名、類型、默認(rèn)值)、返回類型。關(guān)注方法的同步/異步特性(如有標(biāo)注)。

(4)識(shí)別關(guān)系:系統(tǒng)性地檢查類與類之間的連接線,判斷關(guān)系類型(關(guān)聯(lián)、泛化、聚合、組合、依賴),并記錄關(guān)系名稱和基數(shù)??梢允褂帽砀裼涗涱惷?、屬性、操作、關(guān)系等信息。

(5)檢查繼承層次:找到所有泛化關(guān)系,繪制繼承樹,確定頂層父類和底層子類,理解類之間的繼承關(guān)系和屬性/操作的繼承情況。

2.用例圖識(shí)圖步驟

(1)識(shí)別所有參與者及其角色:列出圖中所有的人形圖標(biāo)或矩形框,確定每個(gè)參與者的名稱及其在系統(tǒng)中的角色或身份。

(2)分析用例邊界:檢查所有用例圖的外部邊界線(粗實(shí)線或雙線),理解系統(tǒng)提供的功能范圍。確認(rèn)所有用例是否都在系統(tǒng)邊界內(nèi)。

(3)檢查用例關(guān)系:識(shí)別并記錄用例之間的三種主要關(guān)系:包含(`<<include>>`)、擴(kuò)展(`<<extend>>`)、泛化(`<<generalize>>`)。分析這些關(guān)系對(duì)系統(tǒng)功能的影響。

(4)分析用例場(chǎng)景:雖然用例圖本身不直接顯示場(chǎng)景,但可以結(jié)合需求文檔,理解每個(gè)用例對(duì)應(yīng)的具體業(yè)務(wù)場(chǎng)景、前置條件和后置條件??梢运伎肌罢l(shuí)在使用這個(gè)用例?”、“這個(gè)用例做了什么?”、“使用這個(gè)用例需要滿足什么條件?”。

3.序列圖識(shí)圖步驟

(1)確定參與對(duì)象及順序:查看圖中所有生命線,列出所有參與交互的對(duì)象名稱。注意生命線的出現(xiàn)和消失時(shí)間,確定對(duì)象的生命周期。

(2)分析消息傳遞:按時(shí)間順序,逐條分析生命線之間的消息傳遞。區(qū)分同步消息、異步消息、創(chuàng)建/銷毀消息。記錄每條消息的發(fā)送者、接收者、消息類型和參數(shù)。

(3)檢查生命周期:關(guān)注每個(gè)生命線上的激活條(矩形框),理解對(duì)象在交互過程中的狀態(tài)變化(創(chuàng)建、執(zhí)行操作、等待、銷毀)。

(4)找出關(guān)鍵協(xié)作路徑:識(shí)別在完成某個(gè)用例或操作時(shí),對(duì)象之間最重要的消息傳遞序列??梢运伎肌巴瓿蛇@個(gè)任務(wù),必須按什么順序調(diào)用哪些對(duì)象的方法?”。

4.狀態(tài)圖識(shí)圖步驟

(1)識(shí)別所有狀態(tài):列出狀態(tài)圖中所有方框代表的狀態(tài)名稱。注意狀態(tài)是否有子狀態(tài)或區(qū)域,理解狀態(tài)的內(nèi)部結(jié)構(gòu)。

(2)分析事件和動(dòng)作:查看每個(gè)狀態(tài)內(nèi)部的事件(圓圈)和動(dòng)作(矩形),理解什么事件會(huì)觸發(fā)狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換過程中會(huì)執(zhí)行什么操作。

(3)檢查轉(zhuǎn)換:分析從每個(gè)狀態(tài)出發(fā)的所有轉(zhuǎn)換(箭頭),記錄轉(zhuǎn)換的目標(biāo)狀態(tài)、觸發(fā)事件和條件(如有)。

(4)理解初始和終止?fàn)顟B(tài):明確對(duì)象的初始狀態(tài)(左上角的實(shí)心圓圈)和可能的終止?fàn)顟B(tài)(右下角的空心圓圈)。

5.活動(dòng)圖識(shí)圖步驟

(1)識(shí)別主要?jiǎng)幼鳎毫谐龌顒?dòng)圖中的所有矩形框(動(dòng)作)和菱形框(決策/條件),理解業(yè)務(wù)流程中的主要步驟和判斷點(diǎn)。

(2)分析流程順序:沿著控制流(實(shí)線箭頭)和對(duì)象流(虛線箭頭),理清動(dòng)作之間的執(zhí)行順序和對(duì)象在流程中的傳遞路徑。

(3)處理分支與合并:關(guān)注菱形框表示的決策點(diǎn),理解不同的分支條件和對(duì)應(yīng)的執(zhí)行路徑。檢查匯合點(diǎn),確認(rèn)所有分支最終是否能匯合。

(4)識(shí)別并發(fā)與同步:注意分叉(圓角矩形)和匯合(圓角矩形)節(jié)點(diǎn),理解流程中是否存在并發(fā)執(zhí)行或同步等待的情況。

二、UML圖應(yīng)用細(xì)則

(一)實(shí)際建模指導(dǎo)

1.建模準(zhǔn)備

(1)明確建模目的:在開始建模前,必須清晰定義建模的目標(biāo)。是為了:

-系統(tǒng)分析:深入理解需求,識(shí)別系統(tǒng)邊界和核心功能。

-系統(tǒng)設(shè)計(jì):設(shè)計(jì)系統(tǒng)架構(gòu)、類結(jié)構(gòu)、接口和交互方式。

-系統(tǒng)文檔化:為開發(fā)團(tuán)隊(duì)、測(cè)試團(tuán)隊(duì)或利益相關(guān)者提供可視化文檔。

目的不同,選擇的圖類型、建模粒度、詳細(xì)程度也會(huì)不同。

(2)收集需求文檔:系統(tǒng)需求是UML建模的基礎(chǔ)。需要收集并仔細(xì)研讀需求規(guī)格說(shuō)明書、用例描述、業(yè)務(wù)流程文檔等。確保模型能夠準(zhǔn)確反映需求??梢允褂眯枨罅斜怼⒂脩艄适?、用例圖等作為建模輸入。

(3)確定建模范圍:根據(jù)項(xiàng)目規(guī)模和復(fù)雜度,確定需要建模的部分。是針對(duì)整個(gè)系統(tǒng)建模,還是只針對(duì)某個(gè)模塊或用例建模?范圍過大可能導(dǎo)致模型過于復(fù)雜難以理解,范圍過小則可能無(wú)法全面反映系統(tǒng)。建議采用分層建模或迭代建模的方法。

2.建模步驟

(1)選擇合適圖類型:根據(jù)建模目的和需要表達(dá)的內(nèi)容,選擇最合適的UML圖類型。例如:

-描述靜態(tài)結(jié)構(gòu):選擇類圖。

-描述功能需求:選擇用例圖。

-描述對(duì)象交互過程:選擇序列圖或協(xié)作圖。

-描述對(duì)象生命周期:選擇狀態(tài)圖。

-描述業(yè)務(wù)流程:選擇活動(dòng)圖。

-描述組件結(jié)構(gòu):選擇組件圖。

-描述部署環(huán)境:選擇部署圖。

有時(shí)需要組合使用多種圖來(lái)全面描述系統(tǒng)。

(2)繪制核心元素:根據(jù)選擇的圖類型,首先繪制系統(tǒng)中的核心元素。

-類圖:繪制主要類,包括關(guān)鍵屬性和操作。

-用例圖:繪制主要參與者和核心用例。

-序列圖:確定主要參與對(duì)象,繪制初始消息。

-狀態(tài)圖:選擇關(guān)鍵對(duì)象,繪制主要狀態(tài)和轉(zhuǎn)換。

-活動(dòng)圖:識(shí)別主要業(yè)務(wù)流程步驟。

(3)添加關(guān)系:在核心元素基礎(chǔ)上,添加元素之間的關(guān)系,構(gòu)建完整的模型。

-關(guān)聯(lián):表示對(duì)象間的連接,標(biāo)注關(guān)系名稱和基數(shù)。

-泛化:表示繼承關(guān)系,指向父類。

-依賴:表示使用關(guān)系。

-其他關(guān)系:根據(jù)需要添加聚合、組合、包含、擴(kuò)展等關(guān)系。

(4)完善細(xì)節(jié):補(bǔ)充模型的細(xì)節(jié)信息,如屬性的類型和默認(rèn)值、操作的參數(shù)和返回類型、關(guān)系的具體含義等。確保模型足夠詳細(xì),能夠滿足建模目的。

3.建模最佳實(shí)踐

(1)保持一致性:在整個(gè)模型中,使用統(tǒng)一的命名規(guī)則、符號(hào)約定和建模風(fēng)格。類名、屬性名、操作名應(yīng)清晰、簡(jiǎn)潔、有語(yǔ)義。關(guān)系類型和方向應(yīng)保持一致。例如,所有關(guān)聯(lián)關(guān)系都用實(shí)線表示,箭頭方向一致。

(2)控制復(fù)雜度:避免在一個(gè)圖中包含過多元素,導(dǎo)致模型難以理解。一個(gè)圖中的元素?cái)?shù)量(類、用例、對(duì)象等)一般建議不超過20-30個(gè)。如果模型過于復(fù)雜,可以將其分解為多個(gè)子圖或使用包(Package)進(jìn)行組織。

(3)使用注釋:對(duì)于模型中難以用圖形直接表達(dá)的內(nèi)容,使用注釋進(jìn)行說(shuō)明。例如,解釋某個(gè)復(fù)雜關(guān)系的含義、說(shuō)明某個(gè)設(shè)計(jì)決策的原因、標(biāo)注某個(gè)屬性的特殊約束等。注釋使用斜體文字表示。

(4)版本管理:對(duì)UML模型進(jìn)行版本控制,記錄每次修改的內(nèi)容、修改時(shí)間和修改人??梢允褂脤iT的建模工具進(jìn)行版本管理,或使用版本控制系統(tǒng)(如Git)管理模型文件。確保模型變更的可追溯性。

(二)識(shí)圖常見問題處理

1.關(guān)系理解問題

(1)關(guān)聯(lián)歧義:當(dāng)關(guān)聯(lián)線沒有標(biāo)注關(guān)系名稱或基數(shù)不明確時(shí),可能產(chǎn)生歧義。解決方法:

-查看文檔或注釋:尋找對(duì)相關(guān)關(guān)系的說(shuō)明。

-詢問建模者:如果模型是他人創(chuàng)建的,直接溝通確認(rèn)。

-根據(jù)上下文推斷:結(jié)合類名、屬性和業(yè)務(wù)邏輯,推斷關(guān)系可能的含義和基數(shù)。

-使用工具檢查:一些UML工具可以分析模型,提示潛在的關(guān)系問題。

(2)繼承混淆:當(dāng)泛化關(guān)系復(fù)雜,或有多個(gè)繼承層次時(shí),容易混淆。解決方法:

-繪制繼承樹:將泛化關(guān)系展開為繼承樹,清晰展示層次結(jié)構(gòu)。

-標(biāo)注重寫:明確哪些子類重寫了父類的操作。

-檢查約束:注意泛化關(guān)系上的約束(如`<<checked>>`),理解其影響。

-優(yōu)先核心類:從最核心的父類開始理解,逐步擴(kuò)展到子類。

(3)組合邊界:區(qū)分聚合和組合有時(shí)比較困難,特別是當(dāng)組合關(guān)系不明顯時(shí)。解決方法:

-檢查生命周期依賴:組合關(guān)系中,整體負(fù)責(zé)創(chuàng)建和銷毀部分。思考“如果整體被銷毀,部分會(huì)發(fā)生什么?”

-查看基數(shù):組合關(guān)系通常有明確的“1”端(整體)和“”(零個(gè)或多個(gè))端(部分)。

-參考業(yè)務(wù)邏輯:根據(jù)業(yè)務(wù)規(guī)則判斷整體與部分的關(guān)系強(qiáng)度。

2.語(yǔ)義解讀問題

(1)訪問修飾符:`-`、``、`+`的含義需要明確。解決方法:

-查看文檔約定:了解項(xiàng)目中對(duì)這些符號(hào)的具體解釋。

-根據(jù)通用約定理解:通常`-`表示私有,``表示受保護(hù)(僅包內(nèi)或子類可見),`+`表示公有。

-結(jié)合上下文:例如,內(nèi)部類通??梢栽L問外部類的`-`屬性。

(2)多重繼承:UML類圖不支持真正的多繼承(一個(gè)類繼承多個(gè)父類),但可以通過組合或接口實(shí)現(xiàn)類似功能。解決方法:

-檢查是否有接口:類實(shí)現(xiàn)多個(gè)接口(用空心三角形箭頭`<<interface>>`連接)。

-檢查組合實(shí)現(xiàn):類通過組合其他類來(lái)實(shí)現(xiàn)父類的功能。

-使用工具分析:UML工具可以幫助分析多重繼承的替代方案。

(3)隱藏沖突:子類重寫父類方法后,可能會(huì)隱藏父類的其他方法。解決方法:

-查看操作列表:明確子類提供了哪些方法,父類有哪些方法。

-使用工具分析:一些工具可以顯示方法的繼承和覆蓋關(guān)系。

-詢問建模者:確認(rèn)設(shè)計(jì)意圖。

3.圖表不一致問題

(1)模型校驗(yàn):在多個(gè)圖之間,可能存在不一致的情況,如一個(gè)類在類圖中定義了屬性,但在序列圖中沒有體現(xiàn)。解決方法:

-使用UML工具:許多UML工具提供模型校驗(yàn)功能,可以自動(dòng)檢測(cè)圖之間的不一致。

-手動(dòng)檢查:建立圖之間的對(duì)應(yīng)關(guān)系,逐一核對(duì)關(guān)鍵元素。

-建立圖對(duì)應(yīng)表:記錄不同圖之間的重要元素對(duì)應(yīng)關(guān)系。

(2)沖突解決:當(dāng)發(fā)現(xiàn)圖之間存在沖突(如同一操作在不同圖中有不同描述)時(shí),需要解決。解決方法:

-優(yōu)先核心圖:通常優(yōu)先考慮類圖和用例圖,作為其他圖的基礎(chǔ)。

-統(tǒng)一描述:選擇一個(gè)最準(zhǔn)確的描述,更新其他圖中的對(duì)應(yīng)信息。

-使用注釋說(shuō)明:如果沖突無(wú)法立即解決,用注釋說(shuō)明不同圖之間的差異。

(3)版本同步:當(dāng)模型在多人協(xié)作或多次迭代中修改時(shí),容易出現(xiàn)版本不一致問題。解決方法:

-建立版本控制流程:規(guī)定模型的修改、審查和發(fā)布流程。

-使用工具管理:使用支持團(tuán)隊(duì)協(xié)作的UML工具,可以更好地管理模型版本。

-定期同步:定期檢查和同步不同版本的模型。

(三)工具使用技巧

1.選擇工具類型

(1)建模工具:選擇支持多種UML圖繪制、提供良好的用戶界面和協(xié)作功能的建模工具。常見的工具類型包括:

-桌面端工具:如EnterpriseArchitect,VisualParadigm,StarUML等,功能全面,通常提供離線使用。

-在線工具:如Lucidchart,draw.io(now),Creately等,便于在線協(xié)作和共享。

-集成開發(fā)環(huán)境(IDE)插件:如Eclipse的UML2插件,IntelliJIDEA的UML插件等,可以直接在開發(fā)環(huán)境中進(jìn)行建模。

-輕量級(jí)工具:如AstahCommunityEdition等,適合快速建模和簡(jiǎn)單場(chǎng)景。

選擇工具時(shí)需考慮項(xiàng)目需求、團(tuán)隊(duì)規(guī)模、預(yù)算和技術(shù)偏好。

(2)聯(lián)動(dòng)工具:選擇能夠與其他工具聯(lián)動(dòng)的UML工具,實(shí)現(xiàn)數(shù)據(jù)共享和流程自動(dòng)化。例如:

-與需求管理工具聯(lián)動(dòng):將用例圖與需求條目關(guān)聯(lián)。

-與版本控制工具聯(lián)動(dòng):管理模型版本。

-與代碼編輯器聯(lián)動(dòng):從UML模型生成代碼框架,或?qū)⒋a反繪為UML模型。

-與項(xiàng)目管理工具聯(lián)動(dòng):跟蹤模型變更與項(xiàng)目進(jìn)度。

(3)導(dǎo)出工具:選擇能夠?qū)ML模型導(dǎo)出為多種格式的工具,便于共享和文檔化。常見的導(dǎo)出格式包括:

-圖片格式:PNG,JPEG,SVG等,用于演示或嵌入文檔。

-PDF格式:用于打印或作為最終文檔。

-模型文件格式:如XMI(XMLMetadataInterchange),用于工具間交換模型數(shù)據(jù)。

-代碼格式:如Java,C,Python等,用于生成代碼。

-文檔格式:如HTML,RTF等,用于自動(dòng)生成模型文檔。

2.高效建模技巧

(1)模板應(yīng)用:利用工具提供的UML模板可以快速啟動(dòng)建模。模板通常包含了常用的圖類型、樣式和元素布局。

-新建項(xiàng)目時(shí)選擇模板:根據(jù)項(xiàng)目類型(如Web應(yīng)用、庫(kù)、設(shè)備驅(qū)動(dòng))選擇合適的模板。

-保存自定義模板:對(duì)于經(jīng)常使用的模型結(jié)構(gòu),可以將其保存為模板,以便復(fù)用。

-共享模板:與其他團(tuán)隊(duì)成員共享自定義模板,統(tǒng)一建模風(fēng)格。

(2)元模型管理:建立企業(yè)或團(tuán)隊(duì)的UML建模標(biāo)準(zhǔn),稱為元模型。元模型定義了:

-命名規(guī)范:類名、屬性名、操作名的命名規(guī)則。

-圖例樣式:關(guān)系線的類型、顏色、箭頭樣式等。

-圖類型約定:特定場(chǎng)景下推薦使用的圖類型。

-模型結(jié)構(gòu):模型文件的目錄結(jié)構(gòu)、命名約定等。

元模型有助于提高模型的一致性和可讀性。

(3)協(xié)作模式:利用UML工具的協(xié)作功能,提高團(tuán)隊(duì)建模效率。常見的協(xié)作模式包括:

-分支/合并:類似于代碼版本控制,可以在分支上修改模型,完成后合并到主分支。

-實(shí)時(shí)協(xié)作:允許多個(gè)用戶同時(shí)編輯同一個(gè)模型,并看到彼此的修改。

-評(píng)論和反饋:在模型元素上添加評(píng)論,進(jìn)行討論和反饋。

-模型審查:建立模型審查流程,讓團(tuán)隊(duì)成員對(duì)模型進(jìn)行評(píng)審。

-權(quán)限管理:設(shè)置不同用戶的編輯和查看權(quán)限。

三、UML圖識(shí)圖規(guī)范維護(hù)

(一)培訓(xùn)與認(rèn)證

1.培訓(xùn)體系

(1)入門培訓(xùn):針對(duì)UML新手,介紹UML的基本概念、常用圖類型和基本元素。重點(diǎn)在于建立對(duì)UML圖的基本認(rèn)知。培訓(xùn)時(shí)長(zhǎng)建議4小時(shí),內(nèi)容包括:

-UML概述及其作用

-常用圖類型介紹(類圖、用例圖、序列圖)

-基本圖符識(shí)別(類、用例、生命線等)

-簡(jiǎn)單實(shí)例分析

-培訓(xùn)目標(biāo):學(xué)員能夠識(shí)別UML圖中的基本元素,理解常用圖類型的基本含義。

(2)進(jìn)階培訓(xùn):針對(duì)有一定基礎(chǔ)的人員,深入講解各種圖類型的高級(jí)特性、關(guān)系細(xì)節(jié)和建模技巧。重點(diǎn)在于提升識(shí)圖和建模能力。培訓(xùn)時(shí)長(zhǎng)建議6小時(shí),內(nèi)容包括:

-類圖的詳細(xì)解析(泛化、關(guān)聯(lián)、依賴等)

-用例圖的復(fù)雜關(guān)系(泛化、包含、擴(kuò)展)

-序列圖的詳細(xì)消息類型(同步、異步、創(chuàng)建等)

-狀態(tài)圖和活動(dòng)圖的深入理解

-建模原則和最佳實(shí)踐

-培訓(xùn)目標(biāo):學(xué)員能夠深入理解各種UML圖的細(xì)節(jié),掌握復(fù)雜的建模關(guān)系。

(3)實(shí)戰(zhàn)培訓(xùn):針對(duì)需要將UML應(yīng)用于實(shí)際工作的人員,通過真實(shí)項(xiàng)目案例進(jìn)行實(shí)戰(zhàn)演練。重點(diǎn)在于培養(yǎng)解決實(shí)際問題的能力。培訓(xùn)時(shí)長(zhǎng)建議8小時(shí),內(nèi)容包括:

-選擇一個(gè)典型項(xiàng)目案例

-分析項(xiàng)目需求,確定建模范圍

-繪制核心UML圖(類圖、用例圖、序列圖等)

-建模過程中的問題討論和解決

-模型評(píng)審和反饋

-培訓(xùn)目標(biāo):學(xué)員能夠?qū)⑺鶎W(xué)知識(shí)應(yīng)用于實(shí)際項(xiàng)目,獨(dú)立完成基本的UML建模任務(wù)。

2.認(rèn)證標(biāo)準(zhǔn)

(1)理論考核:采用選擇題和判斷題的形式,考察學(xué)員對(duì)UML基本概念、圖類型、圖符和關(guān)系的掌握程度。試卷總分100分,60分及以上為合格。例如:

-選擇題:以下哪個(gè)符號(hào)表示公有屬性?(A)-(B)(C)+(D)

-判斷題:泛化關(guān)系是繼承的一種形式。(對(duì)/錯(cuò))

(2)實(shí)操考核:提供幾個(gè)簡(jiǎn)化的系統(tǒng)需求描述,要求學(xué)員繪制相應(yīng)的UML圖??己藘?nèi)容包括:

-圖形繪制規(guī)范性(元素表示、關(guān)系連接)

-元素完整性(包含必要的類、屬性、操作、關(guān)系)

-語(yǔ)義準(zhǔn)確性(模型正確反映需求)

-考核方式:提交UML模型文件,由評(píng)審小組評(píng)分。

(3)綜合評(píng)審:結(jié)合理論考核和實(shí)操考核的結(jié)果,進(jìn)行綜合評(píng)價(jià)。同時(shí)考慮學(xué)員在實(shí)際項(xiàng)目中的應(yīng)用表現(xiàn)(如模型質(zhì)量、溝通能力等)。評(píng)審結(jié)果分為幾個(gè)等級(jí),如“精通”、“熟練”、“初級(jí)”。

(二)最佳實(shí)踐案例

1.金融系統(tǒng)案例:以一個(gè)簡(jiǎn)化的小型在線支付系統(tǒng)為例,分析UML圖在實(shí)際金融系統(tǒng)中的應(yīng)用。

(1)類圖特點(diǎn):金融系統(tǒng)類圖通常包含較多類,且關(guān)系復(fù)雜。例如,可能包含`用戶`、`賬戶`、`交易`、`支付方式`、`銀行接口`、`日志`等類。關(guān)系中常涉及組合(如`賬戶`包含`交易列表`)、關(guān)聯(lián)(如`用戶`擁有`賬戶`)、泛化(如`支付方式`可以泛化出`信用卡`、`支付寶`、`微信支付`)。

(2)用例圖特點(diǎn):金融系統(tǒng)用例圖通常涉及安全性和隱私性,用例粒度較細(xì)。例如,可能包含“登錄”、“注冊(cè)”、“查詢余額”、“轉(zhuǎn)賬”、“支付訂單”、“修改密碼”、“查看交易記錄”等用例。參與者通常包括“普通用戶”、“管理員”。用例間可能存在包含關(guān)系(如“支付訂單”包含“查詢余額”)和擴(kuò)展關(guān)系(如“支付訂單”在用戶選擇“分期付款”時(shí)擴(kuò)展)。

(3)序列圖特點(diǎn):金融系統(tǒng)序列圖強(qiáng)調(diào)交易流程的嚴(yán)謹(jǐn)性。例如,“用戶發(fā)起支付”序列圖中,涉及`用戶`->`支付網(wǎng)關(guān)`->`銀行接口`->`用戶賬戶`等多個(gè)對(duì)象交互,需要明確每一步的消息傳遞和條件判斷。

2.醫(yī)療系統(tǒng)案例:以一個(gè)在線預(yù)約掛號(hào)系統(tǒng)為例,分析UML圖在醫(yī)療系統(tǒng)中的應(yīng)用。

(1)狀態(tài)圖特點(diǎn):醫(yī)療系統(tǒng)中的對(duì)象(如`預(yù)約`、`掛號(hào)單`)狀態(tài)轉(zhuǎn)換復(fù)雜。例如,“預(yù)約”對(duì)象可能有“待確認(rèn)”、“已確認(rèn)”、“已取消”、“已就診”、“已完成”等多種狀態(tài),狀態(tài)間轉(zhuǎn)換由“確認(rèn)”、“取消”、“就診”、“支付成功”等事件觸發(fā)。

(2)活動(dòng)圖特點(diǎn):醫(yī)療系統(tǒng)活動(dòng)圖常用于描述業(yè)務(wù)流程。例如,“用戶預(yù)約掛號(hào)”活動(dòng)圖中,包含“選擇科室”、“選擇醫(yī)生”、“輸入就診時(shí)間”、“支付費(fèi)用”、“獲取掛號(hào)單”等步驟,以及“醫(yī)生排班滿”的分支條件。

(3)依賴特點(diǎn):醫(yī)療系統(tǒng)可能依賴外部系統(tǒng)(如醫(yī)院信息系統(tǒng)HIS、電子病歷系統(tǒng)EMR)。UML圖可以通過依賴關(guān)系表示這種依賴。例如,`預(yù)約系統(tǒng)`類可能依賴于`HIS接口`類,表示預(yù)約系統(tǒng)需要調(diào)用HIS接口獲取患者信息。

(三)持續(xù)改進(jìn)機(jī)制

1.反饋收集

(1)定期問卷調(diào)查:每季度或半年進(jìn)行一次問卷調(diào)查,向使用UML的團(tuán)隊(duì)成員收集對(duì)UML識(shí)圖和建模規(guī)范的反饋。問卷內(nèi)容包括:

-對(duì)UML規(guī)范的理解程度

-規(guī)范在實(shí)際工作中的實(shí)用性

-規(guī)范執(zhí)行中遇到的問題

-對(duì)規(guī)范改進(jìn)的建議

-對(duì)培訓(xùn)的滿意度

(2)模型評(píng)審會(huì):定期組織UML模型評(píng)審會(huì),邀請(qǐng)建模者和識(shí)圖者參與。評(píng)審內(nèi)容包括:

-模型的準(zhǔn)確性(是否正確反映需求)

-模型的清晰度(是否易于理解)

-模型的一致性(圖與圖之間、模型與代碼之間)

-規(guī)范的執(zhí)行情況

評(píng)審會(huì)后形成會(huì)議紀(jì)要,記錄問題和改進(jìn)措施。

(3)使用數(shù)據(jù):統(tǒng)計(jì)UML模型使用相關(guān)數(shù)據(jù),分析規(guī)范執(zhí)行效果。例如:

-模型復(fù)用率:模型被復(fù)用的次數(shù)

-模型錯(cuò)誤率:模型中發(fā)現(xiàn)的錯(cuò)誤數(shù)量

-培訓(xùn)覆蓋率:參與培訓(xùn)的人員比例

-滿意度評(píng)分:對(duì)規(guī)范和培訓(xùn)的評(píng)分

2.更新周期

(1)年度評(píng)估:每年進(jìn)行一次全面的UML規(guī)范評(píng)估。評(píng)估內(nèi)容包括:

-規(guī)范的適用性

-規(guī)范的完整性

-規(guī)范的執(zhí)行效果

-培訓(xùn)效果

評(píng)估結(jié)果作為規(guī)范更新的重要依據(jù)。

(2)季度修訂:根據(jù)年度評(píng)估結(jié)果、新收集的反饋以及UML標(biāo)準(zhǔn)的新發(fā)展,每季度對(duì)規(guī)范進(jìn)行一次修訂。修訂內(nèi)容包括:

-補(bǔ)充新的圖類型或關(guān)系

-修改不合理的約定

-調(diào)整培訓(xùn)內(nèi)容

修訂后需要通知所有相關(guān)人員。

(3)月度檢查:對(duì)規(guī)范的關(guān)鍵條款進(jìn)行月度檢查,確保持續(xù)得到遵守。檢查內(nèi)容包括:

-新建模型是否符合規(guī)范

-現(xiàn)有模型的維護(hù)是否及時(shí)

-培訓(xùn)計(jì)劃是否按期執(zhí)行

檢查結(jié)果用于及時(shí)發(fā)現(xiàn)和糾正問題。

一、UML圖識(shí)圖規(guī)范概述

UML(統(tǒng)一建模語(yǔ)言)圖是用于描述、可視化、構(gòu)建和文檔化軟件密集型系統(tǒng)的標(biāo)準(zhǔn)圖形建模語(yǔ)言。為了確保UML圖的可讀性和一致性,遵循規(guī)范的識(shí)圖方法至關(guān)重要。本規(guī)范旨在提供一套系統(tǒng)化的UML圖識(shí)圖方法,包括基本元素識(shí)別、圖類型解析和實(shí)際應(yīng)用指導(dǎo)。

(一)UML圖基本元素

1.圖符識(shí)別

(1)類圖:矩形框,包含類名、屬性(帶類型和可見性)、操作(帶返回類型和可見性)

(2)用例圖:橢圓形(用例)+矩形(參與者)

(3)序列圖:生命線(垂直虛線)+消息箭頭

(4)狀態(tài)圖:圓形(初始/結(jié)束)+方形(狀態(tài))+菱形(事件)

(5)活動(dòng)圖:圓形(開始/結(jié)束)+矩形(動(dòng)作)+菱形(決策)

2.關(guān)系識(shí)別

(1)關(guān)聯(lián):實(shí)線+箭頭(帶關(guān)系名稱)

(2)泛化:空心三角形箭頭

(3)聚合:實(shí)心菱形+空心菱形箭頭

(4)組合:實(shí)心菱形+實(shí)線箭頭

(5)依賴:虛線+箭頭

(二)圖類型解析方法

1.類圖識(shí)圖步驟

(1)識(shí)別所有類及其命名空間

(2)分析屬性:區(qū)分私有/受保護(hù)/公有屬性

(3)分析操作:關(guān)注參數(shù)列表和返回類型

(4)識(shí)別關(guān)系:記錄關(guān)聯(lián)方向和類型

(5)檢查繼承層次:確定父類與子類關(guān)系

2.用例圖識(shí)圖步驟

(1)識(shí)別所有參與者及其角色

(2)分析用例邊界:明確系統(tǒng)功能范圍

(3)檢查用例關(guān)系:識(shí)別包含/擴(kuò)展/泛化關(guān)系

(4)分析用例場(chǎng)景:確定觸發(fā)條件

3.序列圖識(shí)圖步驟

(1)確定參與對(duì)象及順序

(2)分析消息傳遞:關(guān)注同步/異步調(diào)用

(3)檢查生命周期:識(shí)別創(chuàng)建/銷毀事件

(4)找出關(guān)鍵協(xié)作路徑

二、UML圖應(yīng)用細(xì)則

(一)實(shí)際建模指導(dǎo)

1.建模準(zhǔn)備

(1)明確建模目的:系統(tǒng)分析/設(shè)計(jì)/文檔化

(2)收集需求文檔:確保模型與需求一致

(3)確定建模范圍:避免過度復(fù)雜或簡(jiǎn)單

2.建模步驟

(1)選擇合適圖類型:根據(jù)表達(dá)需求選擇圖類型

(2)繪制核心元素:先繪制主要類和用例

(3)添加關(guān)系:根據(jù)系統(tǒng)交互補(bǔ)充關(guān)系

(4)完善細(xì)節(jié):補(bǔ)充屬性、操作和參數(shù)

3.建模最佳實(shí)踐

(1)保持一致性:所有圖使用統(tǒng)一命名規(guī)則

(2)控制復(fù)雜度:?jiǎn)螆D元素不超過20個(gè)

(3)使用注釋:說(shuō)明關(guān)鍵設(shè)計(jì)決策

(4)版本管理:記錄變更歷史

(二)識(shí)圖常見問題處理

1.關(guān)系理解問題

(1)關(guān)聯(lián)歧義:通過關(guān)系名稱明確方向性

(2)繼承混淆:檢查空心三角形指向父類

(3)組合邊界:實(shí)心菱形定義組合關(guān)系

2.語(yǔ)義解讀問題

(1)訪問修飾符:-//+分別代表私有/受保護(hù)/公有

(2)多重繼承:使用復(fù)合類替代直接繼承

(3)隱藏沖突:通過命名空間解決操作重名

3.圖表不一致問題

(1)模型校驗(yàn):使用工具檢查圖間依賴關(guān)系

(2)沖突解決:優(yōu)先類圖約束用例圖

(3)版本同步:建立圖類型對(duì)應(yīng)表

(三)工具使用技巧

1.選擇工具類型

(1)建模工具:支持類圖/序列圖/用例圖

(2)聯(lián)動(dòng)工具:自動(dòng)更新相關(guān)圖

(3)導(dǎo)出工具:生成文檔或代碼

2.高效建模技巧

(1)模板應(yīng)用:使用預(yù)設(shè)圖模板加速建模

(2)元模型管理:建立企業(yè)建模標(biāo)準(zhǔn)

(3)協(xié)作模式:分支/合并版本控制

三、UML圖識(shí)圖規(guī)范維護(hù)

(一)培訓(xùn)與認(rèn)證

1.培訓(xùn)體系

(1)入門培訓(xùn):基礎(chǔ)圖類型識(shí)別(4小時(shí))

(2)進(jìn)階培訓(xùn):復(fù)雜關(guān)系解析(6小時(shí))

(3)實(shí)戰(zhàn)培訓(xùn):真實(shí)項(xiàng)目案例(8小時(shí))

2.認(rèn)證標(biāo)準(zhǔn)

(1)理論考核:選擇題/判斷題(60分合格)

(2)實(shí)操考核:建模任務(wù)評(píng)分

(3)綜合評(píng)審:同行評(píng)審反饋

(二)最佳實(shí)踐案例

1.金融系統(tǒng)案例

(1)類圖特點(diǎn):大量聚合關(guān)系(>30對(duì))

(2)用例圖特點(diǎn):分層用例結(jié)構(gòu)(3層)

(3)序列圖特點(diǎn):高并發(fā)交互(>50消息)

2.醫(yī)療系統(tǒng)案例

(1)狀態(tài)機(jī)特點(diǎn):復(fù)雜轉(zhuǎn)換條件(>20條)

(2)活動(dòng)圖特點(diǎn):分支合并邏輯(5處)

(3)依賴特點(diǎn):第三方庫(kù)引用(10個(gè))

(三)持續(xù)改進(jìn)機(jī)制

1.反饋收集

(1)定期問卷調(diào)查:收集識(shí)圖困難點(diǎn)

(2)模型評(píng)審會(huì):專家評(píng)審改進(jìn)建議

(3)使用數(shù)據(jù):統(tǒng)計(jì)錯(cuò)誤率(<5%為優(yōu))

2.更新周期

(1)年度評(píng)估:每年1次全面評(píng)估

(2)季度修訂:根據(jù)技術(shù)發(fā)展更新

(3)月度檢查:關(guān)鍵工具補(bǔ)丁更新

一、UML圖識(shí)圖規(guī)范概述

UML(統(tǒng)一建模語(yǔ)言)圖是用于描述、可視化、構(gòu)建和文檔化軟件密集型系統(tǒng)的標(biāo)準(zhǔn)圖形建模語(yǔ)言。為了確保UML圖的可讀性和一致性,遵循規(guī)范的識(shí)圖方法至關(guān)重要。本規(guī)范旨在提供一套系統(tǒng)化的UML圖識(shí)圖方法,包括基本元素識(shí)別、圖類型解析和實(shí)際應(yīng)用指導(dǎo)。

(一)UML圖基本元素

1.圖符識(shí)別

(1)類圖:類圖是UML中最常用的圖之一,用于表示系統(tǒng)的靜態(tài)結(jié)構(gòu)。識(shí)別類圖主要關(guān)注以下幾個(gè)要素:

-類名(ClassName):位于矩形框頂部,通常加粗顯示。類名應(yīng)簡(jiǎn)潔、明確地反映該類的核心職責(zé)。例如,“用戶”、“訂單”、“產(chǎn)品”。

-屬性(Attributes):位于矩形框中部,描述類的數(shù)據(jù)成員。每個(gè)屬性通常包含三部分:可見性(訪問修飾符)、屬性名、屬性類型??梢娦杂梅?hào)表示:`-`(私有private)、``(受保護(hù)protected)、`+`(公有public)。屬性類型需明確,如`String`、`int`、`Date`等。例如,“用戶”類可能有`-id:int`(用戶ID,私有整型)、`+name:String`(用戶名,公有字符串)。

-操作(Operations):位于矩形框底部,描述類的方法或行為。與屬性類似,操作也包含可見性、操作名、參數(shù)列表(包含參數(shù)名和類型)和返回類型。例如,“訂單”類可能有`+calculateTotal():double`(計(jì)算總價(jià),返回雙精度浮點(diǎn)數(shù))、`-validatePayment(paymentMethod:String):boolean`(驗(yàn)證支付方式,私有,接收字符串參數(shù),返回布爾值)。

-方法內(nèi)的注解:有時(shí)方法或?qū)傩耘詴?huì)有小括號(hào)內(nèi)的注解,如`()`,`()`等,`()`表示無(wú)參數(shù),`()`表示有未指定數(shù)量的參數(shù)。

(2)用例圖:用例圖描述系統(tǒng)的功能需求,展現(xiàn)外部參與者與系統(tǒng)交互的過程。識(shí)別用例圖主要關(guān)注:

-參與者(Actors):通常是矩形框或人形圖標(biāo),代表與系統(tǒng)交互的外部實(shí)體,如用戶、其他系統(tǒng)等。每個(gè)參與者應(yīng)有一個(gè)清晰的名稱,如“管理員”、“客戶”。有時(shí)會(huì)標(biāo)注參與者類型,如“普通用戶”、“VIP用戶”。

-用例(UseCases):通常是橢圓形,代表系統(tǒng)提供的功能或服務(wù)。用例名稱應(yīng)動(dòng)詞開頭,描述參與者能“做什么”,如“登錄系統(tǒng)”、“查詢產(chǎn)品”、“下訂單”。用例應(yīng)清晰地標(biāo)注在系統(tǒng)邊界內(nèi)。

-系統(tǒng)邊界(SystemBoundary):通常用一條粗實(shí)線或雙線矩形框表示,明確界定系統(tǒng)所包含的功能范圍。

-關(guān)系(Relationships):用例之間和用例與參與者之間可能存在關(guān)系,常見的有:

-關(guān)聯(lián)(Association):實(shí)線連接,表示參與者與用例之間的通用交互路徑。例如,多個(gè)管理員都可以“登錄系統(tǒng)”。

-包含(Include):空心菱形箭頭,表示一個(gè)用例是另一個(gè)用例的組成部分,調(diào)用包含用例時(shí)必須先執(zhí)行被包含用例。例如,“下訂單”用例包含“選擇產(chǎn)品”用例。

-擴(kuò)展(Extend):實(shí)心菱形箭頭,表示在特定條件下,用例可以擴(kuò)展另一個(gè)用例的行為。擴(kuò)展用例本身不是必需的,只在條件滿足時(shí)執(zhí)行。例如,“下訂單”可以用“使用優(yōu)惠券”來(lái)擴(kuò)展。

-泛化(Generalization):空心三角形箭頭,表示多個(gè)用例共享相同的行為,是從通用用例到特定用例的繼承關(guān)系。例如,“查詢信息”是一個(gè)通用用例,可以泛化出“查詢產(chǎn)品”、“查詢訂單”等具體用例。

(3)序列圖:序列圖按時(shí)間順序展示對(duì)象之間的交互,主要用于描述用例場(chǎng)景或操作流程。識(shí)別序列圖主要關(guān)注:

-生命線(Lifeline):垂直的虛線,代表圖中每個(gè)對(duì)象在一段時(shí)間內(nèi)的存在。生命線通常標(biāo)有對(duì)象名。例如,`用戶->服務(wù)員->訂單系統(tǒng)`。

-激活條(ActivationBar):位于生命線上的矩形框,表示對(duì)象正在執(zhí)行操作或方法的時(shí)間段。

-消息(Message):從一條生命線指向另一條生命線的箭頭,表示對(duì)象間的交互。消息分為:

-同步消息(Call):實(shí)線箭頭,表示調(diào)用操作,發(fā)送方等待接收方響應(yīng)。例如,`用戶->發(fā)送登錄請(qǐng)求`。

-異步消息(Return):虛線箭頭,表示調(diào)用操作,發(fā)送方不等待接收方響應(yīng)。例如,`系統(tǒng)->異步發(fā)送訂單確認(rèn)郵件`。

-創(chuàng)建消息:重箭頭,表示創(chuàng)建新對(duì)象。例如,`訂單系統(tǒng)->創(chuàng)建新訂單對(duì)象`。

-銷毀消息:X形箭頭,表示刪除對(duì)象。例如,`系統(tǒng)->銷毀過期訂單`。

-時(shí)間消息:帶有時(shí)間值的菱形框,表示延遲操作。例如,`系統(tǒng)->等待(5秒)`。

-初始消息:位于生命線頂部的黑色小圓圈,表示對(duì)象創(chuàng)建的開始。

-結(jié)束消息:位于生命線底部的黑色小方塊,表示對(duì)象生命結(jié)束。

(4)狀態(tài)圖:狀態(tài)圖描述一個(gè)對(duì)象在其生命周期內(nèi)可能經(jīng)歷的各種狀態(tài)以及狀態(tài)之間的轉(zhuǎn)換。識(shí)別狀態(tài)圖主要關(guān)注:

-狀態(tài)(State):位于方框內(nèi),表示對(duì)象所處的特定條件或行為模式。每個(gè)狀態(tài)可以包含子狀態(tài)(嵌套方框)和區(qū)域(分欄)。例如,“訂單”對(duì)象的狀態(tài)圖可能包含“新建”、“待支付”、“已支付”、“已發(fā)貨”、“已完成”、“已取消”等狀態(tài)。

-事件(Event):方框內(nèi)的圓圈,表示觸發(fā)狀態(tài)轉(zhuǎn)換的特定條件。例如,`支付成功`、`發(fā)貨請(qǐng)求`。

-動(dòng)作(Action):方框內(nèi)的矩形,表示在狀態(tài)轉(zhuǎn)換過程中執(zhí)行的操作。例如,`記錄支付信息`、`更新庫(kù)存`。

-轉(zhuǎn)換(Transition):從一個(gè)狀態(tài)指向另一個(gè)狀態(tài)的箭頭,表示狀態(tài)的變化。轉(zhuǎn)換通常帶有事件/動(dòng)作作為標(biāo)簽。例如,從“待支付”狀態(tài)到“已支付”狀態(tài),可能由事件“支付成功”觸發(fā)。

-初始狀態(tài):位于狀態(tài)圖左上角的實(shí)心圓圈,表示對(duì)象生命周期的開始。

-終止?fàn)顟B(tài):位于狀態(tài)圖右下角的空心圓圈,表示對(duì)象生命周期的結(jié)束。

(5)活動(dòng)圖:活動(dòng)圖描述系統(tǒng)中的業(yè)務(wù)流程或操作流程,側(cè)重于動(dòng)作的順序和邏輯。識(shí)別活動(dòng)圖主要關(guān)注:

-動(dòng)作(Action):位于矩形框內(nèi),表示需要執(zhí)行的操作或任務(wù)。例如,“用戶注冊(cè)”、“驗(yàn)證身份”。

-開始/結(jié)束節(jié)點(diǎn):位于圖左側(cè)的黑色圓圈(開始)和右側(cè)的黑色圓圈(結(jié)束)。

-決策/條件節(jié)點(diǎn):位于菱形框內(nèi),表示基于某個(gè)條件進(jìn)行分支。例如,“年齡>18?”。

-合并節(jié)點(diǎn):位于菱形框內(nèi),表示多個(gè)分支匯合到同一點(diǎn)。形狀類似,但含義不同。

-對(duì)象流節(jié)點(diǎn):位于平行四邊形內(nèi),表示流程中創(chuàng)建或使用的對(duì)象。例如,“訂單對(duì)象”。

-控制流:從動(dòng)作節(jié)點(diǎn)指向下一個(gè)動(dòng)作節(jié)點(diǎn)的箭頭,表示流程的順序。

-對(duì)象流:帶有實(shí)心箭頭的虛線,表示對(duì)象在流程中的傳遞。例如,從“創(chuàng)建訂單”動(dòng)作流向“訂單對(duì)象”節(jié)點(diǎn)。

-分叉/匯合節(jié)點(diǎn):位于圓角矩形內(nèi),表示流程的并發(fā)或同步。分叉節(jié)點(diǎn)將一條流程分成多條并發(fā)路徑,匯合節(jié)點(diǎn)將多條并發(fā)路徑合并。

2.關(guān)系識(shí)別

(1)關(guān)聯(lián):關(guān)聯(lián)表示對(duì)象之間的連接或聚合關(guān)系,強(qiáng)調(diào)兩者之間的聯(lián)系。識(shí)別關(guān)聯(lián)需關(guān)注:

-關(guān)聯(lián)線:通常用實(shí)線表示。

-關(guān)系名稱:關(guān)聯(lián)線兩端可以有文字標(biāo)注,說(shuō)明關(guān)系類型或含義,如“擁有”、“管理”。

-角色名稱:在關(guān)聯(lián)線端點(diǎn)可以有小括號(hào)標(biāo)注,表示在該關(guān)系中對(duì)象的特定角色,如`客戶-1(付款方)`。

-基數(shù)(Cardinality):表示一個(gè)對(duì)象實(shí)例與另一個(gè)對(duì)象實(shí)例之間的數(shù)量關(guān)系。通常寫在角色名稱附近或關(guān)聯(lián)線旁邊,用`1`、``(零個(gè)或多個(gè))、`0..1`(零個(gè)或一個(gè))、`0..`(零個(gè)或多個(gè))等表示。例如,“1:客戶”表示一個(gè)客戶,“:訂單”表示多個(gè)訂單。

-關(guān)聯(lián)類型:

-組合(Composition):用實(shí)心菱形表示整體,通常在整體端。表示整體擁有部分,部分的生命周期受整體控制。例如,汽車與車輪的組合。

-聚合(Aggregation):用空心菱形表示整體,通常在部分端。表示整體擁有部分,但部分的生命周期獨(dú)立于整體。例如,學(xué)校與教師的關(guān)系。

(2)泛化:泛化表示一般與特殊的關(guān)系,是繼承的一種形式。識(shí)別泛化需關(guān)注:

-泛化線:通常用空心三角形箭頭,指向父類。

-繼承關(guān)系:子類(特殊類)繼承父類(一般類)的屬性和操作。

-重寫/覆蓋:子類可以重寫父類的操作,通常在子類操作旁加注`<<overriding>>`。

-約束:可以添加約束說(shuō)明繼承的條件,如`<<checked>>`。

(3)聚合:聚合是關(guān)聯(lián)的一種特殊形式,表示整體與部分的關(guān)系,但部分可以獨(dú)立于整體存在。識(shí)別聚合需關(guān)注:

-聚合線:用空心菱形表示整體,通常在部分端。

-關(guān)系名稱:如“包含”、“組成”。

-基數(shù):聚合關(guān)系通常需要明確基數(shù),如“1:課程..:學(xué)生”表示一個(gè)課程被一個(gè)或多個(gè)學(xué)生選修。

(4)組合:組合是聚合的一種更強(qiáng)形式,表示整體對(duì)部分擁有更強(qiáng)的控制,部分的生命周期完全依賴于整體。識(shí)別組合需關(guān)注:

-組合線:用實(shí)心菱形表示整體,通常在部分端。

-關(guān)系名稱:如“包含”、“擁有”。

-生命周期控制:整體負(fù)責(zé)創(chuàng)建和銷毀部分。

(5)依賴:依賴表示一個(gè)對(duì)象的變化可能影響另一個(gè)對(duì)象,但關(guān)系相對(duì)較弱。識(shí)別依賴需關(guān)注:

-依賴線:用虛線表示。

-關(guān)系名稱:如“使用”、“依賴于”。

-使用場(chǎng)景:通常表示一個(gè)對(duì)象使用另一個(gè)對(duì)象的類型定義,或一個(gè)操作需要另一個(gè)操作的參數(shù)類型。

(二)圖類型解析方法

1.類圖識(shí)圖步驟

(1)識(shí)別所有類及其命名空間:從圖的邊緣開始,識(shí)別所有獨(dú)立的矩形框,確定每個(gè)類的名稱。注意類名前的包名(如果存在),表示類的歸屬。

(2)分析屬性:仔細(xì)查看每個(gè)類內(nèi)部的屬性區(qū)域,記錄每個(gè)屬性的可見性(`-`、``、`+`)、屬性名、屬性類型。特別注意類型是否自定義或來(lái)自特定框架。

(3)分析操作:查看每個(gè)類內(nèi)部的操作區(qū)域,記錄每個(gè)操作的可見性、操作名、參數(shù)列表(參數(shù)名、類型、默認(rèn)值)、返回類型。關(guān)注方法的同步/異步特性(如有標(biāo)注)。

(4)識(shí)別關(guān)系:系統(tǒng)性地檢查類與類之間的連接線,判斷關(guān)系類型(關(guān)聯(lián)、泛化、聚合、組合、依賴),并記錄關(guān)系名稱和基數(shù)??梢允褂帽砀裼涗涱惷?、屬性、操作、關(guān)系等信息。

(5)檢查繼承層次:找到所有泛化關(guān)系,繪制繼承樹,確定頂層父類和底層子類,理解類之間的繼承關(guān)系和屬性/操作的繼承情況。

2.用例圖識(shí)圖步驟

(1)識(shí)別所有參與者及其角色:列出圖中所有的人形圖標(biāo)或矩形框,確定每個(gè)參與者的名稱及其在系統(tǒng)中的角色或身份。

(2)分析用例邊界:檢查所有用例圖的外部邊界線(粗實(shí)線或雙線),理解系統(tǒng)提供的功能范圍。確認(rèn)所有用例是否都在系統(tǒng)邊界內(nèi)。

(3)檢查用例關(guān)系:識(shí)別并記錄用例之間的三種主要關(guān)系:包含(`<<include>>`)、擴(kuò)展(`<<extend>>`)、泛化(`<<generalize>>`)。分析這些關(guān)系對(duì)系統(tǒng)功能的影響。

(4)分析用例場(chǎng)景:雖然用例圖本身不直接顯示場(chǎng)景,但可以結(jié)合需求文檔,理解每個(gè)用例對(duì)應(yīng)的具體業(yè)務(wù)場(chǎng)景、前置條件和后置條件。可以思考“誰(shuí)在使用這個(gè)用例?”、“這個(gè)用例做了什么?”、“使用這個(gè)用例需要滿足什么條件?”。

3.序列圖識(shí)圖步驟

(1)確定參與對(duì)象及順序:查看圖中所有生命線,列出所有參與交互的對(duì)象名稱。注意生命線的出現(xiàn)和消失時(shí)間,確定對(duì)象的生命周期。

(2)分析消息傳遞:按時(shí)間順序,逐條分析生命線之間的消息傳遞。區(qū)分同步消息、異步消息、創(chuàng)建/銷毀消息。記錄每條消息的發(fā)送者、接收者、消息類型和參數(shù)。

(3)檢查生命周期:關(guān)注每個(gè)生命線上的激活條(矩形框),理解對(duì)象在交互過程中的狀態(tài)變化(創(chuàng)建、執(zhí)行操作、等待、銷毀)。

(4)找出關(guān)鍵協(xié)作路徑:識(shí)別在完成某個(gè)用例或操作時(shí),對(duì)象之間最重要的消息傳遞序列??梢运伎肌巴瓿蛇@個(gè)任務(wù),必須按什么順序調(diào)用哪些對(duì)象的方法?”。

4.狀態(tài)圖識(shí)圖步驟

(1)識(shí)別所有狀態(tài):列出狀態(tài)圖中所有方框代表的狀態(tài)名稱。注意狀態(tài)是否有子狀態(tài)或區(qū)域,理解狀態(tài)的內(nèi)部結(jié)構(gòu)。

(2)分析事件和動(dòng)作:查看每個(gè)狀態(tài)內(nèi)部的事件(圓圈)和動(dòng)作(矩形),理解什么事件會(huì)觸發(fā)狀態(tài)轉(zhuǎn)換,轉(zhuǎn)換過程中會(huì)執(zhí)行什么操作。

(3)檢查轉(zhuǎn)換:分析從每個(gè)狀態(tài)出發(fā)的所有轉(zhuǎn)換(箭頭),記錄轉(zhuǎn)換的目標(biāo)狀態(tài)、觸發(fā)事件和條件(如有)。

(4)理解初始和終止?fàn)顟B(tài):明確對(duì)象的初始狀態(tài)(左上角的實(shí)心圓圈)和可能的終止?fàn)顟B(tài)(右下角的空心圓圈)。

5.活動(dòng)圖識(shí)圖步驟

(1)識(shí)別主要?jiǎng)幼鳎毫谐龌顒?dòng)圖中的所有矩形框(動(dòng)作)和菱形框(決策/條件),理解業(yè)務(wù)流程中的主要步驟和判斷點(diǎn)。

(2)分析流程順序:沿著控制流(實(shí)線箭頭)和對(duì)象流(虛線箭頭),理清動(dòng)作之間的執(zhí)行順序和對(duì)象在流程中的傳遞路徑。

(3)處理分支與合并:關(guān)注菱形框表示的決策點(diǎn),理解不同的分支條件和對(duì)應(yīng)的執(zhí)行路徑。檢查匯合點(diǎn),確認(rèn)所有分支最終是否能匯合。

(4)識(shí)別并發(fā)與同步:注意分叉(圓角矩形)和匯合(圓角矩形)節(jié)點(diǎn),理解流程中是否存在并發(fā)執(zhí)行或同步等待的情況。

二、UML圖應(yīng)用細(xì)則

(一)實(shí)際建模指導(dǎo)

1.建模準(zhǔn)備

(1)明確建模目的:在開始建模前,必須清晰定義建模的目標(biāo)。是為了:

-系統(tǒng)分析:深入理解需求,識(shí)別系統(tǒng)邊界和核心功能。

-系統(tǒng)設(shè)計(jì):設(shè)計(jì)系統(tǒng)架構(gòu)、類結(jié)構(gòu)、接口和交互方式。

-系統(tǒng)文檔化:為開發(fā)團(tuán)隊(duì)、測(cè)試團(tuán)隊(duì)或利益相關(guān)者提供可視化文檔。

目的不同,選擇的圖類型、建模粒度、詳細(xì)程度也會(huì)不同。

(2)收集需求文檔:系統(tǒng)需求是UML建模的基礎(chǔ)。需要收集并仔細(xì)研讀需求規(guī)格說(shuō)明書、用例描述、業(yè)務(wù)流程文檔等。確保模型能夠準(zhǔn)確反映需求??梢允褂眯枨罅斜?、用戶故事、用例圖等作為建模輸入。

(3)確定建模范圍:根據(jù)項(xiàng)目規(guī)模和復(fù)雜度,確定需要建模的部分。是針對(duì)整個(gè)系統(tǒng)建模,還是只針對(duì)某個(gè)模塊或用例建模?范圍過大可能導(dǎo)致模型過于復(fù)雜難以理解,范圍過小則可能無(wú)法全面反映系統(tǒng)。建議采用分層建?;虻5姆椒?。

2.建模步驟

(1)選擇合適圖類型:根據(jù)建模目的和需要表達(dá)的內(nèi)容,選擇最合適的UML圖類型。例如:

-描述靜態(tài)結(jié)構(gòu):選擇類圖。

-描述功能需求:選擇用例圖。

-描述對(duì)象交互過程:選擇序列圖或協(xié)作圖。

-描述對(duì)象生命周期:選擇狀態(tài)圖。

-描述業(yè)務(wù)流程:選擇活動(dòng)圖。

-描述組件結(jié)構(gòu):選擇組件圖。

-描述部署環(huán)境:選擇部署圖。

有時(shí)需要組合使用多種圖來(lái)全面描述系統(tǒng)。

(2)繪制核心元素:根據(jù)選擇的圖類型,首先繪制系統(tǒng)中的核心元素。

-類圖:繪制主要類,包括關(guān)鍵屬性和操作。

-用例圖:繪制主要參與者和核心用例。

-序列圖:確定主要參與對(duì)象,繪制初始消息。

-狀態(tài)圖:選擇關(guān)鍵對(duì)象,繪制主要狀態(tài)和轉(zhuǎn)換。

-活動(dòng)圖:識(shí)別主要業(yè)務(wù)流程步驟。

(3)添加關(guān)系:在核心元素基礎(chǔ)上,添加元素之間的關(guān)系,構(gòu)建完整的模型。

-關(guān)聯(lián):表示對(duì)象間的連接,標(biāo)注關(guān)系名稱和基數(shù)。

-泛化:表示繼承關(guān)系,指向父類。

-依賴:表示使用關(guān)系。

-其他關(guān)系:根據(jù)需要添加聚合、組合、包含、擴(kuò)展等關(guān)系。

(4)完善細(xì)節(jié):補(bǔ)充模型的細(xì)節(jié)信息,如屬性的類型和默認(rèn)值、操作的參數(shù)和返回類型、關(guān)系的具體含義等。確保模型足夠詳細(xì),能夠滿足建模目的。

3.建模最佳實(shí)踐

(1)保持一致性:在整個(gè)模型中,使用統(tǒng)一的命名規(guī)則、符號(hào)約定和建模風(fēng)格。類名、屬性名、操作名應(yīng)清晰、簡(jiǎn)潔、有語(yǔ)義。關(guān)系類型和方向應(yīng)保持一致。例如,所有關(guān)聯(lián)關(guān)系都用實(shí)線表示,箭頭方向一致。

(2)控制復(fù)雜度:避免在一個(gè)圖中包含過多元素,導(dǎo)致模型難以理解。一個(gè)圖中的元素?cái)?shù)量(類、用例、對(duì)象等)一般建議不超過20-30個(gè)。如果模型過于復(fù)雜,可以將其分解為多個(gè)子圖或使用包(Package)進(jìn)行組織。

(3)使用注釋:對(duì)于模型中難以用圖形直接表達(dá)的內(nèi)容,使用注釋進(jìn)行說(shuō)明。例如,解釋某個(gè)復(fù)雜關(guān)系的含義、說(shuō)明某個(gè)設(shè)計(jì)決策的原因、標(biāo)注某個(gè)屬性的特殊約束等。注釋使用斜體文字表示。

(4)版本管理:對(duì)UML模型進(jìn)行版本控制,記錄每次修改的內(nèi)容、修改時(shí)間和修改人。可以使用專門的建模工具進(jìn)行版本管理,或使用版本控制系統(tǒng)(如Git)管理模型文件。確保模型變更的可追溯性。

(二)識(shí)圖常見問題處理

1.關(guān)系理解問題

(1)關(guān)聯(lián)歧義:當(dāng)關(guān)聯(lián)線沒有標(biāo)注關(guān)系名稱或基數(shù)不明確時(shí),可能產(chǎn)生歧義。解決方法:

-查看文檔或注釋:尋找對(duì)相關(guān)關(guān)系的說(shuō)明。

-詢問建模者:如果模型是他人創(chuàng)建的,直接溝通確認(rèn)。

-根據(jù)上下文推斷:結(jié)合類名、屬性和業(yè)務(wù)邏輯,推斷關(guān)系可能的含義和基數(shù)。

-使用工具檢查:一些UML工具可以分析模型,提示潛在的關(guān)系問題。

(2)繼承混淆:當(dāng)泛化關(guān)系復(fù)雜,或有多個(gè)繼承層次時(shí),容易混淆。解決方法:

-繪制繼承樹:將泛化關(guān)系展開為繼承樹,清晰展示層次結(jié)構(gòu)。

-標(biāo)注重寫:明確哪些子類重寫了父類的操作。

-檢查約束:注意泛化關(guān)系上的約束(如`<<checked>>`),理解其影響。

-優(yōu)先核心類:從最核心的父類開始理解,逐步擴(kuò)展到子類。

(3)組合邊界:區(qū)分聚合和組合有時(shí)比較困難,特別是當(dāng)組合關(guān)系不明顯時(shí)。解決方法:

-檢查生命周期依賴:組合關(guān)系中,整體負(fù)責(zé)創(chuàng)建和銷毀部分。思考“如果整體被銷毀,部分會(huì)發(fā)生什么?”

-查看基數(shù):組合關(guān)系通常有明確的“1”端(整體)和“”(零個(gè)或多個(gè))端(部分)。

-參考業(yè)務(wù)邏輯:根據(jù)業(yè)務(wù)規(guī)則判斷整體與部分的關(guān)系強(qiáng)度。

2.語(yǔ)義解讀問題

(1)訪問修飾符:`-`、``、`+`的含義需要明確。解決方法:

-查看文檔約定:了解項(xiàng)目中對(duì)這些符號(hào)的具體解釋。

-根據(jù)通用約定理解:通常`-`表示私有,``表示受保護(hù)(僅包內(nèi)或子類可見),`+`表示公有。

-結(jié)合上下文:例如,內(nèi)部類通??梢栽L問外部類的`-`屬性。

(2)多重繼承:UML類圖不支持真正的多繼承(一個(gè)類繼承多個(gè)父類),但可以通過組合或接口實(shí)現(xiàn)類似功能。解決方法:

-檢查是否有接口:類實(shí)現(xiàn)多個(gè)接口(用空心三角形箭頭`<<interface>>`連接)。

-檢查組合實(shí)現(xiàn):類通過組合其他類來(lái)實(shí)現(xiàn)父類的功能。

-使用工具分析:UML工具可以幫助分析多重繼承的替代方案。

(3)隱藏沖突:子類重寫父類方法后,可能會(huì)隱藏父類的其他方法。解決方法:

-查看操作列表:明確子類提供了哪些方法,父類有哪些方法。

-使用工具分析:一些工具可以顯示方法的繼承和覆蓋關(guān)系。

-詢問建模者:確認(rèn)設(shè)計(jì)意圖。

3.圖表不一致問題

(1)模型校驗(yàn):在多個(gè)圖之間,可能存在不一致的情況,如一個(gè)類在類圖中定義了屬性,但在序列圖中沒有體現(xiàn)。解決方法:

-使用UML工具:許多UML工具提供模型校驗(yàn)功能,可以自動(dòng)檢測(cè)圖之間的不一致。

-手動(dòng)檢查:建立圖之間的對(duì)應(yīng)關(guān)系,逐一核對(duì)關(guān)鍵元素。

-建立圖對(duì)應(yīng)表:記錄不同圖之間的重要元素對(duì)應(yīng)關(guān)系。

(2)沖突解決:當(dāng)發(fā)現(xiàn)圖之間存在沖突(如同一操作在不同圖中有不同描述)時(shí),需要解決。解決方法:

-優(yōu)先核心圖:通常優(yōu)先考慮類圖和用例圖,作為其他圖的基礎(chǔ)。

-統(tǒng)一描述:選擇一個(gè)最準(zhǔn)確的描述,更新其他圖中的對(duì)應(yīng)信息。

-使用注釋說(shuō)明:如果沖突無(wú)法立即解決,用注釋說(shuō)明不同圖之間的差異。

(3)版本同步:當(dāng)模型在多人協(xié)作或多次迭代中修改時(shí),容易出現(xiàn)版本不一致問題。解決方法:

-建立版本控制流程:規(guī)定模型的修改、審查和發(fā)布流程。

-使用工具管理:使用支持團(tuán)隊(duì)協(xié)作的UML工具,可以更好地管理模型版本。

-定期同步:定期檢查和同步不同版本的模型。

(三)工具使用技巧

1.選擇工具類型

(1)建模工具:選擇支持多種UML圖繪制、提供良好的用戶界面和協(xié)作功能的建模工具。常見的工具類型包括:

-桌面端工具:如EnterpriseArchitect,VisualParadigm,StarUML等,功能全面,通常提供離線使用。

-在線工具:如Lucidchart,draw.io(now),Creately等,便于在線協(xié)作和共享。

-集成開發(fā)環(huán)境(IDE)插件:如Eclipse的UML2插件,IntelliJIDEA的UML插件等,可以直接在開發(fā)環(huán)境中進(jìn)行建模。

-輕量級(jí)工具:如AstahCommunityEdition等,適合快速建模和簡(jiǎn)單場(chǎng)景。

選擇工具時(shí)需考慮項(xiàng)目需求、團(tuán)隊(duì)規(guī)模、預(yù)算和技術(shù)偏好。

(2)聯(lián)動(dòng)工具:選擇能夠與其他工具聯(lián)動(dòng)的UML工具,實(shí)現(xiàn)數(shù)據(jù)共享和流程自動(dòng)化。例如:

-與需求管理工具聯(lián)動(dòng):將用例圖與需求條目關(guān)聯(lián)。

-與版本控制工具聯(lián)動(dòng):管理模型版本。

-與代碼編輯器聯(lián)動(dòng):從UML模型生成代碼框架,或?qū)⒋a反繪為UML模型。

-與項(xiàng)目管理工具聯(lián)動(dòng):跟蹤模型變更與項(xiàng)目進(jìn)度。

(3)導(dǎo)出工具:選擇能夠?qū)ML模型導(dǎo)出為多種格式的工具,便于共享和文檔化。常見的導(dǎo)出格式包括:

-圖片格式:PNG,JPEG,SVG等,用于演示或嵌入文檔。

-PDF格式:用于打印或作為最終文檔。

-模型文件格式:如XMI(XMLMetadataInterchange),用于工具間交換模型數(shù)據(jù)。

-代碼格式:如Java,C,Python等,用于生成代碼。

-文檔格式:如HTML,RTF等,用于自動(dòng)生成模型文檔。

2.高效建模技巧

(1)模板應(yīng)用:利用工具提供的UML模板可以快速啟動(dòng)建模。模板通常包含了常用的圖類型、樣式和元素布局。

-新建項(xiàng)目時(shí)選擇模板:根據(jù)項(xiàng)目類型(如Web應(yīng)用、庫(kù)、設(shè)備驅(qū)動(dòng))選擇合適的模板。

-保存自定義模板:對(duì)于經(jīng)常使用的模型結(jié)構(gòu),可以將其保存為模板,以便復(fù)用。

-共享模板:與其他團(tuán)隊(duì)成員共享自定義模板,統(tǒng)一建模風(fēng)格。

(2)元模型管理:建立企業(yè)或團(tuán)隊(duì)的UML建模標(biāo)準(zhǔn),稱為元模型。元模型定義了:

-命名規(guī)范:類名、屬性名、操作名的命名規(guī)則。

-圖例樣式:關(guān)系線的類型、顏色、箭頭樣式等。

-圖類型約定:特定場(chǎng)景下推薦使用的圖類型。

-模型結(jié)構(gòu):模型文件的目錄結(jié)構(gòu)、命名約定等。

元模型有助于提高模型的一致性和可讀性。

(3)協(xié)作模式:利用UML工具的協(xié)作功能,提高團(tuán)隊(duì)建模效率。常見的協(xié)作模式包括:

-分支/合并:類似于代碼版本控制,可以在分支上修改模型,完成后合并到主分支。

-實(shí)時(shí)協(xié)作:允許多個(gè)用戶同時(shí)編輯同一個(gè)模型,并看到彼此的修改。

-評(píng)論和反饋:在模型元素上添加評(píng)論,進(jìn)行討論和反饋。

-模型審查:建立模型審查流程,讓團(tuán)隊(duì)成員對(duì)模型進(jìn)行評(píng)審。

-權(quán)限管理:設(shè)置不同用戶的編輯和查看權(quán)限。

三、UML圖識(shí)圖規(guī)范維護(hù)

(一)培訓(xùn)與認(rèn)證

1.培訓(xùn)體系

(1)入門培訓(xùn):針對(duì)UML新手,介紹UML的基本概念、常用圖類型和基本元素。重點(diǎn)在于建立對(duì)UML圖的基本認(rèn)知。培訓(xùn)時(shí)長(zhǎng)建議4小時(shí),內(nèi)容包括:

-UML概述及其作用

-常用圖類型介紹(類圖、用例圖、序列圖)

-基本圖符識(shí)別(類、用例、生命線等)

-簡(jiǎn)單實(shí)例分析

-培訓(xùn)目標(biāo):學(xué)員能夠識(shí)別UML圖中的基本元素,理解常用圖類型的基本含義。

(2)進(jìn)階培訓(xùn):針對(duì)有一定基礎(chǔ)的人員,深入講解各種圖類型的高級(jí)特性、關(guān)系細(xì)節(jié)和建模技巧。重點(diǎn)在于提升識(shí)圖和建模能力。培訓(xùn)時(shí)長(zhǎng)建議6小時(shí),內(nèi)容包括:

-類圖的詳細(xì)解析(泛化、關(guān)聯(lián)、依賴等)

-用例圖的復(fù)雜關(guān)系(泛化、包含、擴(kuò)展)

-序列圖的詳細(xì)消息類型(同步、異步、創(chuàng)建等)

-狀態(tài)圖和活動(dòng)圖的深入理解

-建模原則和最佳實(shí)踐

-培訓(xùn)目標(biāo):學(xué)員能夠深入理解各種UML圖的細(xì)節(jié),掌握復(fù)雜的建模關(guān)系。

(3)實(shí)戰(zhàn)培訓(xùn):針對(duì)需要將UML應(yīng)用于實(shí)際工作的人員,通過真實(shí)項(xiàng)目案例進(jìn)行實(shí)戰(zhàn)演練。重點(diǎn)在于培養(yǎng)解決實(shí)際問題的能力。培訓(xùn)時(shí)長(zhǎng)建議8小時(shí),內(nèi)容包括:

-選擇一個(gè)典型項(xiàng)目案例

-分析項(xiàng)目需求,確定建模范圍

-繪制核心UML圖(類圖、用例圖、序列圖等)

-建模過程中的問題討論和解決

-模型評(píng)審和反饋

-培訓(xùn)目標(biāo):學(xué)員能夠?qū)⑺鶎W(xué)知識(shí)應(yīng)用于實(shí)際項(xiàng)目,獨(dú)立完成基本的UML建模任務(wù)。

2.認(rèn)證標(biāo)準(zhǔn)

(1)理論考核:采用選擇題和判斷題的形式,考察學(xué)員對(duì)UML基本概念、圖類型、圖符和關(guān)系的掌握程度。試卷總分100分,60分及以上為合格。例如:

-選擇題:以下哪個(gè)符號(hào)表示公有屬性?(A)-(B)(C)+(D)

-判斷題:泛化關(guān)系是繼承的一種形式。(對(duì)/錯(cuò))

(2)實(shí)操考核:提供幾個(gè)簡(jiǎn)化的系統(tǒng)需求描述,要求學(xué)員繪制相應(yīng)的UML圖??己藘?nèi)容包括:

-圖形繪制規(guī)范性(元素表示、關(guān)系連接)

-元素完整性(包含必要的類、屬性、操作、關(guān)系)

-語(yǔ)義準(zhǔn)確性(模型正確反映需求)

-考核方式:提交UML模型文件,由評(píng)審小組評(píng)分。

(3)綜合評(píng)審:結(jié)合理論考核和實(shí)操考核的結(jié)果,進(jìn)行綜合評(píng)價(jià)。同時(shí)考慮學(xué)員在實(shí)際項(xiàng)目中的應(yīng)用表現(xiàn)(如模型質(zhì)量、溝通能力等)。評(píng)審結(jié)果分為幾個(gè)等級(jí),如“精通”、“熟練”、“初級(jí)”。

(二)最佳實(shí)踐案例

1.金融系統(tǒng)案例:以一個(gè)簡(jiǎn)化的小型在線支付系統(tǒng)為例,分析UML圖在實(shí)際金融系統(tǒng)中的應(yīng)用。

(1)類圖特點(diǎn):金融系統(tǒng)類圖通常包含較多類,且關(guān)系復(fù)雜。例如,可能包含`用戶`、`賬戶`、`交易`、`支付方式`、`銀行接口`、`日志`等類。關(guān)系中常涉及組合(如`賬戶`包含`交易列表`)、關(guān)聯(lián)(如`用戶`擁有`賬戶`)、泛化(如`支付方式`可以泛化出`信用卡`、`支付寶`、`微信支付`)。

(2)用例圖特點(diǎn):金融系統(tǒng)用例圖通常涉及安全性和隱私性,用例粒度較細(xì)。例如,可能包含“登錄”、“注冊(cè)”、“查詢余額”、“轉(zhuǎn)賬”、“支付訂單”、“修改密碼”、“查看交易記錄”等用例。參與者通常包括“普通用戶”、“管理員”。用例間可能存在包含關(guān)系(如“支付訂單”包含“查詢余額”)和擴(kuò)展關(guān)系(如“支付訂單”在用戶選擇“分期付款”時(shí)擴(kuò)展)。

(3)序列圖特點(diǎn):金融系統(tǒng)序列圖強(qiáng)調(diào)交易流程的嚴(yán)謹(jǐn)性。例如,“用戶發(fā)起支付”序列圖中,涉及`用戶`->`支付網(wǎng)關(guān)`->`銀行接口`->`用戶賬戶`等多個(gè)對(duì)象交互,需要明確每一步的消息傳遞和條件判斷。

2.醫(yī)療系統(tǒng)案例:以一個(gè)在線預(yù)約掛號(hào)系統(tǒng)為例,分析UML圖在醫(yī)療系統(tǒng)中的應(yīng)用。

(1)狀態(tài)圖特點(diǎn):醫(yī)療系統(tǒng)中的對(duì)象(如`預(yù)約`、`掛號(hào)單`)狀態(tài)轉(zhuǎn)換復(fù)雜。例如,“預(yù)約”對(duì)象可能有“待確認(rèn)”、“已確認(rèn)”、“已取消”、“已就診”、“已完成”等多種狀態(tài),狀態(tài)間轉(zhuǎn)換由“確認(rèn)”、“取消”、“就診”、“支付成功”等事件觸發(fā)。

(2)活動(dòng)圖特點(diǎn):醫(yī)療系統(tǒng)活動(dòng)圖常用于描述業(yè)務(wù)流程。例如,“用戶預(yù)約掛號(hào)”活動(dòng)圖中,包含“選擇科室”、“選擇醫(yī)生”、“輸入就診時(shí)間”、“支付費(fèi)用”、“獲取掛號(hào)單”等步驟,以及“醫(yī)生排班滿”的分支條件。

(3)依賴特點(diǎn):醫(yī)療系統(tǒng)可能依賴外部系統(tǒng)(如醫(yī)院信息系統(tǒng)HIS、電子病歷系統(tǒng)EMR)。UML圖可以通過依賴關(guān)系表示這種依賴。例如,`預(yù)約系統(tǒng)`類可能依賴于`HIS接口`類,表示預(yù)約系統(tǒng)需要調(diào)用HIS接口獲取患者信息。

(三)持續(xù)改進(jìn)機(jī)制

1.反饋收集

(1)定期問卷調(diào)查:每季度或半年進(jìn)行一次問卷調(diào)查,向使用UML的團(tuán)隊(duì)成員收集對(duì)UML識(shí)圖和建模規(guī)范的反饋。問卷內(nèi)容包括:

-對(duì)UML規(guī)范的理解程度

-規(guī)范在實(shí)際工作中的實(shí)用性

-規(guī)范執(zhí)行中遇到的問題

-對(duì)規(guī)范改進(jìn)的建議

-對(duì)培訓(xùn)的滿意度

(2)模型評(píng)審會(huì):定期組織UML模型評(píng)審會(huì),邀請(qǐng)建模者和識(shí)圖者參與。評(píng)審內(nèi)容包括:

-模型的準(zhǔn)確性(是否正確反映需求)

-模型的清晰度(是否易于理解)

-模型的一致性(圖與圖之間、模型與代碼之間)

-規(guī)范的執(zhí)行情況

評(píng)審會(huì)后形成會(huì)議紀(jì)要,記錄問題和改進(jìn)措施。

(3)使用數(shù)據(jù):統(tǒng)計(jì)UML模型使用相關(guān)數(shù)據(jù),分析規(guī)范執(zhí)行效果。例如:

-模型復(fù)用率:模型被復(fù)用的次數(shù)

-模型錯(cuò)誤率:模型中發(fā)現(xiàn)的錯(cuò)誤數(shù)量

-培訓(xùn)覆蓋率:參與培訓(xùn)的人員比例

-滿意度評(píng)分:對(duì)規(guī)范和培訓(xùn)的評(píng)分

2.更新周期

(1)年度評(píng)估:每年進(jìn)行一次全面的UML規(guī)范評(píng)估。評(píng)估內(nèi)容包括:

-規(guī)范的適用性

-規(guī)范的完整性

-規(guī)范的執(zhí)行效果

-培訓(xùn)效果

評(píng)估結(jié)果作為規(guī)范更新的重要依據(jù)。

(2)季度修訂:根據(jù)年度評(píng)估結(jié)果、新收集的反饋以及UML標(biāo)準(zhǔn)的新發(fā)展,每季度對(duì)規(guī)范進(jìn)行一次修訂。修訂內(nèi)容包括:

-補(bǔ)充新的圖類型或關(guān)系

-修改不合理的約定

-調(diào)整培訓(xùn)內(nèi)容

修訂后需要通知所有相關(guān)人員。

(3)月度檢查:對(duì)規(guī)范的關(guān)鍵條款進(jìn)行月度

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論