水利模型库管理系统的设计与实现.pdf

上传人:qwe****56 文档编号:69623599 上传时间:2023-01-07 格式:PDF 页数:38 大小:355.16KB
返回 下载 相关 举报
水利模型库管理系统的设计与实现.pdf_第1页
第1页 / 共38页
水利模型库管理系统的设计与实现.pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《水利模型库管理系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《水利模型库管理系统的设计与实现.pdf(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 水利模型库管理系统的设计与实现水利模型库管理系统的设计与实现 学学 院 软件学院 院 软件学院 专专 业 软件工程 业 软件工程 年年 级级 2004 级 级 姓姓 名名 黄海峰 黄海峰 指导教师指导教师 张坤龙 张坤龙 2008 年年 6 月月 15 日日 摘 要 水利模型库管理系统是水利决策支持系统开发运行平台的一个子项目,它为水利决策支持系统开发运行平台中所有与模型相关的操作提供服务,是水利决策支持系统开发运行平台运转不可或缺的一部分。论文在认真分析对水利模型库管理系统的需求的基础上,设计了水利模型库管理系统的功能模块和数据文件。在功能模块方面,除了模型的查询、增加、删除和修改,还包括

2、了模型的调试和组合。在数据文件方面,定义了单一模块文件、组合模块文件、和用户分类信息文件。水利模型库管理系统的实现主要采用了 XML 的相关技术。例如,模型被封装成 XML 文件,组合模型通过 XML 文件生成,模型运行脚本也是 XML 格式的等等。水利模型库管理系统的实现除了提供窗口界面支持最终用户对水利模型进行一系列管理操作之外,还提供函数界面供水利决策支持系统开发运行平台调用模型并进行数据处理。关键词:决策支持系统;模型库管理系统;C#;XML;ABSTRACT Water Resources Model Base Management System is a sub-project o

3、f Water Resources Decision Support System developing and running Platform,it provides all kinds of services that related to model operations,its an indispensable part for WR-DSSRPs running.Basing on conscientious requirement analysis,this paper designed the function module and data files of the WR-M

4、BMS.On function module,besides searching,adding,deleting and modifying models,it also support debugging models and combining models.On data files,it defined single model file,combined model file and user classing info file.XML-related technologies are often used in implementing the system.For exampl

5、es,packaging the model as XML documents;generating combined models through XML documents;model running scripts in XML format and so on.Water Resources Model Base Management System provided a Windows Form which let the users can do a series of management work,also it can be invoked by the WR-DSSRP to

6、 transact data.Key words:Decision Support System;Model Base Management System;C#;XML 目 录 第一章 绪论1 1.1 开发背景1 1.2 相关概念3 1.3 模型库管理系统的现状与发展5 1.4 论文的组织结构6 第二章 水利模型库管理系统的需求分析 7 2.1 用例需求7 2.2 功能需求8 2.3 使用场景需求8 2.4 软件硬件需求10 第三章 水利模型库管理系统的设计 11 3.1 接口设计11 3.2 功能模块的设计12 3.3 数据文件的设计13 3.4 类的设计19 第四章 水利模型库管理系统的实

7、现 22 4.1 模型编辑模块的实现22 4.2 模型查找模块的实现24 4.3 模型组合模块的实现24 4.4 模型管理模块的实现27 4.5 模型调用模块的实现27 第五章 总结与展望30 参考文献32 外文资料 中文译文 致谢 天津大学 2008 届本科生毕业设计(论文)1第一章 绪论 1.1 开发背景 水利模型库管理系统是水利决策支持系统开发运行平台(WR_DSSDRP,Water Resources Decision Support System developing and running Platform)的一个组成部分,它的设计与实现都以 WR_DSSDRP 为依据,并为之服务

8、。从整个WR_DSSDRP 的外部来讲,水利模型库管理系统是 WR_DSSDRP 的一部分用户界面,用户通过模型管理界面进行模型库的相关操作;从整个 WR_DSSDRP 的内部来讲,模型库管理系统是 WR_DSSDRP 的一个服务函数库,WR_DSSDRP系统通过调用模型库管理系统所提供的服务函数,进行相关模型处理操作。1.1.1 水利决策支持系统开发运行平台 决策支持系统(DSS,Decision Support System)有两种主要的开发策略:利用决策支持系统生成器(DSSG,Decision Support System Generator)开发,或者利用决策支持系统工具(DSST,

9、Decision Support Tools)开发。决策支持系统生成器可以被看作是一个通用决策支持系统。实际上,由于决策的复杂性,人们不可能去建造一个通用的决策支持系统,而只可能建造一个生成器,然后利用这个生成器来生成各种专用的决策支持系统。利用决策支持系统生成器,决策支持系统研制者可以根据决策者的要求、环境和任务,迅速构造一个专用的决策支持系统,从而大大缩短决策支持系统的研制周期,并降低决策支持系统的研制费用1。决策支持系统工具是用来构成决策支持系统或者决策支持系统生成器的硬件或者软件单元,例如某种程序设计语言、某种操作系统、某种数据库管理系统等等。决策支持系统工具处于决策支持系统技术的最低

10、层次。因此,虽然它具有很大的灵活性和适应变化的特征,但是用它来直接开发决策支持系统还是存在一些困难。决策支持系统工具既可用于决策支持系统生成器的开发,也可用于决策支持系统的开发。决策系统支持工具、决策支持系统生成器和决策支持系统的关系如图 1-1 所示。WR-DSSRP 是一个水利决策支持系统生成器,命名为水利决策支持系统开发运行平台(WR-DSSRP)。天津大学 2008 届本科生毕业设计(论文)2 图 1-1 DSST、DSSG 和 DSS 的关系 水利决策支持系统开发运行平台首先是一个水利决策支持系统的开发平台。作为一个水利决策支持系统生成器,水利决策支持系统开发运行平台在概括各专用水利

11、决策支持系统共性的基础上,向水利决策支持系统开发人员提供丰富的二次开发接口。通过平台提供的二次开发接口,水利决策支持系统开发人员可以定制自己的用户接口、自己的数据库、和自己的模型,象搭积木一样形成一个既具有共同行业特征又具有具体系统个性的专用水利决策支持系统。其次,水利决策支持系统开发运行平台又是水利决策支持系统的运行平台。水利决策支持系统开发运行平台的用户除了水利决策支持系统开发人员以外,还包括水利决策人员。对于水利决策人员,水利决策支持系统开发运行平台执行水利决策支持系统开发人员编写的代码,表现得像一个专用水利决策支持系统。水利决策支持系统开发运行平台将建立功能强大的用户接口控件库、平台独

12、立的数据库存取服务、和符合标准的业务模型库。除此以外,该平台还要考虑如何解决新老应用系统的平稳过渡问题,以便能够充分保护用户已有的投资。1.1.2 水利模型库管理系统在 WR_DSSDRP 中的作用 如图 1-2 给出了整个 WR_DSSDRP 的体系结构,从中可以看出水利模型库管理系统(WR-MBMS,Water Resource-Model Base Management System)是水利决策支持系统开发运行平台不可缺少的组成部分。在进行水利决策时,平台需要根据用户的要求调出系统中已有的基本模块和基本模型,生成一个针对某一特定问题的求解过程,即专用模型2。模型管理应当具有存储和动态建模

13、的功能。决策支持系统工具 决策支持 系统生成器 决策支持系统 天津大学 2008 届本科生毕业设计(论文)3 图 1-2 WR_DSSDRP 的体系结构 模型库子系统在水利决策支持系统中占有重要地位。水利决策人员使用水利决策支持系统不是直接依靠数据库中的数据进行决策,而是依靠模型库中的模型进行决策。数据库是为决策提供数据能力或资料能力,而模型库则是给决策提供分析能力的部件,它给决策者以通过推理、比较、选择来分析解答整个问题的能力因此,可以认为,水利决策支持系统是由“模型驱动的”。综上所述,为了对模型库进行集中控制和管理,WR_DSSDRP 必须有一个强有力的模型库管理系统来进行各项管理。模型库

14、管理系统是为生成模型和管理模型提供一个用户友好环境的计算机软件系统。用户可以利用模型库管理系统灵活地访问、更新、生成和运行模型,从而更加充分,方便的运行 WR_DSSDRP。1.2 相关概念 下面简单介绍一下水利模型库管理系统中所涉及的一些相关概念。这有助于读者对模型库管理系统能建立一个初步的印象。1.2.1 模型的概念 什么是模型?尽管没有统一的定义,但是我们可以通过以下两种描述来了解模型的概念:a)如果我们把现实世界中的某些事物叫做一个现实原型,那么模型就是对这种现实原型的一种抽象或模拟,这种抽象或模拟不是简单的“复制”,而是强调反映原型的本质,略去原型中的次要因素。因此,模型既反映原型,

