領域分析:
· 將領域概念用專業術語進行建模
· 領域模型是對領域內的概念類或現實世界中對象的可視化表示。
領域模型:
· class diagram 類圖 java
ClassName |
Public class ClassName |
Attributes |
Fields |
Behaviors |
Methods |
可見性:+“public” -“private” #“protected”
類之間的關係relation:
依賴dependence:假設A類的變化引起了B類的變化,則說名B類依賴於A類
在UML中,依賴關係用帶箭頭的虛線表示,由依賴的一方指向被依賴的一方。
關聯association:類之間的聯繫,如客戶和訂單,每個訂單對應特定的客戶,每個客戶對應一些特定的訂單,再如籃球隊員與球隊之間的關聯(下圖所示)。
1) 雙向關聯: 默認情況下,關聯是雙向的。
2 ) 單向關聯:類的關聯關係也可以是單向的,單向關聯用帶箭頭的實線表示.
3) 自關聯: 在系統中可能會存在一些類的屬性對象類型爲該類本身,這種特殊的關聯關係稱爲自關聯。
4) 重數性關聯: 重數性關聯關係又稱爲多重性關聯關係(Multiplicity),表示一個類的對象與另一個類的對象連接的個數。在UML中多重性關係可以直接在關聯直線上增加一個數字表示與之對應的另一個類的對象的個數。
表示方式 |
多重性說明 |
1..1 |
表示另一個類的一個對象只與一個該類對象有關係 |
0..* |
表示另一個類的一個對象與零個或多個該類對象有關係 |
1..* |
表示另一個類的一個對象與一個或多個該類對象有關係 |
0..1 |
表示另一個類的一個對象沒有或只與一個該類對象有關係 |
m..n |
表示另一個類的一個對象與最少m、最多n個該類對象有關係 (m<=n) |
繼承inheritance:描述父類與子類之間的關係,父類又稱作基類或超類,子類又稱作派生類
聚合aggression:表示的是整體和部分的關係,整體與部分可以分開.
在UML中,聚合關係用帶空心菱形的直線表示。
Patron |
- tel_No: String - pwd: String
|
+ order Meal(payOption:int,delivery location:String,……):boolean
|
分析:
1.頭腦風暴:通過用例做領域建模,按用例找名詞n(域),動詞v(關係)、num、has
,is-a
2.classfying分類
3.group 分組
4.draw CD 畫類圖
UC1 Order meals |
Type |
Cafeteria Patron Company location PDS
Verified Delivered Picked up
|
C(CLASS) A(attribute)
V(value) AS(association)
|
Class Name |
Fields |
Super Class |
Relevant Classes |
Patron |
|
Employee |
Order(patron 、meal) Pay(patron、meal order) |
Menu |
|
|
Has-a(menu、food items) |
|
|
|
|
|
|
|
|