基于ASP源码的网上投票系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

镇江高等职业技术学校毕业设计(论文)
基于ASP源码的网上投票系统ASP-based online voting system source code
系名:
专业班级:
学生姓名:
学号:
指导教师姓名:
指导教师职称:
2010年6月19日
目录
第一章编程环境及数据库 (1)
1.1编程环境 (1)
1.2 ASP简介 (1)
1.2.1 ASP的技术特点 (1)
1.2.2 ASP对象使用基础 (2)
1.2.3 ASP的工作原理 (3)
1.2.4 ASP的运行环境 (4)
1.3 数据库选择 (5)
1.4 数据库接口的实现 (5)
第二章数据建模 (5)
2.1 数据库建模方法 (5)
2.2 程序开发软件 (6)
第三章需求分析与总体设计 (17)
3.1 需求分析 (17)
3.1.1 需求的提取 (17)
3.1.2 需求定义与规约 (17)
3.2 系统总体设计 (17)
3.2.1 系统结构图 (17)
3.2.2 数据功能模块设计 (18)
3.2.3 系统的主要功能设计 (19)
3.2.4 数据库设计 (19)
第四章详细设计与实现 (16)
4.1 投票界面模块的设计 (16)
4.2 投票项目模块的设计 (19)
4.3 投票结果模块的设计 (29)
4.4 用户管理模块的设计 (26)
4.4.1 管理员登录的设计与实现 (26)
4.4.2 修改密码的设计与实现 (28)
结论 (35)
致谢 (36)
参考文献 (37)
基于ASP源码的网上投票系统
专业班级:0604 学生姓名:林骁骏
指导老师:于洋职称:助教
摘要在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。

投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。

因此,先进的管理思想就成为了一个可望而不可及的目标。

投票非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,在先进的计算机技术、通信技术、控制技术及IC卡技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。

编写在线投票系统,最重要的一点就是如何从烦琐的投票结果中,导出全部投票项目的票数,然后根据投票项目的各个票数,进行票数百分比计算,最后编辑出在线投票系统。

开发该系统我主要采用ASP技术和SQL数据库相结合的方式。

ASP技术通过在静态HTML内容中嵌入服务器端脚本,实现网页内容的动态改变。

Web服务器从磁盘上读取含有服务器端脚本的网页,在网页发送给客户端浏览器之前,先对其中的服务器端脚本进行解释,输出用户定制内容,从而产生动态网页。

数据库采用SQL Server 2000大型数据库,能够胜投票系统中的数据处理。

本文在相关理论指导下,在分析其他一些系统的基础上,开发出了一个简单的在线投票系统(包括功能模块设计、数据库结构设计等)基本解决了管理人员的烦琐事务。

关键字ASP 投票数据库
Abstract Actively establish a scientific management system of today, only by the original management or a simple stand-alone manual management, management faced a lot of information and can not be efficiently extracted from one of the important part, and make the appropriate judgments and treatment. Only basis for voting decisions of managers table data by hand, wasting a lot of manpower and material resources at the same time can not do real-time monitoring, it is difficult to ensure data accuracy and timeliness. Therefore, the advanced management ideas to become an elusive goal. Much-needed vote of advanced management thought of a system both as goals and improve the existing voting is an important management tool. With the continuous improvement of science and technology, computer science matures, its powerful functions for the people deeply understand that it has entered the human society in various fields and is playing an increasingly important role. Computer applications as part of the advanced computer technology, communication technology, control technology and IC card technology, based on a systems integration approach, and gradually establish an intelligent voting system.
Write-line voting system, the most important thing is how the voting results from the cumbersome, export all the items of the vote to vote and then vote according to various polls, the percentage of votes, and finally edited the online voting system. Development of the system I mainly use ASP technology and SQL database combination. ASP technology through the static HTML content embedded in the server-side script to achieve the dynamic content changes. Web server to read from the disk pages containing server-side script in the web browser sends to the client before the server-side scripting on which to interpret the output custom content, creating dynamic pages. SQL Server 2000 database using large databases, to win votes in the data processing system. In this paper, the theory under the guidance of the analysis on the basis of some other systems, developed a simple online voting system (including the function module design, database design, etc.) basically solved the cumbersome management of affairs.
Key words ASP VOTE Database
引言
随着科学技术的不断提高,计算机科学日渐成熟,互联网技术的不断发展和普及,众多高校,科研机构及个人从理论与实践两个方面进行了大量的研究与开发工作,涌现出了很多在线投票系统,对学院、企业的管理起到了很好的作用。

总之投票系统概括起来就是要通过科学的管理手段和专业化管理技术来实现统一。

