首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


统一建模语言

维库,知识与思想的自由文库

跳转到: 导航, 搜索

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

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

UML并不是一个工业标准,但在Object Management Group的主持和资助下,UML正在逐渐成為工业标准。OMG 之前曾經呼籲業界向其提供有關物件導向的理論及實現的方法,以便製作一個嚴謹的軟體塑造語言(software modeling language)。有很多業界的領袖亦真誠地回應OMG,幫助她建立一個業界標準。

目录

[编辑] 模型

クラス図による汎化関係および一対多関連 (多重度) の表現

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

  • 功能模型:从用户的角度展示系统的功能,包括用例图。
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。

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

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

UML并不是一个方法学,也不要求使用一个方法学,但是UML对于Rational Unified Process来说是必不可少的。

[编辑] Diagrams

UML 2.0
UML 2.0

UML 2.0 中一共定義了13 種圖示(diagrams)。為方便了解,可分類成右側的結構。

結構性圖形(Structure diagrams) 強調的是系統式的建模:

行為式圖形(Behavior diagrams) 強調系統模型中觸發的事件:

溝通性圖形(Interaction diagrams), 屬於行為圖形的子集合,強調系統模型中的資料流程:

The Protocol State Machine is a sub-variant of the State Machine. It may be used to model network communication protocols.

UML does not restrict UML element types to a certain diagram type. In general, every UML element may appear on almost all types of diagrams. This flexibility has been partially restricted in UML 2.0.

In keeping with the tradition of engineering drawings, a comment or note explaining usage, constraint, or intent is always allowed in a UML diagram.

[编辑] Concepts

UML 從來源中使用相當多的Concepts. 我們將之定義於 glossary of Unified Modeling Language terms. 下面僅列代表性的concepts.

對於結構而言(For structure

Actor, attribute, class, component, interface, object, package.

對於行為而言(For behavior

Activity, event, message, method, operation, state, use case.

對於關係而言(For relationships

Aggregation, association, composition, dependency, generalization (or inheritance).

其他(Other concepts

[编辑] 参见

[编辑] 开源软件自由软件中 UML 应用程序

  • ArgoUml, UML 设计工具(主页)
  • Dia, 可绘制包含 UML 在内的多种图形 (主页)
  • UMLet, 用 Java 实现的 UML 简单绘图工具 (主页)
  • Umbrello UML modeler, 强大而又界面友好的 UML 工具。是KDE的一部分。 (主页)
  • Unimodeler, Linux 下支持 9 种 UML 图和向量打印的工具 (homepage)
  • Jude (UML Tool), Java 和 UML 开发者环境 (主页)
  • Jumli, 用 Java实现,支持 C++/C#/Java 以及解析/生成源代码 (主页)
  • omondo UML, Eclipse的UML插件, 提供有限功能的免费版 (需注册)和完整的商业版 (主页)
  • Poseidon for UML, 专业 UML 工具,提供免费的社区版(Community Edition)。从开源项目ArgoUml而来。 请参见 (主页)。
  • Violet 是为学生、教师以及只需要快速创建简单 UML 的应用者而设计的工具。 GPL 授权 (主页)

[编辑] 参考文献

[编辑] 外部链接

Unified Modeling Language (UML)檢視  討論  編輯  歷史 )
Background

Grady Booch • Ivar Jacobson • Object Management Group (OMG) • UML Partners • Rational Unified Process (RUP) • James Rumbaugh 

Concepts

Object oriented: Object-oriented programming 

Structure: Actor • Attribute • Class • Component • Interface • Object • Package 

Behavior: Activity • Event • Message • Method • Operation • State • Use case 

Relationships: Aggregation • Association • Composition • Dependency • Generalization (or Inheritance

Other concepts: Stereotype • Multiplicity • Role 

Diagrams

Structure diagrams
Class diagram • Component diagram • Composite structure diagram • Deployment diagram • Object diagram • Package diagram 

Behavior diagrams
Activity diagram • State Machine diagram • Use case diagram • Communication diagram • Interaction overview diagram • Sequence diagram • Timing diagram 

Topics

Compared to relational database model (ERD) • Glossary of UML terms • Systems Modeling Language (SysML) • UML colors:

Role Moment, Interval
Description Party, place, thing
Tools

UML tools

其它语言
AD Links