fbpx
维基百科

统一建模语言

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

UML的标志

這個語言由葛來迪·布區伊瓦爾·雅各布森詹姆士·蘭寶於1994年至1995年間,在Rational Software英语Rational Software公司中開發,於1996年又進一步發展。UML集成了Booch英语Booch method对象建模技术英语Object-modeling technique面向对象程序设计的概念,将这些方法融合为单一的,通用的,并且可以广泛使用的建模语言。UML打算成为可以对并发和分布式系统的标准建模语言。

1997年,UML被对象管理组织接纳为标准,并在此之后受该组织管理。2005年,UML被國際標準化組織接纳为一种标准[1],自此,该标准被定期修订以涵盖UML的最新版本[2]。然而,在软件工程中,大多数从业者不使用UML,而是产生非正式的手绘图;不过,这些图例中仍往往包括UML的元素[3]:536

模型 编辑

 
面向对象分析的历史

 

 

类别图显示一般化关系一对多(多维)的实现

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

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

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

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

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

图形 编辑

 
UML 2.0
 
使用个案图实例
 
状态图实例

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

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

  • 静态图(static diagram)
    • 類图
    • 对象图英语Object diagram
    • 包图英语Package diagram
  • 实现图(implementation diagram)
    • 组件图
    • 部署图英语Deployment diagram
  • 剖面图
  • 复合结构图

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

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

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从来源中使用相当多的概念。下面仅列代表性的概念。

对于结构而言

执行者,属性,类,元件接口对象,包。

对于行为而言

活动英语Activity (UML)事件英语Event (UML)消息方法状态英语State (computer science)用例

对于关系而言

聚合,关联,组合相依广义化(或继承)。

其他概念

  • 构造型—这规范符号应用到的模型
  • 多重性—多重性标记法与资料库塑模基数对应,例如:1, 0..1, 1..*
  • 角色
 
各式UML

UML应用程序 编辑

开源软件和自由软件中 编辑

  • ArgoUML,UML设计工具()
  • Dia,可绘制流程图以及包含UML在内的多种图形(主页 (页面存档备份,存于互联网档案馆))
  • Draw.io,在线流程图绘制工具,提供各种图形模板 (主页 (页面存档备份,存于互联网档案馆))
  • GitMind,可线上绘制心智图及流程图包括UML,泳道图等各种图 (主页 (页面存档备份,存于互联网档案馆))
  • Umbrello,强大而又界面友好的UML工具。是KDE的一部分。(主页 (页面存档备份,存于互联网档案馆))
  • UMLet,用Java实现的UML简单绘图工具(主页 (页面存档备份,存于互联网档案馆))
  • Unimodeler,Linux下支持9种UML图和向量打印的工具(homepage (页面存档备份,存于互联网档案馆))
  • astah*,Java和UML开发者环境(主页 (页面存档备份,存于互联网档案馆))
  • Jumli,用Java实现,支持C++/C#/Java以及解析/生成源代码(主页 (页面存档备份,存于互联网档案馆))
  • omondo UML,Eclipse的UML插件,提供有限功能的免费版(需注册)和完整的商业版(主页 (页面存档备份,存于互联网档案馆))
  • Poseidon for UML,专业UML工具,提供免费的社区版(Community Edition)。从开源项目ArgoUML而来。请参见()。
  • Violet是为学生、教师以及只需要快速创建简单UML的应用者而设计的工具。GPL授权(主页 (页面存档备份,存于互联网档案馆))
  • SiSy, SimpleSystem

参见 编辑

参考文献 编辑

  1. ^ . Iso.org. 2005-04-01 [2015-05-07]. (原始内容存档于2016-06-10). 
  2. ^ . Iso.org. 2012-04-20 [2014-04-10]. (原始内容存档于2016-06-10). 
  3. ^ Baltes, Sebastian; Diehl, Stephan. Sketches and diagrams in practice. Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. FSE 2014 (Hong Kong, China: Association for Computing Machinery). 2014-11-11: 530–541. ISBN 978-1-4503-3056-5. S2CID 2436333. arXiv:1706.09172 . doi:10.1145/2635868.2635891. 