15、又不等于原型,或者说它是原型的一种近似。b)模型是以某种形式(如数学表达式、工作流程)对一个系统的本质属性决策人 用户接口子系统 数据库子系统 模型库管理系统 内部数据库 外部数据库 天津大学 2008 届本科生毕业设计(论文)4的描述,以揭示系统的功能、行为及其变化规律。一般来说,模型就是将一组数据通过一个或一系列方法转换为另一组数据的一个系统。由于从软件实现的角度来看,一个方法就是一个程序模块,因此模型由许多程序模块组成。为了方便起见,这些程序模块也称为基本模块。水利模型可以分为两个层次:基本模型和专用模型。基本模型通过组合基本模块来构成,通常为支持频繁的操作而设立。专用模型通过组合基本模

16、块和基本模型来构成,通常用于为一个水利决策问题提供一个决策方案,一个水利决策支持系统有多个专用模型。基本模块、基本模型、专用模型的关系如图 1-3 所示。图 1-3 基本模块、基本模型和专用模型 水利决策支持系统开发运行平台中的模型都使用程序来表示,包括输入、输出和算法在内的完整程序就表示一个模型。1.2.2 模型库的概念 模型库是提供模型存储和表示模式的计算机系统3。在这个系统中,还包括可以对模型进行提取、访问、更新和合成等操作的软件系统,这个软件系统称为模型管理系统。模型库并不追求模型本身的完美和复杂,也不认为模型可以解决一切决策问题,它的目标是在决策者需要的时候按它的要求构造模型。模型库

