UML

定义

  • 统一建模语言 Unified Modeling Language, UML是一种为面向对象系统的产品进行说明、可视化和编制文档的标准语言,是非专利的第三代建模和规约语言。
  • UML是一种面向对象设计的建模工具,是在开发阶段说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法,但独立于任何具体的程序设计语言。

应用场景

UML可以对任何具有静态结构和动态行为的系统进行建模,而且适用于从需求规格描述直至系统完成后的测试和维护等系统开发的各个阶段

  • 最常用的是建立软件系统的模型
  • 描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等

基本构建

在UML中,所有的描述由事物、关系和图这些构件组成。

所有构建的关系如下:
UML

  • 事物
    事物是抽象化的最终结果,分为结构事物、行为事物、分组事物和注释事物。
  1. 结构事物
    结构事物是模型中的静态部分,用以呈现概念或实体的表现元素。
    类 Class:具有相同属性、方法、关系和语义的对象集合
    UML
    接口 Interface:指一个类或构件的一个服务的操作集合。它仅仅定义了一组操作的规范,并没有给出这组操作的具体实现。UML
    用例 User Case:指对一组动作序列的描述,系统执行这些动作将产生一个对特定的参与者Actor有价值且可观察的结果。
    UML
    协作 Collaboration:定义元素之间的相互作用。
    UML
    组件 Component:描述物理系统的一部分。
    UML
    活动类 Active Class:指对象有一个或多个进程或线程。活动类和类很相像,只是它的对象代表的元素的行为和其他元素是同时存在的。
    UML
    节点 Node:定义为运行时存在的物理元素。
    UML
  2. 行为事物
    行为事物指UML模型中的动态部分
    交互 Interaction:包括一组元素之间的消息交换。
    UML
    状态机 State Machine:由一系列对象的状态组成
    UML
  3. 分组事物
    目前只有一种分组事物,即包。包纯粹是概念上的,只存在于开发阶段,结构事物、行为事物甚至分组事物都有可能放在一个包中
    包 Package:UML中唯一的组织机制
    UML
  4. 注解事物
    注释事物是解释UML模型元素的部分
    注解 Note:用于解析说明UML元素
    UML
  • 关系
    UML将事物之间的联系归纳为6种,并用对应的图形类表示
    UML


  • UML 2.0一共有13种图(UML 1.5定义了9种,UML 2.0增加了4种),分别是类图、对象图、构件图、部署图、活动图、状态图、用例图、时序图、协作图9种,以及包图、组合结构图、时间图、交互概览图4种
    UML

什么是建模语言?

当给软件系统建模时,需要采用通用的符号语言,这种描述模型所使用的语言被称为建模语言。