爲何是使用Star UML而不是Visio 2013呢?框架
之前本人在大學期間使用的Visio 2013來繪製UML的,最近一個星期由於在閱讀源碼,因此有多學了一門UML繪製工具—Star UML,下面就來聊一聊Star UML相對於Visio 2013有哪些優勢:函數
有這麼多優勢,固然也會有肯定啊,他相對於Visio 2013來講,他的界面過於古老,和Visio 2013那種風格是不能比較的。與此同時,Star UML的的元素對齊方面也和Visio 2013相差太遠。工具
說了這麼多,讓咱們來看看Star UML是怎麼繪製一個類圖的。下面是摘錄自網上的教程,在這個教程以後,還有其餘東西要聊一聊的。測試
Star UML是一種生成類圖和其餘類型的UML圖表的工具。本文是一個使用Star UML建立類圖(Java語言描述)的簡明手冊。this
Star UML(簡稱SU),是一種建立UML類圖,並可以自動生成C Sharp的「stub code」 的工具。SU也能夠作C Sharp逆向工程,以產生相應的UML圖表。url
在本教程中,咱們將使用SU設計一個pizza餅。執行後續步驟,能夠建立以下面所示的UML圖。SU能夠生成反映類結構的代碼,而不是任何對象的具體實現。所以,在使用SU建立圖表後,你還應該爲此stub code添加剩餘的功能性代碼,填寫每種方法原本應該作的事。spa
2.1 添加新工程翻譯
啓動StarUML,而後一個名叫「New Project By Approach」的對話框會彈出,選擇「Empty Project」,在右邊的「Model Explorer」面板中能夠看到新建的「Untitled」工程,工程的屬性能夠在下方的Properties面板中修改(工程名、做者等)。設計
2.2添加模型3d
經過「Model」主菜單,或者在Model Explorer面板的工程上右擊,依次」 Add — Model 」
2.3添加類圖
經過「Model」主菜單,或右擊選定模型,依次「Add Diagram — Class Diagram」。
2.4設置profile(UML輪廓)
經過「Model — Profile…」菜單去設置工程所需的profile。這決定了工程所使用的規則和約定。必定要包含」JAVA Porfile」這一項目。
2.5保存工程
當即就保存工程,這樣在出現問題的時候,您就不會丟失信息。
從「File 」菜單,選擇「Save」 ,並選擇一個地方以保存工程。你的StarUML項目如今應該看起來的是這樣的:
3.1創造圖表
如今,開始真正創造圖表,從默認就在屏幕的左邊的「Toolbox」面板選擇「類」圖標,而後左鍵單擊diagram窗口的某處。這樣就使用通用名字創造了一個新的類。雙擊,將類更名爲Circle。
3.2添加屬性
右擊圖中的目標,在彈出菜單中選擇「Add」中的「Attribute」(被標示爲綠色),爲其添加一個屬性(或者域),填入指望的名字「_radius」。
3.3繼續進行設計
重複一樣的過程,添加名爲Rectangle的類和double型的私有成員_width和_height。 (下面這段話是使用方面的注意事項,總感受翻譯不太好,就原文搬上來了)
You may notice using the 「Model Explorer」 on the right is faster to add these, but do however note that adding the classes and interfaces themselves in this toolbox (instead of using the toolbox on the left and clicking on the palette to create the object) will not create the objects in the diagram.
3.4創造 IShape interface
從toolbox中,選擇「Interface」,並點擊圖表的某處。將其更名爲IShape。建立之後,選中它。
向IShape 接口添加返回值爲double的getArea方法。
3.5添加類和接口的關係
能夠經過從toolbox中選擇表示「Realization」的箭頭,並從Circle拖拽向IShape,使Circle實現接口IShape。重複一樣的過程,爲Rectangle添加實現關係。這是添加了Circle 和 Rectangle對於IShape接口的實現關係。
小技巧:若是想使鏈接線表現爲直角的方式,右擊鏈接線,並選擇」 Format — Line Style — Rectilinear」菜單。你經過這種方式,使箭頭重疊在一塊兒,可使你的圖看起來更整潔。
3.6添加類基於接口的行爲
因爲Circle和Rectangle類都實現了IShape接口,就必須有一樣的行爲(方法)。在「Model Explorer」面板中,複製getArea方法(按Ctrl-C或者右鍵點擊並選擇Copy菜單),並粘貼到Circle和Rectangle類。
注意:這些實現了的方法在Circle和Rectangle類中都不是抽象的,而是具體的,因此取消勾選IsAbstract框。
如今的類圖看起來應該是這樣的:
3.7添加Pizza類
向Pizza添加double型的私有域_price,添加返回double類型的公有操做getPrice。
3.8爲Pizza類添加IShape 的引用
從toolbox中選擇」 DirectedAssociation 「箭頭,點擊Pizza類,並向IShape拖拽 。
爲_shape建立一個「得到者」方法,名字叫作getShape,返回IShape 。這就是建立一個行爲,名字是getShape,返回IShape 。
3.9添加構造函數
1.爲Pizza添加構造函數,右擊,在彈出的「Add」 菜單中選擇「Operation」。從這裏,增長一個普通的帶有dboule型price參數和IShape類型shape參數的操做。
2.爲Circle增長一個帶有double型的radius參數的構造函數。
3.爲Rectangle增長一個帶有double型width和height參數的構造函數。
你的圖如今應該是這樣的:
3.10添加Test_Pizza類
爲了說明UML類圖更多的功能,又增長了一個叫作「Test_Pizza」的類,它用做測試目的,並使用到Pizza和IShape類。
如今的圖應該像本文最開始所示。
看完如何繪製一個類圖,下面就聊聊我這使用過程當中遇到的一些問題:
3.打開軟件的時候,會彈出以下對話框,選擇不一樣的項目類型,其實只是在初始化的時候給你加載的項目文件結構不同,針對於簡單小型的項目,我更傾向於懸着EmptyProject。
參考文檔: