首页 理论教育 基于UML静态建模实现多层次公交数据模型

基于UML静态建模实现多层次公交数据模型

时间:2023-08-22 理论教育 版权反馈
【摘要】:本书基于UML的静态建模机制,采用Microsoft Visio软件,生成静态结构图,如图5-13、图5-14、图5-15、图5-16、图5-17、图5-18所示。IncidentPoint类和IncidentLine类,表明事件类型,TrafficAccident属于IncidentPoint,而RouteClosure属于IncidentLine。图5-20是采用静态建模机制建立的多层次公交数据模型静态结构图,UML在静态结构图中,描述了类之间的关系以表达对象模型结构,本文所涉及的关系包括关联、聚集、组成、继承。Tagged values是UML元素的附加性质。父类中的子类型字段成为模板化的UML属性。

基于UML静态建模实现多层次公交数据模型

UML中对象之间的关系可分为结构和关联两大类(赵鸿铎等,2001),继承、聚集、组成是结构关系。前文均是描述关联关系的性质,关联关系可分为三种:一对一、一对多、多对多,采用哪种关系由现实世界中对象的关系来决定。CASE工具则是用来表达这种关系,从而形成对象模型。本书基于UML的静态建模机制,采用Microsoft Visio软件,生成静态结构图,如图5-13、图5-14、图5-15、图5-16、图5-17、图5-18所示。

图5-13 语义层次公交对象静态结构图

图5-13中,事件、时间表、车辆属于非空间对象,从ESRI Object类中继承;线路、站点属于空间对象,从ESRI Feature类中继承。

图5-14 几何网络静态结构图

图5-14表明有向路段与有向站点构成几何网络(GeometricNetwork),几何网络用版型(GeometricNetwork)类Network来表示,有向路段与几何网络和有向站点之间用多对多关联来连接。由于本文中的有向站点及有向路段属空间对象,自身均不包含复杂关系,且二者构成几何网络,故从ESRI SimpleEdgeFeature类和SimpleJunctionFeature类中继承。有向路段与有向站点,同SimpleEdgeFeature类和SimpleJunctionFeature类的结构关系是继承关系。这些类在转化到GeoDatabase中,成为特征类(Feature Class)。

图5-15 事件静态结构图

图5-15表明事件类之间的继承关系。IncidentPoint类和IncidentLine类,表明事件类型,TrafficAccident属于IncidentPoint,而RouteClosure属于IncidentLine。TrafficAccident和RouteClosure属于Incident的子类型(Subtype),故在关联时用版型(Subtype)表达。这些类在转化到GeoDatabase中成为表(Table)。

图5-16 虚拟线路、虚拟站点、有向线路静态结构图

图5-16表明有向线路、虚拟线路从语义层次的Route类中继承;虚拟站点从语义层次的Stop类中继承。HasZ=True、GeometryType=esriGeometryPolyline等是各类的Tagged Values,说明了类的附加属性。这些类在转化到GeoDatabase中,成为特征类(Feature Class)。

图5-17 线路、站点、路段时间表静态结构图

图5-18 公共汽车、车辆位置静态结构图(www.xing528.com)

图5-17、图5-18说明:线路、站点、路段时间表从语义层次TimeTable类继承;车辆、车辆位置从语义层次Vehicle类中继承。这些类在转化到GeoDatabase中成为表(Table)。

图5-19表明了类之间的复杂关系的建立。复杂关系分为三种:简单关系(Simple Relationships)、复合关系(Composite Relationships)和有属性的关系(Attributed Relationships)。简单关系可以存在于一对多、一对一、多对多的关联关系中,用关联来表示。复合关系只能存在于一对多的关联关系中,用聚集来表示。有属性的关系则存在于多对多关联关系中,用关联及版型(《RelationshipClass》)类结合来表示。例如,一个虚拟站点由多个有向站点构成,当该虚拟站点被删除,则组成它的有向站点也会被删除,二者之间是组成关系,组成就是个复合关系。一个虚拟站点由多个有向站点组成,一个有向站点同时只能属于一个虚拟站点,故二者之间的维数是一对多。有属性的关系通常存在于多对多的关系中,为了存储源类(Origin Class)和目标类(Destination Class)的主关键字(Primary Keys)、外关键字(Foreign Keys)而需要增加个新表。在UML中采用版型(《RelationshipClass》)类表示,类名与所在关联名相同。所在关联的Tagged Values中,需指定OriginPrimaryKey、OriginForeignKey、DestinationPrimaryKey、DestinationForeignKey,相应关键字如图中所示。

图5-20是采用静态建模机制建立的多层次公交数据模型静态结构图,UML在静态结构图中,描述了类之间的关系以表达对象模型结构,本文所涉及的关系包括关联(Association)、聚集(Aggregation)、组成(Composition)、继承(Generalization)。

实现过程中需注意以下几个方面(Zeiler,2000):

①设置类、属性、关联等的Tagged values。Tagged values是UML元素的附加性质。

②特征数据集(Feature datasets)以包来表示。特征数据集中的元素拥有相同的空间参照(Spatial Reference)。UML不会建立该空间参照,空间参照是在ArcCatalog中建立。

③域(Domains)在UML中作为特殊的类来实现(图5-21)。子类型(Subtypes)在UML中以类表达,该类通过模板化(Subtypes)关联与父类相联系。父类中的子类型字段成为模板化的UML属性。

图5-19 多层次公交数据模型静态结构图

图5-20 多层次公交数据模型静态结构图

图5-21 UML域类图

④图5-22描述了GeoDatabase中的表(Table)、特征类(Feature Class),几何网络(Geometric Network)与UML中类的对应关系。通过该图可以清晰地看到,表由继承自Object类的类生成;特征类由继承自Feature类的类生成;几何网络由继承自Network Feature类的类生成。

图5-22 表、特征类、几何网络转化关系

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