本文介紹介面類模型的設計過程。介面類模型描述系統活動者與系統互動的界 面,介面類位於系統結構的表示服務層,介面類模型用類圖和包圖描述。首先簡 要介紹介面類模型的設計方法,然後設計子系統的類圖,最後設計系統及子系統 的包圖。
1、設計方法
設計介面類模型,首先要識別出介面類,再識別出介面類之間的關係。介面類 是應用程式的“可視區”,也是系統與外界的隔離層。介面類可以用 用例去識別,用例驅動介面類設計。使用者介面直接與用例相連,使用者是通過使用者 介面發起和終止用例的。由於使用者介面直接面向使用者,設計過程中要反覆與使用者 商量,充分理解使用者的要求,將用例映射到使用者介面時,要根據使用者的需要對用 例進行適當的組合。介面類的關係有兩種:一是組成關係,二是依賴關係。一個 特定的視窗是用許多構件組成的,視窗與構件之間就是組成關係,一個視窗進入 另一個視窗,這兩個視窗之間就是依賴關係。
2、類圖
我們從高層視窗識別出系統執行個體的介面類,然後畫出系統主視窗的介面類圖。 我們以OA系統中的發文辦理介面類作為樣本,我們在“軟體工程之系統建模 篇【設計實體類模型】” 已經識別出7個用例:新擬發文、修改發文、審核 發文、複核發文、簽發發文、分發發文、送發文至檔案室。在發文辦理菜單中, 可以定義7個功能表項目與這7個用例對應,系統主視窗介面類圖如下圖所示,並為 MenuSFile類(發文辦理菜單)定義如下8個操作。
create() 建立發文辦理菜單
createSFile() 當選擇【新擬發文】功能表項目時,該操作被調用
changeSFile() 當選擇【修改發文】功能表項目時,該操作被調用
auditSFile() 當選擇【審核發文】功能表項目時,該操作被調用
checkSFile() 當選擇【複核發文】功能表項目時,該操作被調用
signSFile() 當選擇【簽發發文】功能表項目時,該操作被調用
enreSFile() 當選擇【分發發文】功能表項目時,該操作被調用
sendSFile() 當選擇【送發文存檔】功能表項目時,該操作被調用
通過分析發文辦理介面類之間的關係都是依賴關係,即MenuSFile類依賴 FrmDraftSFile、FrmSFileList、FrmAuditSFileList、FrmCheckSFileList、 FrmSignSFileList、FrmEnreSFileList和FrmSendSFile,FrmSFileList依賴於 FrmDraftSFile類,FrmAuditSFileList依賴於FrmAuditSFile類, FrmCheckSFileList依賴於FrmCheckSFile類,FrmSignSFileList類依賴於 FrmSignSFile,FrmEnreSFileList類依賴於FrmEnreSFile類。