⑴ umbrello 怎麼根據代碼生成類圖
類圖展示了構成系統的不同類以及它們的相互關系。
class:一個類定義了一系列對象的屬性和方法。這個類的所有對象(實例化這個類)有相同的行為和屬性設置方法(each object has its own set)。術語「類型」有時用來代替類,但值得一提的是這兩個是很不相同的,並且類型是更一般的術語。
在UML里,類用矩形代表,和類一樣,這個矩形用兩個模塊來顯示類的屬性和方法,
Attributes
在UML 里,屬性能顯示它的名字,類型,初始化值,屬性也可以顯示private,public,protected。
+ 表示r public operations
# 表示 protected operations
- 表示 private operations
Operations
操作方法也能顯示它們的方法名,參數,返回類型,以及方法的private,public,protected屬性。
+ 表示r public operations
# 表示 protected operations
- 表示 private operations
Templates
類圖也有泛型(java稱泛型,這個值用於不指定具體的類或者類型)。當類初始化(對象創建)時這個泛型類是具體的。泛型在C++模型和Java1.5以後的模型中存在。
Class Associations
類能夠用不同的方式進行互相關聯。
Generalization
繼承(Inheritance)是面向對象編程最基礎的概念之一。子類繼承父類,能獲取父類所有的屬性和方法,並且能夠重寫或者修改它們,以及添加更多的屬性和方法。
在UML里,兩個類之間的泛化關聯是通過把他們放在一個層次里,表達derived 類從 base 類的繼承概念。泛化是通過一條帶箭頭的線把兩個類連接起來表示,帶箭頭的一方為父類或者基類,
關聯(Association)(這個部分翻譯的很不好,希望有人給個指導,第一次翻譯,不太好)
關聯代表了類之間的關系,並對多種類型的對象之間的關系給出了常見的語義和結構。
關聯是允許對象間進行互相通信的一種機制。它描述了不同類之間的聯系(實際的對象之間的連接被稱為對象連接或鏈接);關聯核心的作用是允許單向或雙向的。關聯的各端還有多個值,這能決定這一端關聯的對象有多少可以涉及到另一邊的對象。 在UML中,關聯被表示為連接參與關系的類線,並且還可以顯示的角色和每個參與者的多樣性。多重顯示為一個非負值的最大邊代表一個無限的范圍[min.. MAX],用星號(*)。
聚合(Aggregation)
聚合是一種特殊的關聯。表示兩個類之間並沒有相等的狀態,但是有整體--部分的關系。聚合描述了一個扮演整體作用的類是怎樣由扮演部分作用的類組成的。對聚合而言,一個有整體作用的類總是有一個多重性。
在UML上,聚合用一個帶有菱形的線表示,靠近菱形的一邊表示整體。
組合(Composition)
組合是代表強聚合的關聯。這意味著,組合也是由整體--部分關系組成,但是這種關系是非常強的以致於部分不能單獨存在。部分只有在整體中才能存在,如果整體消亡啦部分也就不存在啦。
在UML,組合是由帶有實體菱形的線表示。菱形一邊代表整體。
Other Class Diagram Items
類圖可以包含除了類其他幾個項目。
Interfaces(介面)
介面是抽象類,實例化時不能直接被創建。它能包含方法但是沒有屬性。類可以從介面繼承(通過關聯)和實例並可以被製成這些圖。
Datatypes(數據類型)
數據類型是通常內置於編程語言的源代碼。常見的例子包括整數和布爾值。他們不能和類有關系,但類可以和他們有關系。。
Enums(枚舉)
枚舉是值的簡單列表。一個典型的例子是枚舉一周的每天。一個枚舉的選項被稱為枚舉字面值。像數據類型,他們不可能和類有關系,但類可以有關系給他們。
Packages(包)
包代表編程語言中的命名空間。在示圖中它們被用來表示一個系統的一部分,這個系統包含不止一個類,或許上百個類。
⑵ visio 2013繪制的UML類圖可以生成源代碼嗎
visio一直都是獨立在office之外的版本,他不那個生成源代碼的,只能用visio自己的格式
⑶ java 類圖工具用什麼畫,並能生成代碼呢
參考如下內容:
Rational Software Architect 7.0 版本
識別一個 UML 類圖的繼承樹
繼承關系是一種普遍的對象型的模式。它允許一組類共享共同的狀態和行為,從而子類可以從父類那裡繼承共同的狀態和行為。從一個已存在系統中發現整個的繼承樹結構是相當有用的,因為它能向您揭露在樹中什麼是頂級類以及什麼是子類。而且,您可以識別一個繼承樹中有哪些共同狀態及行為,以及這些共同行為怎樣起作用。您可以在探索過程中以以下三種方式使用 Rational Software Architect。
從一個工作場所或工作集中發現其抽象結構
從抽象結構表中選擇一個類從而顯示其抽象類圖
在一個瀏覽表中研究樹狀結構,您會發現顯示在 Abstraction之下的一系列抽象類。
第一步是在一個已存在系統中自動得到其頂級類。這樣您就能使用這些類作為切入點以研究繼承樹中的類。您可以按以下步驟來完成此項。
打開 Rational Software Architect 中 Diagram Navigation視圖。
在 Object-oriented Pattern下,右鍵點擊 Abstraction,然後點擊 Discover Architecture
⑷ visio2003 類圖是否能直接生成代碼
1.現流行的幾個版本都無法生成代碼.
2.似還有一個英文版本可以反向生成類圖,但還沒見過.
3.有一個英文網站提供UML的模具來加強VISIO.
⑸ 為什麼我的電腦不能將startuml畫的類圖生成代碼
提示告訴你了,需要添加一個java profile到staruml裡面,你缺少這個步驟。
用Ctrl+F8,打開profile設置,就可以看到你的java profile在左側,添加到右側即可。
⑹ UML類圖怎麼生成JAVA 代碼
在ROSE里,選定要生成代碼的類圖——菜單「TOOL」——java/j2EE——generate code
⑺ 如何從現有類中生成類圖
一:什麼是ModelGoon?
它是一個Eclipse插件,用於基於UML圖的模型設計,以及逆向工程(即從已有源代碼生成類圖)。
二:安裝
點擊打開鏈接ModelGoon 到電腦,從eclipse中選擇help-->install new software.在work with-->Add選擇已經下載的ModelGoon-4.4.1-site.zip,一路next完成安裝。
三:使用
安裝成功後,在eclipse中File-->new-->other-->ModelGoon Diagrams選擇Class Diagram,在自己Java工程中創建一個後綴是.mgc的文件,用它來生成類圖。
用法很簡單,直接把Java類拖拽到這個文件視圖中,就會自動生成UML類圖。
⑻ 如何將UML圖轉化成代碼
可以利用代碼生成工具如ROSE、Together等,你在這些工具里做好UML就可以自動生成代碼了。
也可以根據所畫的類圖、時序圖等來自己編代碼。
當然,兩種方法的前提都是
你所做的UML是翔實可靠的。