17、所构造的模型不一定很复杂,但一定要符合实际,建模时特别注意推理能力和决策者的干预。由于模型的生成、修改、更新、删除、连接是经常性的操作,所以模型库的管理成为非常重要的工作。模型库是决策支持系统的共享资源,它有一些具有支持不同层次的决策活动的基本模型,其中有一些为支持频繁操作的单一模型;还有一些用于生成新模型和基本要素。这样模型库就是一个“产生”模型的基地,而不是预先建立的模型集合,通过模块的组合,可以使模型灵活地变更。因此,动态性是模型库的一个基本特征,也是研究模型库生成技术的前提。1.2.3 模型库管理系统的概念 决策支持系统的应用领域十分泛,各个不同的领域对模型库管理系统的要求也不一样。目

18、前被广泛接受的对模型库管理系统的定义为:设 M=M1,M2.Mn基本模块 专用模型 基本模型 111nnn天津大学 2008 届本科生毕业设计(论文)5为模型的集合,P 为施于 M 上的操作的集合,则为一模型库管理系统。也可以说模型库管理系统是一个支持模型生成、存储、维护和应用的软件系统。决策支持系统概念中的模型管理管理系统通常意味着一个模型的集合和模型管理工具程序的集合。模型管理系统的主要功能包括:辅助用户建立起与特定问题相关联的模型;提供模型库管理功能,使用户可以方便地使用模型库中的模型;辅助用户对模型库进行增减、存取等操作;提供模型库与其它子系统的界面,使用户可以方便地将模型与相关的数据

19、联系起来:辅助用户进行模型的创建、检索、选择、修改等工作。1.3 模型库管理系统的现状与发展 1.3.1 模型库管理系统的现状 模型管理是决策支持系统的核心部分,也是近年来 DSS 研究中十分活跃的领域4。对模型的管理不可能只停留在模型的存储、显示、修改和输出上,而应能支持模型创建、链接、复合与重用。?传统模型管理系统的不足 (1)没有采用统一开发平台。(使参数传递困难)(2)模型与数据不独立。(数据结构一变,模型要跟着变,输入复杂,如输入表、向量、数组,不得不编写大量专用程序)。(3)不支持模型的组合与重用。(4)不支持领域知识推理,模型操纵困难。?需要研究的问题有 (1)模型的表示 (2)

20、模型的自动生成 (3)模型的复合 (4)模型的自动选择 (5)模型的重用等。1.3.2 模型库管理系统的发展 随着计算机科学技术的不断发展,模型库管理技术的发展经过了由易到难的三个阶段5:1)模型库管理技术的初期阶段。比较成熟的模型以子程序的形式汇编成册或存放在计算机内,用户可以根据自己的需要调用它们。在这种情况下用户同时也是程序员,他的任务是编写子程序。模型可以多层嵌套,一个解决小问题的模型在调试成功后,可以存放在模型库内,作为解决更大问题的子模型。2)模型软件包。软件包阶段对大量的较通用的模型由专职人员预先编制好天津大学 2008 届本科生毕业设计(论文)6模型程序,模型统一挂在交互菜单下

