系统架构设计专业技能 · 软件工程之UML建模设计

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

点击进入系列文章目录

系统架构设计高级技能 · 软件工程之UML建模设计

一、需求分析 - UML图

二、用例图

2.1 用例图相关关系(包含、扩展、泛化)

包含关系(必然的): 其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。

扩展关系(可选的): 如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。

泛化关系(父子): 当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。

2.2 用例图

  • 用例图描述一组用例、参与者及它们之间的关系。
  • 用户角度描述系统功能;
  • 参与者是外部触发因素;
    (包括用户、组织、外部系统,时间)
  • 用例是功能单元。

关系包括:包含关系、扩展关系、泛化关系

用例建模的流程:
识别参与者(必须)
合并需求获得用例(必须)
细化用例描述(必须)
调整用例模型(可选)

三、类图与对象图

3.1 类图与对象图相关关系(依赖、泛化、关联(聚合/组合)、实现)


3.2 类图与对象图

类图(class diagram) : 类图描述一组类、接口、协作和它们之间的关系。

对象图(object diagram) : 对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

类名,方法名,属性名
多重度(对应关系数1、0...*)
关系

四、顺序图(序列图)

顺序图(sequence diagram, 序列图) 。顺序图是一种交互图(interaction diagram)它强调对象之间消息发送的顺序,同时显示对象之间的交互。

五、通信图(协作图)

通信图(communication diagram) 。通信图也是一种交互图, 它强调对象之间存在的消息收发关系,而不专门突出这些消息发送的时间顺序。

六、状态图

状态图(state diagram) 是对类描述的补充。用于展现此类对象所具有的可能状态,以及某些事件发生时其状态转移情况。

在订单处理的过程中,会员可以点击"取消订单"取消该订单。如果 支付失败 ,该订单将被标记为 挂起状态 ,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。订单支付成功后,系统判断订单类型:

(1)对于常规订单,标记为 备货状态 ,订单信息发送到货运部,完成打包后 交付快递 发货;

(2)对于定制订单,会自动进入 定制状态 ,定制完成后 交付快递 发货。会员在系统中点击" 收货 "按钮变为 收货状态 ,结束整个订单的处理流程。

七、活动图

活动图(activity diagram) 是一种特殊的状态图。活动图描述一个操作中要进行的各项活动的执行流程。同时,也常被用来描述一个用例的处理流程或者某种交互流程。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。它强调对象间的控制流程。

活动图与流程图的区别是可以并行。

八、定时图

定时图 也叫计时图,也是一种交互图,用于展示交互过程中的真实时间信息,具体描述对象状态变化的时间点以及维持特定状态的时间段。

九、构建图与包图

构件图(component diagram) 。构件图描述一个封装的类和它的接口、端口, 以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。

包图 ,包的图标像是一个带标签的文件夹,包的基本思想是把共同工作的元素放到一个文件夹中。例:多个类或构件组成了一个子系统,就可以将它们放到一个包中。

十、部署图

部署图(deployment diagram) 。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。


点击进入系列文章目录

相关推荐
2501_916589452 小时前
Excel 批量处理BatchXLS批量替换一键更新,告别逐个修改
电脑·软件工程·开源软件
小马哥编程2 小时前
【iSAQB软件架构】架构决策记录-ADR
数据库·架构·系统架构·设计规范
Mr_Xuhhh10 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构
麦兜*21 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
2501_916589451 天前
棱光 PDF 工具箱:水印管理 + 格式转换 + 批量处理提升效率
电脑·软件工程·开源软件
卿着飞翔1 天前
系统架构设计师论文分享-论软件过程模型及应用
系统架构
文哥工具箱21 天前
免费文件管理 智能转换GC-Prevue:PDF 转 Word 多种格式 一键完成
电脑·软件工程·开源软件
张较瘦_1 天前
[论文阅读] 人工智能 + 软件工程 | 软件架构中自然问题主动辅助研究:从挑战到解决方案
论文阅读·人工智能·软件工程
世冠科技1 天前
第2期汽车模型数字工程沙龙,世冠科技分享汽车控制系统开发国产应用
科技·汽车·软件工程·工业软件·仿真系统
雾江流1 天前
LinkAndroid 0.6.0 | 支持多部手机同时连接的全能手机投屏工具
智能手机·软件工程