基于UML的河道地理信息系统分析与设计2009-06-15作者:沈利来源:网络摘要河道是城市发展的重要部分,为了提高管理和合理使用水利资源,根据河道部门具体要求,借助新的建模理论和地理信息系统技术,提出一种基于UML的河道信息系统开发模型,并阐述系统开发全过程,提高系统开发效率,有效地提高河道管理。关键词河道;地理信息系统;模型;统一建模语言1引言在当前水利资源紧缺情况下,合理利用和保护现有水利成为目前最为紧迫问题。水利资源在蓄洪防旱、调节气候、维持生态平衡等方面均起到极其重要的作用,但对于我国每个城市的水利资源,采用传统手工模式管理,没有系统性,管理起来非常复杂,效率很低,导致有些水利资源长期无人管理和维护,对城市发展有极其重要的影响。为了有效管理和充分利用河道资源,迫切要改变传统水利资源的管理方法,要借助新的理论和现代化技术进行管理和利用河道资源,即利用地理信息系统技术逐步建立成数字城市水利。21世纪是信息的时代,以信息高速公路、“数字地球”为龙头的全球信息化浪潮正扑面而来。地理信息系统(GeographicInformationSystem,缩写为GIS)是计算机科学、地理学、测量学、地图学等多门学科综合的一项技术。它利用计算机建立地理数据库,将空间地理分布状况及所具有的属性进行数字存储,建立数据管理系统,同时开发各种分析和处理功能,以便快速获取信息,并将处理结果以地图、图形及数据的形式表示出来。随着Internet技术的不断发展和对地理信息系统的需求,把GIS与网络技术相融合,利用Internet技术在Web上发布空间数据,为用户提供空间数据浏览、查询和分析的功能,建立网络化的地理空间集成平台,成为GIS的一个发展方向。目前,大多数水利地理信息系统开发模式仍然停留在“分析-设计-实现-测试”传统的“瀑布模式”软件开发方式上,不利于提高软件质量和减少后期软件维护费用,很难适应水利资源复杂多变的业务特点。针对河道资源具体特点,结合GIS技术和理论,利用最新UML(UnifiedModelingLanguage,统一建模语言)柔性开发模型,阐述开发河道地理信息系统(UrbanWaterGeographicalInformationSystem,以下简称UWGIS)全过程。2UML柔性开发模型构建河道地理信息系统是一个复杂的软件系统,包括县(市)乡(镇)的江河流域、水利设施、水利工程设计施工等图形空间数据处理、属性数据处理、网络信息传递共享、人机交互等诸多软件开发的技术。为了按时保质开发河道地理信息系统,采用最新软件工程技术进行组织和具体实施,不再采用传统瀑布开发模型,而是采用UML柔性开发模型[1]。UML柔性软件开发模型,是指在软件开发过程中,根据需求工程的牵引,首先建立软件系统的顶层模型,并对其进行模拟、分析和调整。然后,将顶层模型自顶向下地进行分解,建立该系统各个子系统的模型,对这些子模型进行模拟、分析和调整。将子模型的模拟结果,逐次代入上层,再对该上层模型进一步进行模拟、分析和调整,如有不适,则进行修改。因此整个建模过程是一个“自顶向下建模,由底向上修改”的反复迭代的过程。简言之,柔性软件开发过程是一个在需求牵引下,自顶向下分层细化地建模,然后按照“T型技术”,通过对模型的虚拟执行,由底向上地逐层上移修改,直至各层的模拟结果都满足需求为止。图1河道地理信息系统(UWGIS)柔性开发模型河道地理信息系统的柔性开发模型采用UML表达,因为UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。在充分分析河道地理信息系统具体情况下,在开发全过程中融入UML柔性开发模型,进行河道地理信息系统柔性开发模型,如图1所示。3河道地理信息系统业务流程优化在对各种水利资源管理运用进行调研和充分分析基础上,利用RationalRose集成化支持环境,河道地理信息系统业务流程主要包括:收集河道地理信息系统需求;河道地图矢量化;对水利空间数据和属性数据分类验证;对水利数据的各种操作以及输出操作结果等过程。通过对河道地理信息系统业务活动图的模拟、反馈、修正、优化后得到如图2所示河道地理信息系统业务活动图。图2河道地理信息系统业务活动图4河道地理信息系统体系结构河道地理信息系统总体上采用标准格式,集中登录模式,整个系统结构采用数据层、应用层以及用户层(包括远程用户)三层结构,如图3河道地理信息系统体系结构图。该结构可以快捷、方便地实现集中登录管理维护、本地用户和远程用户浏览功能,而且系统应具有确切的稳定性和可靠性。其中集中登录模式采用GIS平台MapX组件对图形库[2]、属性库以及资料库操作,实现图形查询、属性查询、地图更新、资料管理和报表打印等功能,远程用户通过GIS发布平台实现对图形的查询和属性查询等功能[3]。5河道地理信息系统协作图图4河道地理信息系统协作图河道地理信息系统协作图描述协作对象之间的交互和链接关系,协作图对在一次交互中有意义的对象和对象间的链建模。对象和关系只有在交互的才有意义。类元角色描述了一个对象,关联角色描述了协作关系中的一个链。协作图用几何排列来表示交互作用中的各角色。附在类元角色上的箭头代表消息。消息的发生顺序用消息箭头处的编号来说明[4]。协作图强调对象之间的空间关系和数据关系。在反复模拟和测试基础上得到如图所示的协作图,用户通过注册后登录系统,显示1:10000水利地图对象和操作对象,用户通过发送各种操作请求,如放大、缩小、图形到数据的查询、数据到图形的查询等各种操作,系统显示相应操作结果,反馈给用户相关水利资源信息,如图4所示为河道地理信息系统协作图。6河道地理信息系统功能设计河道地理信息系统是专门从事河道资源管理的系统,系统主要功能是将空间数据库中存放的精确空间定位同属性信息关联起来。该系统在计算机软、硬件支持下,把水利资源空间数据存放到mapinfo中,将属性数据存放到SQLServer中,以水利空间数据和属性数据为基础,通过Delphi语言开发工具实现空间数据和属性数据更新、相互查询以及检索等功能。为了提高远程对图形操作的响应速度,将所有的水利资源进行对象化,并给定各自属性。主要有以下7个对象实现对水利资源地图的各种操作和输出。即水利属性数据对象Dataattribute,视图管理对象MapView,用户对象SystemUser,查询对象Query,水利空间数据对象Mapdatabase,打印对象Print以及操作对象Operate-GUI组成。通过UML建立如图5所示的类图,描述对象之间组成和关系,为程序设计打下坚实基础。图5河道地理信息系统类图首先,用户通过登录水利地理信息系统,用户对象实现对用户添加、修改、删除以及设置密码等操作,进入操作对象Operate-GUI进行打开、显示或者隐藏等操作,如果需要对地图操作,需要调用MapView对象进行地图放大、缩小以及漫游等操作,同时查询对象Query完成对水利信息的图形和属性的双向查询操作。7结束语随着城市现代化建设,河道管理和利用变得尤其重要[5],河道地理信息系统是一项复杂系统工程,特别是将来与其它城市管理系统的集成,由于采用UML柔性开发模型,有效控制用户和开发人员之间的理解误差,确保对河道管理认识的一致性,提高体统开发效率,并充分考虑系统的扩展性和可维护性。不过,为了提高对河道地图访问效率,特别是多个远程用户同时访问同一个水利地图时响应速度问题[6],水利图形存储格式和方法问题,需要进一步解决。