21、。用户就不用自己再编制模型程序,而是在人机交互菜单的驱动下,调用所需要的模型。模型之间是相对独立的,模型使用的数据仍放在各自的数据文件中。这比上一阶段前进了一步,它建立了大量模型的简单组织机构。这才真正进入了模型库管理阶段,因为模型软件包降低对用户的要求,但缺乏灵活性,这就是模型库管理系统出现的背景和客观要求。3)模型库管理系统。这一阶段,建立了大量模型的有效组织机构。模型不简单的挂在菜单下面,而是在管理系统下,有效的对模型进行存储、修改、查询、调用。模型之间不仅可以相互独立,而且可以相互结合。模型库管理系统是随决策支持系统的需要而发展起来的,它使模型管理技术提高到一个新水平上。1.4 论文的

22、组织结构 本文从水利决策支持系统开发运行平台的背景出发,逐步讨论水利模型库管理系统的设计与实现。第二章叙述了对水利模型库管理系统的需求,从不同方面阐述了用户需要的是怎样的一个系统。第三章论述了水利模型库管理系统的设计方案。第四章讨论了水利模型库管理系统的具体实现,和运行效果。第五章是对已完成工作的总结和对未来工作的展望。天津大学 2008 届本科生毕业设计(论文)7第二章 水利模型库管理系统的需求分析 本章阐述了水利模型库管理系统(WR-MBMS)的用户需求,分别从用例分析、功能需求、使用场景、运行环境等方面描述系统应满足的要求。通过本章,读者可以对 WR-MBMS 有一个初步的认识,并可以清

23、楚 WR-MBMS 是一个什么样的系统。2.1 用例需求 用例是系统提供的功能块,换句话来说用例演示了人们如何使用系统。通过用例观察系统,能够将系统实现与系统目标分开,有助于了解最重要的部分满足用户要求和期望,而不会沉浸于实现细节。通过用例,用户可以看到系统提供的功能,先确定系统范围再深入开展项目工作。所以根据用户的需求我们判断出水利模型库管理系统(WR-MBMS)所面向的用户应分为三大类:1.最终用户,即水利决策支持系统的使用者。2.模型库编写人员,即水利计算方面的专业人员。3.水利决策支持系统中的其他模块。其具体用例分析如图 2-1 所示。图 2-1 水利模型库管理系统 WR-MBMS 用

24、例图 天津大学 2008 届本科生毕业设计(论文)82.2 功能需求 水利模型库管理系统需要实现的主要功能描述如下:1)添加新模型:模型库编写人员可将最新编写出的模型文件添加到模型库中,并按提示输入模型的相关必要信息,诸如函数接口,功能描述等。2)删除模型:对于已经不符合计算要求或者存在 bug 的模型文件,可以将其从模型库中删除 3)查看模型信息:显示模型的基本信息和属性,帮助用户了解模型的特性,从而能选择适合的模型进行下一步操作。4)修改模型信息:用户可以修改模型的描述信息,使之更为详尽具体。用户也可以为模型添加或修改备注,便于自己的使用。5)模型分类:用户可以根据自己的需要,建立模型分类

25、,将具有类似特点的模型存储于同一分类中,使模型库的层次更加清晰,便于管理和使用。6)查找模型:用户可以按照模型名称,创建时间,属性值等条件在模型库中查询到所需的模型。7)选择模型:用户选择最终要使用的模型。8)调试模型:对于已加入到 WR-MBMS 中的模型,为确定其正确性,系统应提供模型的调试功能。9)合成新模型:用户可以通过对现有进行拼装组合,来生成一个新模型。10)启动模型库管理系统:用户在使用水里决策支持系统的时候,可以启动WR-MBMS,来进行有关模型的操作。11)调用模型库管理系统(WR-MBMS):水利决策支持系统中的其他模块可以利用 WR-MBMS 提供的函数接口,获取需要的模

26、型相关信息。12)调用所选模型:其他模块可以调用已选择的模型,通过这个模型进行水利方面的一些计算和数据处理。13)获得所选模型参数:其他模块可以获得所选模型的一些参数,用于信息显示,数据分析等方面的操作。14)更新模型代码:用新版本的模型替换旧版本模型。2.3 使用场景需求 水 利 模 型 库 管 理 系 统(Water Resource-Model Base Management SystemWR-MBMS)完成后所满足的使用场景应如图 2-2 所示 天津大学 2008 届本科生毕业设计(论文)9水利模型编写人员 启动WR-MBMS添加/更新模型 最终用户 调试模型 模型管理操作,诸如模型分

