1. 程式人生 > >UML統一建模語言

UML統一建模語言

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統一建模語言