使用Visio畫UML模型
Microsoft Office Visio“UML 模型圖” 模板為創(chuàng)建復(fù)雜軟件系統(tǒng)的面向?qū)ο蟮哪P?(模型:建模系統(tǒng)的一種抽象表示,它從特定的視角并在某一抽象級別上指定建模系統(tǒng)。) 提供全面的支持。
1.用例圖
在開發(fā)項目的早期階段,使用用例圖 (用例:在用例圖中,當(dāng)主角使用系統(tǒng)來完成某一進(jìn)程時所發(fā)生的一組事件的表示方式。通常,用例是相當(dāng)大的進(jìn)程,而不是單個步驟或事務(wù)。) 來描述實際活動和動機??梢栽陔S后的各個階段對該用例圖進(jìn)行細(xì)化,以反映用戶界面和設(shè)計細(xì)節(jié)。
定義系統(tǒng)邊界 (系統(tǒng)邊界:在用例圖中,圍繞用例的指示系統(tǒng)的邊界。通過拖動“系統(tǒng)邊界”形狀上的選擇手柄,可以調(diào)整系統(tǒng)邊界的大小。) 可確定系統(tǒng)內(nèi)部和外部之間的界限。
參與者 (主角:在用例圖中,外部對象所充當(dāng)?shù)慕巧谋硎痉āR虼?,一個物理對象可以用幾個主角表示。通信關(guān)系指示主角以何種方式參與到用例中來。) 代表外部對象所扮演的角色。一個對象可以扮演若干角色,因此可由若干參與者來代表。
通信關(guān)系 (通信關(guān)系:在用例圖中,定義某個主角如何參與用例的關(guān)系。您可以將箭頭添加到關(guān)系上來指示信息流動的方向。) 用于闡明用例中參與者的參與情況。
用例 (用例:在用例圖中,當(dāng)主角使用系統(tǒng)來完成某一進(jìn)程時所發(fā)生的一組事件的表示方式。通常,用例是相當(dāng)大的進(jìn)程,而不是單個步驟或事務(wù)。) 是參與者通過系統(tǒng)完成一個過程時發(fā)生的一組事件。通常,用例是較大的過程,而不是單個步驟或事務(wù)。
2.靜態(tài)結(jié)構(gòu)圖
使用靜態(tài)結(jié)構(gòu)圖 (靜態(tài)結(jié)構(gòu)圖:顯示模型的靜態(tài)結(jié)構(gòu)的圖表;也就是存在的元素(例如類和類型)、這些元素的內(nèi)部結(jié)構(gòu)及其相互關(guān)系。) 來創(chuàng)建概念圖或類圖,概念圖用于表示實際概念以及概念之間的關(guān)系,類圖用于將軟件系統(tǒng)分解為各個部分。
要將特性 (特性:類所含的數(shù)據(jù)定義。類的結(jié)構(gòu)由其特性加以說明。特性的默認(rèn)語法為:可見性名稱:類型表達(dá)式=初始值 {屬性字符串}) 、操作 (操作:可以要求執(zhí)行某個類的實例的服務(wù)。類的行為由一組操作表示。每一操作均具有一個名稱和一組參數(shù)。) 和其他屬性添加到類 (類:在靜態(tài)結(jié)構(gòu)圖中,具有類似的結(jié)構(gòu)、行為和關(guān)系的對象集。類在類(靜態(tài)結(jié)構(gòu))圖中聲明,代表所建模的系統(tǒng)中的概念。) 形狀,請雙擊該形狀,打開“UML 類屬性”對話框。
雙擊某個關(guān)聯(lián)可以添加修飾,如多重性 (多重性:可參與到特定關(guān)系中的對象個數(shù),它用單個數(shù)字或從下限到上限的范圍來表示。最常見的多重性是 1、*(表示 0..無窮大)和 0..1。) 和導(dǎo)向性 (導(dǎo)向性:從多邊形到點,導(dǎo)向性指示可從多邊形獲知關(guān)于其所有點的信息,但不能從點上獲知關(guān)于多邊形的信息。在關(guān)聯(lián)上,導(dǎo)向性用箭頭來指示。) 。
除了此處所示的名稱和類型外,特性還可以包括可見性 (可見性:一個元素對另一個元素可見或引用另一個元素的能力。如果一個元素要向另一個元素發(fā)送消息,后者對于前者必須是可見的。) ,這是一個初始值;特性還可指定范圍是類還是實例。
如果要傳達(dá)詳盡的編程規(guī)范,則需要在圖表中完整定義操作的參數(shù) (參數(shù):可以更改、傳遞或返回的未綁定變量。參數(shù)可以包括通信的名稱、類型和方向。參數(shù)用于指定操作、消息、事件和模板等。) 。
3.包圖
使用包 (包:在 UML 中用類似于文件夾的符號表示的模型元素的組合。系統(tǒng)中的每個元素都只能為一個包所有,一個包可嵌套在另一個包中。) 圖將系統(tǒng)中的相關(guān)元素分組。一個包中可以含有下屬包、圖或單個元素。
4.活動圖
使用活動圖 (活動圖:狀態(tài)圖的一個特例,其中所有的狀態(tài)都是動作狀態(tài),并且轉(zhuǎn)換是由源狀態(tài)中動作的完成觸發(fā)的。) 來描述方法的內(nèi)部行為,并表示由內(nèi)部生成的動作驅(qū)動的流。
對象的初始狀態(tài) (狀態(tài) (UML):在狀態(tài)圖或活動圖中,對象滿足某個條件、執(zhí)行某個動作或等待某個事件期間所處的狀況。) 是圖表中任何事件都未對該對象起作用時的狀態(tài)。
動作狀態(tài) (動作狀態(tài):在活動圖中,指具有內(nèi)部動作且至少有一個傳出轉(zhuǎn)換參與了完成該內(nèi)部動作的顯式事件的狀態(tài)類型。) 是一種代表已完成活動的狀態(tài)。
當(dāng)動作狀態(tài)的內(nèi)部動作完成時即會從該動作狀態(tài)進(jìn)行轉(zhuǎn)換 (轉(zhuǎn)換 (UML):在狀態(tài)圖或活動圖中,兩個狀態(tài)或動作狀態(tài)之間或狀態(tài)與其自身之間(復(fù)雜轉(zhuǎn)換有多個源和/或目標(biāo)狀態(tài))的關(guān)系。) 。
要指示必須先完成各個并行活動然后才發(fā)生下一個活動,請使用連接轉(zhuǎn)換。
雙擊來自動作狀態(tài)的狀態(tài)轉(zhuǎn)換可對其加注監(jiān)護(hù) (臨界:在狀態(tài)圖或活動圖中,指定事件何時發(fā)生的條件。無論其事件何時引發(fā),都只對臨界計算一次。) 條件和動作表達(dá)式標(biāo)簽。
要指示可同時發(fā)生的活動,請使用叉形狀態(tài)轉(zhuǎn)換。
最終狀態(tài)表示該圖表所表示的情況中的活動已結(jié)束。
5.狀態(tài)圖?
使用狀態(tài)圖 (狀態(tài)圖:狀態(tài)機的表示方式,它附加于類或方法,描述該類對外部激勵的響應(yīng)。) 來顯示一個對象在其生命期內(nèi)經(jīng)歷的各個狀態(tài)的順序。
對象的初始狀態(tài) (狀態(tài):主角表現(xiàn)出特定行為的時間段。) 是圖表中任何事件都未對該對象起作用時的狀態(tài)。
狀態(tài)代表對象 (對象:表示目錄服務(wù)類的視圖。對象表示特定的網(wǎng)絡(luò)資源并具有為其屬性指派的值。) 生命周期中的某一瞬間。雙擊“狀態(tài)”形狀可添加名稱并列出其內(nèi)部動作和活動。
轉(zhuǎn)換 (轉(zhuǎn)換:從一種狀態(tài)轉(zhuǎn)換成另一種狀態(tài)的允許途徑。) 指示作為對事件的響應(yīng)結(jié)果,對象將從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)并執(zhí)行某個動作。
觸發(fā)狀態(tài)轉(zhuǎn)換的事件 (事件:在狀態(tài)圖或活動圖中,觸發(fā)轉(zhuǎn)換的事件。在正處于給定的狀態(tài)或動作狀態(tài)時,對象會等待事件進(jìn)入其他狀態(tài)。) 在狀態(tài)轉(zhuǎn)換字符串中命名。雙擊一個狀態(tài)轉(zhuǎn)換,除事件簽名以外,還可用字符串為其加注監(jiān)護(hù)條件 (臨界:在狀態(tài)圖或活動圖中,指定事件何時發(fā)生的條件。無論其事件何時引發(fā),都只對臨界計算一次。) 、動作表達(dá)式等標(biāo)簽。
6.序列圖
使用序列圖 (序列圖:一種交互圖,顯示參與特定交互操作的對象及其按時間順序交換的消息。) 來顯示參與交互的參與者 (主角:在用例圖中,外部對象所充當(dāng)?shù)慕巧谋硎痉āR虼?,一個物理對象可以用幾個主角表示。通信關(guān)系指示主角以何種方式參與到用例中來。) 或?qū)ο?(對象:在其他應(yīng)用程序中創(chuàng)建并導(dǎo)入、嵌入或鏈接到 Visio 繪圖內(nèi)的信息。對象一詞用于表示來自其他應(yīng)用程序的對象和 OLE 對象。) ,以及這些參與者或?qū)ο笊傻陌磿r間順序排列的事件 (事件:Visio 中發(fā)生的事件,如更改形狀公式或刪除頁等。) 。
序列圖中的縱向維代表時間,按時間先后依次向下排序。橫向維代表不同的參與者或?qū)ο蟆?/p>
對象 (對象:表示目錄服務(wù)類的視圖。對象表示特定的網(wǎng)絡(luò)資源并具有為其屬性指派的值。) 被表示為對象生命線 (對象生命線:在序列圖中,某個對象存在于特定時期的表示方式。如果對象是在圖表中所示的時間段內(nèi)創(chuàng)建或破壞的,則生命線會在相應(yīng)的點上停止或開始。) ,即:即它們在特定時間的存在狀態(tài)。調(diào)整線的長度可以指示對象已創(chuàng)建還是已消亡。
箭頭表示對象之間的消息 (消息:在序列圖中,傳達(dá)信息并導(dǎo)致某個動作的對象之間的通信。消息用水平箭頭表示。) 。對象也可以向自己發(fā)送消息。
向生命線添加一個激活點 (激活:在序列圖中,對象或主角正在執(zhí)行動作的時段。激活用細(xì)長的矩形表示。) (也稱為控制的焦點)以指示對象執(zhí)行動作的時段。
返回的消息用虛線表示。
7.協(xié)作圖
使用協(xié)作圖 (協(xié)作圖:顯示某組對象如何為了由一個用例描述的一個系統(tǒng)事件而與另一組對象進(jìn)行協(xié)作的交互圖。) 來顯示對象角色之間的關(guān)系,如:為實現(xiàn)某個操作或結(jié)果在對象間交換的一組消息。
在分類器角色 (分類器角色:協(xié)作角色的一種類型。它是協(xié)作中的某個對象的槽,用只顯示名稱空間的類矩形符號表示。) 形狀中,對象的 (對象:在其他應(yīng)用程序中創(chuàng)建并導(dǎo)入、嵌入或鏈接到 Visio 繪圖內(nèi)的信息。對象一詞用于表示來自其他應(yīng)用程序的對象和 OLE 對象。) 指定器字符串下加有下劃線,以指示該對象是一個實例。您還可在冒號之前加入對象名。
鏈接(即關(guān)聯(lián)角色 (關(guān)聯(lián)角色:協(xié)作角色的一種類型,它描述兩個分類器角色之間的關(guān)系。它由兩個類角色元素之間的路徑表示,可以包括相應(yīng)關(guān)聯(lián)的帶下劃線的名稱。) )指示關(guān)系;如果有箭頭,還同時指示導(dǎo)向性 (導(dǎo)向性:從多邊形到點,導(dǎo)向性指示可從多邊形獲知關(guān)于其所有點的信息,但不能從點上獲知關(guān)于多邊形的信息。在關(guān)聯(lián)上,導(dǎo)向性用箭頭來指示。) 。
雙擊一個鏈接,再單擊“消息”可以定義沿鏈接傳遞的消息。需要根據(jù)嵌套的調(diào)用對過程消息編號。
第一條消息始終來自圖表中包括的上下文之外。
8.組件圖
使用組件圖 (組件圖:顯示代碼本身的結(jié)構(gòu)的實現(xiàn)圖。從組件圖中,您可以了解各軟件組件(如源代碼文件或動態(tài)鏈接庫)之間的編譯器和運行時依賴關(guān)系。) 將系統(tǒng)劃分為內(nèi)聚性組件,并顯示代碼本身的結(jié)構(gòu)。
在組件圖中,組件 (組件:在組件圖和部署圖中,組件指系統(tǒng)中的可分配實現(xiàn)單元。例如,組件可以代表代碼的物理模塊(源、二進(jìn)制或可執(zhí)行文件)或人力系統(tǒng)中的業(yè)務(wù)文檔。) 是通用類型而非實例。要顯示組件實例,請使用部署圖 (部署圖:顯示運行時系統(tǒng)的結(jié)構(gòu)的實現(xiàn)圖。從部署圖中,您可以了解到軟件和硬件組件之間的物理關(guān)系以及處理節(jié)點的組件分布情況。) 。
依賴關(guān)系 (依賴關(guān)系:兩個元素之間的關(guān)系,它指示對目標(biāo)元素的更改可能導(dǎo)致源元素的更改。) 指示客戶組件在某種程度上依賴于供應(yīng)商組件。
9. 部署圖
使用部署圖 (部署圖:顯示運行時系統(tǒng)的結(jié)構(gòu)的實現(xiàn)圖。從部署圖中,您可以了解到軟件和硬件組件之間的物理關(guān)系以及處理節(jié)點的組件分布情況。) 來顯示運行時系統(tǒng)的結(jié)構(gòu),并傳達(dá)以下相關(guān)信息,即如何配置和部署構(gòu)成應(yīng)用程序的軟硬件元素。
在部署圖中,節(jié)點 (節(jié)點:在部署實現(xiàn)圖中,表示某個正在處理的資源的運行時物理對象。節(jié)點通常都是計算設(shè)備,但也可以表示人力資源或機械處理資源。) 可以代表通用類型或特定實例。
將組件 (組件:在組件圖和部署圖中,組件指系統(tǒng)中的可分配實現(xiàn)單元。例如,組件可以代表代碼的物理模塊(源、二進(jìn)制或可執(zhí)行文件)或人力系統(tǒng)中的業(yè)務(wù)文檔。)和對象 (對象:表示目錄服務(wù)類的視圖。對象表示特定的網(wǎng)絡(luò)資源并具有為其屬性指派的值。) 實例放入某個節(jié)點實例內(nèi)即指示這些組件和對象駐留在該節(jié)點上。
通過依賴關(guān)系 (依賴關(guān)系:兩個元素之間的關(guān)系,它指示對目標(biāo)元素的更改可能導(dǎo)致源元素的更改。) (有時還要借助接口 (接口:在不指定內(nèi)部結(jié)構(gòu)的情況下,指定類、組件、包或其他元素的外部可見操作。接口只有操作,沒有特性、狀態(tài)或關(guān)聯(lián)。) )可以連接各組件。您可以使用構(gòu)造型 (構(gòu)造型:用法區(qū)別的表示方式。構(gòu)造型是現(xiàn)有元素的子類,具有與該元素相同的特性和關(guān)系,但目的和可能的附加約束不同。) 來指示確切的依賴關(guān)系。
有么有原始圖啊。。這些數(shù)字標(biāo)示是 在圖里面畫的嗎。。。
看不懂 ??
有的生澀了。