小型网络填报系统的实现
2012-11-08代成杰
代成杰
小型网络填报系统的实现
代成杰
笔者所在部门每年都要做下属各基层中小学学校校园信息化情况的数据调查和统计工作。每一年到需要调查统计的时候,笔者所在部门都会出现三四个人为此项工作忙上一星期左右的情况。
但是,自从笔者开发了一个小型网络填报系统后,这一状况就彻底改变了。笔者每年只需要两三个小时完成数据统计和分析就可以了。
整个体系模型如图1所示:
图1 体系模型
其中填报服务器由笔者完成,每所下属学校通过Web方式登录服务器并完成数据填报就可以了。这样的小型网络填报系统具有广泛应用的意义,目前很多部门或行业的调查数据都可以采用本文所述的方法,这样避免了纸质数据传递和统计工作复杂、易出错的问题;也避免了使用简单的Excel电子表格,用户可以随意填写,导致不易进行汇总统计的问题。
一、系统实现
1.硬件
准备一台服务器,配置不需要很高。
下面是笔者所用服务器的具体配置:
联想服务器:万全T100。
处理器:Intel Pentium IV 1.7 GHz 处理器。
内存:256 MB ECC DDR内存(笔者给该服务器升级到512 MB)。
硬盘:80 GB。
2.安装服务器操作系统和服务基础组件
在上面的服务器上,安装好服务器版本的操作系统和IIS等服务组件。
二、结束语
目前,虽然软件公司在开发这样的系统时更加专业,但基本方法都是一致的,对于经费有限而且数据保密级别不高的调查都可以采用类似本文的系统。也希望越来越多的这样的小型网络填报系统出现,方便大家的工作和学习。
2011-09-28
代成杰,本科,中教二级,教研员。
辽宁省沈阳市铁西区教师进修学校。
笔者在服务器上安装的是Windows Server 2003操作系统,安装并配置好IIS组件。
3.编写网络填报网站代码
可以使用的语言有很多,由于可以进行网络填报,所以一定要使用动态网站语言。由于服务器使用Windows Server 2003操作系统,所以建议使用ASP语言或者ASP.NET语言。
ASP是Active Server Page的缩写,是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其他程序进行交互,是一种简单、方便的编程工具。ASP诞生于1996年,并且不断发展,直到后来ASP.NET出现。
ASP.NET比ASP的功能更强大,执行效率更高,而且安全性更高。ASP.NET一般可以分为两种开发语言,VB.NET和C#。这两种语言都比较简单易学。而且微软为ASP.NET设计开发了所见即所得的开发工具Visual Studio.NET。鉴于ASP.NET的优越性,笔者选择了ASP.NET中C#语言来编写网络填报网站的代码。
(1)登录
网络填报系统登录界面的主窗口如图2所示。
图2 登录界面
由于系统数据全部要求是真实有效数据,所以,网站一定要求用户登录后才能进行数据填报。
在保存用户身份上,可以使用Cookie或者Session这两种方式,我们一般使用Cookie来记录用户的身份,而且需要在每次用户提交填报数据时都进行Cookie的用户身份验证。
在设置输入密码文本框的时候,注意一定要设置成密码类型,这样可以防止用户输入密码时被别人看到。本系统需要给每所学校分配一个初始密码,同时也建议在做此类系统时给每个用户分配不同的初始密码,这样可以防止某些人很随意地用统一的密码使用其他人的用户身份登录系统,并随意增加、修改数据。另外后台数据库可以对密码字段使用MD5进行加密,这样又增加了系统安全性。
(2)填写数据
用户进入填写数据页面就可以进行数据填写了。图3是笔者做的填报系统的页面。
图3 填报页面
在这样一个页面上,我们需要对用户填写的数据进行验证,防止用户填写不规范的数据。比如,在需要填写人数的文本框中限定“用户只能填写数字”,并且必须是整数。而且,一般教师数会多于学生数,所以,还可以添加限定“教师数多于学生数”,否则不允许数据提交到后台数据库。
另外,考虑到用户可能已经填写完数据了,本次登录仅仅为了修改错误的数据。所以,我们在每次用户进入填写页面时,进行数据预读取。如果读取到原来填写的数据,说明用户已经填报了,我们可以认为用户本次登录是为了查看数据或者修改错误的数据。如果没有读到数据,那么用户可以逐项填写,最后点击提交以便将数据写入后台数据库。
(3)数据明细显示
在所有数据完成输入后,建议大家将所有数据明细进行显示,以便用户最后确认,笔者抓取该界面的部分作为示范(如图4所示)。不便于泄漏系统真实数据,这里使用虚数示例。
图4 数据明细显示页面
(4)虚拟用户
一般的软件公司在做系统时,往往会有专业的测试队伍对系统进行测试。但作为一个人或者几个人开发的小型系统,往往可能有潜在的漏洞或错误,所以,对于这个仅由笔者一人开发的小系统,笔者在其中保留了一个测试账户,这个账户一直可以像普通登录用户一样使用,以便在任何时候,笔者都可以模仿普通用户登录,并重复真实用户遇到的某个错误,这样便容易发现系统问题。但是在最后处理数据的时候要记得将这个虚拟用户的所有数据剔除。
4.网站后台数据库
最初笔者使用了SQL Server 2000作为后台数据库,原因如下:SQL Server 2000是网络级数据库,并且SQL Server 2000比Access数据库要安全很多,而且SQL Server 2000的操作非常简单,既可以使用图形界面,也可以使用SQL语言代码进行操作。
但是运行中发现,SQL Server 2000对系统的资源耗费很大,加之网络带宽的原因,有时候服务器响应速度很慢。
同时,鉴于笔者服务器所在网络环境比较安全,笔者将网站后台数据库改用Access。虽然Access属于桌面级的数据库,但我们是通过网站代码直接访问Access数据库文件,所以,使用Access数据库对系统的资源耗费是极其小的,实践应用中,效果也非常明显。使用SQL Server 2000作为后台数据库时,有很多基层信息技术教师反应服务器响应缓慢,现在都反应服务器响应很快,鼠标点击后,服务器就能够响应了。
由此可见,后台数据库更改为Access还是非常成功的,这也是为什么很多小型网站使用Access作为后台数据库的原因。当然,如果服务器配置比较高,还是建议使用SQL Server数据库,可以使用SQL Server 2000或更高版本。
5.数据统计
SQL Server 2000或者Access都支持SQL查询,而且它们中的数据也可以方便地进行导出,所以在数据处理上,我们可以使用SQL查询的方式,如下面一句代码:
SELECT sum(tx_Basic.StuNum) AS 学生总数, sum(tx_Info.CpuStuNum) AS 学生机总数 FROM (tx_ Basic INNER JOIN tx_ Info ON tx_ Basic.SchNam=tx_ Info.SchNam)
部分数据也可以通过导出到Excel中进行处理,总之,自己习惯使用哪种方法就使用哪种方法,只要能够又快又好又准确地完成工作任务就可以。