统一建模语言(UML,Unified Modeling Language)

  • Something about UML:

统一建模语言UML英语Unified Modeling Language)是非专利的第三代建模规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展示了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。php

UML集成了BoochOMT面向对象软件工程的概念,将这些方法融合为单一的,通用的,而且能够普遍使用的建模语言。UML打算成为能够对并发和分布式系统的标准建模语言。程序员

UML并非一个工业标准,但在Object Management Group的主持和资助下,UML正在逐渐成为工业标准。OMG以前曾经呼吁业界向其提供有关对象导向的理论及实现的方法,以便制做一个严谨的软件建模语言(Software Modeling Language)。有不少业界的领袖亦真诚地回应OMG,帮助她创建一个业界标准。架构

  • 模型

在UML系统开发中有三个主要的模型:并发

    • 功能模型:从用户的角度展现系统的功能,包括用例图。                                              (用户、客户、甲方)
    • 对象模型:采用对象,属性,操做,关联等概念展现系统的结构和基础,包括类别图、对象图。(程序员、产品经理、乙方)
    • 动态模型:展示系统的内部行为。包括序列图,活动图,状态图。                                     (程序员、产品经理、乙方)

区分UML模型和UML图是很是重要的,UML图,包括用例图、协做图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式,可是UML模型独立于UML图存在。XML的当前版本只提供了模型信息的交换,而没有提供图信息的交换。分布式

UML使用一套与Java语言或其余面向对象语言等价物,同时也是本体论等价物的图形标记oop

UML并非一个方法学,也不要求使用一个方法学,可是UML对于Rational 统一过程来讲是必不可少的。spa

  • 图形

    UML 2.2中一共定义了14种图示(diagrams)。为方便了解,可分类成右侧的结构。3d

  

 

结构性图形(Structure diagrams)强调的是系统式的建模:xml

静态图(static diagram)对象

实现图(implimentation diagram)

剖面图(Profile diagram)

复合结构图(Composite structure diagram)

 

行为式图形(Behavior diagrams)强调系统模型中触发的事件:

活动图(Activity diagram)

状态图(State Machine diagram)

用例图(Use Case Diagram)

交互性图形(Interaction diagrams),属于行为图形的子集合,强调系统模型中的资料流程:

通讯图(Communication diagram)

交互概述图(Interaction overview diagram,UML 2.0)

时序图(Sequence diagram)

时间图(UML Timing Diagram,UML 2.0)

协定状态机是状态机的子变种。它用来塑造网路通信协定模型。

UML并不限定UML要素型别非得是某图形上的型别。通常来讲,每一个UML要素大约会出如今图的全部型别。这种弹性在UML 2.0部分被限定。

为了要保持工程图的传统,在您的UML图上加注用途、约束、或意图永远无伤大雅。

UML 2为了符合模型驱动架构(Model Driven Architecture)的需求作了大幅度的修改除在图形基础上扩充及变化了部份的展示方式外,也增长了一些图形标准元件,比前一版多出了由循序图与互动图所混合而成的互动概图(Interaction Overview Diagram)、强调时间点的时序图(Timing Diagram)与合成结构图(Composite Structure Diagram),此外,在UML2中,UML1合做图转变为通信图(Communication Diagram),且在循序图中也添加了互动框(Interaction Frame)的概念,还有增长一些运算子(如sd、loop、alt等)。同时,UML2支援模型驱动架构(MDA)倡议,提供稳定的基础架构,允许软件开发程序增添自动化做业。此外,MDA把大型的系统分解成几个元件模型,并与其余模型保持连结,使得UML更加精确。

  • 概念

UML历来源中使用至关多的概念。咱们将之定义于统一建模语言术语汇表。下面仅列表明性的概念。

对于结构而言

执行者属性元件接口对象

对于行为而言

活动(UML)事件(UML)消息(UML)方法(UML)操做(UML)状态(UML)用例(UML)

对于关系而言

 聚合(Aggregate):是表示总体与部分的一类关联关系,是“弱”的包含(has a)关系,成分类别能够不依靠聚合类别而单独存在。例如,池塘与(池塘中   的)鸭子。再例如教授课程就是一种聚合关系。汇集可能不涉及两个以上的类别。图形以空心的菱形与实线来表示。

关联( Association)表明一个家族的联系。 关联能够命名,并结束一个关联能够饰以角色名称,全部权指标,多重性,可视性,以及其余属性。目前定义有五种不一样类型的关联。双向(Bi-directional)和单向(uni-directional)的关联是最多见的。
组合 (Composition):是一类“强”的总体与部分的包含关系。成分类别必须依靠合成类别而存在。合成类别彻底拥有成分类别,负责建立、销毁成分类别。例如汽车与化油器,又例如公司与公司部门就是一种组成关系。图形以实心的菱形与实线表示。
相依:
广义化/继承 (Generalize :又称通常化、一般化、广泛化、概化,是指将事物的定义进行修改或者补充以使其适用于更加大的范围。 一个将事物广义化的简单例子是归类。

其余概念

构造型—这规范符号应用到的模型

多重性—多重性标记法与资料库建模基数对应,例如:1, 0..1, 1..*

角色

相关文章
相关标签/搜索