Urban Geological Domain Specific Software Architecture
-
摘要: 城市地质信息管理与服务系统是典型的面向特定领域的软件系统.为解决城市地质领域中信息系统软件构建重用问题, 将现代软件工程中特定领域软件体系结构设计思想引入城市地质信息系统研发中, 提出了城市地质特定领域软件体系结构: 异构结构风格、软件框架结构、总体业务处理流程等几个重要方面的内容.采用这一设计思想, 不同城市应用系统的构件重用程度相当高, 便于系统开发的组织管理, 可大大降低开发成本, 同时系统也具有较好的可扩展性.实践证明, 城市地质特定领域软件体系结构及其设计思想可应用于不同城市城市地质信息系统或类似大规模系统的开发工作当中.
-
关键词:
- 城市地质 /
- 特定领域软件体系结构 /
- 异构结构风格 /
- 软件框架结构 /
- 业务处理流程
Abstract: The management and service systems for urban geological information are characteristically domain specific oriented.In order to solve the reuse problem of software components, the idea of domain specific software architecture from modern software engineering was introduced in the process of the system's development. Urban geological domain specific software architecture (UG-DSSA) is presented, including heterogeneous architecture styles, whole software architecture and business flow, which are used to design the system. Using this design idea, different cities can reuse system components to a large degree, and organization and management of development are comparatively simpler. Therefore the cost of development can be cut sharply. Also the system has good expansibility. The UG-DSSA and its idea can be applied to the development of urban geological information systems or similar large scale systems. -
0. 引言
目前我国已进入城市化的加速发展阶段.截止2002年, 人口100万以上的特大城市166个, 其中200万以上的超级城市25个.伴随着我国新一轮城市规划、国家重大工程建设的需要, 日益突出的城市地质问题的要求及社会公众日益增长的城市地质信息需求, 城市地质工作作为城市发展的基础和先行、可持续发展的保障、科学决策的依据越来越受到人们的重视和关注. 张洪涛(2003)、李友枝等(2003)都对城市地质工作的目标、意义及工作内容进行了讨论.
2003年以来, 国家从解决城市发展面临的地质问题和保障城市可持续发展的战略角度出发, 做出了在全国逐步开展新一轮城市地质调查工作的重大决策, 并优先启动北京、上海、杭州3个城市的城市多参数立体地质调查试点项目, 研制有关技术要求, 建立方法体系, 今后逐步在全国其他城市展开.全国范围内目前已经启动这一项目的城市除上述3城市外, 还有天津、广州、南京等.除此之外, 一些城市还从本地城市建设实际需要出发开展了或正在开展类似的专题地质调查项目.
新一轮城市地质工作提出成果的数字化、立体化、可视化、智能化, 建立能满足城市地质工作目标要求的城市综合地质信息管理与服务系统, 即实现城市地质综合数据的一体化组织与管理; 建设面向城市地质专业研究的基础平台; 建设面向政府的城市地质三维可视化决策平台; 建设面向社会公众的城市地质信息服务网络(中国地质调查局, 2005).目前支持城市地质信息系统建立的数据库、GIS、网络技术已成熟, 三维可视化技术也达到了可工程化应用的程度.由于全国不同城市地质工作既有共同点, 又有不同点, 对信息系统的需求既有共性, 又有个性.总的来讲共性需求大于个性需求, 因此该系统是一个典型的面向特定领域的大型软件系统.前人提出了一些有关城市地质信息系统建设的思路(吴冲龙和牛瑞卿, 2003; 吴立新等, 2003; 刘修国, 2004), 但多是从具体实现技术的角度阐述系统开发思路, 实现技术固然重要, 但超越具体实现技术对系统进行更高层次上抽象的软件体系结构更加重要.利用对领域中软件体系结构的研究, 经过严格设计, 可有效实现领域中具有相似特征应用的重用, 大大提升软件开发效率.
1. 城市地质特定领域软件体系结构UG-DSSA的定义
1.1 DSSA的定义
早在20世纪70年代就有人提出程序族、应用族的概念, 并开拓了对特定领域软件体系结构早期研究, 这与软件体系结构研究的主要目的“在一组相关的应用中共享软件体系结构”也是一致的.为了解脱因为缺乏可用的软件构件以及现有软件构件难以集成而导致软件开发过程中难以进行重用的困境, Mettala (1990)提出了特定领域软件体系结构(domain specific software architecture, DSSA), 尝试解决这类问题.
简单地说, DSSA就是一个特定应用领域中为一组应用提供组织结构参考的标准软件体系结构(张友升, 2004).DSSA应具备的特征为: (1) 一个严格定义的问题域和/或解决域; (2) 具有普遍性, 使其可以用于领域中某个特定应用的开发; (3) 对整个领域的合适程度的抽象; (4) 具备该领域固定的、典型的在开发过程中可重用元素.
1.2 UG-DSSA的定义
城市地质特定领域软件体系结构(urban geological-domain specific software architecture, UG-DSSA) 就是一个在城市地质这一特定问题领域中支持不同城市应用的领域模型、参考需求、参考体系结构等组成的开发基础, 其目标就是支持在城市地质这一特定领域中不同城市地质信息系统的生成.领域模型(domain model, DM) 描述领域中系统之间的共同的需求.称领域模型所描述的需求为领域需求(domain requirement, DR).
2. UG-DSSA异构结构风格
传统的C/S (Client/Server) 网络运行模式是一种胖客户、瘦服务器的运行模式, 这种运行模式对系统维护要求高、操作复杂, 一般适用于局域网内部使用.B/S (Browse/Server) 是一种胖服务器、瘦客户的运行模式, 主要的命令执行、数据计算都在服务器端完成, 应用程序在服务器端安装, 客户机不用安装应用程序.采用这种B/S结构, 大大的减轻了系统管理员的工作量, 而且这种方式对前端的用户数没有限制, 可公开发布一些信息, 供社会公众通过浏览器进行数据浏览、查询.但是, C/S方式具有良好的交互性, 与B/S方式相比对图形数据具有很强的编辑处理能力, 对空间数据的存储效率较高.B/S方式和C/S方式各有优缺点, 可以互补.
综合考虑目前城市地质信息系统建设所依托的软、硬件条件及未来使用该系统的实际要求, 并考虑系统数据采集成本高、来源广、类型多、数据量大且需要进行复杂的二维、三维图形处理和操作的特点, 系统宜采用一种C/S结构与B/S结构混合的多层体系结构, 即异构结构风格.信息发布和检索采用B/S三层结构, 灵活性强、界面友好、适用范围广、易于使用和维护, 主要供政府有关部门、企事业单位、科研机构或社会公众使用, 当然内部网用户也可按照B/S模式访问系统数据; 数据输入及管理、专业分析应用、三维地质建模等采用C/S结构, 安全性强、速度快, 主要供通过局域网连接到城市地质数据库, 负责城市地质信息采集、维护、分析的有关专业部门如地质调查研究院等使用.系统的参考网络体系结构如图 1所示.
3. UG-DSSA软件框架结构
城市地质信息系统是一个集成的数字化工作环境, 面向城市地质工作提供软件技术支撑, 满足不同层次用户的城市地质信息服务需求.根据系统目标和功能特点可将整个系统划分为3个体系, 即基础数据获取体系、数据分析评价体系、数据共享与发布体系(图 2).城市地质基础数据获取体系由位于城市地质数据中心的城市地质原始数据、基础数据专题数据库及城市地质数据输入与管理系统(运行于Intranet网) 构成; 城市地质数据分析评价体系基于基础数据获取体系构建, 由位于城市地质数据中心的基础地理空间数据、基础地质数据、工程地质数据、水文地质数据、环境地质数据、模型数据及城市地质数据分析评价系统(运行于Intranet网) 构成; 城市地质信息共享与发布体系则基于城市地质基础数据获取体系、城市地质数据分析评价体系构建, 由位于城市地质数据中心的城市地质基础数据、模型数据、成果数据专题数据库、城市地质信息共享与社会化服务系统(运行于Internet网) 以及分布于城市不同区域的政府有关部门(国土资源、规划、交通、建设、人防、环保等部门)、企事业单位、地质领域科研院所、社会公众用户群构成.上述3个体系中的系统是3个相对独立的应用系统, 其中城市地质数据输入与管理系统用于城市地质基础数据的录(导) 入与管理; 城市地质数据分析评价系统用于数据查询统计、专业图表生成、专业分析评价、三维地质模拟城市地质信息共享与社会化服务系统用于城市地质信息的网络发布, 提供基于Web的城市地质信息服务.
4. UG-DSSA业务处理流程
整个集成系统的总体业务处理流程(图 3), 包括原始数据整理入库、标准化处理、分析评价、Web发布等几个主要步骤.首先是将采集或搜集到的有关原始勘察资料进行数字化, 存入原始资料数据库中, 这一层次的数据作为系统最原始资料保存, 除非录入错误一般不允许更改; 接下来按照国家标准、行业标准或地方标准对原始数据进行标准化处理, 将标准化后的数据作为后续分析评价的基础数据存入基础数据库中, 这一层次的数据基于原始数据经标准化处理或重新解释后得到, 可由授权用户修改, 而且要保留修改记录; 分析评价时从基础数据库中提取评价所用的基础数据, 若需要评价模型支持则还需从模型数据库中提取评价模型, 之后将生成的分析评价结果经过一定的编辑、处理之后存入成果资料数据库中进行保存.分析评价包括常规分析评价(即传统二维方式的分析评价) 及三维分析评价, 常规分析评价主要根据基础数据完成查询统计、图件生成、专业分析, 三维分析评价则根据基础数据和一部分常规分析评价结果进行多源数据耦合三维建模(Breuning, 1999; Mallet, 2002; Alan and Norman, 2003; Wu and Xu, 2005), 建立钻孔实体模型、地表三维模型、三维地质结构模型、三维地质参数模型, 并将这些模型进行集成显示和分析.基于Web的发布和服务主要从成果资料数据库中提取成果资料来完成.
5. 结论
为适应新形势下城市地质工作需要而建立的城市综合地质信息管理与服务系统, 系统规模大、复杂性强、开发难度大、技术含量高、开发周期长, 所涉及的技术不乏GIS、数学地质、3D建模领域的前沿技术, 在国内外尚无成功经验可借鉴, 使得该系统研发工作在许多方面都不同于传统的地理(地质) 信息系统研发项目.由于该系统是典型的面向特定领域的软件系统, 可基于特定领域软件体系结构的研发思想进行研发, 即通过对北京、上海、杭州、天津等城市对系统的需求进行抽象和综合, 建立城市地质特定领域软件体系结构UG-DSSA, 开发一套面向城市地质这一领域的可重用构件, 在此基础上再针对各个城市的个性化需求进行应用工程开发和系统集成.按照这种思路整个系统的研发包括2个大的阶段, 第一阶段为领域工程阶段, 第二阶段为应用工程阶段.领域工程阶段主要完成领域平台的开发, 该阶段包括领域分析、领域设计、领域实现3个基本过程, 应用工程阶段在领域工程结果的基础上构造新产品.采用这一方法, 不同城市应用系统的构件重用程度相当高, 便于系统开发的组织管理, 可大大降低开发成本, 同时系统也具有较好的可扩展性.
-
[1] Alan, M. L., Norman, L. J., 2003. Building solid models from boreholes and user-defined cross-sections. Computers & Geosciences, 29 (3): 547-555. [2] Breuning, M., 1999. An approach to the integration of spatial data and systems for 3D geo-information system. Computers & Geosciences, 25 (1): 39-48. [3] China Geological Survey Bureau, 2005. Aguide for urban geological database and 3D visualization information system. China Geological Survey Bureau, Beijing (in Chinese). [4] Li, Y. Z., Zhuang, Y. X., Cai, G., et al., 2003. Urban geological work——A new area of national geological work. Geological Bulletin of China, 22 (8): 589-596 (in Chinese with English abstract). [5] Liu, X. G., 2004. Research on 3D key technologies for the urban geological information platform. China University of Geosciences, Wuhan (in Chinese). [6] Mallet, J. L., 2002. Geomodeling. Oxford University Press, New York. [7] Mettala, E. Q., 1990. Domain specific software architectures june. Presenation at ISTO Software Technology Community Meeting, [s. n.]. [8] Wu, Q., Xu, H., 2005. An effective method for 3D geological modeling with multi-source data integration. Computers & Geosciences, 31 (1): 35-43. [9] Wu, C. L., Niu, R. Q., 2003. Construction ai m and solution of the urban geological information system. Geological Science and Technology Information, 22 (3): 67-72 (in Chinese with English abstract). [10] Wu, L. X., Shi, W. Z., Christopher, G. M., 2003. Spatial modeling technologies for 3D GIS and 3D GMS. Geography and Geo-information Science, 19 (1): 5-11 (in Chinese with English abstract). [11] Zhang, H. T., 2003. Urban geological work—An important support of national economic and social development (in lieu of a preface). Geological Bulletin of China, 22 (8): 549-550 (in Chinese with English abstract). [12] Zhang, Y. S., 2004. Software architecture. Tsinghua University Press, Beijing (in Chinese). [13] 李友枝, 庄育勋, 蔡纲, 等2003. 城市地质——国家地质工作的新领域. 地质通报, 22 (8): 589-596. doi: 10.3969/j.issn.1671-2552.2003.08.007 [14] 刘修国, 2004. 城市地质信息平台三维关键技术研究. 武汉: 中国地质大学. [15] 吴冲龙, 牛瑞卿, 2003. 城市地质信息系统建设的目标与解决方案. 地质科技情报, 22 (3): 67-72. doi: 10.3969/j.issn.1000-7849.2003.03.013 [16] 吴立新, 史文中, Christopher, G. M., 2003. 3D GIS与3DGMS中的空间构模技术. 地理与地理信息科学, 19 (1): 5-11. doi: 10.3969/j.issn.1672-0504.2003.01.002 [17] 张洪涛, 2003. 城市地质工作——国家经济建设和社会发展的重要支撑(代序). 地质通报, 22 (8): 549-550. doi: 10.3969/j.issn.1671-2552.2003.08.001 [18] 张友升, 2004. 软件体系结构. 北京: 清华大学出版社. [19] 中国地质调查局, 2005. 城市地质数据库与成果三维可视化信息系统建设指南. 北京: 中国地质调查局. -