软件工程 UML 10种图

1 UML简介

统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。‘UML感兴趣的可以阅读UML 1规 范,包含了UML 的所有知识内容。

2 UML常见图分类

UML从考虑系统的不同出发,定义了、、、、、、、、10种图。

分类:
面向,用于建立行为的实体间行为:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“,“活动图”是“状态图”的一种。

  • 静态结构图Static Structure Diagram
    类图
    对象图
    用况图
  • 交互图Interaction Diagram
    顺序图
    协作图
    状态图
    活动图Activity Diagrams
  • 实现图Implementation Diagrams
    构件图
    部署图

3 用况图(用例)

用例图,展现了一组以及它们之间的关系。
用例图从用户角度描述系统的静态使用情况,用于建立。(用于需求分析)

  • 参与者(Actor)
      在系统外部与系统直接交互的人或事物。需要注意以下两点:
      1)参与者是角色而不是具体的人(可以是),它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。
      2)参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。

在UML中,参与者使用如图所示的一个小人表示:

子系统(Subsystem)
用来展示系统的一部分功能,这部分功能联系紧密。

4 类图

在中,常见的有以下: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

  1. (Generalization)
    【泛化关系】:是一种,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
    【箭头指向】:带三角箭头的实线,箭头指向父类

实现类的继承关系

  1. 关联(Association)
    【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
    【代码体现】:成员变量
    【箭头及指向】:带普通箭头的实心线,指向被拥有者

  1. 聚合(Aggregation)
    【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。如车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在。
    聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
    【代码体现】:成员变量
    【箭头及指向】:带空心菱形的实心线,菱形指向整体

各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
下面这张UML图,比较形象地展示了各种类图关系:

5 其他辅助用图

时序图(顺序图)

时序图别称为顺序图、序列图,在我的大致印象中时序图是以时间为主线,有生命线的动态视图,主要描述的对象是对象。是交互图的一种。主要的作用是表达设计者心中对于未来程序在运作时的对象协作建模,验证软件领域模型的正确性,为程序员提供编码的蓝图。

(一)概念

    协作图(Collaboration Diagram/communication Diagram)/通信图

    协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。使用协作图来说明系统的动态情况。

    下面这张图介绍协作图的基本内容:

    ,下面是利用ROSE把上面的协作图转换成的时序图的实例,可以直接使用功能进行转换:

    活动图(Activity Diagram)

    “活动图”可通过一系列操作将业务流程或软件进程以工作流的形式显示出来。这些操作可以由人、软件组件或计算机来执行。
    使用活动图可以描述多种类型的流程,如下:
    1、用户和您的系统之间的业务流程或工作流。
    2、某一用例中执行的步骤。
    3、软件协议,即允许在组件间进行的交互序列。
    4、软件算法。
    下面用一张图来介绍活动图的基本内容

    6 组件图(ComponentDiagram)、配置图(Deployment Diagram)

    组件(构件图)和配置图(部署图)是面向对象系统的物理建模时使用的两种图。

    • 组件图:描述软件组件以及组件之间的关系。
      组件图元素:组件、接口、依赖关系
      组件:是定义良好接口的物理实现单元,遵从同一组接口,提供实现物理的可替换的部分。
      接口:一个类提供另一个类的一组操作。
      依赖关系:一种使用关系(这里不做详解)

    • 构件与结构之间关系:
      构件与构件之间关系:
      构件与其对应接口之间关系:
      导出接口:组件实现的接口,由提供操作的组件提供
      导入接口:访问服务的组件使用导入接口

    机房收费系统构件图:机房收费系统引用控件与 表生成器,导出EXcel,打印 表,通过代码与数据库连接实时更新数据。

    github上的地址
    补充:UML是不断修订的 在UML 中,主要是使用了9 张图,到了UML 2 中有新增了几张图;概览

    注意:。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年4月10日
下一篇 2020年4月10日

相关推荐