外部链接 编辑

统一建模语言, 重定向至此, 关于其他用法, 请见, 消歧义, 英語, unified, modeling, language, 縮寫uml, 是非专利的第三代建模和规约语言, uml是一种开放的方法, 用于说明, 可视化, 构建和编写一个正在开发的, 面向对象的, 软件密集系统的制品的开放方法, uml展现了一系列最佳工程实践, 这些最佳实践在对大规模, 复杂系统进行建模方面, 特别是在软件架构层次已经被验证有效, uml的标志這個語言由葛來迪, 布區, 伊瓦爾, 雅各布森與詹姆士, 蘭寶於1994年至1995年. UML 重定向至此 关于其他用法 请见 UML 消歧义 统一建模语言 英語 Unified Modeling Language 縮寫UML 是非专利的第三代建模和规约语言 UML是一种开放的方法 用于说明 可视化 构建和编写一个正在开发的 面向对象的 软件密集系统的制品的开放方法 UML展现了一系列最佳工程实践 这些最佳实践在对大规模 复杂系统进行建模方面 特别是在软件架构层次已经被验证有效 UML的标志這個語言由葛來迪 布區 伊瓦爾 雅各布森與詹姆士 蘭寶於1994年至1995年間 在Rational Software 英语 Rational Software 公司中開發 於1996年又進一步發展 UML集成了Booch 英语 Booch method 对象建模技术 英语 Object modeling technique 和面向对象程序设计的概念 将这些方法融合为单一的 通用的 并且可以广泛使用的建模语言 UML打算成为可以对并发和分布式系统的标准建模语言 1997年 UML被对象管理组织接纳为标准 并在此之后受该组织管理 2005年 UML被國際標準化組織接纳为一种标准 1 自此 该标准被定期修订以涵盖UML的最新版本 2 然而 在软件工程中 大多数从业者不使用UML 而是产生非正式的手绘图 不过 这些图例中仍往往包括UML的元素 3 536 目录 1 模型 2 图形 3 概念 4 UML应用程序 4 1 开源软件和自由软件中 5 参见 6 参考文献 7 外部链接模型 编辑 nbsp 面向对象分析的历史 nbsp nbsp 类别图显示一般化关系一对多 多维 的实现 在UML系统开发中有三个主要的模型 功能模型 从用户的角度展示系统的功能 包括用例图 对象模型 采用对象 属性 操作 关联等概念展示系统的结构和基础 包括类別图 对象图 动态模型 展现系统的内部行为 包括序列图 活动图 状态图 区分UML模型和UML图是非常重要的 UML图 包括用例图 协作图 活动图 序列图 部署图 构件图 类图 状态图 是模型中信息的图形表达方式 但是UML模型独立于UML图存在 UML的当前版本只提供了模型信息的交换 而没有提供图信息的交换 UML使用一套与Java语言或其他面向对象语言等价物 同时也是本体论等价物的图形标记 UML并不是一个方法学 也不要求使用一个方法学 但是UML对于Rational 统一过程来说是必不可少的 图形 编辑 nbsp UML 2 0 nbsp 使用个案图实例 nbsp 状态图实例UML 2 2中一共定义了14种图示 为方便了解 可分类成右侧的结构 结构性图形 Structure diagrams 强调的是系统式的建模 静态图 static diagram 類图 对象图 英语 Object diagram 包图 英语 Package diagram 实现图 implementation diagram 组件图 部署图 英语 Deployment diagram 剖面图 复合结构图行为式图形 Behavior diagrams 强调系统模型中触发的事件 活动图 状态图 英语 UML state machine 用例图交互性图形 Interaction diagrams 属于行为图形的子集合 强调系统模型中的资料流程 通信图 英语 Communication diagram 交互概述图 UML 2 0 时序图 UML 2 0 时间图 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从来源中使用相当多的概念 下面仅列代表性的概念 对于结构而言 执行者 属性 类 元件 接口 对象 包 对于行为而言 活动 英语 Activity UML 事件 英语 Event UML 消息 方法 状态 英语 State computer science 用例 对于关系而言 聚合 关联 组合 相依 广义化 或继承 其他概念 构造型 这规范符号应用到的模型 多重性 多重性标记法与资料库塑模基数对应 例如 1 0 1 1 角色 nbsp 類圖 Class Diagram nbsp 構件圖 Component diagram nbsp 複合結構圖 Composite structure diagram nbsp 部署圖 Deployment diagram nbsp 物件圖 Object diagram nbsp 套件圖 Package diagram nbsp 各式UMLUML应用程序 编辑开源软件和自由软件中 编辑 ArgoUML UML设计工具 主页 Dia 可绘制流程图以及包含UML在内的多种图形 主页 页面存档备份 存于互联网档案馆 Draw io 在线流程图绘制工具 提供各种图形模板 主页 页面存档备份 存于互联网档案馆 GitMind 可线上绘制心智图及流程图包括UML 泳道图等各种图 主页 页面存档备份 存于互联网档案馆 Umbrello 强大而又界面友好的UML工具 是KDE的一部分 主页 页面存档备份 存于互联网档案馆 UMLet 用Java实现的UML简单绘图工具 主页 页面存档备份 存于互联网档案馆 Unimodeler Linux下支持9种UML图和向量打印的工具 homepage 页面存档备份 存于互联网档案馆 astah Java和UML开发者环境 主页 页面存档备份 存于互联网档案馆 Jumli 用Java实现 支持C C Java以及解析 生成源代码 主页 页面存档备份 存于互联网档案馆 omondo UML Eclipse的UML插件 提供有限功能的免费版 需注册 和完整的商业版 主页 页面存档备份 存于互联网档案馆 Poseidon for UML 专业UML工具 提供免费的社区版 Community Edition 从开源项目ArgoUML而来 请参见 主页 Violet是为学生 教师以及只需要快速创建简单UML的应用者而设计的工具 GPL授权 主页 页面存档备份 存于互联网档案馆 SiSy SimpleSystem参见 编辑集成开发环境 对象约束语言 英语 Object Constraint Language OCL 对象建模技术 英语 Object modeling technique 物件導向的程序設計 物件導向的系統分析 XMI 英语 XML Metadata Interchange 为了交换UML模型的基于XML的格式 C4模型参考文献 编辑 ISO IEC 19501 2005 Information technology Open Distributed Processing Unified Modeling Language UML Version 1 4 3 Iso org 2005 04 01 2015 05 07 原始内容存档于2016 06 10 ISO IEC 19505 1 2012 Information technology Object Management Group Unified Modeling Language OMG UML Part 1 Infrastructure Iso org 2012 04 20 2014 04 10 原始内容存档于2016 06 10 Baltes Sebastian Diehl Stephan Sketches and diagrams in practice Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering FSE 2014 Hong Kong China Association for Computing Machinery 2014 11 11 530 541 ISBN 978 1 4503 3056 5 S2CID 2436333 arXiv 1706 09172 nbsp doi 10 1145 2635868 2635891 外部链接 编辑维基共享资源中相关的多媒体资源 统一建模语言官方网站 nbsp Unified Modeling Language at FOLDOC Message board for UML A free UML tutorial 页面存档备份 存于互联网档案馆 UML Jokes Article Precise Use Cases 页面存档备份 存于互联网档案馆 from Methods amp Tools 页面存档备份 存于互联网档案馆 Article Database modeling in UML 页面存档备份 存于互联网档案馆 from Methods amp Tools 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 统一建模语言 amp oldid 77191090, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。