在线投票系统应具有的独特的功能:
其一,方便的操作。

原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。

其二,友好的界面。

友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。

其三,强大的功能,能够满足学校教学需要,快速简单的统计教学任务,提高教学质量。

正是在这样的情况下,本人在导师的带领下完成了在线投票系统的开发与实现。

第一章编程环境及数据库
随着各高校办公自动化工作的推进,投票管理自动化也被摆上日程。

通过Dreamweaver 与Microsoft Office Access 2003的编程环境,采用ASP代码和数据库开发一个动态的在线投票系统。

1.1编程环境
在该投票系统中,我使用ASP和Microsoft Office Access 2003相结合的综合开发环境,采用 ODBC 作为投票系统与后台数据库的接口。

投票系统开发平台是 Windows XP。

开发工具选择的是Dreamweaver MX。

1.2 ASP简介
ASP的简称是Active Server Pages,目前没有正式的中文名称,可理解为“动态服务器页面”技术。

ASP是目前最流行的开放式Web服务器应用技术,它的特点是将脚本、超文本和强大的数据库访问技术结合在一起,并提供了众多的服务器组件来扩展功能,能够很方便地创建分布式和基于Web的商业化应用程序。

如果要更简单地描述ASP,可以说ASP就是运行在Web服务器上的动态网页。

ASP程序文件也是一个标准的网页,一般由HTML标记和ASP脚本代码混杂在一起组成。

ASP网页程序必须先经Web服务器的ASP解释器解释执行,产生HTML代码后才传送给浏览器执行显示。

1.2.1 ASP的技术特点
1.组件在ASP技术中起着核心作用
要想开发出具有实用价值的动态Web应用程序,ASP脚本必须与基于COM标准的组件配合使用。

组件对象模型是微软公司提出来的一种基于二进制的软件标准,与语言无关。

Visual Basic、Visual C++、Visual J++等都能创建COM组件,在不同的语言实现的组件之间,依据COM标准可以进行交互操作。

ASP提供了10个内置组件。

每个组件中包括一个或多个对象。

在使用前,组件的对象需要被实例化。

ASP提供了6个内置对象,这6个内置对象可以被ASP脚本直接使用,不需要被实例化。

除了内置组件和对象,开发人员还可以自行制作实现特殊功能的组件。

2.采用ADO技术访问数据库
ASP依据ADO技术访问后台数据库,其内置的数据库访问组件ADODB提供了一组优化的访问数据库专用对象集。

UDA(Universal Data Access)是微软公司提出的适合企业范围并能够高性能地访问各种信息(包括关系型数据库和非关系型数据)的数据访问模型。

它由ODBC、OLEDB、和ADO组成。

·ODBC提供了对关系型数据库系统的标准访问界面,已得到大多数数据库系统的支持。

·OLEDB用于处理异构平台的关系型和非关系型信息,非关系型信息包括电子邮件、文件系统、文本、图形等。

它还能使用已有的ODBC驱动访问关系型数据库。

·ADO是以开放数据库连接ODBC为基础的,可支持任何ODBC数据源对数据库的操作;可以提供任何类型数据库与Web服务起的访问方式。

3.支持所有脚本语言
除了支持VBScript、JavaScript外,ASP还支持REXX、Perl等多种脚本语言。

VBScript 是ASP支持的默认脚本语言。

若要重新设定默认脚本语言,只需在ASP程序的第一行使用命令<%@ Language=...%>即可。

在同一个ASP文件中,ASP脚本可以调用不同的脚本语言,从而发挥各种脚本语言的优势。

若要在ASP程序中使用与默认脚本语言不同的脚本语言,可以将这段语言放于标志符<Script Runat=Server Language=...>...</Script>中。

1.2.2 ASP对象使用基础
ASP之所以成为功能强大的服务器端程序,是因为它为Web程序设计人员提供了一组功能强大的内置对象。

所谓的对象是指具有典型方法、属性或者集合的事物。

方法决定了对象的功能;属性决定了对象的状态。

使用ASP进行动态网页设计时,必须熟练掌握ASP的各种内置对象。

ASP提供的内置对象如表1-2所示。

表1-2 ASP 内置对象列表
通过这些内置对象,编程人员可以控制Web 页面的各个方面。

例如使用Request 对象能够得到用户输入的数据,使用Response 对象能够向浏览器输入数据等。

1.2.3 ASP 的工作原理
当用户浏览网页时,客户端浏览器与Web 站点之间进行交互的过程如图1-2所示。

Web 服务器
图1-2 ASP 工作原理
当浏览器向服务器请求发送某个“xxx.asp”时,是希望服务器传送此文件。

