admin 管理员组

文章数量: 887021


2024年1月13日发(作者:find命令查找文件内容包含)

华北水利水电学院毕业设计

在线调查问卷系统的分析、设计与开发

摘要:在校园、政府机关或者企业里,由于许多调查研究的需要,经常会出现各种各样的调查问卷,在传统的模式下,人们不仅要花费不少的费用来印刷问卷,而且还要耗费大量时间和精力去发放问卷,回收问卷,统计问卷,并且问卷的可控性也比较差,容易产生漏卷、废卷等一系列问题。随着Internet的发展和人们社会生活水平的不断提高,传统的市场分析、民意调查越来越不能满足社会的需要,网上问卷调查已经在很多领域的很多方面使用,通过网上在线调查问卷收集信息已经逐渐成为了一种不可或缺的调查方式,在网络经济进一步发展的今天,建设一个高效、便利、安全的在线调查问卷系统是十分必要的,以达到实现在市场研究、民意调查以及学术研究等方面的科学应用的目标。而如今网上调查问卷的生成与分析统计的系统已经有很多种。

本系统是建立在信息技术基础上,构建出一个在线的问卷设计、分发、调查、回收、统计的系统,以提高调查的效率和安全性,基本解决传统调查问卷的各种弊端。本论文通过对这一需求的详细分析和对现实生活中突出问题的研究,以及对各种技术的考虑,其中前台技术采用基于B/S模式的,开发工具是VISUAL 2005,后台数据库采用SQL SERVER 2000,数据访问技术采用。

本文首先介绍了问题的背景、相关技术背景,接着提出问题,并针对具体项目展开需求调查分析;再基于需求设计出具体的方案;然后对整个系统进行了详细的分析和设计,在设计与实现过程中,结合源代码具体的描述出整个项目的开发过程;最后对整个系统进行测试得出测试结论。

关键词:调查问卷、、SQL Server

I

华北水利水电学院毕业设计

The Analysis ,Design and Development of

Online Questionnaire System

Abstract: On campus, authorities or enterprises in China, due to a variety of research needs,

often there will be a variety of questionnaires, in the traditional model, people not only have to

spend a lot of the cost of printing the questionnaires, but also spend a lot of time and energy

Issued on the questionnaire, the recovery of the questionnaire, statistical survey, questionnaires

and control poor, prone to leakage volume, the volume of waste. Along with the development of

Internet and social standard of living people unceasing enhancement, the traditional market, polls

increasingly unable to meet the need of the society, and questionnaires survey through the

network has bean in many areas of h many aspects of online questionnaire to collect

information has become a indispensable way, in the investigation of further deepening of

network economy today, build a efficient, convenient and safe online questionnaire website is

very necessary to achieve in market research, opinion polls and academic research of scientific

applications. And now the number of the online questionnaire statistical analysis and generate

the system is great.

The system built on the basis of information technology, to build an online questionnaire

design, distribution, investigation, recovery, statistical systems, improve the efficiency and

security, the traditional solution to the basic appeal of the questionnaire chronic problem.

Thereinto, the technology of front end adopts based-B/S mode and VISUAL

2006 as the development tool, database of back end adopts SQL SERVER 2000

and as data access technology.

This text introduces background of this issue firstly and Related technical background, then

put forwards issue, and aims at the actual project to start the research analysis of requirements;

Then designs detailed project based on requirements; And then analyzes in detail and design the

whole system, in the course of design and realization, describes the development process of the

whole project according to source codes; At last tests the whole system and draws testing

conclusion.

Keywords:questionnaires, , 2005, SQL Server

II

华北水利水电学院毕业设计

目录

第一章 绪论 ....................................................................................................................................................... 1

1.1

课题的研究背景 ............................................................................................................................................. 1

1.2

课题的研究范围、技术要求和目的.............................................................................................................. 2

1.2.1 研究范围 ................................................................................................................................................ 2

1.2.2 技术要求 ................................................................................................................................................ 2

1.2.3 研究目的 ................................................................................................................................................ 2

第二章 相关技术背景 ........................................................................................................................................ 4

2.1

概述 .................................................................................................................................................. 4

2.2

后台数据库——SQL

SERVER

2000 .................................................................................................................. 4

2.3

ADO

技术简介 .................................................................................................................................................. 5

2.4

B/S模式简介 .................................................................................................................................................. 5

第三章 系统分析 ............................................................................................................................................... 7

3.1任务概述 ....................................................................................................................................................... 7

3.1.1系统的目标 ............................................................................................................................................... 7

3.1.2系统的开发环境 ....................................................................................................................................... 7

3.2系统需求分析 ............................................................................................................................................... 7

3.2.1 系统功能需求 .......................................................................................................................................... 8

3.2.2 系统性能需求 ........................................................................................................................................ 10

3.3 系统可行性分析 ...................................................................................................................................... 10

3.3.1 经济可行性 ............................................................................................................................................ 11

3.3.2 技术可行性 ............................................................................................................................................ 11

3.3.3 方案优点与不足 .................................................................................................................................... 11

3.3.4 此方案与C/S结构的比较 .................................................................................................................... 12

3.4

业务流程分析 ............................................................................................................................................... 13

3.4

数据流程分析 ............................................................................................................................................... 14

第四章 系统设计 ..............................................................................................................................................17

4.1系统功能模块设计 ......................................................................................................................................... 17

4.2

网络结构 ......................................................................................................................................................... 18

4.3

数据库设计 ................................................................................................................................................... 19

4.3.1 数据库设计原则 .................................................................................................................................... 19

4.3.2 概念结构设计 ...................................................................................................................................... 19

4.3.3 逻辑结构设计 ........................................................................................................................................ 21

4.3.4 数据库实体表的实现 ............................................................................................................................ 22

III

华北水利水电学院毕业设计

第五章 系统实现 ..............................................................................................................................................26

5.1

登陆界面 ....................................................................................................................................................... 26

5.2

系统主要功能模块 ......................................................................................................................................... 28

5.3

数据库连接的实现 ......................................................................................................................................... 36

第六章 总结 ........................................................................................................................................................38

参考文献 .............................................................................................................................................................39

致 谢 .................................................................................................................................................................40

附录 ...................................................................................................................................... 错误!未定义书签。

附录1:英文文献 ................................................................................................................. 错误!未定义书签。

附录2:中文译文 ................................................................................................................. 错误!未定义书签。

IV

华北水利水电学院毕业论文

第一章 绪论

1.1 课题的研究背景

进入21世纪以来,互联网进入了高速发展的新时期。互联网已成为人们快速获取、发布和传递信息的主要渠道,它在人们的政治、经济、生活等各个方面发挥着重要的作用。在Internet上发布信息主要是通过网站实现的,获取信息也得在Internet“海洋”中根据一定的检索方式把所需要的信息从网站上下载下来。由此可见,网站建设在Internet应用上的地位是显而易见的,它已成为政府、企事业单位等信息化建设中的重要组成部分,因而备受人们的重视。

调查研究是社会学经常用的研究方法,可以用于描述性、解释性或探索性的研究。随着互联网在全球范围内的迅速普及,网上调查开始兴起。它的出现并不是取缔传统调查方式,而是与之相辅相成,以达成最佳的调查效果。

网上市场调查即在线市场调查,泛指利用互联网手段所进行的各种以市场调研为目的的活动,比如收集市场信息、了解竞争者的情报、调查顾客对产品或服务的意见等,其中利用网上的在线调查问卷获得用户反馈信息是最常用的手段之一,网上市场调查也是网络营销的而基本职能之一,网上调查又是网站的基本功能之一,这种高效的调查手段也被许多调查咨询公司广泛应用,中国互联网络信息中心(CNNIC)每年两次(1月和7月中旬)所发布的《中国互联网络发展状况统计报告》中的大部分信息也都是通过在线调查的方式获得的,调查的内容包括用户的上网习惯、个人资料和对互联网领域的一些热点问题的看法等等,然后通过对这些调查数据的整理,形成了内容丰富的调查报告,CNNIC的在线调查已成为最有影响力的网上调查之一,由此可见网上调查的重要价值[1]。到目前为止,我国已经有一部分企业网站具备在线调查功能,也出现了很多专业的在线调查问卷系统。

