UML統一建模語言初學

1.UML是Object Management Group推出的用於簡化複雜軟件工程流程的工具,使用UML,用戶可以定製並且可視化軟件和非軟件的設計。注意UML只是一種建模語言,它只定義了words和grammar,而並沒有定義建模的過程或流程。

2.上文中提到的靜態模型和動態模型的分類也可以如下分類,一共十二種圖:

STRUCTURE DIAGRAMS:可以用來代表一個應用的結構

  • Class diagrams
  • Object diagrams
  • Component diagrams
  • Deployment diagrams

BEHAVIOR DIAGRAMS:可以用來代表一個應用的行爲:

  • Use Case diagrams
  • Sequence diagrams
  • Activity diagrams
  • Collaboration diagrams
  • Statechart diagram

MODEL MANAGEMENT DIAGRAMS:可以用來代表不同的程序模塊是如何組織和管理的:

  • Packages
  • Subsystems
  • Models

此文只詳細介紹類圖和時序圖。

3.類圖詳解:

1)構成形式:

image

舉一個例子:

image

2)內部類:

我們使用諸如下邊的方式表示內部類,定義在方法區

image

例如:

image

3)訪問描述符:

對於Java,我們用如下的符號表示訪問描述符:

image

我們在下圖詳細說明了各個訪問描述符的一些權限設定:

image

4)抽象類和方法:

在類中定義的沒有body 的方法稱爲抽象方法,至少有一個抽象方法的類是抽象類。使用斜體來描述:

image

5)異常:

使用虛線以及箭頭表示:

image

6)便籤(包含限制、註釋和代碼解釋):

只用這種dog-eared 的框框:

image

7)泛化:描述一種繼承關係。

image

8)接口:

和類表示差不多,在前邊加上<>,

image

9)實現:

這是描述接口和具體實現的方式,有兩種表示方法:

image

或者:

image

10)依賴:

描述源和目的組件之間存在依賴關係,也就是說,一旦target有變,source就必須改變,而不是反之,看下邊的例子。

image
Order類利用DBUtil類的execute方法調用SQL語句,所以Order類依賴於DBUtil(DBUtil爲target)

11)類關聯:

多重性(Multiplicity ),修飾符暗示着實例之間的關係。一個類的一些實例與另一個類的實例有關,下圖是表示多重性的一些符號:

image

下邊有三種:

a)Navigability:當A包含有到達B的必須信息,也就是說A知道B,但是B不知道A。如下圖:

image

LogAbstraction 裏面有LoggerBridge類的實例。

當然這樣的也可能是雙向的,

b)Composition:類A包含類B

image

這個圖表達兩點意思:

A line item is part of an order.

A line item cannot exist without an order.

c)Aggregation:聚合,較之b更加輕量一些,

image

這個圖有兩點意思:
A Player is part of a Team.

A Player can be part of more than one Team and hence, when a Team
is dissolved, the Player still remains.

4.時序圖詳解:

1)時序圖對象:由類型和它前邊的冒號表示:

image

2)消息:

時序圖對象之間的通信,一般的,消息都是映射到類操作上的,若是並不是和類進行互動的話,比如一個用戶與ATM取款機的操作,那麼直接使用這樣的消息就不合適了。消息也可以表示business工作流。

image

3)自我調用:
時序圖對象作用於自身的一種消息,

image

我們在下邊舉一個綜合的時序圖小例子:

image

一個用戶在線先填寫註冊表單,所有提交的信息都先被Controller對象接收,Controller創建對象Account,並且把信息都存入Account對象,Account對象創建並且使用DBManager 將數據保存到數據庫中(使用自我調用)。 

發佈了2 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章