但是,
但服务器看到文件的扩展名为.asp时,就会读取文件内容,解释执行其中的VBScript程序。

当遇到基于COM标准的组件(组件本身是经过编译的可重用二进制代码)时,ASP引擎将启动相应组件完成指定的功能。

若ASP文件含有访问数据库的请求时,ASP内置组件ADO (ActiveX Data Object)能与数据库连接,对数据库进行访问,并将访问结果返回服务器。

最后,生成标准的HTML文件,并将生成的HTML文件传送给浏览器。

这样就完成了用户浏览器对服务器的访问。

1.2.4 ASP的运行环境
1.ASP运行所需的环境
·Microsoft Internet Information Server version 3.0/4.0 on Windows NT Server
·Microsoft Peer Web Services Version 3.0 on Windows NT Workstation
·Microsoft Personal Web Server on Windows 95/98
也就是说我们经常所使用的Window 95/98/2000/XP都可以运行ASP,只需要将其设置为单机服务器就行了。

归结一点:Window 95/98,需要安装PWS;Window 2000/XP,需要安装IIS。

才能发挥其asp的作用。

一般较常使用的是Window 2000+IIS5和Window 98+PWS,而window95+PWS和Window XP+IIS则较少人使用。

因为Window 95已经很少人使用这个操作系统了,最少都使用Window 98而XP+IIS,则是XP对IIS不是完全兼容支持,有些功能配合得不够完美,而较少人采用。

我使用Window 2000+IIS5这对组合,因为Window 2000是相对比较稳定的系统,对于服务器网络方面微软投入得较多,比较适合做为服务使用。

2.ASP运行环境的搭建
IIS的安装和配置。

Window2000 Server/Window2000 advance Server都是默认安装的,安装过程就不多说了。

现在开始配置IIS。

开始->控制面板->管理工具->Internet信息服务。

打开之后就到了IIS的控制台了。

点计算机名前面的+号展开,再点网站前在的+号展开,这时就有一个默认网站,这里就是我们要配置IIS的关键地方了。

右击“默认网站”,在弹出菜单里选择“属性”这时就会弹出“属性”选顶卡。

一般情况下“网站/常规”选项卡不要更改。

选择“主目录”选项卡,本地路径就是我的主目录路径,这里可以点浏览更改到想设置的目录下,默认是:X:\inetpub\wwwroot(X:表示系统盘)。

在这里还可以设置网站的用户操作权限。

这些设置完后就转到“文档”选项卡,首先要在“启用默认文档”前面打勾,默认是打勾的。

点击“添加”,可以添加默认文档,例如添加index.asp、index.htm、index.html等等,这是你网站默认打开的主文件名,在这里也可以进行删除,选择你要删除
的文档之后再点“删除”,现在“属性”选项卡基本设置好了,点应用、确定就返回到IIS 控制台了。

1.3 数据库选择
数据库平台采用的是SQL Server 2000。

SQL Server 2000代表着下一代Microsoft .NET Enterprise Servers(企业服务器)数据库的发展趋势,是为创建可伸缩电子商务、在线商务和数据仓储解决方案而设计的真正意义上的关系型数据库管理与分析系统。

随着SQL Server 7.0联机分析处理(OLAP)服务的引入,SQL Server已成为颇受众多客户关系管理(CRM)应用程序、商务智能(BI)应用程序、企业资源计划(ERP)应用程序及其它在线商务应用程序厂商和客户所青睐的数据库产品,而这则主要应归功于该产品在对称多处理(SMP)硬件方面所具有的可伸缩性和较低的数据库维护需求。

1.4 数据库接口的实现
在ASP中,提供了多种数据库访问技术——ODBC、ADO、OLEDB 等,这些技术各有自己的特点。

该项目开发中采用了OLEDB 数据库接口技术。

OLEDB是一种底层数据访问界面接口。

是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序,由于OLE DB 是基于COM接口的技术,使用这种技术可以直接对数据库的驱动程序进行访问,从而大大提供了访问速度[2]。

第二章数据建模
2.1 数据库建模方法
数据建模采用图形化方法来描述企业的信息需求和业务规则,也就是建立逻辑数据模型(以下简称逻辑模型),其作用有两个,一是与用户进行沟通,明确需求;另一个作用是作为数据库物理设计的基础,以保证物理数据模型充分满足应用要求,并保证数据的一致性、完整性。

本文简要介绍IDEF1X方法。

IDEF1X是由美国空军开发的基于关系数据库理论的数据建模方法,用以实现关系数据库的逻辑数据结构。

目前已广泛应用于政府、工业和商业领域,支持广泛企业应用。

