目录

UML

UML

  • UML (Unified Modeling Language–统一建模语言) 是面向对象分析与设计时的行业标准,全称为,其主要内容是针对面向对象的分析和设计。

  • UML是由OMG(Object Management Group)于1997年发表的图标式软件设计语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,从需求规格描述到系统完成后的测试和维护。是一种定义良好、易于表达、功能强大且普遍适用的建模语言。


UML的特点

  • 统一的标准;

  • 面向对象。UML是支持面向对象软件开发的建模语言。

  • 可视化、表现能力强。

  • 独立于过程,UML不依赖于特定的软件开发过程。

  • 概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。


事物

UML中有四种事物

  • 1、结构事物:结构事物是UML模型中的名词。是模型中的静态部分,用来描述概念或实体。分为以下7种:

    • 类(Class):指具有相同属性、方法、关系和语义的对象的集合。

    • 接口(Interface):指类或组件所提供的的服务,描述了类或组件对外可见的动作。

    • 协作(Collaboration):描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模。

    • 用例(Use Case):定义了执行者和被考虑的系统之间的交互来实现一个业务目标。

    • 活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很像,只是它的对象所代表的元素的行为和其他的元素是同时存在的。

    • 组件(Component):是物理的、可替换的部分,包含接口的集合。

    • 结点(Node):是系统在运行时存在的物理元素代表一个可计算的资源,通常占用一些内存和具有处理能力。

  • 2、行为事物:行为事物是UML模型中的动态部分。它是模型中的“动词”,描述了跨越时间和空间的行为,包括如下两类:

    • 交互(Ineraction):交互是由一组对象之间在特定上、下文中,为了达到特定的目的而进行的一系列交换的信息组成。

    • 状态机(State Machine):状态机由一系列对象的状态组成。

  • 3、分组事物:分组事物是UML模型的组织部分,可以看作是一些由模型分解成的盒子。在所有的分组事物中,最主要的分组事物是包。包是把分组事物组织成组的机制,这种机制具有多种用途。结构事物,行为事物甚至其他分组事物都可以放进包内。

  • 4、 注释事物:注释事物是UML模型的解释部分。


关系

UML中有四种关系:依赖、关联、泛化、实现;

  • 1、依赖dependency:依赖是两个事物间的语义关系,其中一个事物(独立事物)发生 变化会影响另一个事物(依赖事物)的语义;依赖用虚线表示

  • 2、关联association:关联是一种结构关系,它描述了一组链,链是对象之间的一种连接。聚集aggregation是一种特殊类型的关联,他描述了整体合部分间的结构关系。

  • 3、泛化generaliztion:泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。

  • 4、实现:实现是类元之间的语义关系,其中一个元素指定了另一个类元保证执行的契约

    在两种关系下使用实现关系: 1、在接口和实现他们的类或构件之间 2、用例和实现他们的协作之间


UML中的图

图是事物集合的分类,主要包含以下几种:

  • 类图(Class Diagram):展现了一组对象、接口、协作和他们之间的关系。

  • 对象图(Object Diagram):展现了某一时刻一组对象以及他们之间的关系,描述了在类图中所建立的事物的实例的静态快照;

  • 组件图(Compoment Diagram):描述代码部件的物理结构以及各部件之间的依赖关系。

  • 部署图(Deployment Diagram):定义系统中软、硬件的物理体系结构。

  • 用例图(Usecase Diagram):从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系。

  • 时序图(Sequence Diagram):表示对象之间动态合作的关系。

  • 协作图(Collaboration Diagram):描述对象之间的协作关系。

  • 状态图(Statechart Diagram):描述一类对象的所有可能的状态及事件发生时状态的转移条件。

  • 活动图(Activity Diagram):描述系统中各种活动的执行顺序。


静态图:类图、对象图 行为图:状态图、活动图 用例图:用例图 交互图:顺序图、协作图 实现图:组件图、部署图