版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 nanchang university 学学 士士 学学 位位 论论 文文 thesis of bachelor (2005 2009 年)年) 题 目: 在线投票系统的设计与实现 学 院: 软件工程 系 软件工程 专 业: 网络通讯与信息安全 班 级: 05 级网通 2 班 学 号: 8000105216 学生姓名: 罗 丹 指导教师: 林 振 荣 起讫日期: 2008.122009.5 i 在线投票系统的设计与实现在线投票系统的设计与实现 专 业:软件工程 学 号:8000105216 学生姓名:罗 丹 指导教师:林 振 荣 摘 要 在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简
2、单的单机管 理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并 做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量 人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此, 先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先 进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻 认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,在先进的计算机技术、通信技术、控制技术及 ic 卡技术基础上, 采用系统集成方法,
3、逐步建立一个智能化的投票系统。 编写在线投票系统,最重要的一点就是如何从烦琐的投票结果中,导出全 部投票项目的票数,然后根据投票项目的各个票数,进行票数百分比计算,最 后编辑出在线投票系统. 关键词关键词: asp 投票 access 设计 ii abstract be building up vote to manage today of mechanism actively, only depend originality of the handicraft manage or the simple single machine manage, management dept. publi
4、c appearance to a great deal of information, cant efficiently will among them of importance part withdraw, and do a judgment and the processing for corresponding.decision which votes governor can according to the statement data, at waste a great deal of manpower, material resources cant in the meant
5、ime attain actually supervise and control, the accuracy of hard assurance data with in time sex.therefore, the forerunners management thought carried out and then becamed an inaccessible target in the vote.the vote needs the management information that a set of current forerunner manages thought sys
6、tem urgently very much, is a kind of important means which carries out a target and raises an existing vote a management level.the technical along with science of raise continuously, the calculator science is gradually mature, the its strong function has already been peoples deep understanding, it h
7、as already entered each realm of the society of mankind to erupt to flick a more and more important function. be a calculator applied one part, the teaching missions arrange in order is a hard nut to crack, numerous high schools, research organizations and personals carried on a great deal of resear
8、ch and the development work from the theories and fulfillment. keyword: asp vote access database iii 目目 录录 摘摘 要要.i i abstractabstract.iiii 目目 录录.iiiiii 第一章第一章 前言前言.1 1 1.1 开发背景 .1 1.1.1 开发的目的和意义 .1 1.1.2 该课题领域的开发及应用现状分析 .1 1.1.3 项目所使用的相关技术的说明 .2 1.2 功能概述 .3 1.2.1 投票首页模块 .3 1.2.2 投票实现模块 .3 1.2.3 投票结果
9、模块 .3 1.2.4 登录模块 .4 1.2.5 投票管理模块 .4 1.3 开发工具简介 .4 1.3.1 dreamweaver 简介 .4 1.3.2 access 数据库简介.6 1.3.3 asp 编程语言.6 1.4 运行要求与简介 .7 1.4.1 接口要求 .7 1.4.2 支持信息及运行环境 .7 第二章第二章 系统需求分析系统需求分析.8 8 2.1 概述与运行环境 .8 2.1.1 系统研究目标 .8 2.1.2 系统主要特色 .8 2.2 功能需求 .8 2.2.1 模块划分 .9 2.2.2 模块功能需求 .9 2.3 性能需求 .11 2.4 设计约束 .11 第
10、三章第三章 系统概要设计和数据库设计系统概要设计和数据库设计.1212 3.1 总体设计 .12 3.1.1 基本设计概念和系统总流程图 .12 3.2 系统功能逻辑结构 .14 3.3 系统交互界面设计 .14 3.4 出错处理 .14 3.4.1 出错处理语法 .14 iv 3.4.2 错误类型 .15 3.5 系统 uml 图分析 .16 3.5.1 系统用例图 .16 3.5.2 系统类图 .17 3.5.3 系统时序图 .18 3.5.4 系统协作图 .21 3.6 系统 er 图设计与分析 .23 3.7 数据库设计 .24 3.7.1 表设计 .24 第四章第四章 系统各模块详细
11、设计系统各模块详细设计.2626 4.1 管理员登录、登出设计 .26 4.1.1 管理员登录 .26 4.1.2 管理员登出管理系统 .26 4.2 投票首页模块 .27 4.3 投票实现模块 .27 4.4 投票结果模块 .28 4.5 投票项目管理模块 .28 第五章第五章 系统实现系统实现.3131 5.1 管理员登录模块的设计与实现 .31 5.1.1 功能描述 .31 5.1.2 登录界面设计 .31 5.1.3 数据流 .32 5.1.4 部分主要代码 .32 5.2 投票首页模块 .33 5.3 投票实现模块 .37 5.3.1 功能描述 .37 5.3.2 界面设计 .37
12、5.3.3 具体实现代码 .38 5.4 投票结果模块 .40 5.5 投票项目管理模块 .42 5.5.1 添加新投票项目 .42 5.5.2 修改投票项目 .43 5.5.3 删除过期投票项目 .45 第六章第六章 开发难点与解决技巧开发难点与解决技巧.4646 第七章第七章 结论结论.4747 致谢(致谢(referencesreferences).4848 参考文献参考文献.4949 1 第一章 前言 1.1 开发背景 1.1.1 开发的目的和意义 随着 internet 的发展,世界网民的数量急剧增加,社会的信息化强度增 强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信
13、息,而 应把范围扩展到全国,甚至全世界,internet 恰恰是实现这目标的有利工具。 对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位, 故一个网上在线投票系统应允而生,它正好充分满足客户的需求,信息反馈的 范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的 资本。开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户, 使信息的来源更广泛,从而提高信息的准确性。运用此系统可以降低企业为市 场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。 计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而 且在日常生活中也越来
14、越离不开计算机。网站中经常会有在线投票模块,网站 管理员可以通过在线投票模块了解网站用户对投票主题选项的支持率。从而知 道网络用户的喜好。因此,选择该课题具有一定的研究意义。 1.1.2 该课题领域的开发及应用现状分析 在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管 理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并 做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量 人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此, 先进的管理思想就成为了一个可望而不可及的目标。投票非常急需一套既有先 进管理思想的系统,作为实现目标和
15、提高现有投票管理水平的一种重要手段。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻 认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机 应用的一部分,在先进的计算机技术、通信技术、控制技术基础上,采用系统 2 集成方法,逐步建立一个智能化的投票系统。 1.1.3 项目所使用的相关技术的说明 开发该系统我主要采用 asp 技术和 access 数据库相结合的方式。主要用 macromedia dreamweaver mx 2004 来编写 asp 页面。 asp 是 active server page 的缩写,意为“动态服务器页面” 。它可以与数 据库
16、和其它程序进行交互,是一种简单、方便的编程工具。asp 是一种服务器 端脚本编写环境,可以用来创建和运行动态网页或 web 应用程序。asp 网页可 以包含 html 标记、普通文本、脚本命令以及 com 组件等。利用 asp 可以向 网页中添加交互式内容(如在线表单) ,也可以创建使用 html 网页作为用户 界面的 web 应用程序。 之所以在本系统中采用 asp 语言,是因为其有以下一些特点: 利用 asp 可以实现突破静态网页的一些功能限制,实现动态网页技术; asp 文件是包含在 html 代码所组成的文件中的,易于修改和测试; 服务器上的 asp 解释程序会在服务器端执行 asp
17、程序,并将结果以 html 格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览 asp 所产生的网页; asp 提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。 例如可以从 web 浏览器中获取用户通过 html 表单提交的信息,并在脚本 中对这些信息进行处理,然后向 web 浏览器发送信息; asp 可以使用服务器端 activex 组件来执行各种各样的任务,例如存取 数据库、发现和那个 email 或访问文件系统等; 由于服务器是将 asp 程序执行的结果以 html 格式传回客户端浏览器, 因此使用者不会看到 asp 所编写的原始程序代码,可防止 asp 程序代码被
18、窃取。 asp 技术通过在静态 html 内容中嵌入服务器端脚本,实现网页内容的动 态改变。web 服务器从磁盘上读取含有服务器端脚本的网页,在网页发送给客 户端浏览器之前,先对其中的服务器端脚本进行解释,输出用户定制内容,从 而产生动态网页。 数据库之所以采用 access 数据库,是因为其能够胜任投票系统中的数据处 3 理。本文在相关理论指导下,在分析其他一些系统的基础上,开发出了一个简 单的在线投票系统(包括功能模块设计、数据库结构设计等) ,基本解决了管理 人员的烦琐事务。 1.2 功能概述 在线投票系统可以分为投票首页模块、投票实现模块、投票结果模块、登 录模块和投票管理模块。 1.
19、2.1 投票首页模块 该模块用于实现当前投票主题、选项以及其他投票主题,可将其他投票主 题转变为当前投票主题。 1.2.2 投票实现模块 选中当前投票主题选项,提交信息后,进入投票实现模块,该模块会判断 用户是否进行了重复投票,如果没有将会修改投票记录。 此模块供用户对投票项目进行投票所用。在投票首页上,将会显示最近一 个投票项目和其他投票列表,用户可自由选择那些尚未过期的项目进行投票。 投票操作具体为:用户选择一个或多个投票选项,提交,即可投票成功,此时 页面会跳转至显示投票结果的页面。 在这个模块中,还包括一下系统配置问题:主要是针对那些重复 ip 的用户 多次重复对一个项目进行投票,以此
20、来限定投票次数,即一个用户名,一个 ip,对一个投票项目只能进行一次投票。 1.2.3 投票结果模块 投票结束后可进入投票结果模块。该模块应用图形和文字的形式显示各选 项的投票率,并且显示投票开始时间、结束时间和投票总数等信息。 4 1.2.4 登录模块 该模块用于管理员登录。登录验证后,管理员才可以对投票信息进行维护。 登录模块是管理员进入相应权限的桥梁,此模块主要就是供管理员进入系统进 行相应操作的一个门槛,界面上主要有几个文本框和提交、重置按钮,管理员 在其中输入用户名和密码,点击按钮,系统便会根据提取到的文本信息与后台 数据库进行搜索匹配和身份确认,若匹配成功,则管理员即可进入系统进行
21、下 一步操作,否则会被拒绝访问。 1.2.5 投票管理模块 该模块实现了系统的重要功能,即投票主题的添加,修改,删除。在添加 投票主题时可设置投票选项的个数;在修改投票主题时,也可以重新设置投票 选项的个数和内容,可以添加新选项,也可以删除旧选项。 添加投票项目子模块:通过链接进入添加投票项目页面,填写需要 添加的投票项目的内容,如:投票主题,投票选项个数,投票方式为单选 还是多选,投票开始时间和结束时间,几个投票选项的内容等,填写完毕 后提交即可,新的投票项目就会显示在主页面上。 修改投票项目子模块:修改投票项目的操作界面与添加投票项目的 操作界面大体上相同,主要是对投票项目的某些具体内容进
22、行修改,修改 完成后,同样单击提交按钮即可。 删除投票项目子模块:当某些投票项目过期,管理员已经不再需要 时,便可对该项目进行删除操作,从数据库中彻底删除该项目前会有提示 警告框,只有在确定的情况下,投票项目才会被删除。 1.3 开发工具简介 1.3.1 dreamweaver 简介 dreamweaver 是美国 macromedia 公司开发的集网页制作和管理网站于 一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视 5 觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器 限制的充满动感的网页。 dreamweaver 特点: 最佳的制作效率 dream
23、weaver 可以用最快速的方式将 fireworks,freehand,或 photoshop 等档案移至网页上。使用检色吸管工具选择荧幕上的颜色可设定最接近的网页 安全色。对于选单,快捷键与格式控制,都只要一个简单步骤便可完成。 dremweaver 能与您喜爱的设计工具,如 playback flash,shockwave 和外挂模组 等搭配,不需离开 dremweaver 便可完成,整体运用流程自然顺畅。除此之外, 只要单击便可使 dreamweaver 自动开启 firework 或 photoshop 来进行编辑与设 定图档的最佳化。 网站管理 使用网站地图可以快速制作网站雏形、设
24、计、更新和重组网页。改变网页 位置或档案名称,dreamweaver 会自动更新所有连结。使用支援文字、html 码、html 属性标签和一般语法的搜寻及置换功能使得复杂的网站更新变得迅 速又简单。 无可比拟的控制能力 dreamweaver 是唯一提供 roundtrip html、视觉化编辑与原始码编辑同步 的设计工具。它包含 homesite 和 bbedit 等主流文字编辑器。帧(frames)和表格 的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、 栏或作未连续之选取。甚至可以排序或格式化表格群组,dreamweaver 支援精 准定位,利用可轻易转换成表格的图层
25、以拖拉置放的方式进行版面配置。所见 即所得 dreamweaver 成功整合动态式出版视觉编辑及电子商务功能,提供超强 的支援能力给 third-party 厂商,包含 asp, apache,broadvision, cold fusion,icat, tango 与自行发展的应用软体。当您正使用 dreamweaver 在设 计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。梦 幻样版和 xml dreamweaver 将内容与设计分开,应用于快速网页更新和团队合 作网页编辑。建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供 者可直接编辑以样式为主的内容却不会不小心
26、改变既定之样式。您也可以使用 样版正确地输入或输出 xml 内容。 全方位的呈现利用 dreamweaver 设计的网 页,可以全方位的呈现在任何平台的热门浏览器上。对于 cascading style sheets 的动态 html 支援和鼠标换图效果,声音和动画的 dhtml 效果资料库可在 netscape 和 microsoft 浏览器上执行。使用不同浏览器检示功能,dreamweaver 6 可以告知您在不同浏览器上执行的成效如何。当有新的浏览器上市时,只要从 dreamweaver 的网站在下载它的描述档,便可得知详尽的成效报告。 1.3.2 access 数据库简介 access
27、 是桌面型数据库,优点是:操作灵活、转移方便、运行环境简单, 对于小型网站的数据库处理能力效果还不错。缺点是:不支持并发处理、数据 库易被下载存在安全隐患、数据存储量相对较小、数据量过大时严重影响网站 访问速度和程序处理速度。 1.3.3 asp 编程语言 asp 指 active server pages (动态服务器页面) ,它是运行于 iis 之中 的程序,iis 指 internet information services (internet 信息服务) ,它是 windows 2000 及 windows 2003 的免费组件,iis 同时也是 windows nt 4.0 的可选
28、组件。 asp 文件和 html 文件类似,可包含文本、html、xml 和脚本,asp 文件中的脚本可在服务器上执行。文件的扩展名是 .asp。 当浏览器请求某个 html 文件时,服务器会返回这个文件,而当浏览器 请求某个 asp 文件时,iis 将这个请求传递至 asp 引擎。asp 引擎会逐行 地读取这个文件,并执行文件中的脚本。最后,asp 文件将以纯 html 的形 式返回到浏览器。 asp 的优点如下: 动态地编辑、改变或者添加页面的任何内容 对由用户从 html 表单提交的查询或者数据作出响应 访问数据或者数据库,并向浏览器返回结果 为不同的用户定制网页,提高这些页面的可用性
29、用 asp 替代 cgi 和 perl 的优势在于它的简易性和速度 由于 asp 代码无法从来浏览器端察看,asp 确保了站点的安 全性 优秀的 asp 编程可将网络负载降至最低 7 1.4 运行要求与简介 1.4.1 接口要求 硬件接口:无特别要求; 网络硬件接口要求:现实中要求具有高速以太网组网一实现联网销售, 但是在理论实验验证软件本身的目的来看,无需网络通讯接口。 软件接口要求:无 1.4.2 支持信息及运行环境 软件支持:本软件开发是使用 asp 应用服务器; 设备支持:推荐配置:windowsxp,256m 内存; 数 据 库:microsoft office acess 8 第二
30、章 系统需求分析 2.1 概述与运行环境 在线投票功能是网站应用程序最常用的功能之一,也是网站应用程序开发 常用的功能模块。 2.1.1 系统研究目标 该系统的研究目标:当网站的管理员或用户提出一些新的想法与建议或者 出现一种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新 的想法、建议或者新的产品是否满足用户或者客户的需求,另外,网站还可以 通过网站在线投票功能做一些实际性的调查工作。随时了解市场是一个企业拥 有强大竞争力的必须品,所以在线投票系统可以解决企业的难题,不受地区限 制,不受人手压力的限制,随时了解产品的市场效应,增强自己的竞争力;此 系统将以图形化的界面来显示投票结
31、果,一目了然的回馈客户的的需求信息。 2.1.2 系统主要特色 本在线投票系统具有的主要特色: 其一,方便的操作。原有的手工投票管理基本上是人工操作,效率低下, 缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操 作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大 大的提高了效率。 其二,友好的界面。友好的用户界面会给人一种亲切的感觉,在使用起来 不会觉得沉闷,效率自然也会提高了。 其三,强大的功能,能够满足各种统计需要,实现快速简单统计。 2.2 功能需求 本系统具体要实现的功能内容包括: 9 数据库选择 数据库接口的实现 数据库建模方法 程序开发软件 需
32、求分析 需求的提取 需求定义与规约 系统总体设计 系统结构图 数据功能模块设计 系统的主要功能设计 数据库设计 投票界面模块的设计 投票项目模块的设计 投票结果模块的设计 用户管理模块的设计 管理员登录的设计与实现 2.2.1 模块划分 根据功能需求,共划分为五个模块: 投票首页模块 投票实现模块 投票结果模块 管理员登录模块 投票管理模块 2.2.2 模块功能需求 各个模块所对应的需求如下: 投票首页模块 该模块面向对象为所有访问页面用户,其中包括:对所有投票议题标题的 10 浏览,该模块用于实现当前投票主题、选项以及其他投票主题,可将其他投票 主题转变为当前投票主题。首页上还有供管理员登录
33、系统进行投票项目管理的 登录区域。 投票实现模块 此模块供用户对投票项目进行投票所用。在投票首页上,将会显示最近一 个投票项目和其他投票列表,用户可自由选择那些尚未过期的项目进行投票。 投票操作具体为:用户选择一个或多个投票选项,提交,即可投票成功,此时 页面会跳转至显示投票结果的页面。 在这个模块中,还包括一下系统配置问题:主要是针对那些重复 ip 的用户 多次重复对一个项目进行投票,以此来限定投票次数,即一个用户名,一个 ip,对一个投票项目只能进行一次投票。 投票结果模块 此模块供用户查看该项目已有的投票情况。投票结果显示页面会显示相应 投票选项的得票率和该项目总的得票数。 管理员登录模
34、块 该模块用于管理员登录。登录验证后,管理员才可以对投票信息进行维护。 如增删投票项目等。 投票管理模块 此模块为管理员操作的模块。管理员登入系统后,可对本系统的所以投票 项目进行相应的管理,如:添加投票项目,修改投票项目,删除投票项目等。 添加投票项目子模块:通过链接进入添加投票项目页面,填写需要添加的 投票项目的内容,如:投票主题,投票选项个数,投票方式为单选还是多选, 投票开始时间和结束时间,几个投票选项的内容等,填写完毕后提交即可,新 的投票项目就会显示在主页面上。 修改投票项目子模块:修改投票项目的操作界面与添加投票项目的操作界 面大体上相同,主要是对投票项目的某些具体内容进行修改,
35、修改完成后,同 样单击提交按钮即可。 删除投票项目子模块:当某些投票项目过期,管理员已经不再需要时,便 可对该项目进行删除操作,从数据库中彻底删除该项目前会有提示警告框,只 有在确定的情况下,投票项目才会被删除。 11 2.3 性能需求 本系统可用普通 pc,windows xp 系统,对硬件无很大要求。 2.4 设计约束 本系统设计严格按照开题报告中预定的项目进度执行,于 4 月 25 号完成论 文写作,与 5 月 5 号之前完成所有编码工作,准备答辩。 12 第三章 系统概要设计和数据库设计 3.1 总体设计 该部分将对系统进行总体设计,包括系统逻辑图,功能模块的概要设计, 交互界面设计等
36、内容,采用软件工程设计思想,为详细设计打好基础。 3.1.1 基本设计概念和系统总流程图 本系统的总流程图如下图所示: 13 在线投票系统 选择项目 判断模式 选择选项 检测 ip 检测时 间 是否限制 ip 投票 单选模式 多选模式 不限制限制 ip 第一次投票 已投过票 时间允许 时间不允许 添加投票 投票 判别确认 身份 提交项目 信息 管理系统 配置 管理投票 项目 删除投 票项目 更新 编 辑 删 除 管理选项 添 加 更 新 管理员客户 前台用户界面后台数据库管理 登陆界面 选择身份 输入信息 提交信息 登陆失败 删 除 是否还有 选项 没有 有 14 图 3-1 系统流程图 3.
37、2 系统功能逻辑结构 本系统按照功能逻辑分为五个板块:投票首页模块,投票实现模块,投票 结果模块,管理员登录模块,投票项目管理模块。具体功能逻辑图如下: 在线投票 图 3-2 功能逻辑图 3.3 系统交互界面设计 本系统采用典型的图形用户界面,优点是使得操作界面友好,便于让用户 使用。具体是通过 dreamweaver 的设计视图,可以直接设计系统的界面,所见 即所得。操作简便。 3.4 出错处理 3.4.1 出错处理语法 由于本系统采用的是 asp 语言,所以可以用以下两种语法进行出错处理: 普通用户管理员登录模块 投票模块首页投票管理模块 改 变 当 前 投 票 主 题 投 票 实 现 模
38、 块 投 票 结 果 模 块 删 除 投 票 信 息 添 加 投 票 信 息 修 改 投 票 信 息 15 on error goto eee eee 指的是发生错误时你将程序转到的地方。eee 可以用其他非保留字代替。 比如: sub test() on error goto eee exit sub eee: end sub 如果要是执行出错的话就执行,否则只执行语句 1 on error resume next 这是如果出现错误就忽略,执行下一步 3.4.2 错误类型 表 3-1 出错处理类型表 编号出错信息处理输出信息 01 未输入必要字符选项提示用户请输入字符 02 登陆的用户名密码
39、错误提示用户该用户名不存在 密码错误 03 输入投票项目起始、截止时 间的日期格式错误 提示用户显示正确格式 无效日期 04 输入查询的关键字错误或与 数据库中的记录无匹配项 提示用户 该投票项目不存在 05 必要数据字段为空提示用户数据字段不能为空 06 数据字段格式不对提示用户显示正确格式 07 数据字段类型不对强制转换,若成功继续; 若失败提示用户 显示正确类型 08 操作的数据不存在直接返回无效数据操作 09 投票项目修改失败返回到原来界面显示失败原因 10 投票项目添加失败直接返回显示失败原因 11 投票项目删除失败返回到原来界面显示删除失败 16 3.5 系统 uml 图分析 3.
40、5.1 系统用例图 整个投票系统包括:投票者,投票项目,管理员这三个案例。总的用例图 如下: 图 3-3 系统用例图 用例描述: 投票者 用例名:用户 行为者:对项目进行投票的人 目的:对投票项目进行投票 类型:端点、主要的、基本的 级别:一级 管理员 用例名:整个投票系统的管理员 行为者:对投票系统进行管理维护的人 目的:添加、删除、修改投票项目 类型:端点、主要的、基本的 17 级别:一级 3.5.2 系统类图 系统类对象描述: 类名:user 功能:添加投票项目、对投票项目进行投票、查看投票结果 属性:用户名、ip(系统记下投票用户的 ip,以防其恶意重复投票) 类名:admin 功能:
41、添加、修改、删除投票项目 属性:管理员名、登录密码 添加投票项目 功能:添加一个新的投票项目 属性:添加投票选项个数、添加投票主题名、选择投票所属类别、选择投 票项目类型、添加投票开始时间、添加投票结束时间、添加投票项目的选项的 内容。 修改投票项目 功能:修改投票项目各个属性的内容 属性:修改投票选项个数、修改投票主题名、修改投票所属类别、修改投 票项目类型、修改投票开始时间、修改投票结束时间、修改投票项目的选项的 内容等 删除投票项目 功能:删除投票项目选项或整个投票项目 操作:删除投票项目的一个或几个投票选项 deloption();删除整个投票项 目 delvote() 系统类图如下:
42、 18 图 3-4 系统类图 3.5.3 系统时序图 用户投票模块 图 3-5 用户投票时序图 用户添加投票项目模块 19 图 3-6 用户添加投票项目时序图 管理员登录模块 图 3-7 管理员登录时序图 管理员添加投票项目模块 20 图 3-8 管理员添加投票项目时序图 管理员修改投票项目模块 图 3-9 管理员修改投票项目时序图 管理员删除投票项目模块 21 图 3-10 管理员删除投票项目时序图 3.5.4 系统协作图 用户投票模块 22 图 3-11 用户投票协作图 用户添加投票项目模块 图 3-12 用户添加投票项目协作图 管理员登录模块 23 图 3-13 管理员登录协作图 管理员
43、添加投票项目模块 图 3-14 管理员添加投票项目时序图 管理员修改投票项目模块 24 图 3-15 管理员修改投票项目协作图 管理员删除投票项目模块 图 3-16 管理员删除投票项目协作图 3.6 系统 er 图设计与分析 整个系统开发过程中,主要涉及的实体有:投票项目,管理员,用户。 系统 er 图如下: 用户 投票项目 注册号 用户名 主题名 密码 选项个数 主题号 选项内容 开始时间 按 结束时间 选择 选项投票数 选票总数 投票选择 25 317 系统 er 图 3.7 数据库设计 3.7.1 表设计 本系统一共用到 3 张数据库表,分别如下: 表 3-2 登录表(login) 字段
44、数据类型是否为空索引是否主键注释 login_id自动编号not null有(无重复)是管理员 id username文本not null否管理员名字 password文本not null否管理员登录密 码 注:管理员的 username 为:admin password 为:admin 表 3-3 投票项目表(topic 表) 字段数据类型是否为空索引是否主键注释 topic_id自动编号否 有(无重复) 主键 投票项目号 topic_name文本否否投票项目主题 option_type文本否否 选项类型,单选 还是多选 counts数字否否选票总数 begin_time日期/时间否否投票起
45、始时间 end_time日期/时间否否投票截止时间 26 表 3-4 投票项目选项表(options 表) 字段数据类型是否为空索引是否主键注释 option_idchar否 有(无重 复) 主键选项号 tp_id数字否否 与该选项对 应的主题号 options文本否否选项内容 votes数字否 否该选项的得 票数 27 第四章 系统各模块详细设计 4.1 管理员登录、登出设计 4.1.1 管理员登录 程序页面名称:login.asp 程序功能:实现管理员的登录,以便进行投票项目的管理。 权限范围:整个投票系统的管理员 输入数据:管理员账号和密码 输出数据:无 程序简单逻辑: 输入管理员用户名
46、和密码,回车确认 检查输入是否合法,合法跳入 3,不合法跳入 1,并提示错误 查询数据库,如果存在并匹配,跳入 4,不存在跳入 1,提示错误 根据所获得的用户名、密码合法信息,跳入投票项目管理页面,进行已存 在的投票管理。 4.1.2 管理员登出管理系统 程序页面名称:yz_login.asp 程序功能:实现管理员登出管理系统 权限范围:整个投票系统的管理员 输入数据:检验 request(action)是否等于logout,若是,则登出 输出数据:无 程序简单逻辑: 管理员管理投票项目操作完成后,若想退出管理系统,则点击“退出 管理”超链接。 登出程序处理页面根据获得的 action 值,来
47、判断是否进行登出操作。 若是,则退出管理系统,回到投票系统首页,并清空 session 的值,整 个退出操作完成。 28 4.2 投票首页模块 程序页面名称:index.asp 程序功能:用于显示当前投票主题、选项以及其他投票主题,可将其他投 票主题转变为当前投票主题 权限范围:所有浏览本投票系统的用户 输入数据:想要浏览的投票项目的主题 输出数据:把想要浏览的投票项目作为当前活动的投票项目进行显示 程序简单逻辑: 访问此投票系统的首页,如果是普通想要进行投票的用户,则直接点 击想要投票的项目主题,否则转入 2 如果是管理员想进行投票项目管理,则在页面的左侧登录,进入管理 页面。 普通的投票用
48、户点击投票主题后就转入了投票页面。 4.3 投票实现模块 程序页面名称:tp_do.asp 程序功能:选中当前投票主题的一个或若干个选项,提交信息后,进入投 票实现模块,该模块会判断用户是否进行了重复投票,如果没有将会修改投票 结果记录。 权限范围:所有进入本投票系统投票的用户 输入数据:投票用户的 ip,投票项目的主题及用户所投票的选项内容。 输出数据:显示该投票项目的投票结果 程序简单逻辑: 点击首页的某个投票项目主题超链接,进入投票页面; 选择一个或若干个投票选项,确定后点提交; 提交后,系统首先会判断该用户是否已对该项目投过票了,如果是, 则会弹出错误提示“对不起,这个主题你已经投过票
49、了!” ,如之前未 投过,则继续验证其他操作是否正确; 验证是否按照单选、多选的规则来投票,如果该投票项目是单选形式, 则系统会提示必须要选择一项,多选也是一样; 29 提交投票后,系统会对相应的数据库表做处理,options 表中选中的 votes 值和 titles 表中的 counts 值均加 1; 最后,会跳转到投票结果显示页面,用户即可看到刚刚投票项目的投 票结果。 4.4 投票结果模块 程序页面名称:counteshow.asp 程序功能:该页面显示投票结束后被投票项目的投票结果,该模块应用图 形和文字的形式显示各选项的投票率,并且显示投票开始时间、结束时间和投 票总数等信息。 权
50、限范围:访问投票系统并进行过项目投票的所有用户均可看到投票结果。 输入数据:无 输出数据:图形和文字相结合的投票结果显示 程序简单逻辑: 此模块相对较简单,承接投票实现模块; 当对投票项目进行完投票提交后,相应的数据库表内容也被修改了, 接下来就是用数据库选择语句把需要显示的信息筛选出来,显示在页 面上。 4.5 投票项目管理模块 添加投票项目子模块: 程序页面名称:add.asp 程序功能:通过链接进入添加投票项目页面,填写需要添加的投票项目的 内容,如:投票主题,投票选项个数,投票方式为单选还是多选,投票开始时 间和结束时间,几个投票选项的内容等,填写完毕后提交即可,新的投票项目 就会显示
51、在主页面上。 权限范围:系统管理员 输入数据:投票选项个数,投票主题,投票方式是单选还是多选,投票开 30 始时间,投票结束时间,投票各个选项的内容,是否设置为当前投票选项等。 输出数据:投票系统首页,并且可以看到刚刚添加的新投票项目作为最新 投票项目在投票项目列表的第一个 程序简单逻辑: 在系统首页时,管理员先登录进入管理系统,再单击增加新议题超链接, 即可进入添加投票项目页面; 该页面有一个表格加很多表单项组成,主要就是对投票项目内容的详细添 加; 填表完成后提交,此时转入数据库后台处理,相应的处理页面为 do.asp 完成后,数据库的 topic 表中就多了一条记录,添加新项目页面也转回
52、投票 系统首页,可供用户继续进行其他操作。 修改投票项目子模块: 程序页面名称:modify.asp 程序功能:修改投票项目的操作界面与添加投票项目的操作界面大体上相 同,主要是对投票项目的某些具体内容进行修改,修改完成后,同样单击提交 按钮即可。 权限范围:系统管理员 输入数据:投票选项个数,投票主题,投票方式是单选还是多选,投票开 始时间,投票结束时间,投票各个选项的内容,是否设置为当前投票选项等 (同添加投票项目子模块) 输出数据:回到投票系统首页 程序简单逻辑: 在系统首页,管理员登录进入管理系统页面,在要修改的投票项目主题旁 单击修改超链接,转到 modify.asp 修改页面; 此
53、页面的设计视图同添加投票项目的设计界面,也包括基本的投票项目内 容,修改完成后提交,由数据库修改语句对数据库中相应表项进行修改保存; 之后转回到管理系统首页,此时查看被修改的投票项目即可看到修改效果。 删除投票项目子模块: 程序页面名称:do.asp(主要是一些删除函数的处理) 程序功能:当某些投票项目过期,管理员已经不再需要时,便可对该项目 进行删除操作,从数据库中彻底删除该项目前会有提示警告框,只有在确定的 情况下,投票项目才会被删除。 31 权限范围:系统管理员 输入数据:需要被删除的投票项目主题或 id 号 输出数据:弹出删除成功提示框 程序简单逻辑: 在系统首页,管理员登录进入管理系
54、统页面,在要删除的投票项目主题旁 单击删除超链接,转到 do.asp 处理页面; 通过其中的删除函数,delvote()删除整个投票项目,提取相应的关联索 引信息,去数据库 topic 表中搜寻相应的投票记录,进行删除处理; 确认删除后,回到系统管理界面,此时可以看到,刚被删除的投票项目已 不在投票项目列表中。 32 第五章 系统实现 5.1 管理员登录模块的设计与实现 5.1.1 功能描述 管理员登录界面,根据身份从而跳转到相应管理系统页面,进行投票项目管理。 输入处理 输出 1.登录基本信息1 系统登录处理 1 登录结果 图 5-1 登录模块 5.1.2 登录界面设计 根据需要提供的登录信
55、息,登录界面比较简单,主要包括两个文本域和一个提 交表单。 具体图示如下: 图 5-2 投票管理登录界面图 33 5.1.3 数据流 登录模块数据流图如下: 图 5-3 登录模块数据流图 5.1.4 部分主要代码 5.2 投票首页模块 这是整个投票系统的首页,主要的一块儿就是列出所有投票项目,并采用分页 显示,具体界面设计图如下: 图 5-4 投票系统首页图 实现此功能的主要代码如下: (把连接数据库等操作的文件包含进本页面中) 35 % thisid=request(thisid) str=and shifou if thisid then str=and id= % for i=1 to
56、xx response.write history.back(); response.end end if if request(xuanze)=radio then 单选形式处理 if request(option)= then 必须要选择一个选项 40 response.write alert(请选择投票选项!);_ response.end else opendb options 表中选中的 votes 值和 titles 表中的 counts 值均加 1 conn.execute(update options set votes = _ _ response.end else open
57、db request(option).count 指:选中的选项总数 for i=1 to request(option).count 读取每个选中的选项,并使 votes 值都加 1 conn.execute(update options set votes = votes+1 _ response.write location.href=index.asp; end sub 5.5.2 修改投票项目 45 界面设计 图 5-11 修改投票项目的界面图 功能实现 修改处理函数 sub modify() 更新 titles 表内的相关数据 conn.execute(update titles set zhuti= 如果在修改时选了继续添加选项,则在完成处理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中兴方式购销合同
- 民间房产抵押贷款协议样式
- 认证服务合同加快
- 会议服务团队与服务合同
- 投标代理合同注意事项及范本
- 服务器选购合同示例
- 外业勘察分包合同样本格式模板
- 建筑智能化分包合同
- 购销合同空白格式版式模板
- 招标文件汽车选购指南
- 0-3岁亲子活动设计与指导智慧树知到期末考试答案章节答案2024年滁州城市职业学院
- 2024年房地产经纪协理考试题库新版
- CJ-T+355-2010小型生活污水处理成套设备
- 中医治疗筋伤案二
- 2023-2024学年广东省广州市九年级(上)质检英语试卷(1月份)
- 人教版四年级数学上册单位换算专项练习
- 2022-2023学年北京市东城区北京版五年级上册期末测试英语试卷(含听力音频)
- 网络设备售后服务和培训方案
- 大学学院辅导员工作室建设与管理办法(试行)
- 新媒体数据分析 实训题 项目2 新媒体数据分析的工具与方法
- 微生物学(细胞型)智慧树知到期末考试答案章节答案2024年哈尔滨师范大学
评论
0/150
提交评论