UML教程1:快速了解什么是UML和UML有什么用处

Posted 码农修练之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML教程1:快速了解什么是UML和UML有什么用处相关的知识,希望对你有一定的参考价值。

1.UML概述

1.1 UML简介

UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。

UML的定义包括UML语义和UML表示法两个部分:
(1) UML语义:
UML对语义的描述使开发者能在语义上取得一致认识,消除了因人而异的表达方法所造成的影响。
(2) UML表示法:
UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。

1.2 UML版本

UML1:是指UML规范1.1至1.5的所有版本;
UML2:是指UML规范2.0-2.5的所有版本。

1.3 UML模型图的构成

  • 事物(Things):
    UML模型中最基本的构成元素,是具有代表性的成分的抽象

  • 关系(Relationships):
    关系把事物紧密联系在一起

  • 图(Diagrams ):
    图是事物和关系的可视化表示

1.3.1UML事物

UML包含4种事物:构件事物 行为事物 分组事物 注释事物

1.3.1.1 构件事物

UML模型的静态部分,描述概念或物理元素,它包括以下几种:

  • 类:具有相同属性相同操作 相同关系相同语义的对象的描述

  • 接口:描述元素的外部可见行为,即服务集合的定义说明

  • 协作:描述了一组事物间的相互作用的集合

  • 用例:代表一个系统或系统的一部分行为,是一组动作序列的集合

  • 构件:系统中物理存在,可替换的部件

  • 节点:运行时存在的物理元素
    另外,参与者、信号应用、文档库、页表等都是上述基本事物的变体.

1.3.1.2 行为事物

UML模型图的动态部分,描述跨越空间和时间的行为,它包括以下几种:

  • 交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接

  • 状态机:描述事物或交互在生命周期内响应事件所经历的状态序列

1.3.1.3 分组事物

UML模型图的组织部分,描述事物的组织结构:

包:把元素组织成组的机制

1.3.1.4 注释事物

UML模型的解释部分,用来对模型中的元素进行说明、解释。
注解:对元素进行约束或解释的简单符号。

1.4 UML关系

1.4.1依赖

依赖(dependency)是两个事物之间的语义关系,其中一个事物(独立事物)发生变化,会影响到另一个事物(依赖事物)的语义。

1.4.2关联

关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象间的联系。

1.4.3泛化

泛化(generalization)是一种特殊/一般的关系。也可以看作是常说的继承关系。

1.4.4实现

实现(realization)是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约.

1.5UML图的分类

UML 2.5规范定义了两种主要的UML图:结构图和行为图。

  • 结构图
    显示了系统及其各个部分在不同抽象层和实现层上的静态结构以及它们如何相互关联。结构图中的元素表示系统的有意义的概念,可能包括抽象的,真实的世界和实现概念。

  • 行为图
    显示了系统中对象的动态行为,可以将其描述为随着时间的推移对系统进行的一系列更改

1.5.1 结构图(Structure Diagram)

1.5.1.1 静态图(Static Diagram)

  • 类图(Class Diagram)
    类图是显示一组类、接口、协作以及它们之间关系的图。

  • 对象图(Object Diagram)
    对象图是表示在某一时间点上一组对象以及它们之间的关系的图。

  • 包图(Package Diagram)
    包图是包和包之间的关系构成,是维护和控制系统总体结构的重要建模工具,用于描述系统的分层结构。

1.5.1.2 实现图(Implementation Diagram)

  • 组件图(Component Diagram)
    组件图描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。

  • 部署图(Deployment Diagram)
    部署图是一种展示运行时进行处理的结点和在结点上生存的制品的配置的图。

1.5.1.3 复合结构图(Composite Structure Diagram)

复合结构图显示类元内部结构,包括它与系统其他部分的交互点。也显示各部分的配置与关系,这些部分一起执行类元的行为。

1.5.1.4 制品图(Artifact Diagram)

制品图展示了一组制品及它们之间的关系。

1.5.2 行为图(Behaviour Diagram)

行为图强调系统模型中触发的事件。

1.5.2.1 活动图(Activity Diagram)

活动图显示从活动到活动的流。

1.5.2.2 状态图(State Machine Diagram)

状态图显示了一个状态机,它强调从状态到状态的控制流。

1.5.2.3 用例图(User Case Diagram)

用例图是表现一组用例、参与者以及它们之间关系的图。

1.5.2.4 交互图(Interaction Diagram)

交互图属于行为图形的子集合,强调系统模型中的资料流程。

  • 通信图(Communlcation Diagram)
    通信图是强调发送和接收消息的对象的结构组织的交互图。

  • 交互概述图(Interaction Overview Diagram)
    交互概述图是将活动图和顺序图嫁接在一起的图,可以看作活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对象控制流,也可以看作顺序图的变体,它用活动图来补充顺序图。

  • 时序图(Sequence Diagram)
    时序图显示对象之间的关系,强调对象之间消息的时间顺序,显示对象之间的交互。

  • 时间图(Timing Diagram)
    时间图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的时间和期限约束。

1.6 使用UML有什么好处坏处

在软件工程的各个阶段使用UML,至少有以下好处:

  • 能大幅度降低诸导致项目失败的风险,例如需求分析不明确、不到位、随意设计;

  • 逼迫团队认真思考,避免过分依赖过往经验,以及“跟着感觉走“;

  • 基于统一的标准,方便团队成员内部交流以及外部交流,避免自行其是、各有各的画图方法和文档标准;

  • 为软件开发提供设计图纸和指南,提高软件开发质量;

  • 能大幅度提高项目的文档质量和完整性;

  • 能方便项目负责人制定开发计划、人员组织、分工;

至于坏处,我认为最主要的问题是会增加时间成本,然而"鱼与熊掌不可兼得",如何解决这个问题,那就得看团队的智慧了,毕竟UML只是一个工具,合理运用才是关键。

文章推荐:







以上是关于UML教程1:快速了解什么是UML和UML有什么用处的主要内容,如果未能解决你的问题,请参考以下文章

为什么现在UML很少用了

UML的了解

带你认识UML

用visio2010怎么做UML流程图,我老是出现此uml形状所在的绘图页不是UML模型图的一部分什么的= =

uml图是啥

什么是uml