UML(Unified Modeling Language)即统一建模语言,它是一种用于支持软件系统开发过程中,进行模型化的语言。UML可以代表静态的、动态的、实现的以及构建的视图。其中最常用的即为UML图。UML图是对系统的不同方面进行描述和表示的一种视图,简洁且易于理解,使用UML图可以辅助开发者以及项目团队更好地掌握当前系统的状态,发掘系统中的问题并进行优化。UML图的共有13种类型。
首先,我们从UML图的静态图开始:
1. 类图(Class Diagram)
类图是用于描述类、接口以及它们之间的关系(继承、依赖、实现、关联等)的UML图。类图广泛应用于OO(Object-Oriented)分析、设计以及面向对象编程。
2. 对象图(Object Diagram)
对象图用于对类的实例与其相互之间的关系进行描述,是类图的实例化过程。对象图从一个更具体的角度描述系统,是在某个特定时间或场景中的对象状态展现形式。
3. 包图(Package Diagram)
包图是将类和其他相关构件组织到可视化的包中,用于表示软件工件和包之间的依赖关系。它可以为软件系统的模块和子系统提供清晰的视图,帮助开发者更好的进行软件结构设计。
接着,我们来看UML图的行为图:
4. 用例图(UseCase Diagram)
用例图是显示系统如何满足特定的业务需求的UML图。它定义了系统功能与其不同用户之间的交互,可以用于对不同用户需求的优先级进行分析,并在整个开发周期中与团队进行共享。
5. 活动图(Activity Diagram)
活动图展示了一组动作、对象以及他们之间的规则以及底层结构,通常用于描述业务流程图或者工作流。它是显示系统在不同场景下应该如何对待的有效方式。
6. 状态图(State Diagram)
状态图是描述某一对象在特定环境下经过一系列状态的UML图。它强调了对象状态的改变以及导致这些状态的条件和动作。
7. 序列图(Sequence Diagram)
序列图用于描述系统中对象之间的交互,它展现了一个或多个对象之间的消息传递序列,强调对象之间的通信。序列图通常用于描述系统的事件序列以及业务逻辑。
8. 通信图(Communication Diagram)
通信图强调了对象之间交互的结构,呈现了系统中的对象、消息传递以及消息序列,通常被用于帮助开发者更好的了解系统交互模式。
再来看一下UML图的物理图:
9. 构件图(Component Diagram)
组件图展现了软件系统中各构件之间的关系,用于表示构件的物理组织以及与其他构件的协同。它被广泛用于分析和设计组件化系统。
10. 部署图(Deployment Diagram)
部署图展示了软件系统中如何部署在硬件资源上的UML图。它涉及硬件部件、软件组件以及它们之间的连接。
最后,我们来讲一下UML图的交互图:
11. 时序图(Timing Diagram)
时序图用于展示部分或全部对象之间传递消息的时间顺序,可用于强调事件发生的时间和持续时间。
12. 实时图(Interaction Overview Diagram)
实时图是一种可以被视为序列图、通信图、状态图和活动图的混合体,用于表示系统交互的全局概述。
13. 元件(Presentation Diagram)
元件图是一个结构图,它强调了系统的构成部分及其相互关系。
微信扫一扫,领取最新备考资料