其实前面的UML统一建模语言(一)所描述的都是UML1的内容,现在咱们聊一聊UML2。

UML2.x完全建立在UML1.x基础之上,大多数的UML1.x模型在UML2.x中都可用。但UML2.x在结构建模方面有一系列重大的改进,包括结构类、精确的接口和端口、拓展性、交互片断和操作符以及基于时间建模能力的增强。UML1.x从1997年发布的UML1.0到2003年3月发布1.5版本,而UML2.x由2004年发布2.0版本,至今最新的版本已是UML2.4。UML1.x是OMG规范,UML2.x目标是ISO规范。

UML 2

UML 2 定义了13种基本的图,它们被分成两大类:

一、 结构建模图

结构图定义了一个模型的静态架构。它们通常被用来对那些构成模型的‘要素'建模,诸如:类,对象,接口和物理组件。另外,它们也被用来对元素间关联和依赖关系进行建模。

1、包图(Package diagrams)用来将模型划分成不同的逻辑容器或“包”,并在更高层次上描述它们之间的交互关系。

2、类或结构图(Class or Structural diagrams) 用来定义模型的基本建立模块 : 类型、类和构成完整模型的一般素材。

3、对象图(Object diagrams) 显示结构元素的实例间如何关联,以及在运行时如何使用。

4、复合结构图(Composite Structure diagrams) 提供了一种对元素结构进行分层的方法,并着重体现了元素内部的细节,结构和关系。

5、组件图(Component diagrams) 被用来构造更高层次或更复杂的结构,通常由一个或多个类构成,并提供一个定义明确的接口。

6、部署图(Deployment diagrams) 显示现实环境中重要物件的物理配置。

二、 行为建模图

行为图用来记录在一个模型内部,随时间的变化,模型执行的交互变化和瞬间的状态;并跟踪系统在真实环境下如何表现,以及观察系统对一个操作或事件的反应,以及它的结果。

7、用例图(Use Case diagrams) 用来对用户/系统的交互关系建模。 用脚本和情形的形式来定义行为,要求和约束。

8、活动图(Activity diagrams) 广泛使用于定义基本程序流程和在一般化过程中,记录判断点和动作。

9、状态机图(State Machine diagrams) 对于了解模型执行时的瞬时状态,即模型的运行状态是重要的。

10、通信图(Communication diagrams) 显示协作实例中,对象间实时消息和通信的网络结构与顺序。

11、顺序图(Sequence diagrams) 与通信图联系紧密,并在垂直时间线上显示对象间消息传递的顺序。

12、时间图(Timing diagrams) 融合顺序图和状态图,以提供观察对象随时间变化的状态和改变这个状态的消息。

13、交互概览图(Interaction Overview diagrams) 融合活动图和顺序图,使交互部分容易与判断点和流程结合。

EnterpriseArchitect

Enterprise Architect是一个为设计和建造软件系统,业务流程建模,以及为更广义建模目的可视化平台;是基于最新的UML 2.x规范,UML定义了一个可视化的语言,是用来建模一个特定的领域或系统(无论是计划中的,还是现有的);是一个不断发展的工具,包括了开发周期的所有方面,从最初的设计阶段,到部署,维护,测试和变更控制,提供了全程追溯。

EA的样子如下:

点击File或者CreateProject,可以创建一个project,此时弹出一个wizard manager提示框如下图。其实这是一个添加包的选择框,每个选项对应一个已经提前创建了相应UML图的包,即点击OK后会创建以选项为名的包。上图是我选择了cancel的结果。

点击New Diagram按钮左边的New a package按钮,会弹出如下框:

如上编辑后点OK,会在Model下创建MyPackage包,如下:

在那个MyPackage上右击会有一个“Add a New Model using Wizard ...”,点击它也会弹出Wizard Manager框。如果点击MyPackage选中它,再点击New Diagram按钮就会弹出如下选择框(额滴神,要的就是它):

上图中被圈的就是上一模块中说的UML两类13种图。所以EA是基于UML2又不拘束于此。

最后必须要说的就是下图,点击UML Tutorial会打开UML最新版本的教程,不过是全英文的。如果想看中文的请看这。