27、类,查找模型,删除模型,合并模型等 选择模型 退出WR-MBMS水利决策支持系统中其他模块调用WR-MBMS的接口函数 获取所选模型及其信息图 2-2 水利模型管理系统使用场景图 使用场景应满足三类用户的需求,这三类分别是水利模型编写人员,最终用户以及 DSS 中的其他模块。1)水利模型编写人员:水利编写人员是水利模型库中所有模型的编写者。他们的主要的工作是将自己编号的模型加载到 WR-MBMS 中,所以水利编写人员的使用步骤按照需求应如下:i.首先启动模型库管理系统。ii.添加新的模型文件或者更新原有的模型文件。iii.调试模型,确定其正确性(可选操作)。天津大学 2008 届本科生毕业设计

28、(论文)10iv.退出模型库管理系统。2)最终用户:最终用户是指水利模型管理系统的最终使用人员。他们的主要工作是使用WR-MBMS 来进行模型管理,从而计算相关水利数据。因此最终用户的使用步骤按照需求应如下:i.首先启动模型库管理系统。ii.然后进行一些模型库管理操作,主要有模型分类、模型查找、删除模型、合成新模型、修改模型信息、查看模型信息等。iii.选择要调用的模型,为下一步的数据处理和计算做准备。(可选操作)。iv.退出模型库管理系统。3)水利决策支持系统中其他模块:其他模块可以调用模型库管理系统所提供的接口函数,通过接口函数进行相应操作。同时,其他模块也可以直接调用模型库管理系统所选择

29、的模型,直接进行数据处理和计算工作。2.4 软件硬件需求 根据需求分析,水利模型库管理系统采用的软硬件设施如下。运行系统:安装了.Net Framework3.5(.Net Framework 是微软的几个开发团队一起努力发展的成果,是一个可以用来快速开发、部署网站服务及应用程序的开发平台。这个架构是两个项目的结果,第一个项目的目的是用来改善 windows作业平台上的程序开发;第二个项目则是制作一个以发展服务软件为目标的开发平台6。)的 WINDOWS 系统。运行硬件环境:普通 PC 机 开发系统:WINDOWS XP/VISTA 开发环境:Microsoft Visual Studio 2

30、008 开发语言:C#开发模式:Windows 窗体项目 天津大学 2008 届本科生毕业设计(论文)11第三章 水利模型库管理系统的设计 3.1 接口设计 WR-MBMS 的未来扩展其实在很大程度上取决于接口如何设计。我们知道,在软件工程范畴内,“接口”有两种众所周知的含义:其一则指的是人与软件之间的交互界面。我们把这种人和软件之间的接口称作“用户界面”,也就是“UI”。其二是指软件本身的狭义“接口”,比如各种软件开发 API 等。下面将从这两个方面来设计 WR-MBMS 的接口,即人机交互接口(即上面提到的用户界面)以及 WR-MBMS 接口函数(及上面所说的 API)。3.1.1 人机交

31、互接口设计 首先应设计出易于用户操作并且简洁美观的用户界面,以此作为人机交互的接口。用户界面设计在漫长的软件发展中一直没有被重视起来。其实软件界面设计就像工业产品中的工业造型设计一样,是产品的重要买点。一个友好美观的界面会给人带来舒适的视觉享受,拉近人与电脑的距离。界面设计不是单纯的美术绘画,它需要定位使用者、使用环境、使用方式并且为最终用户而设计,是纯粹的科学性的艺术设计。检验一个界面的唯一标准就是最终用户的感受。所以界面设计要和用户研究紧密结合,是一个不断为最终用户设计满意视觉效果的过程。经过多方面考虑,最终决定 WR-MBMS 的用户界面风格采取普通 windows程序样式。它包含一个主

32、窗体以及若干个弹出对话框。模型的主要操作都在主窗体中完成,主窗体的大体布局设计如图 3-1 所示。图 3-1 水利模型管理系统主窗体设计图 采用此种设计方案的主要原因有两个:工具栏 左 侧 采用 二 页分页栏,分 别 显示 模 型分 类 树以 及 模型 查 找窗口 此处显示当前所选分类下的所有模型 信息栏,显示一些较为详细的信息 天津大学 2008 届本科生毕业设计(论文)121)符合用户的操作习惯。由于 WR-MBMS 是一款运行在 windows 系统上的软件,所以应保持与 windows 系统相同的操作风格,这样用户的使用适应期可以将到最低。如图 3-1 所示,左侧显示模型分类树,类型之

