|
|
统一建模语言 (UML) 简介 |
来源:GeeksforGeeks 翻译: Alice (火龙果软件) |
925 次浏览 |
1次 |
|
|
统一建模语言 (UML) 是一种通用建模语言。UML 的主要目的是定义一种标准方法来 可视化 系统的设计方式。它与其他工程领域中使用的蓝图非常相似。
UML 不是一种编程语言 ,而是一种可视化语言。我们使用UML图来描绘系统 的行为和结构 。UML帮助软件工程师,业务人员和系统架构师进行建模,设计和分析。对象管理组(OMG)于1997年采用统一建模语言作为标准。从那以后,它一直由OMG管理。国际标准化组织(ISO)于2005年将UML作为批准的标准发布。UML多年来一直在修订,并定期进行审查。
我们真的需要UML吗?
- 复杂的应用程序需要多个团队的协作和规划,因此需要一种清晰简洁的方式来在他们之间进行沟通。
- 业务人员不懂代码。因此,UML对于与非程序员沟通系统的基本要求,功能和流程变得至关重要。
- 当团队能够可视化流程、用户交互和系统的静态结构时,可以节省大量时间。
UML与 面向对象的 设计和分析相关联。UML 使用元素并在它们之间形成关联以形成图表。UML 中的图表大致可分为:
- 结构图 – 捕获系统的静态方面或结构。结构图包括:组件图、对象图、类图和部署图。
- 行为图 – 捕获系统的动态方面或行为。行为图包括:用例图、状态图、活动图和交互图。
下图显示了根据 UML 2.2 的图表层次结构
![](images/uml_diagram-1.png)
UML 中使用的面向对象概念 –
- Class – 类定义蓝图,即对象的结构和功能。
- Objects
– 对象帮助我们分解大型系统,并帮助我们模块化系统。模块化有助于将我们的系统划分为可理解的组件,以便我们可以逐个构建我们的系统。对象是用于描述实体的系统的基本单元(构建块)。
- Inheritance – 继承是子类继承其父类的属性的一种机制。
- Abstraction – 对用户隐藏实现详细信息的机制。
- Encapsulation – 将数据绑定在一起并保护它免受外部世界的影响称为封装。
- Polymorphism – 功能或实体能够以不同形式存在的机制。
UML 2.0 中的新增功能 –
- 敏捷等软件开发方法已被纳入,原始UML规范的范围也已扩大。
- 最初 UML 指定了 9 个图。UML 2.x 将图表的数量从 9 个增加到 13 个。添加的四个图是:时序图,通信图,交互概述图和复合结构图。UML 2.x 将状态图重命名为状态机图。
- UML 2.x增加了将软件系统分解为组件和子组件的功能。
结构 UML 图 –
- 类图 – 使用最广泛的 UML 图是类图。它是所有面向对象的软件系统的构建块。我们使用类图通过显示系统的类、它们的方法和属性来描述系统的静态结构。类图还可以帮助我们识别不同类或对象之间的关系。
- 复合结构图 – 我们使用复合结构图来表示类的内部结构及其与系统其他部分的交互点。复合结构图表示部件及其配置之间的关系,这些配置决定了分类器(类、组件或部署节点)的行为方式。它们表示使用部件、端口和连接器的结构化分类器的内部结构。我们还可以使用复合结构图对协作进行建模。它们类似于类图,只是与整个类相比,它们详细表示各个部分。
- 对象图 – 对象图可以称为系统中实例的屏幕截图以及它们之间存在的关系。由于对象图描述了对象实例化时的行为,因此我们能够研究系统在特定时刻的行为。对象图类似于类图,不同之处在于它显示系统中类的实例。我们描述了实际的分类器及其使用类图的关系。另一方面,对象图表示类的特定实例以及它们在某个时间点之间的关系。
- 组件图 – 组件图用于表示系统中的物理组件的组织方式。我们使用它们来建模实现细节。组件图描述了软件系统元素之间的结构关系,并帮助我们了解计划开发是否涵盖了功能需求。当我们设计和构建复杂系统时,组件图变得必不可少。系统组件使用接口相互通信。
- 部署图 – 部署图用于表示系统硬件及其软件。它告诉我们存在哪些硬件组件以及在其上运行哪些软件组件。我们将系统架构说明为软件工件在分布式目标上的分布。工件是由系统软件生成的信息。它们主要用于在具有不同配置的多台计算机上使用、分发或部署软件的情况。
- 封装图 – 我们使用包图来描述包及其元素的组织方式。包图只是向我们展示了不同包之间的依赖关系和包的内部组成。包可以帮助我们将UML图组织成有意义的组,并使图易于理解。它们主要用于组织类图和用例图。
行为图 –
- 状态机图 – 状态图用于表示系统或系统的一部分在有限时间实例中的状况。这是一个行为图,它使用有限状态转换来表示行为。状态图也称为状态 机 和 状态图 。这些术语通常可以互换使用。简单地说,状态图用于模拟类响应时间和不断变化的外部刺激的动态行为。
- 活动图 – 我们使用活动图来说明系统中的控制流。我们还可以使用活动图来引用执行用例所涉及的步骤。我们使用活动图对顺序和并发活动进行建模。因此,我们基本上使用活动图直观地描绘工作流。活动图侧重于流动的条件及其发生的顺序。我们使用活动图描述或描述导致特定事件的原因。
- 用例图 – 用例图用于描述系统或系统的一部分的功能。它们被广泛用于说明系统的功能需求及其与外部代理(参与者)的交互。用例基本上是一个表示可以使用系统的不同场景的图表。用例图为我们提供了系统或系统的一部分所做工作的高级视图,而无需涉及实现细节。
- 序列图 – 序列图只是按顺序描述对象之间的交互,即这些交互发生的顺序。我们还可以使用术语事件图或事件场景来指代序列图。序列图描述了系统中对象的运行方式和顺序。这些图表被商人和软件开发人员广泛用于记录和理解新系统和现有系统的需求。
- 通信图 – 通信图(在UML 1.x中称为协作图)用于显示对象之间交换的顺序消息。通信图主要关注对象及其关系。我们可以使用序列图表示类似的信息,但是,通信图以自由形式表示对象和链接。
- 时序图 – 时序图是序列图的一种特殊形式,用于描述对象在时间范围内的行为。我们使用它们来显示时间和持续时间约束,这些约束控制着对象状态和行为的变化。
- 交互概述图 – 交互概述图对一系列操作进行建模,并帮助我们将复杂的交互简化为更简单的事件。它是活动和序列图的混合体。
|
925 次浏览 |
1次 |
|
|
|
|
|
|