Unified Modeling Language(UML)是 OMG 在1997年1月提出了创建由对象管理组和 UML1.0 规范草案。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言;UML作为一种模型语言,其关注建立产品的模型和结构,不关注选用什么程序语言和算法实现;UML日渐成为软件工程中一个强大的工具。
UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。尽管UML和其它开发工具还会设计出许多派生的视图,但上述这些图和其它辅助性的文档是软件开发人员所见的最基本的构造。其中:
用例图是从用户角度描述系统功能,并指出各功能的操作者,用来捕捉系统的动态性质。用例图从较高层次是用来捕捉系统的要求,因此它代表系统的功能和流向。
类图是使用面向对象的最流行的图例。它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。UML类图显示了一组类、接口、协作以及他们之间的关系。类图是讲问题域逐步转化成建模问题,通过类来建模,通过编程语言构建这些类从而实现系统。
对象图是类图的一个实例。对象图是由对象和链接,对象图用于原型设计,逆向工程和实际场景建模。
状态图是一个用于模拟系统的动态性质和生命周期。状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。
活动图是一般用来描述相关用例图,活动图是一种特殊的状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。
交互图包括序列图和协作图,交互图用于捕获系统的动态性质。序列图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。
组件图是用来描述一个系统的静态部署视图。这些图主要用于系统工程师。部署图是由节点和它们之间的关系。一个高效的部署图是应用软件开发的一个组成部分。
1.用例图:从用户角度描述系统功能,并指各功能的操作者。
2.静态图:包括类图,包图,对象图。
- 类图:描述系统中类的静态结构
- 包图:是包和类组成的,表示包与包之间的关系,包图描述系统的分层结构
- 对象图:是类图的实例
3.行为图:描述系统动态模型和对象组成的交换关系。包括状态图和活动图
- 活动图:描述了业务实现用例的工作流程
- 状态图:是描述状态到状态控制流,常用于动态特性建模
4.交互图:描述对象之间的交互关系
- 顺序图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
- 合作图:描述对象之间的协助关系
5.实现图:配置图:定义系统中软硬件的物理体系结构