33、间以树的形式表示它们的层次关系。点击某个类型(即模型分类树中的一个节点)后,在右侧会显示此类型下的所有模型文件。这种设计风格与windows 系统中的资源管理器如出一辙,用户使用起来不会感觉陌生。2)界面简洁,便于用户使用。不论是模型信息显示还是模型组合操作,所有需要显示信息的部分都由右侧的信息栏负责,这样避免了大量窗口的弹出,给用户带来麻烦。3.1.2 接口函数设计 WR-MBMS 除了提供用户界面之外,还应提供一些接口函数,为水利决策支持系统其他模块以及 WR-MBMS 本身提供服务。接口函数的设计采用单一静态类的方法,即将所有的接口函数封装到一个类中,并且是一个静态类,命名为ModelS

34、ervice。采用这种设计方案的好处有以下几点:1)采用静态类,在调用接口函数时就不用进行实例化,这样不但减少了编码的数量,而且提高了代码的安全性。2)封装到一个类中,这样可以将所有的接口函数写在一个.CS 文件中,不仅便于管理,而且方便日后编译成.dll 文件。3)可以声明静态变量,这些静态变量可以作为公用参数,被其他代码访问。如果不是在静态类中,每次要想获取这些变量的值,就必须先实例化这个类。静态变量可以节省内存,因为它是所有对象所公有的。因此,对多个对象来说,静态变量成员只存储一处,供所有对象共用。静态变量成员的值对每个对象都是一样,但它的值是可以更新的。只要对静态变量成员的值更新一次,

35、保证所有对象存取更新后的相同的值,这样可以提高时间效率。接口函数还应考虑到可扩展性的问题,也就是说,接口函数之间要做到彼此独立,互不相干。这样日后如果某个接口函数更新了,也不会影响到其他的函数。3.2 功能模块的设计 WR-MBMS 按照各自所负责的工作差异,分为以下几个模块:模型编辑,模型组合,模型查找,模型调用以及模型分类。下面将进一步设计每一个模块具体负责的操作。?模型编辑模块 应实现的功能包括:打开已有模型,显示其具体信息;编辑已有模型,修改其中的某些模型信息;删除模型,将不需要的模型从系统中删除;添加模型,用天津大学 2008 届本科生毕业设计(论文)13户可以通过添加向导,将新的模

36、型添加到系统中;更新模型相关文件,用户可以更新模型所对应的计算模型文件。?模型组合模块 应实现的功能包括:添加模型间关系,确定哪两个模型之间的哪对变量有输入输出关系;生成组合模型文件,获取所有的模型间关系,生成组合模型文件;检查组合模型,通过拓扑排序,以及其他一些限制条件来判断组合模型是否符合逻辑条件。?模型查找模块 应实现的功能包括:条件查询,通过一组或一个查询条件来选出符合要求的模型;查询功能界面,提供一个方便用户输入查询条件的查询窗口。?模型调用模块 应实现的功能包括:根据模型文件获取调用模型的相关信息;提供模型调用的接口函数;运行模型。?模型管理模块 应实现的功能包括:对模型进行分类管

37、理;模型分类树的实现,分类树节点的添加,删除,拖放;点击某一分类节点,显示此节点下的所有模型;改变模型的所属分类;分类信息的保存和导入。3.3 数据文件的设计 数据文件是整个 WR-MBMS 的核心内容,主要的数据文件包括用户分类信息文件,单一模型文件,组合模型文件。它们都采用 XML 技术来组织。扩展标记语言 XML 是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立。之所以水利模型库管理系统要采用 XML 进行数据存储,主要是考虑到了它有以下几个优点7:a)XML 通过使用一个可扩展标记集提供文档内容的更准确描述。b)XML 可用标准化语法来验证文档内容

38、。c)XML 使用户与应用程序之间文件交换更容易。d)XML 支持高级搜索。e)XML 将文档结构与显示内容分开。f)XML 改进用户响应、网络负载和服务器负载。g)XML 支持 Unicode。h)XML 支持文档间的高级链接。下面将阐述每一种数据文件的具体格式设计,并给出相应的XML文件举例,使读者能清楚的了解每一个文件在 WR-MBMS 中的作用。3.3.1 单一模型文件 天津大学 2008 届本科生毕业设计(论文)14单一模型文件(.mod 文件)是对一个计算模型中某一函数的封装,除了提供一个由水利专业人员所编写的计算模型(一般为.dll 文件或.exe 文件)外,还包含对此计算模型中

