UML图是面向对象分析及设计中的重要工具之一,是一种用于表示软件系统构成、行为和交互的图形化语言。它不仅可以给开发者提供视觉化的模型,更可以在软件开发过程中起到指导、帮助、调整和优化的作用,从而提高程序质量和开发效率。但是,不同的UML图有着不同的作用和应用场景,需要我们在具体使用时根据需求进行选择。本文将从多个角度来分析UML图的分类。
一、基本UML图的分类
基本UML图主要分为结构图和行为图两大类。
1.结构图
结构图主要用于描述软件系统的结构组成和静态关系。常见的结构图有类图、对象图、组件图、部署图和包图等。
- 类图
类图是描述类与类之间关系和属性、方法等信息的图。例如,它描述了在一个系统中对象是如何使用的以及对象之间如何交互的。类图可以用于描述房产中介在整个市场生态系统中与其它参与方的交互。
- 对象图
对象图是用于描述某一时刻系统中对象之间的关系和状态的图。它详细描述了一组特定的对象,当它们发送消息时的相互作用和当前的实例。例如,它可以描述在销售系统中初始购买参数数据存储在哪里。
- 组件图
组件图描述了组件的静态关系以及组合与装配。例如,它可以描述在导航应用程序中,一个组件如何实现路线规划并将其展现在界面上的物体上。
- 部署图
部署图描述了系统中硬件和软件部件之间的物理关系。它显示了构成系统的所有组成部分,这些部分如何执行相应的工作以及它们之间的连接等。例如,它描述了场景和办公室中使用的技术如何在各种硬件和软件中交互。
- 包图
包图用于描述包之间的依赖、包的组成和包之间的关系等。例如,包图可以描述一个复杂的ERP系统的内部模块之间的相互依赖关系。
2.行为图
行为图描述了组成系统的对象的动态行为,包括活动图、状态图、顺序图、通信图以及时间图等。
- 活动图
活动图用来描述系统中的业务流程,展示了业务处理的活动、传输、流程包含点的顺序以及条件。例如,它可以描述如何对上市企业的股票进行审计。
- 状态图
状态图是一种表现对象系统内某个对象的状态变化的图形化工具。例如,在订购系统中,状态图可以描述一个订单的状态如何变化,包括未付款、已付款、已处理、已取消等各种状态。
- 顺序图
顺序图用来描述对象之间的交互关系,特别是它们在运行过程中发送消息所遵循的顺序。例如,它可以描述如何购买书籍,包括选择书籍以及如何结算的。
- 通信图
通信图详细地描述了不同对象之间的交互。例如,它可以描述在一场现场表演中,执行人员和其他人员如何配合。
- 时间图
时间图通过在时间轴上绘制对象数据的状态来表示对象状态随时间的变化。例如,它通常用于描述某一天、某一周或更长时间范围内的活动。例如,在操作系统中,时间图可以用于描述操作系统启动过程中加载的驱动程序。
二、其他UML图的分类
除了基本UML图之外, 还有其他类型的UML图,需要根据具体需求来选择使用。
1.交互图
交互图通常用于描述对象之间的交互和协作细节。交互图分为时序图和合作图。
时序图描述了对象之间消息发送的时间顺序,通过显示对象之间的消息交换来描述系统的行为。例如,时序图可以描述如何建立TCP连接。
合作图描述了对象之间的消息通信方式,重点是展示对象如何协同工作。例如,它可以描述在购物车中如何选择商品并提交订单。
2.配置图
配置图描述了物理计算元素之间的拓扑信息以及所依赖的软件组件之间的物理部署关系。配置图用于处理系统领域和实际系统的技术实现之间的桥梁,例如,配置图可以描述如何将ERP系统部署到不同的服务器上。
3.用例图
用例图是系统的功能场景模型,用于描述系统的用例、参与者以及他们之间的关系。这种图表通常用于概述和定义系统的需求,例如,用例图可以用于描述如何使用ATM机。
4.活动图
活动图描述了参数系统运行时的活动,包括用户和系统之间的信息流。活动被定义为动作和状态之间的转换,例如,活动图可以描述如何在网上订购火车票。
微信扫一扫,领取最新备考资料