架構(gòu)師必修課:UML建模
定義
UML - Unified modeling language UML (統(tǒng)一建模語(yǔ)言),是一種用于軟件系統(tǒng)分析和設(shè)計(jì)的語(yǔ) 言工具, 用于幫助軟件開(kāi)發(fā)人員進(jìn)行思考和記錄思路的結(jié)果。
簡(jiǎn)單說(shuō),UML圖即一種圖形化語(yǔ)言,通過(guò)不同的圖形和符號(hào),來(lái)描述軟件模型以及各個(gè)元素之間的關(guān)系。
UML圖分類(lèi)
- 用例圖
- 靜態(tài)結(jié)構(gòu)圖:類(lèi)圖,對(duì)象圖,包圖,組件圖,部署圖
- 動(dòng)態(tài)行為圖:交互圖(時(shí)序圖和協(xié)作圖),狀態(tài)圖和活動(dòng)圖
常用工具
- word:繪制簡(jiǎn)單UML圖,是一種非專(zhuān)業(yè)手段
- visio
- powerDesigner:支持標(biāo)準(zhǔn)數(shù)據(jù)建模UML
- eclipse插件amaterasUML
- idea插件plantUML
- idea插件UML support
常見(jiàn)的幾種類(lèi)圖關(guān)系
依賴(lài)關(guān)系
代碼示例:
/**
* 依賴(lài)關(guān)系示例
* @author:liyajie
* @createTime:2022/2/10 10:17
* @version:1.0
*/
public class PersonService {
// 方法入?yún)⑹褂玫搅?br> public void save(Person person){
}
// 返回參數(shù)使用到了
public IdCard getIdCard(){
return new IdCard();
}
public void job(){
// 方法內(nèi)部使用到了
Job job = new Job();
}
}
UML圖示:
一條虛線(xiàn)+箭頭;
泛化關(guān)系
代碼示例:
/**
* 泛型關(guān)系(繼承)示例
* @author:liyajie
* @createTime:2022/2/10 10:17
* @version:1.0
*/
public class PersonService1 extends Base{
}
UML圖示:
一條實(shí)線(xiàn)+三角箭頭;
實(shí)現(xiàn)關(guān)系
代碼實(shí)現(xiàn):
/**
* 實(shí)現(xiàn)關(guān)系示例
* @author:liyajie
* @createTime:2022/2/10 10:17
* @version:1.0
*/
public class PersonService2 implements BaseService{
}
UML圖示:
一條虛線(xiàn)+三角箭頭;
關(guān)聯(lián)關(guān)系
代碼示例:
/**
* 關(guān)聯(lián)關(guān)系示例
* @author:liyajie
* @createTime:2022/2/10 10:17
* @version:1.0
*/
public class PersonService3 {
public PersonDao personDao;
}
UML圖示:
一條實(shí)線(xiàn)+箭頭+空心菱形;
總結(jié)
以上就是今天的內(nèi)容,主要介紹了UML相關(guān)基本知識(shí),以及常見(jiàn)的幾種類(lèi)圖關(guān)系的畫(huà)法。