UML 对象模型图阅读指南

本文介绍了如何利用UML对象模型图辅助理解和构建GIS应用程序中的数据模型,特别是针对ArcInfo软件中的数据建模过程。文章通过解析不同类型的UML类(如抽象类、可创建类和可实例化类)及其间的关联(如继承、聚合和组合等),帮助读者更好地理解ArcInfo组件,并指导如何定制化要素和扩展geodatabase数据访问对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UML 对象模型图阅读指南
 

ArcInfo 的使用方式由两种:其一便是直接使用ArcGIS 桌面应用程序,ArcMap 和ArcCatalog,进行GIS 操作;其二,可以使用其中提供的框架构建开发自己的GIS 应用程序。

数据建模人员需要站在以上比这两种方式更高的位置来完成自己的工作。用户大多数情况下都会直接使用预先提供的ArcGIS 桌面应用程序创建Geodatabase。当然有时候也会需要你进行一些代码定制,特别是在专业化程度很高的复杂数据模型的模拟上,代码的工作更是不可或缺。

本书的目标之一便是介绍数据建模的概念,这样的数据建模不仅在ArcInfo 的应用程序中适用,还在ArcInfo 的软件组件中使用,这个软件组建便是我们熟悉的所谓的ArcObjects。

本书中,从使用ArcInfo 软件时遇到的概念说起,然后再使用对象模型图来表现ArcInfo中的这些概念,以利于读者理解。
比如,首先从一个ArcCatalog 用户的角度来讨论geodatabase、要素数据集和要素类的结构。接着从程序员的角度用模型图的相关部分介绍geodatabase 数据的访问对象。

这两种视图模式有相似之处,但是也有很大差别。应用程序的用户界面有时隐藏了对于程序员来说非常重要的一些软件组件细节。本书的目标是让你能够站到比用户和开发者这两个角度更高的位置处理数据建模的工作。

1.8.1 解读类模型图

下面图示中,便是贯穿本书的对象模型图的钥匙。

这些符号是基于UML 画图工具创建的,UML 符号是面向对象分析和设计的工业图样标准。

对象模型图中提供的信息非常多,是对象浏览器中信息的重要补充。Visual Basic,或者其它的开发环境,都会列出所有的类和成员,但不会指明这些类之间的关系。所以,对象模型图是非常有利于读者对ArcInfo 组件的理解的!

本书使用UML 来描述ArcInfo 组件,即ArcObjects,并描述你能够创建的数据模型。

以下详细说明。

1.8.2 类和对象

在UML 图中有三种类型的类:抽象类(abstract class)、可创建类(createable class)与可实例化类(instantiable class)。

抽象类不能用以创建新对象,但可以用来指定子类。举个例子,“line”(线)是“primaryline”(干线)和“secondary line”(副干线)的抽象类。

可创建类指的是那些你能够直接使用开发环境中的对象定义语法来创建对象。比如在Visual Basic 中是这样书写:Dim As New <object> 或者CreateObject <object>。

可实例化类不能够直接创建新对象,但是这种类的对象能够作为其它对象的属性被创建或是从其它类的方法中创建。

在Visual Basic 对象浏览器中,你能够查看ArcInfo 所有的可创建类和可实例化类,但看不到抽象类。

1.8.3 关联

在抽象类、可创建类和可实例化类之间,有几种存在的关联(或称关系)。

联系(association)便描述了类之间的关联。在两端的类中可以定义多重性( Multiplicity)关联。

在这张图上,一个业主能有拥有一块或多块宗地;同样地,一块宗地可以被一个或多个业主所共有。

多重性关联就是限制对象类与其它对象关联的数目关系。以下是用于多重性关联的符号:

1 —— 一个并且只有一个,这种多样性是可选的;如果不标明,则默认为“1”
0..1 —— 零个或一个
M..N —— 从M 到N(正整数)
*或者0… * —— 从零到任意正整数
1… * —— 从一到任意正整数

类继承(type inheritance)定义了专门的类,它们拥有超类的属性和方法,并且同时也有自身的属性和方法。

上图说明primary line 和secondary line 是line 的一种类型。

实例化(Instantiation)指定一个类的对象有这样的方法,它能够创建另外一个类的对象。

pole 对象有一个方法能够创建transformer 对象。

聚合(Aggregation)是一种不对称的关联方式,在这种方式下一个类的对象被认为是一个“整体”,而另一个类的对象被认为是“部件”。

一个transformer bank 正好有3 个transformer 。在这个图中transformer 能和一个transformer bank 相关联,但当transformer bank 移除以后,transformer 依然能够存在。

组成(Composition)是一种更为强壮的聚合方式,此种方式下,“整体”对象控制着“部分”对象的生存时间。

一个pole 包含一个或多个crossarm。在这个图中当pole 被移除后,crossarm 就不能再使用了。因为pole 控制着crossarm 的生存时间。

1.8.4 用图形符号描述模型

起初你也许不大习惯使用这种图形符号,可以先试着读解上面的例子,并结合自己的实际情况考虑。尝试使用这样的工作方法,而后你将会发现这样的图的读解释很容易的,而且你也觉得其实花点力气去理解这些符号真的帮助很大——它用简单而富有表现力的方法将对象模型很好的展示给我们,这样理解ArcInfo 组件的概念便轻松简单多了。

如果你需要定制要素,扩展geodatabase 数据访问对象,那么这些UML 符号也是很重要并可以使用的。

