104年鐵路特考高員三級資訊系統與分析

二、中花機關的公文管理系統開發專案使用 UML 進行開發,目前在完成了使用案例 (Use Case) 之後,正在進行類別圖的發展工作。

()請問何謂類別圖?(10分)

()依據使用案例 (Use Case) 發展類別圖的步驟大致應如何進行?(15分)

答:

()類別圖

1.定義:

描述靜態資料結構與關係、抽象地表達建構系統的藍圖,並可以封裝來保護系統內部運作的細節與資訊,例如表達類別的屬性、操作與類別間連結的限制等。

2.四種基本元件:

類別 (class)、屬性 (attribute)、作業 (operation) 與關係 (relationship)

3.類別:

類別圖中的類別可分為實體類別 (Entity Class)、介面類別 (Interface Class) 及控制類別 (Control Class) 三種。

4.類別間的關係:

undefined

5.建構類別圖的步驟:

(1)確認類別、屬性與操作:

循序圖中的每個物件可對應至類別圖中的每個類別,循序圖中每個物件間傳遞的訊息應為訊息傳遞物件所屬類別的操作。

(2)確認類別間的關係。

(3)繪製類別圖。

()發展類別圖的步驟

1.確認類別與操作的準則:

若先完成循序圖,則類別圖中的類別來自於循序圖的物件;若先做類別圖,則找尋類別的方法與找尋物件的方法相同,需從使用個案描述中找出類別與操作。從已完成的循序圖中找尋類別與類別操作的準則如下:

(1)循序圖中的邊界物件、控制物件及實體物件分別對應到類別圖中的邊界類別、控制類別及實體類別。

(2)循序圖中每個物件間傳遞的訊息對應至訊息接受類別的操作。

原則上,類別圖的操作描述,主要描述系統的行為,應盡量避免描述其細部的程式邏輯,因為這些程式邏輯在設計階段經常會再修改。填表時,若名詞欄為類別,則在操作欄應記錄其相關的操作,並在備註欄中填入其參與的類別。

2.確認屬性的準則:

屬性一般都是名詞或名詞片語,可應用問題領域的專業知識及原始表單的資料項目來判斷。凡是描述一個類別需要具備的資訊、性質或特徵等項目都可能是類別的屬性。可以從以下幾個方向來確認屬性:

(1)使用個案描述中的形容子句與所有格子句。

(2)一般如何描述這個類別?

(3)一般描述中哪一個部分可以應用在這個問題領域中?

(4)介面類別中的屬性可從活動圖中的註記找出。

從這幾個方向確認屬性的過程中,可再根據以下的原則來檢視所找出的屬性是否適合:

(1)一個屬性是一個單元概念。

(2)屬性必須擷取與物件 (或是概念) 所在語意領域一致的特性。

(3)屬性在任何一個時問點上只有一個值。

(4)消除可以由基本屬性衍生計算而得的屬性。

(5)屬性必須是完整實體的特性,而非複合組件的特性。

找出屬性後,可依前述屬性與操作的可視性說明,設定屬性的可視性。

3.確認類別間的關係:

基本上,類別間之關係主要有相依、一般化、關聯與實現化等。找出類別間的關係可參考下列準則:

假設有兩類別之物件 A B,若存在下列情況,則物件 A B 間可能有關係。

(1)某一個類別會用到其他類別,且被使用的類別的改變可能會影響到使用它的類別,則這兩類別間可能有相依關係。另外可從循序圖中物件之間的互動找出相依關係,當循序圖中的物件之間有訊息傳遞,則兩物件所屬的類別之間就會有相依關係。

(2)某一類別 (稱為次類別或子類別) 僅具有另一類別 (稱為超類別或父類別)的某些特定性質,例如屬性與操作,則這兩類別間可能建立一般化的關係。

(3)某一類別的物件知道另一類別的物件的存在,或某一類別的物件使用到另一類別的物件的服務,但不是擁有此服務或訊息 (或彼此間有訊息的溝通),則這兩類別間可能建立關聯關係。

(4)在關聯關係中,若某一方由另一方聚集而成,也就是有整體與其組件的關係,則兩者之間的關係可能是聚集或組合。

(5)在關聯關係中,若兩類別間的關係為多對多關係,則需於關聯上建立關聯類別,由兩類別中找出需由兩類別的資料共同唯一決定的屬性作為關聯類別的屬性。

(6)若某一類別的行為是由另一類別來描述,則這兩類別間可能建立實現化關係。

若類別之間有關聯關係,則需進一步分析有多少個案例參與該關聯關係。分析時,基本上須藉由該問題領域的專業知識或資料歸納等來判斷物件參與關聯關係的案例數目,以決定關聯關係的基數為一對一、一對多或多對多等。

4.繪製類別圖:

(1)可分為繪製各使用個案的類別圖與總類別圖兩部分。在物件結構塑模的過程中,是先以一個使用個案為單位,找出該使用個案的類別、類別屬性與操作後建構各使用個案的類別圖,最後再整合各使用個案中類別、各類別屬性和操作以及類別間關係的資訊,建構總類別圖

(2)然而,一個類別可以參與一個或多個使用個案,且同一類別在不同的使用個案可能有不同的特徵或行為,也就是其屬性與操作可能不同,因此在繪製總類別圖時,可採用類別與使用個案對照表將該類別分散在不同使用個案的屬性與操作彙整在一起。

(3)為便於屬性與操作的彙整,可使用類別與使用個案對照表 (如下表)橫軸表示系統所有的使用個案縱軸記錄所有的類別,逐一分析每一個類別參與哪幾個使用個案,並在其相對應的座標格填入「*」。

使用個案

類別

新增訂購項目

修改訂購數量

刪除訂購項目

取消採購訂單

確認採購訂單

便當袋資料

客戶資料

 

 

 

 

訂單資料

 

 

 

 

便當資料

 

 

 

※參考資料:吳仁和、林信惠-系統分析與設計第六版 p.443~p.447

arrow
arrow
    文章標籤
    資訊系統與分析
    全站熱搜
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()