• 沒有找到結果。

但不包含不同套件的子類別。

23

圖 15 類別圖(本研究整理)

類別圖可以分成三個區格(compartment),最上層的部分是類別名稱,中間是類別的 變數;最下層是類別的方法。變數跟方法前的符號為存取修識子(access modifier),稱為 可見度(visibility)。每個修識子都有不同的存取權限範圍,如表 4 所示。

(Composition),一般關係(Generalization),分別說明如下:

(1).關聯關係:表示類別之間靜態的概念性關係,意味著一類別之

物件知道另一類別之

- - 24

物件的存在,或是使用另一類別之物件的服務。在每

個關連端點可以用如 1、* 和 0..*(表示沒有或多個)等等的符號表示出它們彼此間的多重性。

關聯關係有兩種特定變異,一種是聚合關係(aggregation),一種是合成關係

(composition)。前者是關係比較強的結合關係,屬於成品和零件(Whole-part)的類別關 係,使用空心菱形的實線表示「同性質」的關係(a kind of),如圖16所示。

圖 16 關聯關係(Whole-part)

上述car類別的wheel類別,wheel類別是通用零件,所以相同的車輪可以使用在其他 車上。

後者是關係最強的關聯關係,表示一種專屬零件,使用實心菱形的實線來表示「部 份」(a part of)的關係,如圖17所示。

圖 17 關聯關係(a part of)

上述car類別的door類別,每一種車一定擁有車門,而且車門是一種專屬零件,並不 能用在其他車輛上。所以由上可知道組合關係跟聚合關係主要差異為聚合關係的零件則 是可以使用在其他成品的通用零件;組合關係的零件是只能使用在成品的專屬零件。

(2).一般化關係::::指的是繼承關係,是一般性的類別(稱為父類別)與某些特定性 質的類別(稱謂子類別)之間的關係,使用空箭頭的實線從子類別指向父類別,。其典 型例子是企業中的“個人顧客”、

“公司顧客”,兩者之間並不相同,但有許多的相似 的特性,可以放在一般性“顧

客”的類別裡,如圖18所示。

car door

car wheel

- - 25

圖 18 關聯關係(一般化關係)

(3).相依關係:使用虛線箭頭表示的一種非常弱的結合關係。當一個類別相依其他類別 時,而且被使用類別的改變可能會影響到使用它的類別,反之則不必然成立。

3. 物件圖:

物件圖類似類別圖,可以表示某特定時間的點的物件關係。其差別為顯示物件實例

(instance),而不是類別,如圖 19 所示。

圖 19 物件圖(本研究整理) 4. 順序圖&合作圖:

順序圖是以時間軸顯示物件之間的訊息傳遞;合作圖是以空間的角度顯示物件的之 間傳遞的路徑。彼此之間可以互相轉換。它包含以下元素:

(1). 物件:

個人顧客 公司顧客

顧客

- - 26

以方框表示,在物件完整名稱“:”冒號前是物件名稱,之後是類別名稱。

(2). 生命線(Lifeline)& 活期棒(Activation Bar):

物件方框下的垂直虛線下是生命線,中間窄長方形稱為活化期棒,表示物 件存活的時間。

(3). 訊息(Message):

表示物件之間所進行的溝通,表示從一個物件的生命線到另外ㄧ個物件的生命線,

可以讓接收的物件進入活化期棒執行所需的操作。

以下圖 20 來說明:玩家 Y 要登入某ㄧ遊戲系統時,在輸入的名稱、角色以及參數 設定之後送出訊息給 HTML 物件,HTML 物件送出訊息給 Servlet 物件,對 Y 所輸入的 名稱、角色以及參數設定做合法性的確認,看是否輸入有錯誤,若沒有錯誤,Servlet 就會回傳正確訊息回傳給 Y 玩家。如果確認有誤,就會回傳警告的訊息,要求 Y 玩家 重新輸入。

- - 27

圖 20 順序圖

5. 狀態圖:

狀態圖是用來描述物件生命週期的事件與狀態轉換,狀態因為事件而改變,並且會 影響下來的操作。以圖 21 來說明:

yong:Player HTML:view Servlet:Controller Player Role:Model

Failure on login

Enter name and role +initial settings

Send information

Check for validity

Present status Pass status information

Validity Success

Insert initial settings

Enter name and role +initial settings

Send information

Check for validity

Send alert message for relogin Validity failure Present Relogin screen

- - 言之就是統一塑模語言的流程圖。以下圖來說明:下圖有兩個活動區(Swimlane),分別屬 於 Player 和 System 兩個角色的活動,玩家登入後,系統就會檢查玩家登入的帳號跟密碼是 否吻合,若吻合則顯示決策表,玩家在填完決策表後,系統就會檢查其決策表的資料是否 合法,若合法就會預先調整其系統的狀態(如定時器等),接著系統會問玩家是否要查看決 策表的摘要,最後玩家可以決定是否繼續,若否就會離開遊戲,反之則回到決策表,讓玩 家再做下一個決策。

Enter username Enter password

Rejecting validating Display error

message Retry

username/pwd Input username

submit

Login Cancel/Quit

Move to pwd

Move to username

- - 29

圖 22 活動圖[12]

Player:<Actor Name> System

Login

Check login details

Present Decision form Fill Decision

form

Check for validity of decision

Preset Updated status

View Summary

Updated period

Quit Game [No]

[Yes]

Success?

[Yes]

[No] Valid?

View Summary?

[Yes]

[No]

[No]

[Yes]

Continue?

- - 30

7. 元件圖:

元件圖可以提供系統的實際觀點,可以顯示組成軟體系統元件之間的相依關係,並 描述各元件的組織架構。如圖 23 所示:

圖 23 元件圖 [2]

上述元件包含 JDBC,Reporting Tool,Best Seller Services 和 Servlet 共四個元 件。Reporting Tool 元件同時相依於其他三個元件。

8. 部署圖:

部署圖則是顯示系統如何部署在電腦軟體系統的環境,可顯示電腦系統和周邊設備 上軟硬體的環境。

圖 24 部署圖[3]

- - 31

上圖24說明個人電腦透過網際網路向伺服器請求一些資訊的示意圖。Client 透過 TCP/IP協定連上Application server,Application server從資料庫裡搜尋資料,再將結果回 傳給Client。

- -

相關文件