IDEF1X模型的基本结构为:
·实体(如人、地点、概念、事件等)用方框表示;
·实体之间的关系(联系),用方框之间的连线表示;
·实体的属性,用方框内的属性名称来表示。

(1)建立逻辑模型
逻辑模型的建立由用户需求驱动,建立逻辑模型的过程首先是分析信息需求、明确业务规则,它是人脑对现实世界进行抽象和加工的过程。

(2)实施阶段:
第一阶段:项目规划
第二阶段:开发定义实体
第三阶段:定义关系
第四阶段:定义键
第五阶段:定义属性
(3)建立物理模型
对一个给定的逻辑模型选取一个最适合应用环境的物理结构(即物理模型)的过程,称为数据库的物理设计。

所谓数据库的物理结构主要是指数据库在物理设备上的存储结构和存取方法,它与除了考虑逻辑的完美性(如第三范式)外,还必须兼顾物理环境的要求和性能的优化,如机器的性能、事务的种类、数据库管理系统的功能等。

逻辑模型转变为物理模型包括以下几个步骤:
①实体名(Entity)转变为表名(Table)
②属性名(Attribute)转换为列名(Column),确定列的属性(Property)
③明确分类关系在物理模型中的实现方法
④实现业务规则
数据模型转变为SQL命令,物理模型必须对列的属性进行明确的定义,包括:列名,数据类型(与特定数据库管理系统有关),长度,能否为空值,有效性规则,缺省值等。

物理模型确定以后,可以进一步确定数据的存放位置和存储空间的分配,最后生成定义数据库的SQL命令。

2.2 程序开发软件
Macromedia Dreamweaver MX 应用所学的 ASP语言,开发一个在线投票系统。

一个可视化的网页设计和网站管理工具,支持最新的Web技术,包含HTML检查、HTML格式控制、HTML格式化选项、HomeSite/BBEdit捆绑、可视化网页设计、图像编辑、全局查找替换、全FTP 功能、处理Flash和Shockwave等富媒体格式和动态HTML、基于团队的Web创作。

在编辑上你可以选择可视化方式或者你喜欢的源码编辑方式。

Dreamweaver MX 2004 的十大新特性:
①.动态跨浏览器验证:自动检测标签和CSS规则来适应所有主流浏览器!
②.更强大的CSS支持!
③.内建的图形编辑引擎:修剪,改变大小,尺寸,旋转角度,调节明暗度都不需要离开Dreamweaver环境,因为它本身集成了FW的基本图形编辑技术.(这一点有模仿FrontPage 的嫌疑,但这个功能确实很实用)!
④.安全FTP:完全加密传输保证文件和帐号信息的安全!
⑤.增强对当今技术的支持:支持当今主流的开放环境:ColdFusion,J2EE,PHP,.NET,和其他主流的服务器技术.Dreamweaver现在加入了XML命名空间支持,表单控件对象,新的参考书内容和新的PHP服务器端行为!
⑥.无缝整合外部文件和代码:直接将Word和Excel文档复制和粘贴到Dreamweaver中,会保留字体,颜色,CSS样式表信息.使用,使用系统支持的编码保存任何字体,包括双字节字符集.
⑦.紧密整合MM的其他工具:加强了和MM其他几款产品的协同工作能力.例如:你可以通过DW直接设置Flash组件的参数.
⑧.基本支持改良:插入条,表格工具都有改进!
⑨.增强代码编写工具:编辑代码更省时,例如右键编写代码工具,增强的查找和替换,高效的属性面板.
⑩.改进的设计开放环境:一个改良的用户界面,更高的实用性,非常亲切和有逻辑,让你快速找到你想要的东西,一个新的开始屏幕让你快速访问最近的文件和教程资源.
本文主要运用Visio 2003绘制了系统UML模型图。

其主要系统UML模型图有:
图2-1 投票系统用例图
图2-2 投票管理用例图
图2-3 投票系统流程图
第3章需求分析与总体设计
3.1 需求分析
3.1.1 需求的提取
前面已经阐述了在线投票系统在高校教学管理的重要性。

目前以重庆邮电大学移通学院为例,移通学院每学期期末都会对开设新课程进行投票统计,邀请学生为各个课程在线投票统计。

在线投票系统需要满足的条件:
(1)系统自动把投票结果转换为百分比显示。

(2)投票管理员可以对投票界面、投票选项、
3.1.2 需求定义与规约
通过一个在线投票系统,使管理人员能够根据学院状况,列出投票项目,在较短时间内、以较少精力获得一个比较实用的数据,从而使投票工作系统化、规范化、自动化,提高办公效率。

