软件工程之系统建模篇【设计接口类模型】
本文介绍接口类模型的设计过程。接口类模型描述系统活动者与系统交互的界面,接口类位于系统结构的表示服务层,接口类模型用类图和包图描述。首先简要介绍接口类模型的设计方法,然后设计子系统的类图,最后设计系统及子系统的包图。
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包。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?