水文资料信息管理系统的开发及应用
2016-05-15郭琰
郭琰
(陕西省水利电力勘测设计研究院陕西西安710001)
水文资料信息管理系统的开发及应用
郭琰
(陕西省水利电力勘测设计研究院陕西西安710001)
本文简述了水文资料信息管理系统的开发及应用。从技术角度出发,以vs2012、.net framework、SQLserver2012为编程工具,使用c#和sql编程语言,完成本系统的全部功能。本文对于系统需求和功能等方面进行了详细分析,阐述了系统的开发难点和重点,以供系统用户和其他开发人员应用参考。
水文资料信息管理系统;PD F;开发应用
1 开发背景及技术要求
在水文作业分析工作中,需要查阅大量的水文资料,由于许多单位的水文资料大多都是纸质的,查询、浏览资料,复印、摘录信息等均较为繁杂,携带更为不便。于此同时,基于现有部分水文资料实现了无纸化,所以开发水文资料管理系统对数字无纸化的水文资料进行管理是非常必要的。
本系统用户对象分为两类,管理员和一般用户。系统主要方便用户对所需水文资料的查阅和打印,提升用户的查找速度和准确性。
水文资料信息管理系统的配置要求:
(1)操作系统:WindowsXp系统及以上等;
(2)硬件配置:大于或等于8G内存,硬盘需要容量在200G以上,优质的显卡;
(3)特定技术:.net+SQLserver;
(4)工具:vs2010、.net framework、SQLserver2012;
(5)编程语言:c#、sql;
(6)数据库:SQLserver2012。
2 系统工作流程
水文资料信息管理系统工作流程见水文资料信息管理系统工作流程图(图1)。
3 功能需求
3.1 登陆
(1)登陆页面
要求页面简约,仅设两个登陆框:用户名和密码,用户名不超过15个字符,密码失败次数不设置上限。页面同时设置两个按钮:登陆、取消。响应时间控制在1s之内。登录成功即响应Response.Redirect(“管理员管理界面.aspx”);
图1 水文资料信息管理系统工作流程图
(2)登陆失败页面
跳转至“登陆失败,重新返回登陆”页面。3.2功能模块简述
查询者模块
该模块分为查阅和截图打印部分。
管理员
该模块分为增加、删除、改动、查询水文资料,以及统计人员信息。
4 功能需求详细说明
4.1 查询者模块
4.1.1 查阅。通过年代、卷数、水文资料名称选择查询水文资料,任何字段都未输入就会按年代列出全部水文资料。
(1)年代只限年份。
(2)卷数可以从1到100。
(3)水文资料使用模糊查找。
更新处理时间限制在2s之内。可按资料年份索引、排序;排序可由小到大,也可以由大到小。数据显示时按每个文件显示,一个文件显示1页,可以前后翻阅,更新速度在0.3s之内。
4.1.2 页面打印
通过插件接口将需要的页面打印出来。
4.2 管理员模块
(1)增加水文资料:批量向数据库中传入图片地址等文件信息。
(2)删除水文资料:批量删除文件地址等信息。
(3)修改水文资料:手动替换文件地址,单个手动进行。
(4)查询水文资料:同查询者的查询功能。
(5)统计人员信息:通过登录的数据对每日、每月、每年的人员动作信息进行统计。
表1 管理员表
表2 管理员日志表
表3 详细的水文资料数据表
因为设计是数据库中只存入图片地址,所以吞吐量较小,速度较快。默认排序按年代由大到小排列。
5 数据库表的设计
数据库设计需3个表:
(1)管理员表(表1)
主键为管理员ID,登记登录时间和退出时间,时间格式为年月日-时间。
(2)管理员日志(表2)
主键为管理员ID,管理员动作为管理员在登入时间内在系统中做出的行为,如表2中的“删除了编号为4589623的文件”等。
(3)水文资料表(表3)
主键为编号,编号为唯一码。存放地址可以是任意硬盘地址,但是最好是统一安排。
6 安全设施、保密及质量要求
本系统需要一台计算机和一台打印机,必要时需要服务器支持。考虑到资料的保密要求,只能进行水文资料的抄录或者打印,需要授权拷贝文件。
质量要求属性如下:
软件的实用性和稳定性。软件能够无故障的运行。对软件进行修改较为容易,软件可用性强,风格简明统一。
重复利用性:其他资料也可以按本系统进行管理、可测试性(查找缺陷较为容易)、可移植性高。
在水文资料信息管理系统中可以对文件进行预览和打印,只有管理员有增加删除修改查询数据及记录日志的功能。其他用户只可以查询、预览和打印,不允许拷贝走文档或者将文档发往其它地址。
7 编程重点和体会
在用C#语言进行软件开发时,插件和控件的使用是非常重要且方便的,它可以较大幅度的提高编程效率,同时提高编程质量。
编程的重点及体会如下:
(1)关于数据绑定。gridview的数据绑定,它可以快速的绑定database,直接可视化点击关联数据库,手写代码也适用,使用SqlDataSource如下:
<asp:SqlDataSource ID=“SqlDataSource2”runat=“server”
ConnectionString=“<%$ConnectionStrings:水文资料地址数据库ConnectionString%>”SelectCommand=“SELECT DISTINCT[卷数] FROM[swxt]”>
</asp:SqlDataSource>
(2)关于flexpaper插件的使用。Flexpaper是一个开源轻量级的在浏览器上显示各种文档的组件,使在Flex中显示PDF成为可能,可以在vs2010中嵌入系统中。Flexpaper的主要功能是将swf格式的文件显示、放大、缩小、打印和定位等。因为本系统要求将扫描文件预览和打印,所以在系统中选择使用了flexpaper插件。但由于flexpaper只能识别swf格式的文件,所以需要将扫描的PDF文件转换成swf格式的文件。
(3)关于数据格式转换和传输。编程中使用flexpaper插件时,遇到的难点是怎么样转换数据然后进行传输。在参考了flexpaper的API之后,使用PDF2SWF在DOS下的转化命令转换文件类型,将PDF文件转换成为swf格式文件。下载并且安装SwfTools2.转换PDF到SWF,可以通过命令行的方式如下C: DATA2014第一卷Paper3.pdf-o Paper3.swf进行转换操作。在数据传输时,通过使用filepath进行数据地址的传输<cc1:ShowPdfID=“ShowPdf1”runat=“server”FilePath=“pdf/abc. pdf”/>
(4)关于数据导入。将储存在服务器的数据导入flexpaper的接口,在flexpaper中使用同一个专用文件地址存储这个要转换的文件,将此文件名称使用同一个专用的文件名称及地址,这样相当于每次读入内存的文件被新的文件覆盖,因此可以省下大量的存储空间,并且优化系统的内存占用。
(5)关于日志。本系统中会自动在数据库中记录管理员动作,但是统计用户的行为是需要管理员登录受理的。比如,张三借了一本水文年鉴,管理员会在日志中记录下详细信息。此信息会按照日期和内容自动命名日志文件,在固定地址生成新的txt文件,这部分关键代码如下所示:
System.Windows.Forms.SaveFileDialog obj= newSystem.Windows.Forms.SaveFileDialog();
obj.F=“(*.txt)|*.txt|”+“(*.*)|*.*”;
obj.Name=“文件”+DateTime.Now. ToString(“yyyyMMddHHmm”)+“.txt”;
StreamWriter FileWriter=newStreamWriter (obj.Name,true);F.Write(this.TextBox1.Text);
8 结语
综上所述,水文资料信息管理系统很好地解决了繁杂的纸质水文资料的查询、浏览、摘录、打印等电子化问题,可方便用户对所需资料的查阅、摘录或打印,提升用户的查找速度和准确性。同时,该系统也可用于其它行业的纸质资料、文件及图书等数字化管理。陕西水利
(责任编辑:畅妮)
TP39
A