1、第一次发布V1.0朱磊2011-8-152文档完善2011-8-273456目录1 运行环境32 使用说明52.1 主界面操作62.2 导入数据文件进行仿真预测82.3 预测结果显示132.4 结果对比152.5 结果另存为172.6 手动输入数据182.7 导出指标变量192.8 版本转换222.9 开发团队232.10 技术支持243 技术参考253.1主要功能点253.2仿真预测模型构造263.3仿真预测模型编译成.Net组件383.4.Net组件集成至C#程序中424 开发体会451 运行环境要运行智能水质预测系统,用户的计算机必须装有.Net Framework 4.0和MCRIns
2、taller(MATLAB编译器),才能正常运行。如果用户的电脑上没有安装.Net Framework 4.0,是无法运行本软件的,系统会自动弹出提示对话框。Windows XP用户出现对话框如图1所示。Windows 7用户出现对话框如图2所示。图1 在Windows XP中无法运行弹出的对话框图2 在Windows 7中无法运行弹出的对话框只有计算机只有安装了.Net Framework 4.0,才能进入系统。但如果用户的电脑上没有安装MCRInstaller(MATLAB编译器),虽然也能进入本系统,但是无法进行仿真操作的,当用户进行仿真操作时,系统会自动弹出类似于如图3的对话框。图3
3、没有安装MATLAB编译器无法仿真弹出的对话框用户电脑只有同时安装了.Net Framework 4.0和MCRInstaller,才能正常运行本软件。为什么不安装.Net Framework 4.0和MCRInstaller,该软件不能正常运行?因为本软件是基于C#和matlab开发的混合编程,要让操作系统能运行本软件,只有安装了.Net Framework 4.0,系统才能运行C#程序;本软件的预测仿真功能是用matlab编译的.Net组件,只有安装了MCRInstaller,操作系统才能运行matlab编译的组件。注意:在安装.Net Framework 4.0和MCRInstaller
4、时,系统可能会提示用户安装诸如wic_x86_chs、WindowsXP-KB942288-v3-x86等补丁,那是因为操作系统要运行.Net Framework 4.0和MATLAB编译器,需要这些补丁,为了软件能正常运行,请安装这些提示的补丁。2 使用说明这部分主要是为初次使用本软件的用户,简单讲解软件涉及的各种操作步骤和要点。2.1 主界面操作打开本软件之后,软件会有启动画面,如图4所示。图4 打开软件后的启动画面经过短暂的启动画面后,软件自动进入系统的主界面,界面简洁美观。如图5所示:图5 系统主界面此时,用户在系统主界面上能够点击的按钮为5个,分别为“导入数据文件”、“手动输入数据”
5、、“导出指标变量”、“版本转换”、“开发团队”。如图6所示:图6 用户在主界面能够点击的5个按钮系统主界面只有5个按钮吗?不是。有些按钮在系统启动时影藏了。开发者考虑到系统的运行流程,将需要前因触发的事件,先隐藏起来,等到触发事件的前因满足了。响应的按钮会自动出现。这样做,能够帮助用户屏蔽许多误操作,也使该系统操作更加人性化。当用户把鼠标移动到某个按钮上时,系统会自动弹出具有透明效果的窗体,向用户显示此时鼠标所在按钮的简要功能说明,方便用户操作。当用户把鼠标从按钮上移开时,功能说明窗体会自动消失,方便好用。这么操作,使软件充满人性化。提示窗体效果如图7所示。图7 提示窗体效果2.2 导入数据文
6、件进行仿真预测要对数据进行智能仿真,预测结果,前提得有数据,本软件有2种输入数据方式:导入已有的数据文件(Excel文档);手动输入数据。另外,本系统还允许,在导入已有的数据文件(Excel文档)的情况下,手动添加数据、修改数据、删除数据,使软件操作更加灵活。首先向用户介绍如何导入已有的数据文件(Excel文档)。(1)点击“导入数据文件”按钮,如图8所示。图8 点击“导入数据文件”按钮(2)系统会出现“打开文档界面”,能够导入的文件为Excel文档,后缀名格式为(.xls或.xlsx),效果及操作步骤如图9所示。图9 打开文档界面的效果及操作步骤(3)单击图9中的“打开文档页面”的“打开”按
7、钮后,进入Excel的“工作表选择”界面,如图10所示。图10 Excel的“工作表选择”界面感觉导入数据好复杂啊选择了Excel之后,为什么还要选择工作表啊?其实,开发人员已经将导入工作做得最简单化了。因为导入数据的这个功能,开发人员采用了基于最新LINQ技术的LinqToExcel控件,并且加入了数据过滤算法,使数据导入既快速又可以成功过滤掉Excel中可能存在的空行(原始控件将数据中存在的空行默认为是0)。至于选择了Excel之后,还要选择工作表,那是读取每个Excel文档数据的必须步骤。来看一下Excel的界面,如图11所示,红色框圈出来的就是工作表。其实,每个Excel都默认有3个工
8、作表,用户可以把数据存在一个Excel的不同工作表中。图11 Excel中工作表的布局(4)在图10界面中,选择Excel文档中数据所在的工作表,点击“确定”按钮,系统就会自动返回到“主界面”。此时,文件输入框中就显示了要导入数据的路径,并且在“主界面”也多了7个按钮,效果如图12所示:图12 选择Excel后放回主界面的效果在图12中,“指标预测”按钮共有7个,当用户把鼠标移动到按钮上时,系统会自动弹出具有透明效果的提示框,显示当前鼠标所在按钮对应的具体指标预测说明。当用户把鼠标移开按钮时,信息提示窗口会自动消失。用户可以根据自己数据指标的需求,选择点击合适的“指标预测”按钮(按钮具体对应的
9、预测指标可参见2.7节)。点击“指标预测”按钮后,系统会根据文件输入框中显示的数据导入路径,自动导入用户选择的Excel文档中的数据,并且进入“智能水质预测”界面,将数据以表格形式,形象地将导入的数据展现在用户面前,效果如图13所示。图13 数据导入智能水质预测界面的效果进入“智能水质预测”界面后,如图13所示。可供用户点击的按钮有“开始”按钮和表格的导航栏中的相关按钮。用户如果想: 直接仿真预测,可以点击“开始预测”按钮进行仿真预测。点击“开始预测”按钮后,该按钮字样会变成“重新预测”,在预测仿真阶段,该按钮功能会自动失效,再点击该按钮,不会有任何效果。另外,“暂停取消”按钮功能会生效。如果
10、想在预测仿真阶段暂停,可以点击“暂停取消”按钮。 先修改、删除、添加数据后仿真预测,(在此说明一点,系统导入的数据是Excel数据的副本,暂存在内存数据库中,用户对副本数据的修改、添加、删除是不会对原始数据有任何影响,不会因为可能存在的误操作而导致原始数据的丢失)。可以:(1) 修改数据:鼠标双击表格中数值所在位置(或者选中表格中数值所在位置,再按键盘上的F2键),即可直接修改数据。(2) 删除数据:鼠标单击要删除数据的行号,然后再点击导航栏上的按钮,即可删除选中行的数据。(3) 添加数据:在表格的最后一行的行号前有“*”号,用户可以在此行上添加数据。在表格中修改、删除、添加数据后,可以点击“
11、开始预测”按钮进行仿真预测。在软件的表格中对数据进行了修改、添加或删除操作后,万一手动输入了错误数据,会不会破坏原来在Excel文档中的数据啊?不会。因为开发者在编写该软件时,已经考虑到了这一点。所以,在导入数据时,其实是将原始数据的副本导入到内存数据库中,然后系统再对内存数据库中的数据,进行智能仿真预测。即便用户在系统中对数据修改、添加或删除了数据,也仅仅是对原始数据的副本进行了修改、添加或删除,是不会影响Excel文档中的原始数据的。除非,用户直接在Excel文档里面对数据进行修改、添加或删除操作,并对Excel文档进行了保存,这么做就把原始数据给更新了。智能水质预测界面的导航栏(如图14
12、所示)中其他按钮的相关操作:图14 导航栏(1) 点击按钮,数据选中框会跳到第一条数据位置。当数据选中框在第一条数据位置时,该按钮会变成灰色,操作功能失效失效。(2) 点击按钮,数据选中框会跳到上一条数据位置。(3) 在红色输入框中输入右边数字的任意数字,按回车键,数据选中框会自动跳到红色输入框中数字所对应的表格位置。(4) 点击按钮,数据选中框会跳到下一条数据位置。当数据选中框在最后一条数据位置时,该按钮会变成灰色,操作功能失效失效。(5) 点击按钮,数据选中框会跳到最后一条数据位置。2.3 预测结果显示在仿真预测结束后,系统会出现一个饼状图,告知用户刚才的进行仿真预测数据中污染和非污染的样
13、本所占比例。表格会多出2列添加在最后,一列是“仿真结果”,另一列是“修正结果”。修正结果是1,代表水质污染,为0代表水质未污染。另外系统也会根据预测结果,给污染的水质数据表上红色,未污染的水质表上绿色。“开始预测”按钮会变成“重新预测”按钮。在仿真预测结束后,在“智能水质预测界面”会多出2个按钮,分别是“结果另存为”和“结果对比”,如图15所示:图15 完成预测之后智能水质预测界面的效果预测结束之后,用户还可以通过修改、删除、添加数据,进行重新预测仿真。点击“重新预测”按钮就可以重新仿真预测。为什么运行软件后,第一次仿真要花很一些时间,但是重新预测后,反而速度却很快?这个问题涉及到了相关编程技
14、术。因为该软件是基于C#和matlab关于BP神经网络的混合编程。这个软件的编写思路是用C#做界面,matlab做算法,matlab调试完毕后,将其编译成.Net组件,然后用C#调用(专业一点说,编译的.Net组件相当于是一个类,里面的算法功能就相当于是类的方法)。在C#程序初次调用matlab编译的.Net组件时,需要一个组件预热的过程(专业一点说,是混合编程中对类的申明),所以要花一段时间,而在此仿真预测时,组件已经预热过(类已申明),所以调用速度是极快的。另外,在组件预热过程中,会出现界面“假死”的现象,为了解决因此造成用户以为软件死机的误解,开发人员采用了backgroundWorker组件,实现软件的异步操作,即在软件预测时,用户在等待,为了使用户不产生长时间等待的焦躁感,在组件预热过程的同时,加入了进度条,使用户能够有耐心稍等片刻,等待软件预测的结果。为什么在运行仿真预测时,等了很长时间,结果弹出下面的提示对话框啊?是不是软件坏了啊?请放心,您的软件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1