一、uml是什么?有什么用?有哪些分类?
- UML是Unified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。
- 通过使用UML使得在软件开发之前, 对整个软件设计有更好的可读性,可理解性,从而降低开发风险。同时,也能方便各个开发人员之间的交流
- UML图分为结构图和行为图。
- 结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。
- 行为图又分活动图、用例图、状态机图和交互图。
- 交互图又分为序列图、时序图、通讯图、交互概览图。
二、各种uml图的介绍
静态图
1.对象图
2.类图
类图中,常见的有以下六种关系。
3.组件图/构件图
- 【概念】描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。
- 【目的】用来展示各个组件之间的依赖关系。
4.轮廓图/外廓图
5.组合结构图
6.部署图
- 【概念】描述了系统内部的软件如何分布在不同的节点上。
- 【目的】用来表示软件和硬件的映射关系。
7.包图
- 【概念】描绘了系统在包层面上的结构设计。
- 【目的】用来表示包和包之间的依赖关系。
- 《Use》关系表示使用依赖,Web Shopping依赖Payment
- 《Merge》关系表示合并,Web Shopping合并了Shopping Cart就拥有了Shopping Cart的功能
- 《Access》关系表示私有引入,比如代码中的指定包名类名
- 《Import》关系表示公共引入,比如Java中的import之后,就可以直接使用import包中的类了。
动态图
1.活动图
2.用例图
- 【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
- 【目的】用来描述整个系统的功能。
- 用例图中包含以下三种关系:
1. 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
2. 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能
3. 泛化关系《Generalization》,子用例继承父用例所有结构、行为和关系。
3.状态机图
4.序列图
- 【概念】序列图根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
- 【目的】通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
5.通讯图
- 【概念】描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。
- 【目的】用来显示不同对象的关系。
6.交互概览
7.时序图
- 【概念】时序图(Sequence Diagram)是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图中显示的是参与交互的对象及其对象之间消息交互的顺序。
- 【元素】时序图中包括的建模元素主要有:对象(Actor)、生命线(Lifeline)、控制焦点(Focus of control)、消息(Message)、alt、opt、par、loop等等。
1. Alternative fragment(denoted “alt”)与 if…then…else对应
2. Option fragment (denoted “opt”) 与 Switch对应
3. Parallel fragment (denoted “par”) 表示同时发生
4. Loop fragment(denoted “loop”) 与 for 或者 Foreach对应
▽1.贪吃蛇游戏uml对象图▽
▽2.贪吃蛇游戏uml类图▽
▽3.cmp商城uml构件图/组件图▽
▽4.数据库建模uml轮廓图/外廓图▽
▽5.借书系统uml组合结构图▽
▽6.应用程序uml部署图▽
▽7.网上商店uml包图▽
▽2.1贪吃蛇游戏uml活动图▽
▽2.2贪吃蛇游戏uml用例图▽
- 费用报销系统UML用例图
▽2.3订单处理uml状态图▽
▽2.4支付宝条码支付uml顺序图/序列图▽
- 贪吃蛇序列图
▽2.5线上书店uml通讯图▽
▽2.6图书借阅uml交互概览图▽
▽2.7系统登录uml时序/时间图▽
- ATM时序图