网上调查的优势在于,这是一种更快更简便,而且更低价更高效的方法。传统调查方式的成本是不断上升的。当调查达到一定规模的时侯,网上调查的成本相对而言比较低廉,在成本曲线上基本没有任何上升的趋势。而且它不受时空的限制,可以24小时接受被调查者提交的问卷,并且能自动进行检验与处理,显示并能够生成直观生动的统计图形。对于敏感性的问题,网上调查方法可以使被调查者不受影响地以内心真实的态度回答,保证了问卷答案的真实性等等。它还可以在更为广泛的范围内,对更多的用户进行数据收集的工

第 1 页

华北水利水电学院毕业论文

作。迄今为止,已经出现了各种各样的网上调查软件,作为调查工具,至少要具备以下几个不可或缺的功能:简单易用,使用者无需了解程序代码;可以选择多种问题形式(比如列表、多选等等);提供分析工具,可以将数据导人、导出,并作处理;人们可以根据当前调查研究的需要自由选择参与调查。当然,也要考虑到研究的预算、研究人员的能力以及所要做的结果分析工作等等。虽然人们正在致力于这种正在蓬勃发展中的调查方式的研究与应用,同时也意识到在其不可比拟的优势之外,也有其不足的方面。这种方式的局限性的一面的主要表现是:网络普及率还比较低、专业人员缺乏、研究时对社会伦理道德的考虑不周等问题;另一方面,对这种调查研究方式的理论研究还不够全面和深入,如样本的内在偏差性等等。

1.2 课题的研究范围、技术要求和目的

1.2.1 研究范围

1)设计该系统的功能模块划分,使用SQL SERVER 2000设计出该系统的数据库。

2)参考实际在线调查问卷WEB站点管理情况,完成对系统的需求分析及设计文档。

3)根据需求分析及设计文档完成代码编制。

1.2.2 技术要求

1)功能模块划分合理。

2)数据库设计满足功能要求。

3)数据库冗余度小,尽量满足三范式要求。

4)绘制数据库各数据表之间的关系图。

5)建立数据库访问接口类,实现对数据库的访问。

6)完成功能模块中的一个较小的功能,以测试数据库接口的正确性。

1.2.3 研究目的

本课题设计的目的是造就一个能够提高调查效率,节约调查费用,使调查数据的处理分析更方便、具有以下功能特点的调查问卷系统:

第 2 页

华北水利水电学院毕业论文

1)向Internet用户提供交互式、个性化的问卷调查服务,具有问卷搜索等功能。

2)智能的后台管理,能够在线生成调查问卷,能够对调查问卷的结果进行分析汇总。

3)使用比较简单,不需要IT专业技能,问卷的生成、投放、调查结果分析简单易用。

4)具有灵活性,能够应用于不同的调查场合。

第 3 页

华北水利水电学院毕业论文

第二章 相关技术背景

2.1 概述

是在原有ASP基础上开发出来的一个新的版本,它不但提供最先进的网络发展平台而且为网络开发者提供了新的灵活、简单的体系结构。被确定为.NET

Framework的基础,它所提供的"网络应用程序模型"为网络应用程序AML、网络服务带来了更多的方便。

包含web表单和服务器控件,WEB表单能带给使用者基于表单的强大功能和美观的页面,但是网络服务器应用程序要通过使用HTTP,XML,SOAP,WSDL技术在不同的网络环境和连接远程设备的情况下来访问远程服务器[2]。

应用程序的运行环境如下图2-1所示:

图2-1 应用程序的运行环境

2.2 后台数据库——SQL Server 2000

SQL Server是一个关系数据库管理系统,现如今的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本的要求,而进入市场的时间也非常关键。除具备这些核心企业品质外,SQL Server 2000 还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。从数据管理和分析角度看,将原始数据转化为商业智能和充分利用 Web 带来的机会非常重要。SQL Server 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,SQL Server 2000 提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许您使用内置的存储过程以 XML 格式轻松存储和

第 4 页

华北水利水电学院毕业论文

检索数据,还可以使用 XML 更新程序容易地插入、更新和删除数据[3]。

SQL Server 2000 的常见版本有下述几种:

1)企业版(Enterprise Edition):支持所有的SQL Server 2000 特性,可作为大型Web站点、企业OLTP(联机事务处理)以及数据仓库系统等的产品数据库服务器。

2)标准版(Standard Edition):用于小型的工作组或部门。

3)个人版(Personal Edition):用于单机系统或客户机。

4)开发者版(Developer Edition):用于程序员开发应用程序,这些程序需要SQL Server

2000 作为数据存储设备。

2.3 ADO 技术简介

ASP访问数据库是通过ADO(ActiveX Data Objects(Active X数据对象))技术实现的,ADO是Microsoft推出的一种数据访问技术。这是一种面向对象的,与语言无关的通用的数据访问接口,ASP强大的数据库访问功能正是由ADO来完成的。通过ADO与ODBC(开放式数据库连接性(Open Database Connectivity))源的接口,程序员可以用很少而且很简单的脚本程序实现对网站数据库的读、写和修改等操作功能[4]。

基于XML,能够保证不管使用者是否安装了XML语法分析器 , 它都能在不同的平台上操作任何的数据对象,的原理见下图2所示。

图2-2 的原理

2.4 B/S模式简介

B/S(Browser/Server即浏览器和服务器)模式结构,是20世纪90年代随着Internet/Web技术的产生并开始盛行,已经成为当今最先进的一种网络结构体系,从数据库服务器的角

第 5 页

华北水利水电学院毕业论文

度来看,它是从C/S(Client/Server即客户端/服务器)模式发展而来[5],但也具有自己的特点:

(1)B/S属于一种瘦客户机模式,客户端软件不需要开发,只需安装浏览器,应用界面比较单一,硬件配置要求也比较低。对已经安装Windows 系列的用户,使用内置的TCP/IP协议和IE浏览器就能够实现客户机的功能。

(2)由于B/S的功能都是在Web服务器上实现,开发人员就可以集中精力解决应用层和数据层之间存在的问题,这样就大大减轻了系统开发和维护的工作量,系统管理和升级也比较方便。

(3)因为客户端使用的是浏览器,所以开发者不需要为不同的用户设计不同的客户程序。更重要的是浏览器简单易用,特别适合于非计算机专业人员学习使用。

(4)平台无关性是B/S模式最大的优点之一,开放型的网络通信协议浏览器技术,不仅能够免费下载,而且还可以选择不同的厂商产品。

B/S模式的工作方式如下图所示:

发出请求浏览器(Browser)TCP/IP HTTP响应Web服务器数据库服务器(DB Server)

图2-3 B/S工作方式图

由此可以看出B/S模式的网络具有三层结构:

(1)浏览器属于用户界面层,用于实现用户的接口功能。在客户端,统一资源定位器(Uniform Resource Location, URL)向指定的Web服务器提出服务器请求,Web服务器用HTTP(HyperText Transmission Protocol,超文件传输协定)把所需文件资料传送给客户端用户,客户端接受并在WWW浏览器上显示。

(2)Web服务器属于业务逻辑层,主要完成客户的应用功能,即Web服务器接受客户的请求,以ASP与数据库连接,并进行申请处理,而后数据库结果返回Web服务器,并传至客户端。

(3)数据库服务器即数据层,数据库服务器接受客户端用户的请求独立地进行数据处理。

第 6 页

华北水利水电学院毕业论文

第三章 系统分析

系统分析是指应用系统的思想和方法,解决系统要“做什么”这一关键性的问题,是系统开发过程中最重要也是最困难的阶段。在这个阶段,我们的主要任务是定义系统的逻辑模型,首先要针对用户的需求进行系统需求分析,并根据需求分析用系统说明书表达出来,以此作为系统设计的依据。

