UML統一建模語言
阿新 • • 發佈:2018-03-07
size class 信息 想要 導航 ring 導致 發出 water
什麽是UML?
UML全稱是:Unified Modeling Language 又稱統一建模語言或標準建模語言。
是一個支持模型化和軟件系統開發的圖形化語言,為軟件開發的所有階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。
它是一種語言,語言就是用來描述一件事物的。
為什麽我們要使用UML?
我們了解一下軟件開發的歷史,才明白為什麽要使用UML。
軟件歷史分為3個階段:
- 程序設計階段【1946年~1955年 對硬件進行開發,規模很小,程序設計追求節省空間和編程技巧】
- 軟件設計階段 【在1956年~1970年,硬件增長速度快,性價比越來越高,軟件開發技術沒有重大突破,軟件產品的質量不高,生產效率低下,導致了“軟件危機”
- 軟件工程階段【1970年~至今,大量需求被提出,采用工程化的思想來管理軟件】
軟件工程的目標:利用工程化的方法.在給定成本、進度的前提下,開發出具有可維護性、正確性、可移植性的軟件. 提高軟件產品的質量和開發效率,減少維護的困難
隨著軟件工程地進展,IT界想用一種語言來描述它們完成的需求,設計,但是不同的公司開發了自己的產品。
於是乎,為了統一起來,就有了OMG組織【ObjectManagementGroup對象管理組織】,這個組織讓這種描述需求、設計的語言統一了,就稱作是UML了。
也就是說,UML用來給我們設計,需求分析。
使用IBM Rational
我們使用的是IBM Rational這個工具來講解UML。
一般地,我們這個工具用來做三個事情:
- 用例圖
- 類圖
- 時序圖
用例圖
用例圖顯示誰將是系統的使用者、用戶希望系統提供什麽服務以及系統能夠為用戶提供什麽樣的服務;從用戶的角度描述系統的功能。用例圖最常用來描述系統以及子系統
用例圖的2種元素4種關系
- 參與者(Actor)
- 用例(Use Case)
- 關聯關系(Association)
- 包含關系(Include)
- 擴展關系(Extend)
- 泛化關系(Generalization)
我們使用它來模擬一個商城的用例圖
我們想描述的信息是這樣子的:
- 遊客擁有瀏覽商品,登陸註冊的功能
- 會員擁有遊客的所有功能,並且擁有購物,管理個人信息的功能
- 在購物上,包括了選購商品、添加到購物車、支付這麽幾個功能
- 而支付又有貨到付款、在線支付、其他支付這麽幾個支付功能
- 無論哪種支付,都要生成訂單
- 訂單由客服來管理,客服還擁有著商品管理的功能
- 客服擁有的功能,管理員都有,管理員還擁有著管理會員的功能。
類圖
類圖用於描述系統中的類與類之間的各種關系
類圖下有以下的關系:
- 繼承:父子類關系
- 實現:類與接口關系
- 關聯(全局變量, 組合/聚合): 值、引用
- 組合的關系強
- 聚合的關系沒那麽強【普通引用關系】
- 關聯具有導航性:即雙向關系或單向關系
- 依賴:局部變量(非Spring中 依賴註入)
- 方法中的局部變量
時序圖
需要用例的時候,我們可以把用例拖過去給時序圖用。
如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同學,可以關註微信公眾號:Java3y
UML統一建模語言