39、某一函数的信息描述,例如它的名称、编写时间、编写人、功能描述、所包含的参数、方法等。图 3-2 是.mod 文件的结构设计举例。0 模型名称 *.dll UI 文件 模型功能描述 2008/5/24 0:00:00 2008/5/24 0:00:00 张三 CLASS1 METHOD1 1 string 参数描述 p1 0 图 3-2 .mod 文件的结构设计举例 其中节点代表一个模型文件,其子结点所表示的含义如表 3-1 所示。表 3-1 的所有子结点的涵义 节点名称 节点含义 节点名称 节点含义 模型类型 模型名称 模型文件名称 模型 UI 文件名称 模型功能描述 模型修改时间 模型创建时

40、间 模型作者 所调用类的名称 所调用方法的名称 天津大学 2008 届本科生毕业设计(论文)15 需要注意的是在 WR-MBMS 中所指的模型,其实上就是一个功能函数的封装,封装后的结果就是对应的.mod 文件。因此每一个.mod 文件被看作是一个单独的数据处理模块,它只含有一项特定功能。这样设计的好处是保持了每个功能函数的独立性,不仅有利于.mod 文件的注册,也方便于模型的组合,以及模型信息的描述。模型、.mod 文件、功能函数以及计算模型(一般为.dll 文件或.exe 文件)几个概念之间的关系如图 3-3 所示 图 3-3 模型,计算模型,功能函数之间的关系 由图3-3可以看出,一个水

41、利人员所编写的计算模型可以包含多个功能函数。而本文中所指的模型(以.mod 文件的形式存在)实际上就是对其中某个功能函数的封装。也就是说,一个计算模型有可能被封装成多个 WR-MBMS 中的模型。.mod 文件的结构设计也考虑到了模型的调用问题。.mod 文件中涉及到模型调用的节点如表 3-2 所示。计算模型 功能函数一 功能函数二 功能函数 N 功能函数 n 对此功能函数进行封装,添加它的一些相关信息,例如名称,所含参数等。封 装 的 结 果 即 为 一个.mod 文件.mod 文件 一般为 xxx.dll或 xxx.exe 文件 模型 一一 对映 封装 天津大学 2008 届本科生毕业设计

42、(论文)16表 3-2 .mod 文件中涉及模型调用的节点说明 节点名称 用途说明 调用参数,代表一个在模型调用过程中必须赋值的参数 调用参数编号,代表此参数在参数列表中的位置 变量,调用过程中不强制要求,但是也可以改变计算过程的参数 模型调用类型。所调用功能函数所属的类 所调用的功能函数的名称 关于.mod 文件的其他具体细节,将在下一章结合实现过程进行进一步描述。3.3.2 组合模型文件 组合模型文件(.cmod 文件)是用来描述一个组合模型信息的数据文件。之所以要设计这样一种文件,主要是考虑到了以下两个因素:1)用户每次按照步骤组装完成一个模型后,除了会立即利用此组合模型进行计算,也需要

43、将当前的这种组合关系保存起来,从而方便日后再次使用。2)由于 WR-MBMS 的模型组合是采用逻辑组合方式(最终的组合模型是利用 XML 语言描述内部组合关系的,实质上就是一个脚本文件)而不是物理组织方式(将组合模型所涉及到的所有子模型代码拼装起来,生成一个真实存在的最终模型),所以必须设计出一种能够描述子模型之间关系的数据文件,即.cmod 文件。此外还需要特别澄清 WR-MBMS 中“模型间关系”这一概念。一般来说模型之间可以存在许多种关系,调用关系、并行关系、判别关系等。但在 WR-MBMS中只支持一种模型间关系,即数据传递关系。如图 3-2 所示,组合模型 I 由模型A,模型 B,模型

44、 C 组成,它内部包含了两个关系,由 a 到 c,和 d 到 e 这个条线表示。模型 A 计算出的 a 值传递给模型 B,作为 c 的初始值。类似的,模型 B 计算出的 d 值传递给模型 C,作为 e 的初始值。这种关系就是数据传递关系。天津大学 2008 届本科生毕业设计(论文)17 图 3-4 组合模型举例 如果不存在图 3-4 所示的组合模型 I,那么用户最少需要进行三次模型调用,才能完成这一系列操作。但只要有了组合模型 I,用户只需最初给定一个 a 值,组合模型便能只经一次调用就返回最后结果。可见,这种数据传递关系对于实现模型组合来说是必不可少的。如图 3-5 是.cmod 文件的一个