3.1任务概述

3.1.1系统的目标

开发出的系统应具备很强的开放性和扩展性等特性。本系统实现一个在线调查问卷WEB站点,能够方便、灵活地对调查问卷资料进行查询、统计等操作。所有这些对数据库进行的操作都受到管理级别的限制。本项目可有效快捷地管理调查问卷,提供必需的统计、管理信息,使信息更为准确、快捷、易查。

3.1.2系统的开发环境

硬件平台:硬盘空间: 5G以上;

内存: 256M以上;

CPU: PIII500以上;

操作系统:windows XP/windows vista

其它软件:浏览器:IE浏览器 5.0以上

数据库:SQL Sever 2000

开发工具:Visual 2005

3.2系统需求分析

在线调查问卷系统说起来比较简单,被调查者填写或者选择一些选项,然后点击“提交”按钮,一个在线调查问卷就完成了,但是在实际上从事网上调研的工作并不是那么轻松的,有时甚至不能顺利完成在线调查的任务,或者所得到的调查数据与实际状况有比较大的差别,因此调查结果的可信度也就大打折扣了。利用在线调查问卷系统获取信息也是

第 7 页

华北水利水电学院毕业论文

最常用的网络营销功能之一,因此设计出一个功能完善的在线调查问卷网站是很迫切的。

在线调查问卷系统是一个基于网络的数据采集系统,这个系统的主要目的就是通过在线问卷调查来获取大众的信息,这些信息要经过处理并且及时的存储起来。本系统支持将数据库文件导入至相关的统计分析软件进行统计分析,同时系统还要求用户能够在线编辑问卷,同时也能够跟踪问卷当前发布的情况等,在被访者访问问卷时,系统能够根据被访者所做的当前题目的答案和管理员编制问卷时所定制的逻辑跳转来动态生成下一个题目,以使被访者继续顺利做答。

3.2.1 系统功能需求

1)系统用户

系统用户主要有一般用户和管理员两种。详见图2.1所示:

用户系统一般用户管理员一般管理员超级管理员图2.1 系统用户关系图

注:在以下的论述中,所提到的“用户”,若没有具体说明均指一般用户。所提到的“管理员”均为一般管理员和高级管理员的统称。

2)具体功能划分

用户组是用户里面权限最低的。只可以参与填写问卷调查和查询问卷,无法进行其他操作。但是仍然有登录所需的用户名和密码,所以他们需要注册。尽管权限很低,他们还可以对自己的个人资料进行修改(无法修改其他用户的资料)。

用户组的用例图如图2.2所示。

第 8 页

华北水利水电学院毕业论文

系统填写问卷调查查询问卷注册人人资料管理

图2.2 用户组的用例图

一般管理员组:一般管理员权限比用户高。他们可以分别对问卷和用户进行管理。问卷管理包括增加问卷、修改问卷、删除问卷、查询问卷和统计问卷五个部分。用户管理包括对用户资料的管理和删除个别用户。当然,他们也可以像一般用户那样填写问卷和修改个人资料。以上各种操作也必须经过登录验证以后。

一般管理员组的用例图如图2.3所示。

系统增加问卷一般管理员修改问卷删除问卷统计结果查询问卷用户资料管理

图2.3 一般管理员组的用例图

超级管理员组:超级管理员的权限是所有用户中权限级别最高的。他们不仅可以完成一般管理员的功能,还比一般管理员多了一项权限,那就是给用户授权和撤销用户权限。

第 9 页

华北水利水电学院毕业论文

超级管理员组的用例图如图2.4所示。

系统超级管理员授权撤销权限

图2.4 高级管理员组的用例图

3.2.2 系统性能需求

1)数据精确度

在面向用户的部分中,考虑到可能会出现用户短时间内重复提交选择结果的情况,为了保证数据的有效性,找出了以下数据精确度控制方法:

第一:同一未刷新页面不能提交两次调查结果,即用户在同一个页面提交数据以后,若此页面未被重新载入或未被刷新,用户再次提交无效。

第二:同一IP在2分钟内不允许提交两次,即使用户刷新过页面,在2分钟以内,仍然不允许提交第二次。之所以不执行每一个IP地址只提交一次的标准,主要是考虑到那些通过LAN(局域网)上网的用户和拨号上网的用户。

2)时间特性

响应时间:用户应该在1s-1min时间内得到服务器的响应。

更新处理时间:2s,可能受到网络状况影响

运行时间:依据网络状况决定

3)适应性

要求系统界面友好,菜单清楚,便于操作,并且可以在windows的任何版本的操作系统下运行,软件接口主要通过用户浏览器实现。

3.3 系统可行性分析

可行性分析,就是根据初步调查的系统需求和系统方案的总体设想,从技术上、经济

第 10 页

华北水利水电学院毕业论文

上和社会环境上考察本系统是否有必要、有没有条件、值不值得开发的问题[6]。

3.3.1 经济可行性

随着互联网的迅速普及,计算机、网络已经深入到我们生活的各个方面,在线问卷调查也将逐步取代传统的通过纸笔填写的调查问卷。首先,在网上进行调查,网络上没有时空和地域的限制,这是在线问卷调查与传统市场调查的方式相比所独有的优势。再次,传统方式的市场调查活动需要消耗大量的人力、物力才能进行,周期也比较长,Internet用Web或者其他手段就可以覆盖全球的优势正好弥补了这一不足。最后,与传统方式不同,网民可以在不直接面对调查者的情况下,以一种相对轻松和从容的方式填写问卷,达到面对面提问所无法比拟的效果。并且在线调查问卷系统的运行维护比较简便,能够实现不同的人员从不同的地点以不同的接入方式访问和操作共同的数据。从诸多的投资和收益的比较中可以看出,此方案的经济可行性很大。

3.3.2 技术可行性

是微软公司继ASP之后推出的新一代Active Server Pages,它不是ASP的简单升级,是微软发展的新的体系.NET的一部分[7]。同以前的 Web 开发模型相比, 具有增强的性能、Visual Studio世界级的工具支持、灵活性、简易性、可管理性、可缩放性、自定义性、扩展性,以及完全性等数个重要的优点[7]。同时,代码分离、技术,以及全新的开发语言C#更是给作者带来了更快捷、更方便的操作。

SQL SERVER是一个关系数据库管理系统(DBMS),数据库处理的基本结构,采取关系型数据库模式,但是在SQL SERVER的数据库处理中,则是使用了面向对象的操作方式[8]。作者根据它的这个特点,配合数据设计的基本原则及数据库的范式要求对数据库进行设计。

所以,此方案具有技术可行性。

3.3.3 方案优点与不足

此方案将系统分为用户和管理员两大模块,通过权限的设定来明确用户角色所使用的功能及所进入的页面,使系统能够清晰明了地呈现在用户面前。同时对两大基本模块又进行细致划分,进一步加强了系统的可操作性和友好性。建立数据表的级联关系,保障了数据的一致性。

当然,此方案也存在不足之处。比如,方案将问卷调查以系统形式展现在用户面前,用户需注册才能使用,这将大大减少参与调查的人数。但是,需注册后才能使用系统,一

第 11 页

华北水利水电学院毕业论文

方面可以便于管理员对系统的管理,另一方面可以避免恶意的调查样本。所以,在几个问题不能同时得到满足的情况下,仍然采用了原方案。

3.3.4 此方案与C/S结构的比较

本次设计采用的技术是基于B/S的两层开发模式,即主要业务都在服务器端完成。

C/S结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是据有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分ERP (财务)软件产品即属于此类结构。