UML统一建模语UML2和EnterpriseArchitect的更多相关文章

  1. [本体论][UML][统一建模语言][软件建模][OWL]从本体论到UML到OWL

    以下内容,是关于软件建模的方法与思路. UML与OWL都是基于本体论的建模语言. 本体论(哲学) 本体论(信息科学) UML(统一建模语言) more info 参考:[设计语言][统一建模语言][软 ...

  2. UML建模学习1:UML统一建模语言简单介绍

    一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准.能够用来描写叙述(spec ...

  3. UML统一建模语言介绍

    统一建模语言简介 统一建模语言(Unified Modeling Language,UML)是用来设计软件蓝图的可视化建模语言,1997 年被国际对象管理组织(OMG)采纳为面向对象的建模语言的国际标 ...

  4. UML(统一建模语言)

    需求分析阶段 用例图 定义:用例图并不是用来描述用例的.用例图的主要作用是:直观地描述系统对外提供的功能. 用例图的三个要素:角色.系统.用例 用例图的关系: 角色和用例的关系:有关和无关 用例和用例 ...

  5. $UML统一建模语言简介

    (一)UML概述 1.面向对象软件开发的过程: (1)OOA(面向对象分析):建立分析模型并文档化. (2)OOD(面向对象设计):用面向对象思想对OOA的结果进行细化,得出设计模型. (3)OOP( ...

  6. uml统一建模语言学习笔记(一)

    UML是一种统一建模语言,他是以面向对象的方式来实现对任何的系统进行描述的一种语言, 它包括9种图形+包图,分为静态和动态两种,也就是结构图和行为图 “静态”图有:用例图.类图.对象图.部署图.构件图 ...

  7. python day 17: UML(统一建模语言)

    python day 17 UML:unified modeling languages,是一种基于面向对象的可视化建模语言. 画图语言:画图要合理.即符合逻辑. 历史: 3.1. 软件功能越来越强大 ...

  8. UML(统一建模语言)

    最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...

  9. [设计语言][统一建模语言][软件开发方法学][UML] UML

    背景介绍 UML是一种统计建模语言. WIKI: https://en.wikipedia.org/wiki/Unified_Modeling_Language UML是OMG (object man ...

随机推荐

  1. 读懂JVM垃圾收集日志

    JVM垃圾收集搞懂原理很重要,但是连垃圾收集的日志都不懂,这tmd还分析个屁的问题啊,典型的空有理论知识,动手实践为零.本篇就来具体的学习一下JVM中的垃圾收集日志. 第一步,垃圾收集的选项 图1 J ...

  2. 【Python基础】之不同的文件在不同目录下导入指定模块的方法

    如下图三个文件的目录路径 – project     |–  1     |    |–  2     |    |    |–  3    |    |    |    |– owen.py     ...

  3. Docker入门系列8

    commit docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser ...

  4. 11 linux nginx上安装ecshop 案例

    一: nginx上安装ecshop 案例 (1)解压到 nginx/html下 浏览器访问:127.0.0.1/ecshop/index.php 出现错误:not funod file 原因:ngin ...

  5. HDU1864 最大报销额 01背包

    非常裸的01背包,水题.注意控制精度 #include <iostream> #include <algorithm> #include <cstdio> #inc ...

  6. Python常用变量处理手记(拼接数字,转json)

    1.拼接字符串和数字时,应先把数字做转换 如,bytes(page) 再做拼接:str+page 或者 s = 'abc' print s + str(1) #abc1 使用list和tuple 参考 ...

  7. Git --恢复修改的文件

    对于恢复修改的文件,就是将文件从仓库中拉到本地工作区,即 仓库区 ----> 暂存区 ----> 工作区. 对于修改的文件有两种情况: 只是修改了文件,没有任何 git 操作 修改了文件, ...

  8. python 基础 7.4 os 模块

    #/usr/bin/python #coding=utf8 #@Time   :2017/11/11 3:15 #@Auther :liuzhenchuan #@File   :os 模块.py im ...

  9. 如何学习CCIE

    想想自己拖了这么久,也没考试,也没积极去做实验,心里也有怨念,其实一直是方法不对,今天心里产生共鸣,后悔当初太年轻. 转载地址:http://bbs.hh010.com/thread-467553-1 ...

  10. php验证身份证号码有效性

    <?php // 18位身份证校验码有效性检查 // idcard_checksum18('...'); function idcard_checksum18($idcard) { if (st ...