UML統一建模語言

什麼是UML?

UML全稱是:Unified Modeling Language 又稱統一建模語言或標準建模語言。編程

是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的全部階段提供模型化和可視化支持,包括由需求分析到規格,到構造和配置。
它是一種語言,語言就是用來描述一件事物的。

爲何咱們要使用UML?

咱們瞭解一下軟件開發的歷史,才明白爲何要使用UML。微信

軟件歷史分爲3個階段:工具

  • 程序設計階段【1946年~1955年 對硬件進行開發,規模很小,程序設計追求節省空間和編程技巧】
  • 軟件設計階段 【在1956年~1970年,硬件增加速度快,性價比愈來愈高,軟件開發技術沒有重大突破,軟件產品的質量不高,生產效率低下,致使了「軟件危機」
  • 軟件工程階段【1970年~至今,大量需求被提出,採用工程化的思想來管理軟件

軟件工程的目標:利用工程化的方法.在給定成本、進度的前提下,開發出具備可維護性、正確性、可移植性的軟件. 提升軟件產品的質量和開發效率,減小維護的困難spa

隨着軟件工程地進展,IT界想用一種語言來描述它們完成的需求,設計,可是不一樣的公司開發了本身的產品。設計

因而乎,爲了統一塊兒來,就有了OMG組織【ObjectManagementGroup對象管理組織】,這個組織讓這種描述需求、設計的語言統一了,就稱做是UML了。對象

也就是說,UML用來給咱們設計,需求分析繼承


使用IBM Rational

咱們使用的是IBM Rational這個工具來說解UML。接口

通常地,咱們這個工具用來作三個事情:圖片

  • 用例圖
  • 類圖
  • 時序圖

用例圖

用例圖顯示誰將是系統的使用者、用戶但願系統提供什麼服務以及系統可以爲用戶提供什麼樣的服務;從用戶的角度描述系統的功能。用例圖最經常使用來描述系統以及子系統

用例圖的2種元素4種關係ci

  • 參與者(Actor)
  • 用例(Use Case)
  • 關聯關係(Association)
  • 包含關係(Include)
  • 擴展關係(Extend)
  • 泛化關係(Generalization)

咱們使用它來模擬一個商城的用例圖

咱們想描述的信息是這樣子的:

  • 遊客擁有瀏覽商品,登錄註冊的功能
  • 會員擁有遊客的全部功能,而且擁有購物,管理我的信息的功能
  • 在購物上,包括了選購商品、添加到購物車、支付這麼幾個功能
  • 而支付又有貨到付款、在線支付、其餘支付這麼幾個支付功能
  • 不管哪一種支付,都要生成訂單
  • 訂單由客服來管理,客服還擁有着商品管理的功能
  • 客服擁有的功能,管理員都有,管理員還擁有着管理會員的功能。

這裏寫圖片描述


類圖

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

類圖下有如下的關係:

  • 繼承:父子類關係
  • 實現:類與接口關係
  • 關聯(全局變量, 組合/聚合): 值、引用

    • 組合的關係強
    • 聚合的關係沒那麼強【普通引用關係】
    • 關聯具備導航性:即雙向關係或單向關係
  • 依賴:局部變量(非Spring中 依賴注入)

    • 方法中的局部變量

這裏寫圖片描述

時序圖

須要用例的時候,咱們能夠把用例拖過去給時序圖用。

這裏寫圖片描述


若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章,想要獲取更多的Java資源的同窗,能夠 關注微信公衆號:Java3y
相關文章
相關標籤/搜索