B/S(浏览器/服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构。

1. 数据安全性比较

对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。

2. 数据一致性比较

在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须在同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不能得到一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

3. 数据实时性比较

在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事

第 12 页

华北水利水电学院毕业论文

后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。

4. 数据溯源性比较

由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。

从以上的分析可以看出,B/S结构的大型管理软件有着C/S结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位[9]。

3.4 业务流程分析

业务流程分析阶段要调查系统所涉及每个环节的管理业务活动,掌握所有管理业务的内容、作用和信息的输入、输出、数据存储以及信息处理方法和过程,并根据业务的实际处理步骤和过程,绘制出业务流程图。

业务流程图(Transaction Flow Diagram,TFD),它是用一些规定的符号及连线来表示某个具体业务处理过程的图表,即描述系统内各单位、人员之间的业务关系、作业顺序和管理信息流向的图[10]。

业务流程图的符号说明图3-1所示:

实体

操作处理

判断

文档

信息流

图3-1 业务流程图符号说明图

第 13 页

华北水利水电学院毕业论文

验证失败返回超级管理员登陆验证用户管理管理人员表一般管理员登陆验证失败返回验证通过个人信息管理管理权限查看统计结果管理权限验证通过验证问卷管理用户问卷题库注册登陆验证参与调查统计结果验证失败返回查看调查结果反馈个人信息管理

图3-2 系统业务流程分析图

超级管理员登录系统后,录入相关管理人员、调查问卷等信息,对基础数据进行管理,并分配各管理人员的权限,以及对系统进行设置。普通管理人员注册获得账号和密码,登陆后可以查看修改个人信息,在自己的权限内管理问卷信息、查看统计结果等情况。用户注册获得账号和密码,参与调查并能够查看结果等。

3.4 数据流程分析

数据流程分析是指通过数据流程图(Date Flow Diagram,DFD),描述系统的数据流动、存储和处理的逻辑关系,将数据抽象的独立出来,通过图形方式描述信息的实际流程。本系统的数据流程图是在调研的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理的功能和彼此之间的联系自顶向下逐层分解,采用分层的DFD来描述,从逻辑上精确的描述系统应该具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目[10]。数据流图用到4个基本符号,即外部实体、数据处理、数据流和数据存储。数据流图的符号说明如图3-3所示:

第 14 页

华北水利水电学院毕业论文

外部实体操作处理数据存储数据流

图3-3 数据流程图符号说明图

通过对在线调查问卷系统的功能需求及业务流程的分析,并将在线调查问卷系统的整体功能整合出来,便可得系统顶层数据流程图如图3-4所示:

D1 调查结果统计表一般管理员问卷资料调查结果一般管理员用户个人信息在线调查问卷系统调查结果用户超级管理员系统资源调查结果超级管理员D2 管理人员表图3-4 在线调查问卷系统顶层数据流程图

第 15 页

华北水利水电学院毕业论文

用户P1选择题目参加调查调查结束P2查看解析生成结果P3分析调查结果用户 D3 问卷题库 D1 调查结果统计表P4查看统计结果P5问卷资料超级管理员更新问卷 D3 问卷题库P7分析调查情况调查计划超级管理员一般管理员问卷资料P6人员管理 D2 管理人员表调查计划一般管理员

图3-5 第一层数据流程图

其中,在顶层数据流程图中,用户提交问卷结果至系统,系统自动生成分析结果或者经管理员统计分析后将结果反馈给用户。系统管理员登录系统,除了进行基本的系统管理工作外,还可以更新本地问卷数据库和管理人员数据库,并将更新结果分别存储在问卷表和管理人员表中。普通管理员登陆系统后,可在自己的权限范围内进行问卷管理等。并且所有用户都可以查看统计分析结果。

根据系统顶层数据流程图进行详细分析,将“在线调查问卷系统”处理模块进一步细分为在线调查、问卷管理、人员管理等处理模块。用户在完成注册后登录在线调查问卷系统,可在线参与调查,管理员登录系统后可进行数据更新、人员管理等操作,得到系统第一层数据流程图如上页图3-5所示。

第 16 页

华北水利水电学院毕业论文

第四章 系统设计

系统分析阶段要解决的核心问题是系统“做什么”的问题,即明确系统功能,而系统设计阶段则主要负责解决系统“怎么做”的问题,即解决如何实现在系统分析阶段所提出的各种系统功能的问题。本章是在系统分析阶段的基础上,对系统的功能进行设计,同时完成数据库的选择设计,为下一步的系统实现做好准备工作。

4.1系统功能模块设计

在系统分析阶段,综合各方面的需求,对系统预期实现的功能已经明确的提出来了。用户角色的权限不同,可使用的功能也有所不同。根据用户的不同权限,将整个系统划分为两个大模块,即用户系统模块和管理员系统模块。

(1)用户系统模块包括填写问卷、查询问卷和个人资料管理三个功能。

1填写问卷功能: ○填写问卷是用户使用本系统的主要功能,采用用户通过登录进入问卷调查页面、填写问卷调查内容、提交的步骤来完成在线问卷调查。此功能在用户系统模块和管理员系统模块中均有体现。

2用户查询问卷: ○用户对问卷的查询只限于查询一张问卷的总体调查情况。采用用户登录进入问卷查询页面,通过选择问卷名对问卷进行查询的形式

3用户个人资料修改: ○用户若需要对个人资料进行修改,则使用到该功能。用户进入用户个人资料修改页面,填写需要修改的信息,提交后系统将修改后的信息存入数据库覆盖原有信息,达到个人资料修改的目的。

(2)管理员系统模块分为包括:

1问卷管理功能: ○问卷管理功能分为增加问卷、修改问卷、删除问卷、统计问卷和查询问卷五个功能。管理员通过增加、修改、删除这三种功能对问卷进行更新管理;统计则可以帮助管理员对问卷的调查情况加以了解和掌握;查询功能是对问卷统计情况的查询。

2用户管理功能: ○管理员对用户的管理包括用户资料的管理和用户权限的管理用户资料的管理主要实现删除用户、修改用户密码和查询用户资料功能。而用户权限的管理只有高级管理员可以

第 17 页

华北水利水电学院毕业论文

使用,所以首先要判断管理员权限,在存在高级管理员权限的情况下才能使用此功能对用户进行授权及撤消权限。管理员权限分为一般管理员和高级管理员,虽然高级管理员的权限高于一般管理员,但是他所能使用的功能只比一般管理员多了一项权限管理功能。所以并不需要将一般管理员和高级管理员的功能分为两个模块,只需要在使用权限管理这个功能时来判断管理员的权限即可。

3基本功能模块: ○包括填写问卷和个人资料管理,这个模块和用户模块功能基本相同。

4其他功能 ○除了上述模块的功能以外,此系统还应该实现用户注册、登录功能。由于功能简单,此处不作具体说明。

在线调查问卷系统用户模块个人资料参与调查注册用户个人资料管理问卷调查查询问卷结果个人资料管理参与问卷调查添加问卷删除问卷修改问卷统计问卷结果查询问卷结果资料管理权限管理基本功能管理员模块问卷管理用户管理图4-1在线调查问卷系统功能模块图

4.2 网络结构

本系统采用的是浏览器/服务器(Browser/Server)模式。它以访问数据服务器为中心,以HTTP协议为传输协议,客户端通过浏览器(Browser)访问WEB服务器和数据服务器。本系统采用+SQL SERVER对此系统进行开发,前台技术采用基于B/S模式的

第 18 页

华北水利水电学院毕业论文

,开发工具是VISUAL 2005,后台数据库采用SQL SERVER 2000,数据访问技术采用,开发本系统的操作系统是Windows XP,开发语言是C#。

4.3 数据库设计

根据已确定的系统总体的功能结构,全面分析所需要的所有数据对象及其存取方案和结构,进行数据库设计。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。数据库设计是在线调查问卷系统设计中的一个重要组成部分,而数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求[11]。

4.3.1 数据库设计原则

(1)进行规范化设计,尽可能的减少数据冗余和重复

合理的数据库表的设计应该是在满足系统需求的前提下,使数据的重复量尽量最小,按照关系数据库系统理论方法去设计数据库,减少数据的冗余。

(2)结构设计和操作设计相结合

在设计数据库结构时,有时为了实现编程的简捷和思路的清晰,往往会故意增加一些冗余数据。这虽然有违传统的关系数据库理论,但是考虑到如果增加的冗余不会明显增加存储空间和降低处理效率,并且对编程实现有很大帮助,往往可以采用这种方法。

(3)数据结构具有相对的稳定性

无论采用哪种方法或手段处理日常事务,都能完够成相应的功能,决不能因为采用了某种方法而丢失了必要的功能,或者彻底改变原有的工作流程和模式[12]。

4.3.2 概念结构设计

把系统的应用需求抽象化为信息结构的过程就是概念结构设计,这是整个数据库设计的关键环节,通过对系统需求进行综合、归纳和抽象,构成一个独立于具体的DBMS的概念模型。这即是从现实世界到信息世界的第一层抽象,是对现实世界的抽象和概括,也是数据库设计人员用以和用户交流的语言,同时也为向关系、层次、网络等逻辑数据模型的转化奠定了基础。

对于概念结构的设计,系统采用最为著名也最为常用的实体—联系方法,即E-R模型,E-R模型是一个面向问题型的概念模型,用简单的图形方式来描述现实世界的数据,它不涉及数据在数据库中的表示和存取方法,而非常接近人的思维方式[13]。

第 19 页

华北水利水电学院毕业论文

E-R模型由实体、实体属性、实体间联系三部分组成,各部分代表符号如下图4-2所示:

实体联系图4-2 E-R图符号说明图

属性

(1)系统中各实体的E-R图如下所示:

用户名用户ID管理员ID密码权限题数问卷名称问卷ID类型备注管理员问卷

图4-3 管理员E-R图 图4-4 问卷E-R图

性别密码用户名用户IDE-mail联系电话地址权限权限ID权限类型用户权限分配表

图4-3 用户E-R图 4-3 权限分配表E-R图

问卷ID题号题目ID内容备注题目ID选项ID选项名称票数题目问卷选项

图4-3 问卷具体题目E-R图 图4-3 问卷题目选项E-R图

第 20 页

华北水利水电学院毕业论文

题目ID问卷ID用户ID所填内容填写时间统计ID统计时间统计条件统计结果问卷ID管理员ID调查表统计结果

图4-3 调查表E-R图 图4-3 统计结果E-R图

一般管理员mn1更新1超级管理员1更新1管理员表1查询统计查询统计问卷题库选取问卷n问卷1参与调查问卷组成m题目114.3.3 逻辑结构设计

概念结构设计即将系统的应用需求抽象化为概念结构,逻辑结构设计是在概念结构设计的基础上,把概念结构转化为逻辑结构,也就是把概念结构设计阶段已经设计好的E-R模型转化为与所选用的DBMS产品所支持的数据模型相符合的逻辑结构,这种转化遵循“一个实体型转化为一个关系模式”的原则,实体的属性也就是关系的属性,实体表的码也就是关系的码,在实体的联系中,一个1:1联系、1:n联系可转化为一个独立的关系模式,一个m:n联系转化为一个关系模式[13]。

第 21 页

n被访者nn1查询查看问卷1n调查结果mn1题目组成m选项

图4-3 在线调查问卷系统的总E-R图

华北水利水电学院毕业论文

把系统的E-R图转换为关系模型,并把关系的码用下横线标出,得出系统逻辑的模型为:

管理员表(管理员ID 用户ID 用户名 密码 管理员权限)

用户表(用户ID 用户名 密码 性别 E-mail 联系电话 地址 权限)

权限分配表(权限ID 权限类型)

问卷总表(问卷ID 问卷名称 题数 类型 备注)

问卷题表(题目ID 题号 问卷ID 内容 备注)

问卷选项表(选项ID 题目ID 选项名称 票数)

调查表(用户ID 问卷ID 题目ID 所填内容 填写时间)

统计结果表(统计ID 统计时间 统计条件 统计结果 问卷ID 管理员ID)

4.3.4 数据库实体表的实现

在SQL Server数据库中建立名为wenjuan的数据库。为了防止应用过程中数据的更新异常并保证减少数据冗余以及避免插入和删除异常等情况,在数据库的设计过程中要对数据库中的各个表进行规范化,本系统的数据库表符合第三范式的要求[13]。其中包括以下主要数据表(只给出了部分主要的表的结构):

(1)用户表(person):使用本系统的用户信息存入此表中,用户编号存放的是对用户的一个不重复的编号,是唯一的,这个键被设为主键;用户名称存放的是用户注册时所用名称;用户密码存放的是用户注册时所填写的密码;性别是存放用户注册时所选择的性别;E-mail、联系电话、地址分别存放用户注册时所填写的相对应内容;权限的默认值为0,即用户,当授权为管理员时,权限为1,它与权限表发生联系。详细设计见表4-1。

序号 列名(中文) 列名(西文)

1 Y#

用户编号

2

3

4

5

6

7

8

用户名称

用户密码

性别

E-mail

联系电话

地址

权限

userName

userPwd

sex

email

telephone

address

purview

类型

int

varchar

varchar

varchar

char

char

char

char

字段长度

4

50

50

10

50

20

100

10

主键

Y

允许为空

Y

Y

默认值

0

表4-1数据库用户表

(2)权限分配表(purview):超级管理员为普通管理员分配合理的权限,这些信息也

第 22 页

华北水利水电学院毕业论文

将被记录下来,权限表存放的是用户权限,它有0和1两个键,这个键被设为主键。权限名称是权限所对应的名称。详细设计见表4-2。

序号 列名(中文) 列名(西文)

1

2

权限

权限名称

purview

p_name

类型

char

char

字段长度

10

25

主键

Y

允许为空

默认值

表4-2数据库权限分配表

(3)问卷总表(wenjuan):收录相关管理员录入的问卷信息,问卷的题目信息填入此表中。题目编号存放的是对问卷题目的一个编号,是唯一的,被设为主键;题号存放的是问卷中题目的题号;问卷编号存放的是题目所在的问卷的编号,它与问卷表发生联系;内容存放的是题目的具体内容;备注存放一些说明等。详细设计见表4-3。

序号 列名(中文) 列名(西文)

1 T#

题目编号

2

3

4

5

题号

问卷编号

内容

备注

Tno

W#

Tleirong

Tbeizhu

类型

int

int

int

char

char

字段长度

4

4

4

500

100

主键

Y

允许为空

Y

默认值

表4-3 问卷总表

(4)问卷题表(wenjti):问卷的题目信息填入此表中。题目编号存放的是对问卷题目的一个编号,是唯一的,这个键被设为主键;题号存放的是问卷中题目的题号;问卷编号存放的是题目所在的问卷的编号,它与问卷表发生联系;内容存放的是题目的具体内容;备注存放一些说明等。详细设计见表4-4。.

序号 列名(中文) 列名(西文)

1

2

3

4

5

题目编号

题号

问卷编号

内容

备注

T#

Tno

W#

Tleirong

Tbeizhu

类型

int

int

int

char

char

字段长度

4

4

4

500

100

主键

Y

允许为空

Y

默认值

表4-4 数据库问卷题表

(5)问卷选项表(wenjuanxx):存储调查问卷中具体题目的信息,选项编号存放的是题目的选项,题目编号存放的是选项对应题目的题目编号,这两项共同组成此表的主键;选项名称存放的是题目选项的内容;票数存放的是此选项的已选的票数,详细设计见表4-5。

第 23 页

华北水利水电学院毕业论文

序号 列名(中文) 列名(西文)

1 X#

选项编号

2

3

4

题目编号

选项名称

票数

T#

Xname

Xpiaoshu

类型

int

int

char

int

字段长度

4

4

100

4

主键

Y

Y

允许为空

默认值

0

表4-5 数据库问卷选项表

(6)调查表(diaocha):调查表存放是用户填写调查问卷时的所有信息,其中,用户编号存放填写调查问卷的用户的编号,它与用户表发生联系;问卷编号是被填写的问卷的编号;题目编号是被填写问卷所对应的题目编号,它与问卷题表存在着联系;所填内容存放的是填写问卷的具体内容;填写时间存放的是填表的具体时间。详细设计见表4-6。

序号 列名(中文) 列名(西文)

1 Y#

用户编号

2 W#

问卷编号

3

4

5

题目编号

所填内容

填写时间

T#

Dleirong

Ddate

类型

int

int

int

char

datetime

字段长度

4

4

4

100

8

主键

Y

Y

Y

允许为空

Y

默认值

表4-6 数据库调查表

(7)管理员表(caretaker):管理员表所存放的是管理员信息,管理员编号存放的是对管理员的编号,是唯一的,这个键被设为主键;用户编号是管理员在用户表中对应的用户编号,它与用户表发生联系;用户名称存放的是管理员的用户名称;管理员权限存放的是管理员的权限,分为一般管理员(0)和高级管理员(1)。详细设计见表4-7。

序号 列名(中文) 列名(西文)

1 C#

管理员编号

2 Y#

用户编号

3

4

用户名称

管理员权限

userName

Cpurview

类型

int

int

char

char

字段长度

4

4

10

10

主键

Y

允许为空

默认值

0

表4-7 数据库管理员表

(8)统计表(tongji):统计表是管理员对问卷进行统计的信息表,其中,统计编号存放的是为每次统计所编的编号;统计时间存放的是管理员进行统计问卷的时间;统计条件存放的是统计问卷所依据的条件;统计结果存放的是管理员对问卷进行统计的最终结果;问卷编号是被统计问卷的编号,它与问卷总表发生联系;管理员编号是对问卷做出统计的

第 24 页

华北水利水电学院毕业论文

管理员的编号,它与管理员表发生联系,统计编号设为主键。详细设计见表4-8。

序号 列名(中文) 列名(西文)

1

2

3

4

5

6

统计编号

统计时间

统计条件

统计结果

问卷编号

管理员编号

J#

Jdate

Jtiaojian

Jjieguo

W#

G#

类型

int

datetime

char

char

int

int

字段长度

4

8

100

100

4

4

主键

Y

允许为空

Y

默认值

表4-8 数据库统计表

数据库的全局实体关系图如下所示:

图2.10 数据库的全局实体关系图

第 25 页

华北水利水电学院毕业论文

第五章 系统实现

系统的最终实现是结构化开发方法的最后一个阶段,在系统实现阶段所做的工作对系统的质量有着十分重要的影响。本章的内容是在完成系统分析、系统设计等工作之后,介绍系统具体功能的实现,主要介绍了系统登录界面、问卷管理、在线调查、在线问卷编辑、问卷样本管理、批量问卷操作、用户管理、系统管理等功能模块的实现过程。

5.1 登陆界面

这个模块主要是判断用户是否具有登录的权限以及登录哪个模块的权限,通过权限的不同而进入不同的用户界面。在这个模块中, Session传值技术是很关键的。Session变量的存在主要是保存用户的用户名、密码和权限值,用于登录不同模块时的权限判断和修改个人密码。此外,这个部分还使用了JavaScript技术,主要是美化界面,生成动态页面。系统登陆界面运行效果如图5-1所示:

图5-1 登录界面

当用户及管理员登录验证成功后,系统将自动由登录首页跳转至相应的操作页面,供用户进行后续操作。其部分代码如下:

private void Page_Load(object sender, rgs e)

{

string username;

string ps;

string pur;

username=("userName");

第 26 页

华北水利水电学院毕业论文

ps=("userPwd");

pur=("purview");

/*将用户输入的用户名、密码和权限保存在Session变量中*/

Session["UserName"] = username;

Session["UserPwd"] = ps;

Session["Purview"] = pur;

SqlConnection con=Connection();

();

SqlCommand cmd=new SqlCommand("select count(*) from person where userName='"+username+"' and

userPwd='"+ps+"' and purview='"+pur+"'",con);

//查找用户名、密码和权限与输入一致的用户个数

int count=32(eScalar());

();

e();

if (count>0)

{

if(pur=="0")

{

ct("u_",true);//如果用户存在,并且他的权限为0,则进入用户系统页面

}

else

{

ct("c_",true);//如果用户存在,并且他的权限为1,则进入管理员系统页面

}

}

else

{

(""); //如果用户不存在,则弹出警告对话框

}

}

系统对用户提交数据进行严格的数据检验,当用户输入信息出现错误时,系统会根据不同的错误类型给予相应的错误提示:

当选择用户身份登录系统,若出现验证错误,则弹出如图5-2所示对话框:

图5-2 错误提示对话框

第 27 页

华北水利水电学院毕业论文

5.2 系统主要功能模块

5.2.1 参与问卷调查模块的实现

用户在用户主界面通过选择进入参与问卷调查模块。此模块是此调查系统关键的模块之一,用户通过选择问卷名对问卷进行参与调查,点击提交按钮,系统将用户调查结果同时存入数据库的问卷选项表和调查表。

这里主要使用了Label、RadioButtonList、Button等控件实现显示问卷名、问卷内容以及提交问卷结果和显示下一题等。通过设全局变量,点击按钮改变全局变量来达到显示下一题的目的。这里还使用上面所讲的进行数据库链接,同时对RadioButtonList进行了数据绑定,数据源为SQL SEVER中的wenjxx表。系统效果如图5-3所示:

图5-3 用户参与调查界面

主要代码如下所示:

/*“提交,下一题”按钮的单击事件*/

private int BtnClick()

{

string Xno=ng();

int Wno=32(edValue);

int t=32(Session["t"]); //取出全局变量,附值给t

SqlConnection con1=Connection();

();

SqlCommand Ycmd=new SqlCommand("select Y# from person where

userName='"+ng(Session["userName"])+"'",con1);

第 28 页

华北水利水电学院毕业论文

int Yno=32(eScalar());

SqlCommand Ccmd=new SqlCommand("select count(*) from diaocha where Y#='"+Yno+"' and W#='"+Wno+"' and

T#='"+t+"'",con1); //在数据库中查找是否此用户已参与过此问卷的调查

int count=32(eScalar());

();

if(count>=1)

{

("");

return t;

}

else

{

if(Xno=="")

{

("");

return t;

}

else

{

SqlConnection con=Connection();

();

SqlCommand cmd=new SqlCommand();

tion=con;

dText="update wenjuanxx set Xpiaoshu=Xpiaoshu+1 where T#="+t+"and

X#="+ng();

eNonQuery(); //将用户的选择存入wenjuanxx表

SqlCommand Dcmd=new SqlCommand("select convert(char(10), getdate(), 20)",con);

string date=ng(eScalar());

SqlCommand cmd1=new SqlCommand();

tion=con;

dText="insert into diaocha

values('"+Yno+"','"+Wno+"','"+t+"','"+ng()+"','"+date+"')";

eNonQuery(); //将用户的选择存入diaocha表

SqlCommand cmd2=new SqlCommand("select top 1 T# from wenjti where W#='"+Wno+"' order by T# desc",con);

int t_max=32(eScalar());

();

Session["t"] =t+1; //改变全局变量的值

if(t>=t_max) //当显示的题目是问卷中最后一题时,做出提示

{ ("");}

else

{ BindPaperData(Wno,++t); } //否则显示问卷的下一题

return t;

}

}

}

第 29 页

华北水利水电学院毕业论文

5.2.2查询问卷模块的实现

此模块主要是对系统中存在的问卷进行查询,此查询只能查询对每份问卷中每个调查题目选项票数的统计结果。

用户进入此模块后对显示出来的所有问卷和题目进行选择,显示调查结果。这里使用了DataGird控件绑定问卷选项和其对应的票数,数据源是wenjuanxx表。

DataGrid 可以被绑定到如下几个不同的数据源:(1)DataTable 和DataSet 中的DataTable,也可以使用强类型DataSet中的表。(2) DataView 对DataTable 数据进行排序和过滤,而不需要实际地改变基本数据。(3)一维数组。(4)实现IlistSource 的类,允许使用数据绑定的实际接口。(5)实现Ilist借口的类,如ArrayList,ComboBox,Obj-

ectCollection和ListBox,ListItem,ListView类中的集合,MenuItems, StringColle-

ctions和TreeNodeCollections[14]。系统实现效果如图5-4:

5.2. 3 个人资料管理模块的实现

此模块主要是实现用户对个人资料进行修改的功能,包括修改个人密码及修改除用户名、用户密码以外的其它信息。首先用户通过统一登录窗口登录后,进入用户主界面,再选择进入个人资料管理界面。这时系统会通过用户输入原密码保证用户资料的安全性,提交正确后显示个人基本资料才能进行修改,然后输入两次新密码确保用户输入的是自己的新密码。这里使用了panel控件,当用户输入正确用户密码panel可见,才能进行修改操作。修改成功后,弹出对话框提示修改成功,并将数据保存到数据库。

第 30 页

华北水利水电学院毕业论文

对于此功能,其核心是Session变量的使用,Session变量保留用户登录时使用的用户名和密码,它的保存期是用户登录到关闭页面的这一段时间。

主要代码如下:

/*按钮的单击事件。输入用户密码后单击按钮,判断用户密码是否正确*/

private void Btn_Click(object sender, rgs e)

{

string userPwd=().ToString();

string userName=ng(Session["UserName"]);

SqlConnection con=Connection();

();

SqlCommand cmd=new SqlCommand("select count(*) from person where userName='"+userName+"' and

userPwd='"+userPwd+"' ",con);

int count=32(eScalar());

();

if(count>0)

{

e=true;

return;//用户密码正确,Panel1可见,可以进行下步操作。

}

else

{

("");

return;//用户密码错误,弹出警告对话框。

}

}

5.2. 4 问卷管理模块的实现

此模块包括增加问卷、修改问卷、删除问卷、查询问卷和统计问卷五个部分。

1、增加问卷

管理员通过登录进入管理员系统首页,再通过选择,进入增加问卷页面。首先选择问卷名,问卷名被绑定在DropDownList上,数据源是SQL SERVER中的wenjuan表,函数BindWnameDate()实现问卷名的绑定。若需要增加的是整张问卷,则先输入问卷名,再选中,再选择问卷题目,问卷题目绑定在ListBox上,数据源是SQL SERVER中的wenjti表,函数BindTleirongDate(int Who)实现问卷题目的绑定。选择题目后通过Get传值进入添加问卷选项页面。同时,新增操作时,系统也将进行判断是否有重名,以保护数据一致性。代码略。

第 31 页

华北水利水电学院毕业论文

2、修改问卷

管理员通过登录进入管理员系统首页,再通过选择,进入修改问卷页面。通过选择问卷名和问卷题目对问卷进行修改。在DropDownList和ListBox上进行数据绑定,分别显示问卷名和问卷题目。函数BindWnameDate()和函数BindTleirongDate(int Wno)分别实现数据绑定。代码与增加问卷模块代码类似,这里就不特别列出。

3、删除问卷

管理员通过登录进入管理员系统页面后,通过选择进入删除问卷页面。删除问卷只涉及删除整张问卷的情况。在删除操作中,删除问卷,系统会通过触发器对统计表进行相应的修改,这是保护数据一致性的有效措施。此功能只涉及一个ListBox和一个Button控件,非常简单,代码略。

4、统计问卷

管理员进入统计问卷页面后,可通过统计条件(参于问卷调查人数,问卷调查的具体情况等)对问卷进行统计,统计结果存入数据库的统计表中。这里使用了几个Panel控件,通过对统计条件的选择不同,而让不同的Panel可见,而达到显示不同的统计结果的目的。这里还使用了上面所讲的DataGird控件来绑定数据显示统计结果。

查询按钮的单击事件代码如下,其它代码略。

private void ok_Click(object sender, rgs e)

{

string Wno=ng();

int tj=32(edValue);

switch(tj)

{

case 1: //选择第一个统计条件则Panel1可见,其它Panel控件不可见

e=true;

e=false;

e=false;

break;

case 2: //选择第二个统计条件则Panel2可见,其它Panel控件不可见

e=true;

e=false;

e=false;

break;

case 3: //选择第三个统计条件则Panel3可见,其它Panel控件不可见

e=true;

e=false;

e=false;

第 32 页

华北水利水电学院毕业论文

break;

}

SqlConnection con=Connection();

();

SqlCommand cmd=new SqlCommand("select count(distinct Y#) from diaocha where W#='"+Wno+"'",con);

//在数据库中查询参与调查的情况

string number=ng(eScalar());

=number;

SqlDataAdapter sda=new SqlDataAdapter();

Command=new SqlCommand("select distinct Wname,userName,Ddate from

diaocha,wenjuan,person where diaocha.W#=wenjuan.W# and diaocha.Y#=person.Y# and

diaocha.W#='"+Wno+"'",con );

DataSet ds=new DataSet();

(ds,"diaocha");

urce=["diaocha"];

nd(); //将数据绑定到DataGird控件result4上

();

BindTleirongDate(Wno,Tleirong);

}

5、查询问卷

管理员对问卷的查询不同于用户对问卷的查询,它主要是查询统计结果。在管理员进入查询问卷页面后,能过选择统计时间和管理员中的其中一项来进行查询。这里同样使用了DropDownList、DataGird等控件。为了避免输入的时间格式不正确,这里还使用了JavaScript语言,在输入时间的时候弹出网页对话框,对时间进行选择,保持了数据的一致性。代码略。

5.2.5 用户管理模块的实现

1、用户资料管理

管理用户资料可以查询用户的资料、修改用户密码、删除用户。其中,修改用户密码只能将用户密码改为固定原始密码“111”。这样避免了管理员恶意更改用户密码,保护了数据的安全性。

这里使用了Panel控件,点击“查询”按钮时Panel可见,显示用户资料。代码略。

2、用户权限管理

权限管理在整个系统中占据非常重要的位置,只有高级管理员有权限访问,因为它直接关系到用户的访问权限,也关系到整个系统的安全。主要实现对用户授权及撤消用户权限。在进入管理员系统页面选择权限管理时,系统会判断是否具有访问权限,若有则进入

第 33 页

华北水利水电学院毕业论文

权限管理页面,否则弹出警告对话框。

在进行权限管理时,可以对普通用户授以一般管理员权限,对一般管理员授以高级管理员权限,也可以撤消权限。其中,系统中的高级管理员不能多于两名,当对管理员授权为高级管理员时,系统会自动做出判断,若系统中已存在两名高级管理员,则提示错误不予以修改。

实现效果界面如下:

此功能也主要是对数据库进行操作。主要代码如下:

/*判断是否具有高级管理员权限*/

private void ImageButton1_Click(object sender, lickEventArgs e)

{ string userName=ng(Session["UserName"]);

SqlConnection con=Connection();

();

SqlCommand cmd=new SqlCommand("select Cpurview from caretaker,person where

caretaker.Y#=person.Y# and me='"+userName+"'",con);

int Cpurview=32(eScalar());

();

if(Cpurview==1)

{ ct("c_user_",true); //若具有权限则进入权限管理页面

}

else

{ (""); //不具有权限则弹出警告对话框

}

}

第 34 页

华北水利水电学院毕业论文

/*授予高级管理员权限*/

private void get_high_Click(object sender, rgs e)

{

string Yno=edValue;

SqlConnection con3=Connection();

();

SqlCommand ccmd=new SqlCommand("select count(*) from caretaker where Cpurview='1'",con3);

int count=32(eScalar());//查询已有的高级管理员的个数

if(count>=2)

{

(""); //若已有的高级管理员达到两名,则弹出警告对话框

}

else

{

if(Yno=="")

{

("");

}

else

{

SqlCommand scmd1=new SqlCommand();

tion=con3;

dText="update caretaker set Cpurview='1' where Y#='"+Yno+"'";

eNonQuery();

}

}

();

BindCaretakerData(); //再次调用函数,更新显示一般管理员名称

BindHCaretakerData(); //再次调用函数,更新显示高级管理员名称

}

5.2. 6 注册模块的实现

这个模块主要是对新用户进行注册,将其信息存入数据库。

在这个模块中,主要使用了TextBox、Button、Label等控件来实现将新用户填入的信息进行验证(用户名不能重复,两次输入的密码必须一致等),并存入数据库。此外,还应用了JavaScript技术,主要是实现弹出对话框,提示用户操作错误。代码略。

实现效果界面图如下:

第 35 页

华北水利水电学院毕业论文

5.3 数据库连接的实现

此次毕业设计的重点是应用程序对数据的访问,所以数据库连接的实现是整个系统实现的关键。这里使用了进行数据库连接。数据源是SQL SERVER中的wenjuan数据库,采用用户名和密码连接数据库。主要使用到的对象有Connection对象、DataReader对象、Command对象、DataSet对象和DataAdapter对象。

使用最重要的理由是可以获取一个真正断开连接的数据体系结构和XML的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的数据组合起来,并优化了和数据库交互的功能,有了与XML 格式的数据进行交换的能力,就可以克服在Internet 上发送消息时出现的问题[9]。同样和NET. Framework的其它部分紧密的集成在一起,并充分利用NET. Framework中所有对象的层结构及设计模式。建立在ADO的基础之上,而且为数据访问工具集提供了许多工具。

主要代码如下:

public static SqlConnection createConnection()

{

SqlConnection con=new SqlConnection("server=.;database=wenjuan;uid=sa;pwd=;");

return con; //使用用户名和密码连接数据库

}

SqlConnection con=Connection();

(); //打开连接

SqlCommand cmd=new SqlCommand("select T#,Tleirong from wenjti where W#="+Wno,con1);

//Command对象实现对数据源的查询操作

第 36 页

华北水利水电学院毕业论文

SqlDataReader sdr=eReader(); //DataReader对象读取数据

urce=sdr1;

xtField="Tleirong";

lueField="T#";

nd();

();

SqlDataAdapter sda=new SqlDataAdapter();

Command=new SqlCommand("select distinct Wname,userName,Ddate from diaocha,wenjuan,person

where diaocha.W#=wenjuan.W# and diaocha.Y#=person.Y# and diaocha.W#='"+Wno+"'",con );

DataSet ds=new DataSet();

(ds,"diaocha"); //使用Fill()方法填充DataSet数据

urce=["diaocha"];

nd();

(); //关闭连接

第 37 页

华北水利水电学院毕业论文

第六章 总结

整个毕业设计到现在已经基本结束,总的来说整个毕业设计还是比较成功的。的一些优越性:代码分离、新的编程语言C#、数据访问技术以及 B/S模式的有利性都在设计中得到了充分的体现。作为当今基于数据库的网站应用项目最炙手可热的开发技术,代表了今后软件开发的发展方向。

本论文描述了从系统需求分析到系统总体设计、详细研究在线调查问卷系统的整个系统结构的设计流程。重点论述了前台应用系统和后台管理系统的设计与实现,还介绍了底层数据库的设计与开发。首先要开发一个切实可用的系统,第一步要进行需求分析,以确定系统应该做什么,对象分析能够帮助我们理解问题并获得关于各问题领域的相关知识。系统的架构设计是开发过程中非常重要的环节,系统开发过程中确定系统架构之后,基本上系统就定型了。在系统架构规范的指导下,系统的详细设计将最终实现系统的功能。

这次毕业设计,我可以说是全身心的投入,做需求分析、制作文档、设计数据库、设计系统界面、编写代码等。在设计中,我学到了许多以前在课堂上面学不到的知识,进一部加强了自己的实践能力。对.net技术有了一定的认识,对数据库的理解也更加深刻了。同时,我也更加明白文档编写习惯、代码的规范化、模块化思维能力等对于一个程序员的重要性。相信这次的经验对于我以后的工作会大有益处。

但由于开发时间有限和一些技术性知识的缺乏,本系统仅实现了核心功能,还有很多需要完善的地方,如目前的商业问卷定制、投票功能、实现调查结果excel在线导出等,另外功能上在人性化方面也有所欠缺,界面也需要进一步美化,这些方面都有待日后进一步完善。这次设计让我发现了很多自身的不足,比如对于面向对象这种先进的软件开发模式不是很精通,对于目前比较流行的三层数据库项目开发也是知之甚少。这就需要在以后的项目开发中不断地学习,不断地提高,努力成为一个优秀的IT工程师。

第 38 页

华北水利水电学院毕业论文

参考文献

[1] 黎沛姿,谭北平,在线调查的代表性和可靠性对比研究,2005, 7-11。

[2] Dino Esposito著,施平安 译. 2.0技术内幕.北京:清华大学出版社.2006

[3] 邱李华、 李晓黎,SQL Server 2000数据库应用教程,人民邮电出版社,2007.7

[4] 郑豪、柳巧玲、鲍慧等,数据库中 技术的使用,南京晓庄学院学报,2005.9,

81-84

[5] 任泰明,基于B/S结构的软件开发技术,西安电子科技大学出版社2006.11

[6] 肯尼思·C·劳东(Kenneth )、简·P·劳东(Jane )、 劳帼龄,管理信息系统(第7版) 中国人民大学出版社 (2009-11出版)。

[7] +SQL Server数据库开发与实例(附光盘) 吴晨、张亮、 张静清华大学出版社 (2006-08出版)

[8] 徐坚,C/S与B/S结构的分析与比较,曲靖师范学院学报,2005.5,67-69

[9]陈明,数据库系统及应用:SQL Server 2000,清华大学出版社2007,2

[10] 耿骞,韩圣龙,傅湘玲,信息系统分析与设计(第2版),高等教育出版社,2008年01月。

[11] 卢炎生,吴建华,一个对象-关系型DBMS的数据存储策略,华中科技大学报,2002。

[12] Thomas Connolly, Carolyn Begg, 数据库系统——设计、实现与管理,电子工业出版社,2005年3月。

[13] 王珊,萨师煊,数据库系统概论[M],北京高等教育出版社,2007。

[14] 鲁斌、余金山,技术和Data Grid 控件,华侨大学学报,2004.7,305-309

第 39 页

华北水利水电学院毕业论文

致 谢

毕业设计已接近尾声,这个过程虽然布满荆棘,但是却很有意义,因为我学到了很多知识和很多从书本上学不到的东西。在这里,我要向在这个过程中一直帮助我、鼓励我的老师和同学们,致以最诚挚的感谢!

首先要感谢我的指导老师秦雷雷老师,本系统实在秦老师的耐心指导下修改完成,感谢秦老师在论文写作以及系统设计中的严格要求,以及对我提出问题的耐心指导,使我顺利完成了毕业论文!

其次,我要感谢我的朋友和同学们,特别感谢岳宝龙同学对我的热心帮助,他的指导给我了极大的帮助,使我对本系统的设计思路在总体方面有了把握,并且耐心帮我解决了许多实际和专业性的问题,在系统开发过程中遇到问题不知所措时,是他的耐心指导以及大力支持才使我坚持下来、渡过了难关。

感谢在毕业设计中所参考过的书籍的作者和翻译者,我从这些书籍中也学到了很多的知识。

四年的大学生活马上要结束了,我们将要离开生活四年的校园,离开和蔼可亲的老师,离开同窗四年的朋友,感谢你们四年一开该我得关心与支持。这四年将是我一生中最难忘回忆。最后衷心的祝愿你们大家身体健康,一切顺利!

第 40 页


本文标签: 问卷 系统 用户 调查 数据