软件工程之系统建模篇【设计动态模型】
本章介绍动态模型的设计过程,系统实例的动态模型用序列图来描述,首先介绍选择序列图的理由,最后分别设计各个用例主路径的序列图。本设计结果将充实和完善系统结构的表示服务层、商业上下文服务层、商业规则服务层、数据转化服务层和数据访问服务层的内容。
1、选择序列图
UML以图的形式提供了4种动态模型:序列图、协作图、状态图和活动图,序列图和协作图都是交互图。序列图是描述对象如何交互的,其中最重要的是时间,由于序列图于用例路径有关,所以在大多数动态建模中都要用到它。协作图也是描述对象交付的,但侧重于对象空间的协作,协作图是序列图的“孪生兄弟”,在序列图和协作图中可以任选一个,状态图只有在一个类具有复制的动态特性时才有用,多用于实时应用程序,大多数应用程序不需要状态图。活动图描述活动序列,适合表单工作流和并发处理。序列图可以清楚地描述一个用例路径的实现步骤,所以在系统设计中用得最多,其他3个图只有在需要的时候才使用,在办公自动化系统实例中,只用序列图就可以满足设计动态模型的需要。一个用例路径用一个序列图来描述,序列图中的消息序列来自用例路径选用的对象序列来自类图。
2、选择序列图
我们以发文流程为例子,来讲解序列图的设计,新拟发文序列图如下:
【推荐】国内首个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如何颠覆传统软件测试?测试工程师会被淘汰吗?