第1章课程定位与教学案例综述. 1.1职业岗位能力需求分析 1.2课程设置和课程定位分析 1.3WebShop电子商城介绍 1.3.1电子商城需求分析 1.3.2电子商城系统设计 1.3.3电子商城数据库设计 1.4LibraryMIS图书管理系统介绍 1.4.1图书管理系统需求分析 1.4.2图书管理系统系统设计 1.4.3图书管理系统数据库设计 习题 第2章面向对象技术和建模基础 2.1面向对象方法 2.1.1面向对象方法的基本思想 2.1.2面向对象方法的发展 2.2面向对象的基本概念与特征 2.2.1面向对象的基本概念 2.2.2面向对象的主要特征 2.3面向对象分析 .2.3.1处理复杂问题的原则 2.3.200A方法的基本步骤 2.4面向对象设计 2.5面向对象实现 2.6面向对象方法的内涵 2.7软件建模概述 2.7.1软件建模的概念 2.7.2软件建模的用途 2.7.3软件建模的优点 习题 第3章UML简介 3.1UML的发展 3.1.1UML的发展历程 3.1.2理解UML建模 3.2UML的特点 3.3UML的结构 3.3.1UML的事物 3.3.2UML的关系 3.4UML的视图 3.4.1用例视图 3.4.2逻辑视图 3.4.3并发视图 3.4.4组件视图 3.4.5部署视图 3.5UML图形符号 3.5.1用例图 3.5.2类图 3.5.3对象图 3.5.4状态图 3.5.5活动图 3.5.6顺序图 3.5.7协作图 3.5.8组件图 3.5.9部署图 3.5.10UML 2.0新特性 3.6UML建模基本流程 习题 第4章UML建模工具简介 4.1常用UML建模工具 4.1.1 Rational Rose 4.1.2Enterprise Architect 4.1.3Together 4.1.4PowerDesigner 4.1.5 Visi0 4.1.6Tnffun Plat0 4.2Rational Rose安装与配置 4.2.1Rational Rose的运行环境 4.2.2Rational Rose的安装 4.2.3Rational Rose的配置 4.3使用Rational Rose建模 4.3.1Rational Rose主菜单 4.3.2Rational Rose的视图 4.3.3 Rational Rose建模的基本过程 习题 第5章需求建模 5.1用例模型概述 5.2用例图组成 5.2.1参与者 5.2.2系统 5.2.3用例 5.3识别和描述用例.. 5.3.1识别用例 5.3.2绘制WebShop电子商城用例图 5.3.3通过包对用例进行合理规划 5.3.4WebShop电子商城用例图(不含关系) 5.3.5用例描述 5.4用例间的关系 5.4.1泛化关系 5.4.2使用关系 5.4.3包含关系 5.4.4扩展关系 5.4.5关系小结 5.4.6WebShop电子商城用例图(含关系) 习题 第6章静态建模 6.1静态建模概述 6.2类图概述 6.3类图的基本组成 6.3.1类的概述 6.3.2绘制带属性的实体类 6.3.3绘制带操作的实体类 6.3.4绘制边界类图 6.3.5绘制控制类图 6.3.6UML中的类与语言中的类 6.4类之间的关系 6.4.1关联关系 6.4.2聚合关系 6.4.3组合关系 6.4.4泛化关系 6.4.5实现关系 6.4.6依赖关系 6.5对象图 6.5.1对象图概述 6.5.2对象图组成 6.5.3类图和对象图的比较 习题 第7章数据库建模 7.1PowerDesigner简介 7.2PowerDesigner安装和启动 7.2.1PowerDesigner的安装 7.2.2PowerDesigner的启动 7.3PowerDesigner概念数据模型 7.3.1概念数据模型概述 7.3.2PowerDesigner概念数据模型概述 7.4 PowerDesigner物理数据模型 习题 第8章动态建模 8.1动态建模概述 8.2状态图 8.2.1状态图概述 8.2.2状态图组成 8.2.3绘制员工下班回家状态图 8.3活动图 8.3.1活动图概述 8.3.2活动图组成 8.3.3绘制WebShop电子商城活动图 8.4活动图拾遗 8.4.1活动图与流程图的比较 8.4.2活动图与状态图的比较 8.5顺序图 8.5.1顺序图概述 8.5.2顺序图组成 8.5.3绘制WebShop电子商城顺序图 8.6协作图 8.6.1协作图概述 8.6.2协作图组成 8.6.3绘制WebShop电子商城协作图 8.7 顺序图拾遗 8.7.1 顺序图与协作图的比较 8.7.2 顺序图与协作图的互换 习题 第9章物理建模 9.1物理建模概述 9.1.1硬件 9.1.2软件 9.2组件图 9.2.1组件图概述 9.2.2组件图组成 9.2.3绘制WebShop电子商城组件图 9.3部署图 9.3.1部署图概述 9.3.2部署图组成 9.3.3绘制WebShop电子商城部署图 习题 第10章双向工程 10.1双向工程简介 10.2正向工程(生成Java代码) 10.3逆向工程 习题 第11章统一软件过程RUP 11.1RUP简介 11.2RUPT作流程 11.2.1业务建模 11.2.2需求 11.2.3分析设计 11.2.4实施 11.2.5测试 11.2.6部署 11.2.7配置与变更管理 11.2.8项目管理 11.2.9环境 11.3RUP迭代过程 11.3.1初始 11.3.2细化 11.3.3构造 11.3.4移交 11.3.5迭代计划示例(构造阶段) 习题 附录A综合实训 附录B Rational Rose2003主菜单 参考文献...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值