1. 程式人生 > >【軟體工程】3.UML類圖

【軟體工程】3.UML類圖

UML和建模軟體Rose的使用已在上一篇介紹過了,這一篇我們繼續介紹畫圖方法。
我們介紹“類圖”:

用於描述系統中的類與類之間的各種關係。

繼承:父子類關係;

實現:類與介面關係;
關聯(全域性變數, 組合/聚合): 值、引用;
依賴:區域性變數(非Spring中 依賴注入)。


1.類圖舉例
我們在Rose中建立類圖的方法:


建立一個實體:


然後滑鼠放在實體上面,單擊滑鼠右鍵,可以新增這個實體類的屬性和方法:

新增一個屬性,然後雙擊屬性,點檢attribute可以設定屬性的詳細:


然後我們再新增一個name的屬性。

之後我們按照上面類似的方法,給實體類新增一個方法:



然後我們給它設定一個引數(String name),無返回(void)


然後用同樣的方法我們新增getName()方法:



如果不顯示方法的引數,可以勾選“顯示原型”:



之後我們新增一個介面:


介面圖形如果是圓的,不想用圓的:



想改成方的,就在這裡更改:



好了,我們的類圖的例子和設定方法給大家了,我們將使用這種畫圖方法來畫一個完整的類圖。
我們畫一個使用者管理模組的類圖:

其中圖中的"關聯"和"依賴"的不同:
關聯:全域性性
依賴:區域性性

然後我們解釋一下圖中的各種關係:
(1)繼承關係
public abstract class BaseDaoImpl{
	
    public void save(Object entity){
    }
	
    public Object findObject(Object id){
    }


}


public class UserDaoImpl extends BaseDaoImpl{
}



(2)實現關係
public interface UserDao {
}
public class UserDaoImpl 
implements UserDao {
}



(3)關聯關係
關聯關係實際上就是類與類之間的聯絡;
關聯具有導航性:即雙向關係或單向關係。



(4)關聯之聚合關係(By ref)
聚合關係,表示的是整體和部分的關係,整體與部分可以分開。

使用帶空心菱形的實線來表示:


(5)組合關係(By value)
也是整體與部分的關係,但是整體與部分不可以分開;部分離開整體沒有實際意義。
使用帶實心菱形的實線來表示:


(6)依賴關係
A類使用到了另一個B型別。

關係具有:臨時性的、偶然性,但是B類的變

會影響到A。程式碼層面,為類B作為引數被類A在某個method方法中使用。