本文介绍接口类模型的设计过程。接口类模型描述系统活动者与系统交互的界面,接口类位于系统结构的表示服务层,接口类模型用类图和包图描述。首先简要介绍接口类模型的设计方法,然后设计子系统的类图,最后设计系统及子系统的包图。
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类。
发文办理接口类图如下图所示:
3、包图
完成发文办理接口类图后,将发文办理接口类包UISFilePack划分成6个包UIDraftSFilePack、UIAuditSFilePack、UICheckSFilePack、UISignSFilePack、UIEnreSFilePack、UISendSFilePack包。