




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘摘 要要 随着社会的发展,传统的市场、民意调查越来越不能满足社会的需要。在网络经 济进一步深化的今天,建设一个高效、便利、安全的在线调查站点是十分必要的。以 实现在市场研究、民意调查以及学术研究方面的科学的应用。 本系统按实际需求设计,包括用户对问卷的调查,管理员对用户和问卷的管理。 此次毕业设计的重点是网站应用程序对数据的访问,其中前台技术采用基于 B/S 模式 的 ASP.NET,开发工具是 VISUAL STUDIO.NET 2006,后台数据库采用 SQL SERVER 2000,数据访问技术采用 ADO.NET。 本文首先介绍了问题的背景,接着提出问题,并针对具体项目展开需求调查分析; 再基于需求设计出具体的方案;然后对整个系统进行了详细的分析和设计,在设计与 实现过程中,结合源代码具体的描述出整个项目的开发过程;最后对整个系统进行测 试得出测试结论。 关键字:关键字:在线调查;问卷管理;数据访问 全套源程序代码,联系全套源程序代码,联系 153893706 Abstract With the development of society, researches on traditional markets, peoples willing can not satisfy the needs of society more and more. Nowadays network economy is more deep, so it is very necessary to set up an effective, convenient, secure on-line research web site, which will realize the scientic applications in research on market, peoples willing and study. This system is designed according to actual requirements, and it includes researches on questionnaire for users, management on users and questionnaire for manager. The keystone of this design is that web site application programs access data. Thereinto, the technology of front end adopts ASP.NET based-B/S mode and VISUAL STUDIO.NET 2006 as the development tool, database of back end adopts SQL SERVER 2000 and ADO.NET as data access technology. This text introduces background of this issue firstly, 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: on-line research; management on questionnaire; Data-Access 目录目录 第一章 绪论.1 1.1 问题背景.1 1.2 研究范围及技术要求.1 1.2.1 研究范围.1 1.2.2 技术要求.2 第二章 问题的描述.3 2.1 任务概述.3 2.1.1 系统的目标.3 2.1.2 系统的开发环境.3 2.2 功能需求.3 2.2.1 系统用户3 2.2.2 具体功能划分.4 2.3 性能需求.6 2.3.1 时间特性6 2.3.2 适应性6 2.4 数据描述.6 2.4.1 设计局部数据库实体关系.6 2.4.2 设计全局数据库实体关系.12 2.5 其它要求.13 第三章 方案设计.14 3.1 具体方案设计.14 3.1.1 模块划分.14 3.1.2 各个模块的具体说明.14 3.1.3 方案的实现方法.20 3.2 方案论证分析20 3.2.1 方案的技术可行性.20 3.2.2 方案的经济可行性.20 3.2.3 方案优点与不足.21 3.3 此方案与 C/S 结构的比较 21 第四章 设计与实现.23 4.1 登录和注册模块的实现.23 4.1.1 登录模块的实现.23 4.1.2 注册模块的实现.24 4.2 数据库连接的实现.24 4.3 用户功能模块的实现.25 4.3.1 参与问卷调查模块的实现.25 4.3.2 查询问卷模块的实现.27 4.3.3 个人资料管理模块的实现.28 4.4 管理员功能模块的实现.29 4.4.1 问卷管理模块的实现.29 4.4.2 用户管理模块的实现.32 4.5 系统框架34 第五章 应用与测试.35 5.1 测试方案概述.35 5.1.1 测试策略.35 5.1.2 测试方法.35 5.2 具体测试过程.35 5.2.1 功能测试.35 5.2.2 性能测试.37 5.3 测试结论38 结束语.39 参考文献.40 致谢.41 1 第一章第一章 绪论绪论 1.1 问题背景问题背景 互联网的兴起给原有的大众传播格局、策略及理论构架带来前所未有的震荡,同 时,互联网的全球覆盖、交互功能等特性给调查方法带来新的变化,在线调查作为一 种基于互联网平台上产生的回收信息的“快招“,越来越受到许多评估研究机构和媒介 机构的关注、运用。 借助互联网这一现代化的信息沟通渠道,在线调查具有低成本、高速度、跨越空 间局限、丰富的表现形式、智能化及互动性等优点。 在线调查在欧洲、美洲以及日韩 等互联网发达的国家已经相当普遍, 在市场研究、 民意调查以及学术研究方面得到 广泛的应用。 随着中国互联网的普及,在线调查在中国有迅速普及的趋势。根据 CNNIC 报告,中国内地网民总体数量在去年上半年已经超过1亿用户1。中国互联网的 普及使在线市场调查迅速成为可能。媒体特别是网络媒体越来越多地借鉴调查的形式 收集与反馈浏览者的意见、观点,网上舆论及热点问题调查是其最常见的形式。 因为在线调查的方便性,许多企业也在自己的网络上进行自主调研,使用调查的 方式收集自己用户的观点等。不仅可以迅速了解社会不同层次、不同行业的人员需求, 客观地收集需求信息,调整修正产品策略和营销策略,满足不同的需求,促进公司产 品销售,同时也吸引了更多的长期用户群2。许多专业调研公司也正在逐渐推广在线 调查,使之成为传统调研形式的重要补充。 在线调查问卷系统是当前一个很热门、实用性很强的系统,把它作为毕业设计的 题目,可以把已有的知识用于实践,又可以学到一些新的概念,在这个过程中,可以 增加工程经验,对以后的工作学习是一次很有意义的经验积累。 1.2 研究范围及技术要求研究范围及技术要求 .1 研究范围研究范围 1. 设计该系统的功能模块划分,使用 SQL SERVER 2000 设计出该系统的数据库。 2. 参考实际在线调查问卷 WEB 站点管理情况,完成对系统的需求分析及设计文档。 3. 根据需求分析及设计文档完成代码编制。 2 .2 技术要求技术要求 1. 功能模块划分合理。 2. 数据库设计满足功能要求。 3. 数据库冗余度小,尽量满足三范式要求。 4. 绘制数据库各数据表之间的关系图。 5. 建立数据库访问接口类,实现对数据库的访问。 6. 完成功能模块中的一个较小的功能,以测试数据库接口的正确性。 3 第二章第二章 问题的描述问题的描述 2.1 任务概述任务概述 .1 系统的目标系统的目标 开发出的系统应具备很强的开放性和扩展性等特性。本系统实现一个在线调查问 卷WEB站点,能够方便、灵活地对调查问卷资料进行查询、统计等操作。所有这些对数 据库进行的操作都受到管理级别的限制。本项目可有效快捷地管理调查问卷,提供必 需的统计、管理信息,使信息更为准确、快捷、易查。 .2 系统的开发环境系统的开发环境 硬件平台:硬盘空间: 5G以上; 内存:256M以上; CPU:PIII500以上; 操作系统:Windows 2000/windows XP 其它软件:浏览器:IE浏览器 5.0以上 数据库:SQL Sever 2000 Visual S 2.2 功能需求功能需求 .1 系统用户系统用户 系统用户主要有一般用户和管理员两种。详见图 2.1 所示: 4 图 2.1 系统用户关系图 注:在以下的论述中,所提到的“用户” ,若没有具体说明均指一般用户。所提到 的“管理员”均为一般管理员和高级管理员的统称。 .2 具体功能划分具体功能划分 用户组是用户里面权限最低的。只可以参与填写问卷调查和查询问卷,无法进行 其他操作。但是仍然有登录所需的用户名和密码,所以他们需要注册。尽管权限很低, 他们还可以对自己的个人资料进行修改(无法修改其他用户的资料) 。 用户组的用例图如图 2.2 所示。 图 2.2 用户组的用例图 5 一般管理员组:一般管理员权限比用户高。他们可以分别对问卷和用户进行管理。 问卷管理包括增加问卷、修改问卷、删除问卷、查询问卷和统计问卷五个部分。用户 管理包括对用户资料的管理和删除个别用户。当然,他们也可以像一般用户那样填写 问卷和修改个人资料。以上各种操作也必须经过登录验证以后。 一般管理员组的用例图如图 2.3 所示。 图 2.3 一般管理员组的用例图 高级管理员组:高级管理员的权限是所有用户中权限级别最高的。他们不仅可以 完成一般管理员的功能,还比一般管理员多了一项权限,那就是给用户授权和撤销用 户权限。 高级管理员组的用例图如图 2.4 所示。 6 图 2.4 高级管理员组的用例图 2.3 性能需求性能需求 .1 时间特性时间特性 响应时间:用户应该在 1s-1min 时间内得到服务器的响应。 更新处理时间:2s,可能受到网络状况影响 运行时间:依据网络状况决定 .2 适应性适应性 可以在 windows 的任何版本的操作系统下运行。软件接口主要通过用户浏览器实 现。 2.4 数据描述数据描述 在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一 个反映用户观点的概念模式,然后再把概念模式转换成逻辑模式。将概念设计从设计 过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定 DBMS 的限制3。 利用实体关系方法进行数据库的概念设计:首先设计局部实体关系模式,然后把 各局部实体关系模式综合成一个全局模式。 .1 设计局部数据库实体关系设计局部数据库实体关系 1.用户表(用户表(person)的数据字典如表)的数据字典如表 2.1 所示。所示。 7 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1用户编号Y#int4Y 2用户名称userNamevarchar50 3用户密码userPwdvarchar50 4性别sexvarchar10Y 5E-mailemailchar50 6联系电话telephonechar20 7地址addresschar100Y 8权限purviewchar100 表 2.1 数据库用户表的数据字典 说明:使用本系统的用户信息存入此表中。用户编号存放的是对用户的一个不重 复的编号,是唯一的,被设为主键;用户名称存放的是用户注册时所用名称;用户密 码存放的是用户注册时所填写的密码;性别是存放用户注册时所选择的性别;E-mail、 联系电话、地址分别存放用户注册时所填写的相对应内容;权限的默认值为 0,即用户, 当授权为管理员时,权限为 1,它与权限表发生联系。见下实体联系图(图 2.5)所示。 2.权限表(权限表(purview)的数据字典如表)的数据字典如表 2.2 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1权限purviewchar10Y 2权限名称p_namechar25 表 2.2 数据库权限表的数据字典 说明:此表存放的是权限信息。权限存放的是用户权限,它有 0 和 1 两个选项, 它被设为主键。权限名称是权限所对应的名称。 用户表和权限表的联系见下图 2.5 所示。 8 图 2.5 数据库权限表的实体关系图 3.问卷总表(问卷总表(wenjuan)的数据字典如表)的数据字典如表 2. 3 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1问卷编号W#int4Y 2问卷名称Wnamevarchar100 3题数Wtishuint40 4类型Wleixingchar50Y 5备注Wbeizhuchar100Y 表 2.3 数据库问卷总表的数据字典 说明:本系统的所有问卷总体资料都存入此表中。问卷编号存放的是每一份问卷 唯一的编号;问卷名称存放的是问卷的名称(问卷标题) ;题数存放的是问卷中所包括 的题目个数;类型存放的是问卷所属的类型;备注存放的是对问卷的说明等。问卷编 号被设为主键。问卷总表与问卷题表发生联系,见下实体联系图(图 2.6)所示。 4.问卷题表(问卷题表(wenjti)的数据字典如表)的数据字典如表 2. 4 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1题目编号T#int4Y 2题号Tnoint4 3问卷编号W#int4 4内容 Tleirong char500 5备注Tbeizhuchar100Y 9 表 2.4 数据库问卷题表的数据字典 说明:问卷的题目信息填入此表中。题目编号存放的是对问卷题目的一个编号, 是唯一的,被设为主键;题号存放的是问卷中题目的题号;问卷编号存放的是题目所 在的问卷的编号,它与问卷表发生联系;内容存放的是题目的具体内容;备注存放一 些说明等。问卷题表与问卷总表和问卷选项表都发生一定联系,见下实体联系图(图 2.6)所示。 5.问卷选项表(问卷选项表(wenjuanxx)的数据字典如表)的数据字典如表 2. 5 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1选项编号X#int4Y 2题目编号T#int4Y 3选项名称Xnamechar100 4票数Xpiaoshuint40 表 2.5 数据库问卷选项表的数据字典 说明:问卷的详细信息填入此表中。选项编号存放的是题目的选项,题目编号存 放的是选项对应题目的题目编号,这两项共同组成此表的主键;选项名称存放的是题 目选项的内容;票数存放的是此选项的已选的票数。 问卷选项表、问卷题表与问卷总表的联系见下图 2.6。 10 图 2.6 数据库问卷题表的实体关系图 6.调查表(调查表(diaocha)的数据字典如表)的数据字典如表 2. 6 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1用户编号Y#int4Y 2问卷编号W#int4Y 3题目编号T#int4Y 4所填内容Dleirongchar100 5填写时间Ddatedatetime8Y 表 2.6 数据库调查表的数据字典 说明:调查表存放是用户填写调查问卷时的所有信息。其中,用户编号存放填写 调查问卷的用户的编号,它与用户表发生联系;问卷编号是被填写的问卷的编号;题 目编号是被填写问卷所对应的题目编号,它与问卷题表发生联系;所填内容存放的是 填写问卷的具体内容;填写时间存放的是填表的具体时间。 调查表与用户表、问卷题表的联系见下图 2.7 所示。 11 图 2.7 数据库调查表的实体关系图 7.管理员表(管理员表(caretaker)的数据字典如表)的数据字典如表 2.7 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1管理员编号C#int4Y 2用户编号Y#int4 3用户名称userNamechar10 4管理员权限Cpurviewchar100 表 2.7 数据库管理员表的数据字典 说明:管理员表所存放的是管理员信息。管理员编号存放的是对管理员的编号, 是唯一的,设为主键;用户编号是管理员在用户表中对应的用户编号,它与用户表发 生联系;用户名称存放的是管理员的用户名称;管理员权限存放的是管理员的权限, 分为一般管理员(0)和高级管理员(1) 。 管理员表与用户表的联系见下图 2.8 所示。 12 图 2.8 数据库管理员表的实体关系图 8.统计表(统计表(tongji)的数据字典如表)的数据字典如表 2. 8 所示。所示。 序号 列名(中文)列名(西文) 类型字段长度主键允许为空默认值 1统计编号J#int4Y 2统计时间Jdatedatetime8Y 3统计条件Jtiaojianchar100 4统计结果Jjieguochar100 5问卷编号W#int4 6管理员编号G#int4 表 2.8 数据库统计表的数据字典 说明:统计表是管理员对问卷进行统计的信息表。其中,统计编号存放的是为每 次统计所编的编号;统计时间存放的是管理员进行统计问卷的时间;统计条件存放的 是统计问卷所依据的条件;统计结果存放的是管理员对问卷进行统计的最终结果;问 卷编号是被统计问卷的编号,它与问卷总表发生联系;管理员编号是对问卷做出统计 的管理员的编号,它与管理员表发生联系。统计编号设为主键。 统计表与问卷表以及管理员表发生的联系见下图 2.9 所示。 13 图 2.9 数据库统计表的实体关系图 .2 设计全局数据库实体关系设计全局数据库实体关系 数据库的全局实体关系如图 2.10 所示。 图 2.10 数据库的全局实体关系图 2.5 其它要求其它要求 可使用性:一般用户无需通过培训即可学会使用该系统。 可靠性:平均故障间隔时间:30 天 14 平均修复时间:300 分钟 可维护性:该站点易于维护。 可移植性:该系统移植性较强,可运行于各种操作系统和多种服务器。 15 第三章第三章 方案设计方案设计 3.1 具体方案设计具体方案设计 .1 模块划分模块划分 用户角色的权限不同,可使用的功能也有所不同。可根据用户的不同权限,将整 个系统划分为两个大模块,即用户系统模块和管理员系统模块。用户系统模块包括填 写问卷、查询问卷和个人资料管理三个功能;管理员系统模块分为包括增加问卷、修 改问卷、删除问卷、统计问卷、查询问卷五个功能的问卷管理模块,由用户资料管理、 用户权限管理两个功能组成的用户管理模块,以及和用户模块功能(包括填写问卷和 个人资料管理)基本相同的基本功能模块。管理员权限又分为一般管理员和高级管理 员,虽然高级管理员的权限高于一般管理员,但是他所能使用的功能只比一般管理员 多了一项权限管理功能。所以并不需要将一般管理员和高级管理员的功能分为两个模 块,只需要在使用权限管理这个功能时来判断管理员的权限即可。 整个系统功能模块划分如图 3.1 所示: 图3.1 整个系统的层次方框图 .2 各个模块的具体说明各个模块的具体说明 1、填写问卷功能 16 填写问卷是用户使用本系统的主要功能。 采用用户通过登录进入问卷调查页面、填写问卷调查内容、提交的步骤来完成在 线问卷调查。此功能在用户系统模块和管理员系统模块中均有体现。 填写问卷功能的活动图见图 3.2。 图3.2 填写问卷功能的活动图 2、用户查询问卷 用户对问卷的查询只限于查询一张问卷的总体调查情况。采用用户登录进入问卷 17 查询页面,通过选择问卷名对问卷进行查询的形式。 查询问卷功能的活动图如图 3.3。 图3.3 查询问卷功能的活动图 3、用户个人资料修改 用户若需要对个人资料进行修改,则使用到该功能。用户进入用户个人资料修改 18 页面,填写需要修改的信息,提交后系统将修改后的信息存入数据库覆盖原有信息, 达到个人资料修改的目的。 用户个人资料修改功能的活动图如图 3.4。 图3.4 用户个人资料修改功能的活动图 4、问卷管理功能 问卷管理功能分为增加问卷、修改问卷、删除问卷、统计问卷和查询问卷五个功 19 能。管理员通过增加、修改、删除这三种功能对问卷进行更新管理;统计则可以帮助 管理员对问卷的调查情况加以了解和掌握;查询功能是对问卷统计情况的查询。 统计问卷功能的活动图如图 3.5。其它四个功能的活动图略。 20 图3.5 统计问卷功能的活动图 5、用户管理功能 管理员对用户的管理包括用户资料的管理和用户权限的管理 用户资料的管理主要实现删除用户、修改用户密码和查询用户资料功能。而用户 权限的管理只有高级管理员可以使用,所以首先要判断管理员权限,在存在高级管理 员权限的情况下才能使用此功能对用户进行授权及撤消权限。 权限管理功能的活动图如图 3.6。其它功能的活动图略。 图3.6 权限管理功能的活动图 21 6、其它功能 除了上述模块的功能以外,此系统还应该实现用户注册、登录功能。由于功能简 单,此处不作具体说明。 .3 方案的实现方法方案的实现方法 此方案的重点是应用程序对数据的访问,作者采用 ASP.NET+SQL SERVER 对此系统 进行开发。其中前台技术采用基于 B/S 模式的 ASP.NET,开发工具是 VISUAL STUDIO.NET 2006,后台数据库采用 SQL SERVER 2000,数据访问技术采用 ADO.NET。 3.2 方案论证分析方案论证分析 .1 方案的技术可行性方案的技术可行性 ASP.NET 是微软公司继 ASP 之后推出的新一代 Active Server Pages,他不是 ASP 的简单升级,是微软发展的新的体系.NET 的一部分4。同以前的 Web 开发模型相比, ASP.NET 具有增强的性能、Visual Studio 世界级的工具支持、灵活性、简易性、可管 理性、可缩放性、自定义性、扩展性,以及完全性等数个重要的优点5。同时,代码 分离、ADO.NET 技术,以及全新的开发语言 C#更是给作者带来了更快捷、更方便的操 作。 SQL SERVER 是一个关系数据库管理系统(DBMS),数据库处理的基本结构,采取关 系型数据库模式,但是在 SQL SERVER 的数据库处理中,则是使用了面向对象的操作方 式6。作者根据它的这个特点,配合数据设计的基本原则及数据库的范式要求对数据 库进行设计。 所以,此方案具有技术可行性。 .2 方案的经济可行性方案的经济可行性 随着互联网的普及,计算机、网络已经深入到我们生活的方方面面,在线调查也 将逐渐取代传统的通过纸笔填写的问卷调查。 首先,在网上进行调查,问卷能否收回,取决于被调查者对调查题目感兴趣,才 会主动填写调查问卷,而在传统调查中一般是调查者主动向被调查者提出问题或者要 求。这点不同将会在一定程度上对调查结果的可靠性和样本的准确性有影响。其次, 因特网没有时空、地域的限制,这是在线调查与传统市场调查方式相比所独有的优势。 22 再次,传统方式的市场调查活动需要耗费大量的人力、物力来进行,周期也比较长, 因特网用 Web 或其他手段就可以覆盖全球的优势正好弥补了这一不足7。最后,与传 统方式不同,网民可以在不面对调查者的情况下,在一种相对轻松和从容的气氛中填 写问卷,达到面对面提问无法比拟的效果。 从这诸多的投资和收益的比较中可以看出,此方案的经济可行性很大。 .3 方案优点与不足方案优点与不足 此方案将系统分为用户和管理员两大模块,完全通过权限的设定来明确用户角色 所使用的功能及所进入的页面,使系统能够清晰明了地呈现在用户面前。对两大基本 模块又进行细致划分,进一步加强了系统的可操作性和友好性。建立数据表的级联关 系,保障了数据的一致性。 同时,此方案也存在不足之处。比如,方案将在线问卷以系统形式展现在用户面 前,用户需注册才能使用,这将大大减少参与调查的人数。但是,需注册后才能使用 系统,一方面可以便于管理员对系统的管理,另一方面可以避免恶意的调查样本。所 以,在几个问题不能同时得到满足的情况下,作者仍然采用了原方案。 3.3 此方案与此方案与 C/S 结构的比较结构的比较 本次设计采用的技术是基于 B/S 的两层开发模式,即主要业务都在服务器端完成。 C/S 结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无 运算能力的输入、输出设备,而是据有了一定的数据处理和数据存储能力,通过把应 用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量 和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在 用户数目不多的局域网内使用。国内目前的大部分 ERP (财务)软件产品即属于此类结 构。 B/S(浏览器/服务器模式)是随着 Internet 技术的兴起,对 C/S 结构的一种改进。 在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在 Web 服务器实现,客户端只需要浏览器即可进行业务处理,是一种全新的软件系统构造技 术。这种结构更成为当今应用软件的首选体系结构。 1. 数据安全性比较 23 由于 C/S 结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、 黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S 结构的软件必 须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据 点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲, C/S 结构软件的安全性是令人无法接受的。对于 B/S 结构的软件来讲,由于其数据集中 存放于总部的数据库服务器,客户端不保存任何业务数据和数据库连接信息,也无需 进行什么数据同步,所以这些安全问题也就自然不存在了。 2. 数据一致性比较 在 C/S 结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级 服务器,然后再进行数据同步的模式。这些服务器每天必须在同步完毕之后,总部才 可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来, 各服务器也不能得到一个时点上的数据,数据永远无法一致,不能用于决策。对于 B/S 结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到 中央数据库,不存在数据一致性的问题。 3. 数据实时性比较 在集团级应用里,C/S 结构不可能随时随地看到当前业务的发生情况,看到的都是 事后数据;而 B/S 结构则不同,它可以实时看到当前发生的所有业务,方便了快速决 策,有效地避免了企业损失。 4. 数据溯源性比较 由于 B/S 结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分 公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分 C/S 结构的软件则 不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构 (分公司、门店)的原始单据。 从以上的分析可以看出,B/S 结构的大型管理软件有着 C/S 结构软件无法比拟的优 势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么 已经是 B/S 结构的,要么正在经历从 C/S 到 B/S 结构的转变。从国内诸多软件厂商积 极投入开发 B/S 结构软件的趋势来看,B/S 结构的大型管理软件势必在将来的几年内占 据管理软件领域的主导地位8。 24 第四章第四章 设计与实现设计与实现 4.1 登录和注册模块的实现登录和注册模块的实现 .1 登录模块的实现登录模块的实现 这个模块主要是判断用户是否具有登录的权限以及登录哪个模块的权限,通过权 限的不同而进入不同的用户界面。 在这个模块中, Session 传值技术是最关键的。Session 变量的存在主要是保存 用户的用户名、密码和权限值,用于登录不同模块时的权限判断和修改个人密码。 此外,这个部分还使用了 JavaScript 技术,主要是美化界面,生成动态页面。主 要代码如下: 25 private void Page_Load(object sender, System.EventArgs e) string username; string ps; string pur; username=Request.Form.Get(“userName“); ps=Request.Form.Get(“userPwd“); pur=Request.Form.Get(“purview“); /*将用户输入的用户名、密码和权限保存在Session变量中*/ Session“UserName“ = username; Session“UserPwd“ = ps; Session“Purview“ = pur; SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd=new SqlCommand(“select count(*) from person where userName=“+username+“ and userPwd=“+ps+“ and purview=“+pur+“,con); /查找用户名、密码和权限与输入一致的用户个数 int count=Convert.ToInt32(cmd.ExecuteScalar(); con.Close(); con.Dispose(); if (count0) 26 if(pur=“0“) Response.Redirect(“u_main.aspx“,true); /如果用户存在,并且他的权限为0,则进入用户系统页面 else Response.Redirect(“c_main.aspx“,true); /如果用户存在,并且他的权限为1,则进入管理员系统页面 else Response.Write(“); Response.Write(“alert(用户名或密码错误,请重新输入!);“); Response.Write(“);/如果用户不存在,则弹出警告对话框 .2 注册模块的实现注册模块的实现 这个模块主要是对新用户进行注册,将其信息存入数据库。 在这个模块中,主要使用了 TextBox、Button、Label 等控件来实现将新用户填入 的信息进行验证(用户名不能重复,两次输入的密码必须一致等),并存入数据库。 此外,还应用了 JavaScript 技术,主要是实现弹出对话框,提示用户操作错误。 代码略。 4.2 数据库连接的实现数据库连接的实现 此次毕业设计的重点是应用程序对数据的访问,所以数据库连接的实现是整个系 统实现的关键。这里使用了 ADO.NET 进行数据库连接。数据源是 SQL SERVER 中的 wenjuan 数据库,采用用户名和密码连接数据库。主要使用到的对象有 Connection 对象、 DataReader 对象、Command 对象、DataSet 对象和 DataAdapter 对象。 使用 ADO.NET 最重要的理由是可以获取一个真正断开连接的数据体系结构和 XML 的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的数据组合起来, 并优化了和数据库交互的功能,有了与 XML 格式的数据进行交换的能力,就可以克服 在 Internet 上发送消息时出现的问题9。同样 ADO.NET 和 NET. Framework 的其它部 27 分紧密的集成在一起,并充分利用 NET. Framework 中所有对象的层结构及设计模式。 ADO.NET 建立在 ADO 的基础之上,而且为数据访问工具集提供了许多工具。 主要代码如下: public static SqlConnection createConnection() SqlConnection con=new SqlConnection(“server=.;database=wenjuan;uid=sa;pwd=;“); return con; /使用用户名和密码连接数据库 SqlConnection con=DB.createConnection(); con.Open(); /打开连接 SqlCommand cmd=new SqlCommand(“select T#,Tleirong from wenjti where W#=“+Wno,con1); /Command对象实现对数据源的查询操作 SqlDataReader sdr=cmd.ExecuteReader(); /DataReader对象读取数据 this.Tleirong.DataSource=sdr1; this.Tleirong.DataTextField=“Tleirong“; this.Tleirong.DataValueField=“T#“; this.Tleirong.DataBind(); sdr1.Close(); SqlDataAdapter sda=new SqlDataAdapter(); sda.SelectCommand=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(); sda.Fill(ds,“diaocha“); /使用Fill()方法填充DataSet数据 this.result4.DataSource=ds.Tables“diaocha“; this.result4.DataBind(); con.Close(); /关闭连接 4.3 用户功能模块的实现用户功能模块的实现 用户功能模块主要由参与问卷调查模块、查询问卷模块、个人资料管理模块三个 部分组成,是此系统两大重要功能模块之一。 用户通过登录进入用户主界面,再通过选择可进入参与问卷调查模块、查询问卷 模块或个人资料管理模块。 .1 参与问卷调查模块的实现参与问卷调查模块的实现 用户在用户主界面通过选择进入参与问卷调查模块。此模块是此调查系统关键的 28 模块之一,用户通过选择问卷名对问卷进行参与调查,点击提交按钮,系统将用户调 查结果同时存入数据库的问卷选项表和调查表。 这里主要使用了 Label、RadioButtonList、Button 等控件实现显示问卷名、问卷 内容以及提交问卷结果和显示下一题等。通过设全局变量,点击按钮改变全局变量来 达到显示下一题的目的。这里还使用上面所讲的 ADO.NET 进行数据库链接,同时对 RadioButtonList 进行了数据绑定,数据源为 SQL SEVER 中的 wenjxx 表。 主要代码如下: /*“提交,下一题”按钮的单击事件*/ private int BtnClick() string Xno=this.xuanxiang.SelectedValue.ToString(); int Wno=Convert.ToInt32(this.Wname.SelectedValue); int t=Convert.ToInt32(Session“t“); /取出全局变量,附值给t SqlConnection con1=DB.createConnection(); con1.Open(); SqlCommand Ycmd=new SqlCommand(“select Y# from person where userName=“+Convert.ToString(Session“userName“)+“,con1); int Yno=Convert.ToInt32(Ycmd.ExecuteScalar(); SqlCommand Ccmd=new SqlCommand(“select count(*) from diaocha where Y#=“+Yno+“ and W#=“+Wno+“ and T#=“+t+“,con1); /在数据库中查找是否此用户已参与过此问卷的调查 int count=Convert.ToInt32(Ccmd.ExecuteScalar(); con1.Close(); if(count=1) Response.Write(“alert(您已经参与过此问卷的调查,请选择其它问卷!) “); return t; else if(Xno=“) Response.Write(“alert(请选择一项内容!)“); return t; else 29 SqlConnection con=DB.createConnection(); con.Open(); SqlCommand cmd=new SqlCommand(); cmd.Connection=con; cmd.CommandText=“update wenjuanxx set Xpiaoshu=Xpiaoshu+1 where T#=“+t+“and X#=“+this.xuanxiang.SelectedValue.ToString(); cmd.ExecuteNonQuery(); /将用户的选择存入wenjuanxx表 SqlCommand Dcmd=new SqlCommand(“select convert(char(10), getdate(), 20)“,con); string date=Convert.ToString(Dcmd.ExecuteScalar(); SqlCommand cmd1=new SqlCommand(); cmd1.Connection=con; cmd1.CommandText=“insert into diaocha values(“+Yno+“,“+Wno+“,“+t+“,“+this.xuanxiang.SelectedValue.ToString()+“,“+date+“)“; cmd1.ExecuteNonQuery(); /将用户的选择存入diaocha表 SqlCommand cmd2=new SqlCommand(“select top 1 T# from wenjti where W#=“+Wno+“ order by T# desc“,con); int t_max=Convert.ToInt32(cmd2.ExecuteScalar(); con.Close(); Session“t“ =t+1; /改变全局变量的值 if(t=t_max) /当显示的题目是问卷中最后一题时,做出提示 Response.Write(“alert(问卷已全部提交!)“); else BindPaperData(Wno,+t); /否则显示问卷的下一题 return t; /*显示问卷按钮的单击事件*/ private void ok_Click(object sender, System.EventArgs e) Session“t“ =“1“; /设置全局变量,并附初值为1 int Wno=Convert.ToInt32(this.Wname.SelectedValue); BindPaperData(Wno,1);/显示所选问卷的第一题 .2 查询问卷模块的实现查询问卷模块的实现 此模块主要是对系统中存在的问卷进行查询,此查询只能查询对每份问卷中每个 调查题目选项票数的统计结果。 30 用户进入此模块后对显示出来的所有问卷和题目进行选择,显示调查结果。这里 使用了 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 和 TreeNodeCollections10。 代码略。 .3 个人资料管理模块的实现个人资料管理模块的实现 此模块主要是实现用户对个人资料进行修改的功能,包括修改个人密码及修改除 用户名、用户密码以外的其它信息。首先用户通过统一登录窗口登录后,进入用户主 界面,再选择进入个人资料管理界面。这时系统会通过用户输入原密码保证用户资料 的安全性,提交正确后显示个人基本资料才能进行修改,然后输入两次新密码确保用 户输入的是自己的新密码。这里使用了 panel 控件,当用户输入正确用户密码 panel 可见,才能进行修改操作。修改成功后,弹出对话框提示修改成功,并将数据保存到 数据库。 对于此功能,其核心是 Session 变量的使用,Session 变量保留用户登录时使用的 用户名和密码,它的保存期是用户登录到关闭页面的这一段时间。 主要代码如下:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论