高校学生水电收费管理系统的设计与开发
2014-07-09詹金珍ZHANJinzhen
詹金珍ZHAN Jin-zhen
(西北工业大学明德学院,西安710124)
0 引言
高校学生水电收费管理系统是将复杂的水电收费管理进行归纳、分析和总结,再转化成计算机化管理。采用面向对象的编程,从具体的管理及业务出发,进行编程和设计,实现水电收费人员日常工作的抄表、水电费结算、查询、报表生成、报表输出的计算机信息化管理。同时也可以清楚地了解学生整体或个体的水电费使用情况,当学生水电费欠缴的时候能够及时地提醒。为提高高校后勤水电收费的工作效率和管理质量、提供优质服务奠定基础。
1 相关开发技术及系统分析
.NET框架4.0包括ADO.NET实体框架,该框架允许开发人员对他们的关系数据定义较高层次的视图数据对象,然后通过这个模型进行编程。对继承,复杂类型和关系(包括多对多支持)等均可以用该框架来建模。
学生公寓的水电收费系统的数据库设计需求分析要从学生公寓表、房间表、学生表、自来水使用数据表、地热水使用数据表和电使用数据表等数据源入手,分析相关报表、各种业务查询之间的数据处理关系。根据数据库的需求分析,得出高校学生公寓水电收费管理系统的系统数据流图,如图1所示。
学生公寓的水电收费系统的数据流图采用数据库模型设计工具Sybase PowerDesigner来进行设计。系统的物理数据模型如图2所示。
用户在注册或登录时,为了防止非法用户通过机器人软件进行恶意登录,网站采用动态生成的图形码或附加码进行验证。验证码技术是在服务器端生成一个随机数,并将其保存在内存中,然后将随机数写入设计好的图片中,发送给浏览器,并以图片形式显示给最终用户。扭曲验证码如图3所示。
图1 系统数据流图
图2 系统的物理数据模型
图3 扭曲验证码
采用母板页可以将每个网页都一致的部件提取出来。母板页可以被多个内容页所共享,母板页中的ContentPlaceHolder控件是特意留给内容页的。把本系统的不同用户类型登录的用户制作成母板页,这样就将同一用户类型的每个网页中共有的顶部系统LOGO、导航信息的菜单栏、网页底部版权信息栏分别做成系统管理员登录的母板页、工作用户登录的母板页和查询用户登录的母板页。依据系统的需求分析分别确定不同用户类型的母板页中的菜单与子菜单。系统管理员登录功能结构图如图4所示。工作用户登录功能结构图如图5所示。查询用户登录功能结构图如图6所示。
图4 系统管理员登录功能结构图
图5 工作用户登录功能结构图
图6 查询用户登录功能结构图
本系统将母板页上常用的导航信息菜单与子菜单、以及母板页底部的版权,设计为Web用户控件,然后重复使用。如果母板页上的菜单与子菜单需要改变,只需要修改用户控件中的内容即可。此外,使用用户控件的高速缓存功能,可以提高页面的性能,因此母板页其实也是一种用户控件。
加载母板页的菜单及子菜单的Web用户控件又分为三种,分别是系统管理员登录的母板页加载的菜单及子菜单的用户控件、工作用户登录的母板页加载的菜单及子菜单的用户控件、查询用户登录的母板页加载的菜单及子菜单的用户控件。
系统登录功能结构图如图7所示。
图7 系统登录功能结构图
2 功能模块设计
2.1 公共类的设计 在系统开发中,把系统常用的数据库操作类以及数据库的查询、添加、删除和修改操作,编写到一个公共类里,可以减少重复代码的编写,有利于代码的维护。因此,在开发系统前,首先需要设计这些公共类。
2.2 扭曲验证码的设计 在页面的事件中,调用公用类PublicCode中的CreateImage()方法生成校验码图片,在该方法中又调用了绘制扭曲验证码的核心方法TwistImaga(),接着遍历验证码图像的所有区域,获取每个像素的颜色,最后通过SetPixel()方法重新设置像素点颜色的位置,从而实现扭曲的效果。
2.3 水晶报表的设计 利用Visual Studio 2010中的标准报表创建工具,它可以从任何数据源生成所需要的报表。水晶报表也可以用Word、Excel、电子邮件和Web几种形式发布。
2.4 各功能模块的设计 利用Visual Studio 2010开发平台、C#语言和系统分析的结果,分别设计系统管理员登录母版页、工作用户登录母版页和查询用户登录母版页。系统管理模块、学生管理模块、公寓房间管理模块、水电表资费标准模块和水电费管理模块。
2.5 系统测试 编写本系统各页面的功能测试用例表。使用功能测试用例,利用Visual Studio 2010自带的测试工具MTM对本系统进行编码的UI测试和Web测试。添加公寓楼信息的编码的UI测试的文件代码如图8所示。
图8 添加公寓楼信息的编码的UI测试的文件代码
LoadRunner是一种业界标准的预测系统行为和性能的负载测试工具。RoadRunner由三部分组成:VuGen用来录制脚本和编辑脚本;Controller用来测试场景和执行测试场景;Analysis用来对测试结果进行分析。用LoadRunner进行性能测试的六个步骤包括:测试设计→创建脚本→定义场景→运行场景→监视场景→分析结果。使用添加公寓楼信息功能测试用例,利用LoadRunner的性能测试工具进行添加公寓楼信息的负载测试,其脚本视图如图9所示。
图9 添加公寓楼信息的负载测试的脚本视图
3 结论
将系统数据库常用的一些数据操作编写到一个公共类里,可以减少重复代码的编写,有利于代码的维护。采用扭曲验证码技术,可防止非法用户通过机器人软件进行恶意登录系统。本系统设计了不同用户类型登录的母板页,提高系统的开发效率。本系统将母板页上常用的导航菜单与子菜单、以及母板页底部的版权栏设计为不同用户类型登录的Web用户控件,提高了代码的重用率。
通过大量数据实际测试,验证了所有功能,说明了本系统的设计方案是可行的。
[1]詹金珍.高校学生水电收费管理系统的设计与开发[D].西安:西北工业大学软件与微电子学院,2012.
[2]Kun Xu,Jingfeng Shao.Analysis and Modeling of Production Information Management System Based on Multi-Agent for Textile Enterprise,FSKD,2012:2586-2589.
[3]Liang Zhihong,Lu Jun.Design on Information management System of Gas Station,ICICTA,2012:139-142.