UML中個人覺得其最基本的是一些圖的使用,所以我們在學習時最先要了解這些圖,而且要分類的去考慮它們,UML在這方面也已經做好了。
在UML中有視圖(view)和圖(diagram)兩個層次的概念:視圖是表達系統的某一方面特徵的UML建模元素的子集,由多個圖構成,是在某一個抽象層上,對系統的抽象表示;而圖是模型元素集的圖形表示,通常由弧(關係)和頂點(其他模型元素)相互連接構成。
UML中的視圖分爲5大類(每一類的名稱都有好幾種說法,但表示的意思是差不多的,下面主要是按照EA中的分法):
a) 用例視圖(Use Case View),強調從用戶角度看到的或需要的系統功能,是被稱爲參與者的外部用戶所能觀察到的系統功能的模型圖。
c) 邏輯視圖(Logical View),展現系統的靜態或結構組成及特徵,也被稱爲結構模型視圖(Structural Model View)或者靜態視圖(Static View)。
d) 組件視圖(Component View),體現了系統實現的結構和行爲特徵,也稱爲實現模型視圖(Implementation Model View)。
e) 配置視圖(Deployment View),體現了系統實現環境的結構和行爲特徵,也被稱爲環境模型視圖(Environment Model View)或者物理視圖(Physical View)。
用例視圖:用例圖
邏輯視圖:類圖和對象圖
配置視圖:配置圖
{
private B b;
}
{
public B getB(C c, D d)
{
E e = new E();
B b = new B(c, d, e);
}
}
private Bell bell;
public Bell getBell(){
return bell;
}
public void setBell(Bell bell){
this.bell=bell;
}
// 發出鈴聲
public void alert(){
bell.ring();
}
}
{
private Menu menu;
public Window()
{
menu = new Menu();
}//可以在這時候創建Menu對象,也可以在之後創建
public void destory()
{
menu.destory();
}//必須同時或者在這之前銷燬關聯的Menu對象
}
如果我們能真正理解上述四種關係,那麼實際應用起類圖來就很簡單了。