在线投票系统是移通学院教务管理系统的一个子系统,教务管理系统包括:教学任务的下发、课表的编排、网上选课、学生成绩的录入以及学籍管理等部分。

在线投票系统开发应遵循以下要求:
(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。

(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。

(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。

(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。

3.2 系统总体设计
3.2.1 系统结构图
系统主要有:界面模块、数据库模块、投票统计模块三部分组成,系统结构如图3-1所示:
图3-1 系统结构图
界面模块负责系统与用户的交互,它是系统与用户的接口部分,是实现人机交互功能的主要部分,它能调用数据库的入口函数,向数据库插入、修改、显示数据库内容,能调用投票统计模块,从而根据投票数据统计投票百分比。

投票统计模块能根据一定的算法,排出合理的投票数量。

它能调用数据库函数调用数据库数据,经过运算后,将新数据存入数据库的相应表中。

数据库模块则定义数据结构,数据库的接口,定义数据库表的结构,自动完成对各种信息的输入、查询、修改及系统用户管理、系统用户权限管理等。

3.2.2 数据功能模块设计
根据系统分析的结果,在系统功能分析的基础上,考虑ASP程序编制特点,得到如图3-2 所示的系统功能模块图。

图3-2 系统功能模块图
3.2.3 系统的主要功能设计
在线投票系统的主要功能:
投票结果的查询:主要是实现投票人员从数据库对各投票结果的查询。

投票项目管理:主要是实现投票人员对各个投票项目进行编辑,生成。

3.2.4 数据库设计
1.数据库需求分析
在线投票系统的数据项目是依据学院开设新课程制定的。

根据系统开发的要求,从学院开设新课程中选取适当的项目作为系统数据库的数据参数。

在实际的工作中,在线投票系统的项目主要是根据学院任务来制定展开,因此与教学有相关的一些信息,如开设新课程等,都是学院需要统计的项目。

结合学院开设课程任务选取了以下项目作为系统数据库的数据参数:
(1)开设游泳课。

让投票者根据网站界面进行投票
(2)开设就业指导课。

让投票者根据网站内容进行投票
(3)开设心理咨询室。

让投票者根据网站内容进行投票
(4)开设演讲课。

主要分为讨论、解说、演讲等 (5)开设课外兴趣小组。

根据不同学生开设 (6)投票系统更新。

对各个选项能在第一时间内更新
2.数据库概念结构设计
在系统的数据库设计中,先要对系统分析得到的数据图中的数据存储进行分析,分析各数据存储之间的关系,然后得出系统的关系模式。

本系统采用了实体-关系图中的相应符号来描述系统的概念模型。

在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为逻辑结构的设计打下基础。

根据上面的设计出的实体有:投票选项实体、投票结果实体。

投票选项实体属性具体描述如图 3-3 所示。

图3-3课程实体
投票结果实体的属性包括各个项目投票结果,各个项目投票人数,各个项目投票所占百分比。

3.数据库逻辑结构设计
数据库逻辑结构设计的任务就是把概念结构设计阶段设计的基本关系图,转换为与选用的具体相关的机器上的数据库管理系统所支持的数据模型相符合的逻辑结构。

在上面实体之间的关系的基础上,形成数据库中表格以及各个表格之间的关系。

4.数据库物理结构设计
明确了以上所要建立的数据库参数,便可建立关系型数据库。

具体的结构是把数据表示成若干二维关系的表,通过建立表之间的关系来定义结构。

在这种二维表中,每一列为
投票选项部分
投票系统更新
课外兴趣小组
开设 演 讲课
开设 心理咨询
就业指导课
开设 游泳课
一个字段,对应着表格中的数据项。

每个项目的名称为字段名。

每一行为一条记录,记录中的每个字段的取值为字段值,记录是字段值的集合。

记录中的数据随着每一行记录的不同而变化。

在线投票系统数据库中各个表格的设计结果如下面的几个表格所示。

各个表格表示数据库中的一个表。

表 3-1 为创建投票项目信息表voteitem的信息。

表3-1VoteItem的结构
表3-2VoteIP的结构
表 3-3 参数Soperate状态值的说明
一般由多个用户来管理在线投票系统,因此需要对每个用户分配一定的权限,实现信息的共享与安全。

因此需要在数据库中建立一个用户口令表来管理使用在线投票系统的用户。

5.数据库结构的实现
在需求分析,概念结构设计基础上得到数据库逻辑结构以后,就可以在数据库系统中实现该逻辑结构。

本系统中采用了Microsoft Office Access 2003数据库管理系统。

使用。

相关文档
最新文档