複製鏈接
請複製以下鏈接發送給好友

邊界類

鎖定
邊界類是一種用於對系統外部環境與其內部運作之間的交互進行建模的類。用於描述外部參與者與系統之間的交互,對系統中依賴於環境的那些部分進行建模
中文名
邊界類
解    釋
是一種用於對系統外部環境與其內部運作之間的交互進行建模的類
在系統分析階段將分析類分成三種類型:實體類、邊界類、控制類
邊界類用於描述外部參與者與系統之間的交互。識別邊界類可以幫助開發人員識別出用户對界面的需求。
邊界類
邊界類是一種用於對系統外部環境與其內部運作之間的交互進行建模的類。這種交互包括轉換事件,並記錄系統表示方式(例如接口)中的變更。
邊界類對系統中依賴於環境的那些部分進行建模。實體類控制類對獨立於系統外部環境的那部分進行建模。因此,如果更改 GUI 或通信協議,將只會更改邊界類,對實體類控制類則毫無影響。
由於明確了系統的邊界,邊界類能幫助人們更容易地理解系統。在設計時,它們為確定相關服務提供了一個好的起點。例如,如果在設計初期就確定了一個打印機接口,很快您即會發現您必須對打印輸出的格式也進行建模。
常見的邊界類有窗口、通信協議、打印機接口、傳感器和終端。如果您在使用 GUI 生成器,您就不必將按鈕之類的常規接口部件作為單獨的邊界類來建模。通常,整個窗口就是最精製的邊界類對象。邊界類還有助於獲取那些可能不面向任何對象的 API(例如遺留代碼)的接口。
您應該根據邊界類所表示的邊界類型來對邊界類建模。與其他系統進行通信和與人員主角進行通信(通過用户界面)在目的上大有不同。在用户界面建模中,最需要關注的是如何向用户顯示界面。而在系統通信建模中,最應關注的是通信協議。
邊界對象(即邊界類的一個實例)的生存期可以比用例實例的生存期更長。舉例來説,邊界對象必須在兩個用例執行之間的一段時間顯示在屏幕上時就符合這種情況。但是,通常情況下二者的生存期一樣長。
查找邊界類邊界類幫助系統接口與系統外部進行交互。邊界對象將系統與其外部環境的變更(與其他系統的接口的變更、用户需求的變更等)分隔開,使這些變更不會對系統的其他部分造成影響。
一個系統可能會有多種邊界類:
· 用户界面類 - 幫助與系統用户進行通信的類
· 系統接口類 - 幫助與其他系統進行通信的類
· 設備接口類 - 為用來監測外部事件的設備(如傳感器)提供接口的類
查找用户界面類 表示用户界面的邊界類可能在用户界面建模活動期間存在;只要合適,就可在此活動期間重複使用這些類。如果尚未進行用户界面建模,那麼下面進行的討論將有助於查找這些類。
每個用例主角對都至少有一個邊界類。可以認為此對象擔負着協調與主角之間的交互的職責。此邊界對象有一些輔助對象,邊界對象將它的某些職責委派給這些輔助對象。這對於基於窗口的 GUI 應用程序來説更是如此。在這些應用程序中,通常每個窗口或窗體都對應一個邊界類。
製作用户界面原型的草圖或者對之進行屏幕轉儲,藉此來展示邊界對象的行為和外觀。
僅對系統的核心部分建模,不要對 GUI 中的每個按鈕、列表和小部件都建模。分析的目的是要大致瞭解系統是如何構成的,而不是要設計每一個細枝末節。換句話説,您只需為系統中的一些現象或者在用例實現的事件流中提及的一些事物確定邊界類。另請參見指南:邊界類(用户界面建模)。
查找系統接口類 與外部系統通信的邊界類負責管理與外部系統的對話,它為正在構建的系統提供與該外部系統的接口。
示例:
在自動櫃員機中,提款必須通過 ATM 網絡(一個主角)得到驗證,然後該網絡再通過銀行會計系統對提款進行驗證。我們可以確定讓一個稱為 ATM 網絡接口的對象來提供與 ATM 網絡之間的通信。
與現有系統的接口可能已有明確定義。如果是這樣,即可從接口定義中直接推導出職責。如果已經有一個正式的接口定義,則可對它實施逆向工程,這樣就不必在此正式界定它。只需記下這一點,説明現有接口將在設計階段中複用。
查找設備接口類 系統中有些元素的行為使它們看起來象是外部元素(沒有受到系統中任何對象的影響就自發地改變值),例如傳感器裝置。儘管可以用主角來表示這類外部設備,但系統用户發現這樣做會造成一些“混亂”,因為這很可能造成對設備和真人主角“等同”對待。但是,一旦我們不再收集需求,我們就需要考慮所有外部事件的來源,並確保我們有辦法讓系統檢測這些事件。
如果在用例模型中用主角來表示設備,那麼對使用邊界類來幫助設備與系統通信這種做法驗證其合理性就很容易了。如果用例模型中沒有這些“設備主角”,正是添加它們的時機,同時還需在適當的地方對用例補充説明進行更新。
為每個“設備主角”創建一個邊界類,用來獲取該設備或傳感器的職責。如果設備已經有一個明確定義的接口,記下這一點,以便以後設計時引用它。