UML中邊界類、控制類和實體類

原文鏈接

UML類的分類

(1). 邊界類(Boundry Class);
(2). 實體類(Entity Class);
(3). 控制類(Control Class);

  • 邊界類
    (1).用來描述什麼問題?
    邊界類用於描述外部參與者與系統之間的交互
    邊界類是一種用於對系統外部環境與其內部運作之間的交互進行建模的類。這種交互包括轉換事件,並記錄系統表示方式(例如接口)中的變更。
    (2).可以帶來什麼好處?
    識別邊界類可以幫助開發人員識別出用戶對界面的需求
    (3).如何理解邊界類
    邊界類位於系統與外界的交界處,窗體、報表、以及表示通訊協議的類、直接與外部設備交互的類、直接與外部系統交互的類等都是邊界類

通過用例圖可以確定需要的邊界類,每個Actor/Use Case對至少要一個邊界類,但並非每個Actor/Use Case對要唯一的邊界類。

  • 實體類

實體類主要是作爲數據管理和業務邏輯處理層面上存在的類別

實體類的主要職責是存儲和管理系統內部的信息,它也可以有行爲,甚至很複雜的行爲,但這些行爲必須與它所代表的實體對象密切相關。

實體類保存要放進持久存儲體的信息。持久存儲體就是數據庫、文件等可以永久存儲數據的介質。
實體類可以通過事件流和交互圖發現。通常每個實體類在數據庫中有相應的表,實體類中的屬性對應數據庫表中的字段。
  實體類是用於對必須存儲的信息和相關行爲建模的類。實體對象(實體類的實例)用於保存和更新一些現象的有關信息,例如:事件、人員或者一些現實生活中的對象。

  • 控制類

(1).用來描述什麼問題?
控制類用於描述一個用例所具有的事件流控制行爲,控制一個用例中的事件順序
(2).如何理解控制類?
控制類是控制其他類工作的類。每個用例通常有一個控制類,控制用例中的事件順序,控制類也可以在多個用例間共用。其他類並不向控制類發送很多消息,而是由控制類發出很多消息。
5.應用舉例
例如:考試系統中當學生在考試時 ,學生與試卷交互, 那麼學生和試卷都是實體類,而考試時間,規則,分數都是邊界類,當考試完了將試卷提交給試卷保管者,則試卷則成了邊界類。
6.總結
1.邊界類,描述外部與系統內部交互的類;
2.控制類,控制其他類;


原文
● 邊界類用於系統與角色之間的交互,包括從用戶和外部系統接收信息和請求。
● 邊界類爲依賴於角色的系統部分建模,解釋和彙集系統邊界需求,這樣用戶界面的
● 變化通常被隔離在一個或多個邊界類上。邊界類經常代表窗口、表單、交互界面等,
● 它描述交互所能得到的結果而不是交互的物理實現 邊界類包括主窗體類、查詢窗體類、表單錄入窗體類、自動彈出窗體類、物資
● 查詢窗體類、庫存事物處理查詢窗體類等
控制類可以認爲是處理業務邏輯、控制業務流程的類

實體類是用於描述數據結構的類

原文鏈接
在ROSE建模裏有一種劃分類的方式“邊界類”“實體類”“控制類”。

  • 邊界類
    邊界對象的抽象,通常是用來完成參與者(用戶、外部系統)與系統之間交互的對象,例如:From、對話框、菜單、接口等。
  • 控制類
    控制對象的抽象,主要用來體現應用程序的執行邏輯,將其抽象出來,可以使變化不影響用戶界面和數據庫中的表。
  • 實體類
    實體對象的抽象,通常來自域模型(現實世界),用來描述具體的實體,通常映射到數據庫表格與文件中。

分析模型實例

邊界類:
CommandWindow 負責接受用戶輸入的命令並向用戶顯示命令結果
控制類:
LightInductorControl 負責與“航標燈器”感應器通訊,獲取航標燈器當前數據
RadarResponderInductorControl 負責與“雷達應答器”感應器通訊,獲取雷達應答器當前數據
GPSDeviceControl 負責與“GPS定位設備”感應器通訊,獲取當前位置
實體類:
LightState 負責存儲航標燈器狀態數據
RadarResponderState 負責存儲雷達應答器狀態數據
GPSState 負責GPS定位數據

設計模型實例

將不同的Control抽象成一個工廠類,這樣就可以根據用戶輸入的命令來創建相應的Control,同時有良好的擴展性,用JDBC來實現命令執行結果的存儲。
用處:在RUP中,這三個版型用戶幫助分析需求,起到幫助分析人員思考的作用,通過明確區分這三種分析類,有助於清楚地在分析模型中準確地描述需求。
我個人認爲這種分法和我們之前瞭解的MVC相對應,MVC是一種架構模式,而這些類是這種架構的具體體現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章