45、简单实例:图 3-5 .cmod 文件举例 其中节点表示组合模型中的所有关系,它的每个子结点代表一组模型间的关系,节点每个属性的含义如表 3-3 所 a b 模型 A c d 模型 B e f 模型 C 组合模型 I 1.c=a+1 2.d=c+1 3.e=d+1 天津大学 2008 届本科生毕业设计(论文)18示。表 3-3 节点各属性的含义 属性名称 含义 InMid 关系中提供数据源的模型编号 InVal 关系中提供数据源的变量名称 OutMid 关系中接受数据源的模型编号 OutVal 关系中接受数据源的变量名称 Exsit 关系标志位 节点表示那些不需要其他模型提供数据源的模型,这些

46、模型在组合模型被调用时最先运行。节点代表组合模型中各个子模型的执行顺序,它的子节点决定每一步执行哪个子模型。3.3.3 用户分类信息文件 用户分类信息文件的扩展名为”.cate”,它用于存储用户对模型文件分类的信息。在模型库中因为存在着数目庞大的模型文件,所以如果不加以分类,将使得用户在管理过程中缺乏条理性。此外,不是每个用户都需要所有的模型,所以用户专属的.cate 文件可以列出他所需的模型,而不是数以百计的所有模型。.cate 文件的组织形式采取类似于 windows 中文件夹的组织形式,每个用户有一个属于自己的主文件夹,在这个主文件夹用包含了他自己的一些分类文件夹。其具体设计结构如图 3

47、-6 所示 天津大学 2008 届本科生毕业设计(论文)19 0 根节点 0 True 1 父分类一 0 False 2 子分类 1 1 False 3 父分类二 0 False 图 3-6 用户分类信息文件举例 Class 元素代表一个分类,其中的 id 是分类编号,name 是分类名称,parid是该分类所属的父分类编号,del 代表该分类是否可删除。对于用户主文件夹元素来说,它是不可以被删除的,因为他是所有其他分类元素的父分类。因此图3-6 的显示效果应和图 3-7 一样。图 3-7 用户分类文件的效果图 3.4 类的设计 为了利于编码的实现,在设计类的时候一定要做到结构合理、条理清晰。

48、比天津大学 2008 届本科生毕业设计(论文)20如说,应将类所包含的方法设计成简要的功能性单元,用它描述和实现一个不连续的类接口部分。理想情况下,方法应简明扼要。若长度很大,可考虑通过某种方式将其分割成较短的几个方法。这样做也便于类内代码的重复使用。在设计类的过程中也要遵循以下几个原则8:a)单一职责原则:对一个类而言,应该仅有一个引起它变化的原因 b)开放,封闭原则:软件实体(类,模块,函数等等)应该是可以扩展的,但是不可修改的。c)依赖倒置原则:高层模块不应该依赖于低层模块,二者都应该依赖于抽象;抽象不应该依赖于细节,细节应该依赖于抽象。d)接口隔离原则:不应该强迫客户依赖于他们不用的方

49、法。因此,在 WR-MBMS 中,鉴于功能的划分以及 C#编码的特点,设计出以下几个比较关键的类。?ModelService 类:此类所包含的方法主要是一些公用的函数,例如添加模型函数,获取模型函数,查找模型函数等。此外 ModelService 类中还应包含一些参数,这些参数是全局变量,WR-MBMS 中的所有代码都可以获取它们的值(例如要声明一个变量 DataPath,此变量的值代表WR-MBMS 数据的根目录,其他代码便可据此找到相应的数据)。ModelService 类以及它所包含的所有方法和变量都是静态型的,这样每次调用的时候无需再进行实例化。?ModelType 类:这个类是用来描

50、述模型信息的,换句话说,这个类的用途是将.mod 文件信息转化为可识别的 C#代码。如果将.mod 文件转化为ModelTyp 类,在编码过程中,就可以使用 C#语言对模型进行诸如添加,删除,修改等操作。举例来说,如果想新建一个模型,只需在程序中编写“ModelType MyModel=new ModelType()”。?ModelType 所包含的一些类:为了更详尽的描述一个模型,就应该对ModelType 类进行细化,所以它还应包括以下几个类的实例。分别是Method 类,Variable 类,MethodCollection 类以及 VariableCollection 类。这些是用来描

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 财经金融

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