苹果投票系统设计与开发(毕业设计)

上传人:仙*** 文档编号:31558718 上传时间:2021-10-12 格式:DOC 页数:53 大小:687.50KB
收藏 版权申诉 举报 下载
苹果投票系统设计与开发(毕业设计)_第1页
第1页 / 共53页
苹果投票系统设计与开发(毕业设计)_第2页
第2页 / 共53页
苹果投票系统设计与开发(毕业设计)_第3页
第3页 / 共53页
资源描述:

《苹果投票系统设计与开发(毕业设计)》由会员分享,可在线阅读,更多相关《苹果投票系统设计与开发(毕业设计)(53页珍藏版)》请在装配图网上搜索。

1、中中 原原 工工 学学 院院毕毕 业业 实实 训训 任任 务务 书书 2009 年 5 月 8 日学生姓名学生姓名张敏娟学号学号200770832201专专 业业计算机软件编码班级班级072 班课题名称课题名称苹果投票系统课题来源课题来源实训阶段题目指导教师指导教师于翔专业专业软件工程职称职称实训讲师课题说明:课题说明:随着 INTERNET 的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界。INTERNET 恰恰是实现这目标的有利工具.对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给

2、企业单位,故一个网上在线投票系统应运而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省,从而使得企业在竞争激烈的市场中拥有更强大的资本.开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,从而提高信息的准确性.运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。承担的任务承担的任务:本项目由本人独立开发完成。包括前期的需求分析和数据库设计。1客户模块,主要是管理登录该系统的用户;2新闻模块,主要功能是管理发布在该网站的新闻;3留言簿模块,主要功能是管理用户留言、恢复等;4管理员模块,主要功能是管理该系统的

3、反馈信息,与后台数据库进行交互;5登录注册模块,主要是实现用户登录或注册的功能,不同的用户级别有不同的权限;6投票模块,主要功能是实现用户的投票,其中可以通过控制时间和 IP 的方法保证投票数据的合理性。中中 原原 工工 学学 院院毕毕 业业 实实 训训 任任 务务 书书 2009 年 5 月 8 日工作进度安排:工作进度安排:2009.4.15-2009.4.19 系统的需求分析,概要设计阶段2009.4.20-2009.5.25 系统的数据库概要设计,详细设计阶段2009.4.26-2009.4.29 系统的界面设计阶段2009.4.30-2009.5.5 系统的编码及测试阶段2009.5

4、.6-2009.5.8 项目的文档整理阶段指导教师签字:指导教师签字: 年年 月月 日日实训单位意见实训单位意见签章:签章: 年年 月月 日日学学院院意意见见签章:签章: 年年 月月 日日中中 原原 工工 学学 院院毕毕 业业 实实 训训 评评 审审 表表学号学号200770832201姓名姓名张敏娟专业专业计算机软件编码班级班级072题目题目苹果投票系统指指导导教教师师评评语语校外成绩(百分制):校外成绩(百分制):校内成绩(百分制):校内成绩(百分制):校外指导教师签名:校外指导教师签名:校内指导教师签名:校内指导教师签名:总评成绩(百分制):总评成绩(百分制): 年年 月月 日日年年 月

5、月 日日 年年 月月 日日苹果投票系统学生:张敏娟 校外指导教师:于 翔 校内指导教师:缑西梅2009 年 5 月 8 日I摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,在先进的计算机技术、通信技术及控制技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。网上投票系统除了能完成传统的功能之外,更具有方便、及时和范围广的优点,更符合现代社会的需要。本文档首先介绍了网上投票系统的背景和现状,其次对本系统进行了简单的介绍。然后介绍了本系统在 ASP.NET(C#)+SQL SERVE

6、R2005 环境下网上投票系统开发的全过程,系统是基于 B/S 体系结构的。最后根据需求开始工作,如数据库的设计,代码编写以及页面、功能的实现等。代码编写完成后,对本系统进行了测试。测试结果良好,基本满足了需求。虽然网上投票系统在实施过程中还是会存在一些不安全因素,但这种方式是社会的一大进步,也将成为将来的一种主流趋势。随着社会的发展,网上投票系统也会不断发展,更好的发挥它的作用。关键词: 投票系统;B/S 体系结构;ASP.NET;SQL SERVER2005目 录摘摘 要要.I第第 1 章章 课题来源课题来源.11.1 项目现状分析.11.2 开发目的.11.3 系统说明.21.3 相关技

7、术说明.2第第 2 章章 需求分析需求分析.32.1 功能性需求.32.1.1 登录功能.32.1.2 添加投票项.32.1.3 删除、修改投票项.42.1.4 查看投票项.42.1.5 用户投票.42.1.6 添加新闻.42.1.7 查看新闻.42.2 非功能性需求.42.2.1 用户界面需求.42.2.2 软硬件环境需求.52.2.3 产品质量需求.5第第 3 章章 数据库设计数据库设计.73.1 数据库功能及约束.73.2 数据库的需求分析.73.3 E-R 图.83.4 创建数据表的 SQL 脚本.83.5 数据表设计.10第第 4 章章 系统概要设计系统概要设计.134.1 系统组成

8、模块.134.1.1 客户模块.134.1.2 新闻模块.134.1.3 留言薄模块.144.1.4 管理员模块.144.1.5 登录注册模块.144.1.6 投票模块.144.2 系统流程图.14第第 5 章章 系统详细设计系统详细设计.165.1 登陆注册模块.165.1.1 功能描述.165.1.2 界面设计.165.1.3 数据流.175.2 投票模块.175.2.1 功能描述.175.2.2 界面设计.185.3 新闻模块.195.3.1 功能描述.195.3.2 界面设计.205.4 留言簿模块.225.4.1 功能描述.225.4.2 界面设计.225.5 管理员模块.235.5

9、.1 功能描述.235.5.2 界面设计.245.6 客户模块.245.6.1 功能描述.245.6.2 界面设计.24第第 6 章章 编码测试编码测试.266.1 登录模块.266.1.1 编码.266.1.2 测试.276.2 用户投票模块.286.2.1 编码.286.2.2 测试.316.3 新闻模块.326.3.1 编码.326.3.2 测试.336.4 留言模块.336.4.1 编码.336.4.2 测试.35第第 7 章章 结束语结束语.36附录附录 A: 主要源程序主要源程序.39张敏娟:苹果投票系统1第 1 章 课题来源由于现今社会,信息的主要特点是量大、范围广、更新快。及时

10、而准确的得到用户的反馈,来做出新的调整,以谋取更大的利益成为企业考虑的主要问题。在这种形势驱动下,网络投票系统显得尤为重要。1.1 项目现状分析在积极建立科学管理机制的今天,仅仅靠原始的手工管理或简单的单机管理,管理部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。投票管理者的决策只能依据手工表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想就成为了一个可望而不可及的目标。投票工作非常急需一套既有先进管理思想的系统,作为实现目标和提高现有投票管理水平的一种重要手段。随着科学技术的不断提高,计算机科学日渐成熟,作

11、为计算机应用的一部分,在先进的计算机技术、通信技术及控制技术基础上,采用系统集成方法,逐步建立一个智能化的投票系统。网上投票系统除了能完成传统的功能之外,更具有方便、及时和范围广的优点,更符合现代社会的需要。编写在线投票系统,最重要的一点就是如何从烦琐的投票结果中,导出全部投票项目的票数,然后根据投票项目的各个票数,进行票数百分比计算,最后编辑出在线投票系统。虽然网上投票系统在实施过程中还是会存在一些不安全因素,但这种方式是社会的一大进步,网上投票也将越来越成为一种主流的发展趋势。1.2 开发目的当前社会是民主社会,很多策略、决策和行动方案的制定,大多数情况下要根据民主评选的结果来决定。然而,

12、过去的那种以人数票以人机票的方式,有很大的弊端。比如说:由于私心或失误,导致投票不公,且实时性差,不能及时做出统计,浪费人力、物力与财力。投票系统的诞生适应了时代的发展,繁琐的事情交给电脑去做,不但准确,而且高效。并且,随着 INTERNET 的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的一些信息,而应把范围扩展到全国,甚至全世界。INTERNET 恰恰是实现这目标的有利工具。对于新产品,新观点的调查范围应该更广泛,消息应该及时反馈给企业单位,故一个网上在线投票系统应允而生,它正好充分满足客户的需求,将信息反馈的范围扩大,张敏娟:苹果

13、投票系统2节省人力资源,为企业在竞争激烈的市场中赢得先机。开发此投票系统正是为了更好的把市场的信息更准确更快速的反馈给客户,使信息的来源更广泛,并且通过一些方法,如限制时间和 IP 等提高信息的准确性。运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量,增强竞争力。1.3 系统说明该系统运用.Net Framework 2.0 框架,使用 Visual Studio2005,结合 SQL Server2005数据库,使用完全面向对象语言,进行开发,可复用性强,可扩展性高,且易于维护。本系统功能完善,不单是对于具体的项目投票,可以对多种投票项目进行投票,投票方式也有

14、单项和多项可选。客户可以根据需要到网站发布信息,根据用户的反馈做出策略上的调整。本系统已网站的形式向用户开放,更方便,更快捷,客户不用安装客户端软件,省去很多麻烦,且容易维护。本系统应用范围广泛,预计在试用期就会有极高的点击率。1.3 相关技术说明该项目的开发需要用的是语言是 C#;采用了当今最为流行的 ASP.NET 技术来开发;数据库使用的是 SQL Server2005。张敏娟:苹果投票系统3第 2 章 需求分析本章节主要介绍了该系统要实现的主要目标,在该系统进行编写代码以前,整理清楚该系统主要的业务流程,客户的需求,更模块之间的联系等等。需求分析阶段是整个系统的基础阶段,没有一个完整的

15、需求,一个系统将崩溃瓦解。2.1 功能性需求在线投票功能是网站应用程序最常用的功能之一,苹果投票系统主要包括以下的系统功能。2.1.1 登录功能用户需要填写正确的姓名、密码和身份类型,系统会根据用户不同的身份跳转到不同的页面。系统分为管理员和客户两种身份。2.1.2 添加投票项该功能为客户所拥有,用户必须首先注册成为该网站的合法客户,然后使用正确的用户名和密码登录系统,可以添加投票项。添加投票项界面需要用户添加投票标题,是否限制 IP,时间间隔,结束时间,表示图片,投票模式等信息。数据填写完整后并确认后,系统验证数据合法性,验证通过后根据相应信息,跳转到相应页面。投票模式分为单选投票和多选投票

16、。当用户选择多选模式后,系统会跳转到投票选项页面,该页面用户可以逐条添加投票选项。也可以完成投票选项的添加。当用户选择单选模式后,系统验证数据合法性,验证成功,则跳转到系统主页面。投票项可以根据客户和投票项的具体情况,进行 IP 和时间的限制。限制 IP,即同一个 IP 地址只能进行一次投票,不限 IP 限制时间,即同一个 IP 地址投票之后,再过多长时间才可以进行第二次投票(本系统设置的时间单位为分钟)。也可以选择不限 IP、不限时间,即时间间隔为 0(通常这种情况较少)。这些都由用户自行设定。投票截止时间,是指该投票项到某一时间后,投票无效,每次运行系统的时候,系统都会检测,每个投票项是否

17、在有效时间内,如果超过截止时间,则主页面不显示。用户将无法看到该投票项,也无法对该项进行投票。张敏娟:苹果投票系统42.1.3 删除、修改投票项该功能为管理员所拥有,管理员应该定期维护网站,如果发现网站中有些数据含有恶意行为,或者语言粗鄙者,可以对该投票项进行删除。如果某项投票项表意不清楚,用词含糊或有明显的错字词,管理员可以对投票项进行修改。2.1.4 查看投票项该功能为所有浏览该网站的用户所有。在登录网站之前也可以对投票项进行浏览。2.1.5 用户投票该功能为苹果投票系统的主要功能,为所有浏览该网站的用户所使用。用户可以根据自己的需要,选择合适的投票项,选择具体的投票项目,页面跳转到投票页

18、面,如果为多项投票,则投票页面列出投票项的所有投票选项,用户可以选择其中一项进行投票,如果是单项投票,为该项目投票,则表示赞成该投票项标题观点。其中,用户如果频繁的点击投票按钮,系统会根据该投票项的配置选项,即 IP 和时间,进行判断,如果 IP 或时间不合法,则用户的再次投票无效。用户可以查看该投票项的投票情况,总票数和每个投票选项的票数,显示数字的同时用横向柱形图显示比例,使结果更清晰直观。2.1.6 添加新闻该功能由管理员所拥有,添加新闻之前,系统首先进入一个验证页面,用户需填入正确的信息,验证通过后,进入新闻添加页面,需要添加新闻标题、作者、内容、图片等信息,信息填写完成并提交后,页面

19、显示添加结果的提示信息。2.1.7 查看新闻该功能由所有浏览该网站的用户所有,点击查看详情,可以查看该新闻的详细信息。2.2 非功能性需求2.2.1 用户界面需求苹果投票系统的主体颜色为绿色,显得具有生机和活力,起到与“苹果投票系统”相互呼应的作用。系统主界面用 GridView 控件显示投票的整体信息,包括投票项目标题和投票总数标张敏娟:苹果投票系统5志图片等。各个模块内的功能采用顶栏按钮的形式。投票结果的统计在显示数字的同时,用横向柱形图的方式显示,使结果展示的更为清晰直观。界面设计合理,在能让用户选择的情况下,不让用户手写,既保证了数据的合法性,也使系统操作更为简单、方便。2.2.2 软

20、硬件环境需求该系统的软硬件环境需求如下:Web 服务器要求:IIS6.0数据库要求:SQL Server2005操作系统要求:Windows 2000、XP浏览器要求:Windows 系统下的 IE5.0 以上或 Linux 系统下的 MozillaC#运行环境要求:.NET Framework2.0 框架处理器要求:推荐使用 Intel 服务器 CPU Xeon5355 2.66G内存要求:推荐使用 4G 或更大内存硬盘要求:RAID 系统:4*80G光驱要求:8 倍以上2.2.3 产品质量需求正确性方面,在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的出来能力和相

21、应时间能够满足企业对信息处理的需求。性能效率方面,苹果投票系统在日常处理中的响应速度为秒级,达到实时要求,以及时获取相关信息。在进行统计分析时,根据所需数据量的不同而为秒级或分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。易用性方面,苹果投票系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,做出充分的准备,避免或者解除问题。安全性方面,系统本身进行了严格的权限控制,相关人员决不会越权进行数据操作。投票系统中涉及到一些重要

22、数据的保存、维护等问题,系统要提供方便的手段供系统维张敏娟:苹果投票系统6护人员进行数据的备份,日常的安全管理,系统意外崩溃时,数据的恢复等工作。可扩展性方面,苹果投票系统在开发过程中,应该充分考虑以后的可扩充性。例如新闻模块可以增加新的功能,各项投票项目也会不断的更新和完善。所有这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应该通过系统的开放性来完成,即系统应是一个开发系统,只有符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修改、替换完成系统的升级和更新换代。张敏娟:苹果投票系统7第 3 章 数据库设计本章节主要介绍了数据库设计阶段所作的工作,

23、对数据库中的各个数据表做出了详细介绍,同时简单描述了数据表中的各个字段,以及各个表之间的主、外键关系,通过本章节的阅读,读者可以清楚的知道,本系统中投票标题、项目,投票数据等的数据储存方式,对更好的操作、使用本系统起到了良好的引导作用。3.1 数据库功能及约束数据库的功能主要是对系统数据进行存储。通过合理的数据库结构设计,使数据存储更为方便,更易于客户端对数据的操作,如添加数据、修改数据、删除数据等。本系统中数据库中总共有 11 张表,根据第一范式和第二范式设计原理,表与表相互独立又相互联系和依赖,表结构合理。其中,为了保持数据的一致性,为了防止产生错误数据和垃圾数据,对相应的字段做了基本约束

24、,如是否为空,数据格式等,同时采用了主键和外键约束,当主表中的数据删除后,从表中的数据也相应删除。同时,在数据库设计中使用了触发器,用于保证更新单票数和总票数的一致性,其触发器代码如下:触发器建于表 voetDetails(选项表):create trigger updatevoteSum on dbo.voetDetails for updateasbegin update voteMaster set voteSum=voteSum+1 where id=(select top 1 id from inserted)end3.2 数据库的需求分析依据苹果投票系统的处理需求,对就数据表的设计

25、及功能如下:管理员表:主要存储系统管理员信息。客户表:主要存储系统客户信息。留言表:主要存储网站的浏览用户留言信息。新闻表:主要存储信息发布在网站上的新闻信息。新闻类别表:主要存储网站上的新闻类别信息。投票标题表:主要存储网站中的投票项的相关信息。投票选项表:主要存储网站中多选模式的投票项的投票选项信息。系统配置表:主要存储投票项的配置信息。投票人员表:主要存储投票者的相关信息。张敏娟:苹果投票系统83.3 E-R 图投票项目删除管理员添加客户选项投票选项投投票者配置系统配置pswtelnameIDcheckIPcheckTimemeIDIPvoteTimevoteNumIDvoteNumvo

26、teItemnamepswtelephoneemailvoteTitlevoteSumeidendTimeimagevoteDetnilsIDMMNN1M11NN图 3.1 系统 E-R 图3.4 创建数据表的 SQL 脚本由于本系统数据库表较多,在此对创建数据表的 SQL 脚本不一一列出,只把几张主要表的脚本写出。以供读者参阅、理解,如有更多需要,请查阅数据源。1.创建管理员表的 SQL 脚本如下:CREATE TABLE dbo.admin(ID int IDENTITY(1,1) NOT NULL,name varchar(20) COLLATE Chinese_PRC_CI_AS NO

27、T NULL,psw int NOT NULL,tel varchar(30) COLLATE Chinese_PRC_CI_AS NOT NULL,张敏娟:苹果投票系统9 CONSTRAINT PK_votemanger PRIMARY KEY CLUSTERED (ID ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY2.创建客户表的SQL脚本如下:CREATE TABLE dbo.guest(name varchar(40) COLLATE Chinese_PRC_CI_AS NOT NULL,psw varchar(20) C

28、OLLATE Chinese_PRC_CI_AS NOT NULL,email varchar(40) COLLATE Chinese_PRC_CI_AS NULL,telphone varchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL,个人网站 varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_guest PRIMARY KEY CLUSTERED (name ASC) WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY3.创建投票标题表

29、的SQL脚本如下:CREATE TABLE dbo.voteMaster(id int IDENTITY(1,1) NOT NULL,voteTitle varchar(30) COLLATE Chinese_PRC_CI_AS NOT NULL,voteSum int NOT NULL CONSTRAINT DF_voteMaster_voteSum DEFAULT (0),image varchar(40) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT DF_voteMaster_image DEFAULT (apple.jpg),endTime da

30、tetime NULL, mode int NULL, CONSTRAINT PK_voteMaster PRIMARY KEY CLUSTERED (id ASC) WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY4.创建投票选项表的SQL脚本如下:CREATE TABLE dbo.voetDetails(voteDetailsID int IDENTITY(1,1) NOT NULL,张敏娟:苹果投票系统10voteItem char(40) COLLATE Chinese_PRC_CI_AS NOT NULL,voteNum int N

31、OT NULL CONSTRAINT DF_voetDetails_voteNum DEFAULT (0),id int NOT NULL, CONSTRAINT PK_voetDetails PRIMARY KEY CLUSTERED (voteDetailsID ASC) WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY3.5 数据表设计1.管理员表(admin)表 3.1 管理员表标识数据类型数据范围备注IDInt4管理员 ID,主键,自增长nameVarchar20管理员用户名pswInt4登录密码TelVarchar20联系电话2.

32、客户表(gest)表 3.2 客户表标识数据类型数据范围备注nameVarchar40客户用户名,主键pswVarchar20客户登录密码emailVarchar40客户联系邮箱telephoneVarchar20客户联系电话personalnetVarchar50个人网站3.留言表(leave Word)表 3.3 留言表标识数据类型数据范围备注nameVarchar20留言者姓名contentVarchar50留言内容张敏娟:苹果投票系统11timeDatetime8留言时间4.新闻表(newNRB)表 3.4 新闻表标识数据类型数据范围备注IdInt4自增长,主键biaotivarcha

33、r30新闻标题shijianVarchar8更新时间neirongVarchar50新闻内容imgVarchar20图片clickInt4点击人数writerVarchar20描述5.新闻类别表(newtypes)表 3.5 新闻类别表标识数据类型数据范围备注IdInt4自动生成 主键typenameVarchar40投票选项6.投票选项表(voteDetails)表 3.6 投票选项表标识数据类型数据范围备注voteDetailsIDInt4自动生成voteItemVarchar40投票选项voteNumInt4选项票数IdInt4投票标题 外键(vote Title)7.系统配置(vote

34、Config)3.7 系统配置表标识数据类型数据范围备注IdInt4标题 id自增长张敏娟:苹果投票系统12checkipInt41 为不限制 IP0 为限制 IPcheckTimeInt4限制投票时间间隔,默认值为 08.投票标题表(voteMaster)3.8 投票标题标标识数据类型数据范围备注IdInt4主键 自增长voteTitleVarchar30投票标题voteSumInt4总投票数ImageVarchar20图片,可以为空endTimeDateTime8投票结束时间modeBit11 表示单选模式0 表示多选模式9.投票人员表(voter)表 3.9 投票人员表标识数据类型数据范

35、围备注idInt4主键,外键(VoteMasters)ipVarchar80投票者 IP,主键voteTimeDatetime8投票时间voteNumInt4投票总数张敏娟:苹果投票系统13第 4 章 系统概要设计本章节主要对系统的总体流程做出介绍。通过阅读该章节,读者可以明白该系统中,各个模块的分类,以及各模块的大概功能,在系统中起到的作用等。本章节是对该系统的一个整体介绍。可以让读者对本系统有一个大体了解。4.1 系统组成模块该系统主要由以下六个模块组成:登录注册模块,管理员模块,客户模块,留言簿模块,新闻模块,投票模块。如图 4.1 所示:苹果投票系统登录注册模块管理员模块客户模块留言簿

36、模块新闻模块投票模块图 4.1 系统主要模块图4.1.1 客户模块客户模块主要是添加投票项信息的,比如投票项目题目,选项以及系统配置要求。4.1.2 新闻模块新闻模块主要是一些关于本系统的新闻信息,其中包括新闻显示和添加删除模块。如图 4.2 所示:新闻模块新闻显示添加新闻删除新闻图 4.2 新闻模块图张敏娟:苹果投票系统144.1.3 留言薄模块留言簿模块主要是投票者对于本系统提出问题,或单纯留言。管理员可以对用户留言进行回复。4.1.4 管理员模块管理员模块是指管理员对项目进行的管理模块,包括项目的管理,选项的管理,新闻的管理以及系统设计的管理。可以对项目进行删除和修改,对选项进行删除、更

37、新和添加,对新闻进行添加、修改和删除操作,以及对系统配置进行删除和更新的功能。4.1.5 登录注册模块登录注册主要为管理员和客户进入相应页面的桥梁。不同的身份拥有不同的权限。这里面使用到身份验证的功能。当用户不是系统合法用户的时候,用户可以进行注册然后登录系统。4.1.6 投票模块该模块用户可以对具体的项目进行投票。该模块分为多选投票模式和单选投票模式,用户可以查看投票结果。如图 4.3 所示:单选模式投票多选模式投票投票模块结果显示图 4.3 投票模块图4.2 系统流程图苹果投票系统从运行开始有一套完整的操作过程,其流程主要分前台和后台的不同操作。其主要流程如图 4.4 所示:张敏娟:苹果投

38、票系统15在线投票系统前台用户界面后台数据库管理投票选择项目单选模式选择选项IP 允许时间允许限制 IP投票留言版新闻中心登陆界面选择身份输入信息提交信息管理员提交项目信息管理系统配置管理投票项目删除投票选项更新编辑删除管理选项添加更新有投票选项删除YN登录成功YNNYYNNNYY图 4.4 苹果投票系统流程图张敏娟:苹果投票系统16第 5 章 系统详细设计本章节详细介绍了苹果投票系统的各个主要模块,包括模块的功能、实现方式以及界面设计等。通过对该章节的阅读,读者可以知道系统的各个模块细节,对该投票系统的具体设计有一个深入全面的了解。5.1 登陆注册模块5.1.1 功能描述管理员和客户登录界面

39、,要求用户填写一些基本的信息,根据选择身份类型的不同,验证身份,如果验证通过,则跳转到的相应页面。如果用户还未注册,应点击注册按钮,进入注册页面。其中该模块流程如图 5.1 所示:登陆基本信息系统登录处理登录结果输入处理输出图 5.1 登录模块流程图其中该模块的相应信息如图 5.1 所示:图 5.2 登录模块信息输入流程图5.1.2 界面设计登录界面要求用户输入用户名、密码、验证码,要求选择正确的身份类型。当用户填写完信息后,点击【登陆】按钮,系统会根据用户的身份,做出判断,跳转到相应的页面。如果用户还不是系统的合法用户,应先点击【注册】进行注册。苹果系统登录界面的设计如图 5.3 所示:1.

40、会员注册信息表单2.重新输入密码输入1.会员注册2.密码修改1.注册结果信息表单2.成功修改信息处理输出张敏娟:苹果投票系统17图 5.3 苹果系统登录界面图5.1.3 数据流该功能的数据流图如图 5.4 所示:数据库登陆信息身份信息管理员模块或客户模块登陆模块图 5.4 登录功能数据流图5.2 投票模块5.2.1 功能描述在投票模块,用户可以选择具体的投票项目,根据用户选择的项目模式不同,会自动跳转到相应的投票页面,用户可以进行投票。投票过程中,程序会对系统配置进行检测,判断并约束用户在某段时间内的投票次数,同时,用户可以查询该项目的投票结果。其中,该模块的流程图如图 5.5 所示: 张敏娟

41、:苹果投票系统181.投票项目信息2.选项信息1.模式判断2.系统配置检测3.数据库信息更新1.返回投票信息输出输入处理图 5.5 投票模块流程图5.2.2 界面设计投票模块分为多选投票模式和单选投票模式。在多选投票模式中,用户可以选中其中一项进行投票。单选模块,用户则进行直接投票,表示支持投票项观点。其中多选投票模式界面如图 5.6 所示,其中多选投票模式界面如图 5.6 所示。图 5.6 多选投票模式界面单选模式的投票界面图,如图 5.7 所示:张敏娟:苹果投票系统19图 5.7 单选投票模式界面图投票结果显示界面如图 5.8 所示:图 5.8 投票结果显示界面图5.3 新闻模块5.3.1

42、 功能描述新闻模块主要是一些关于本系统的新闻信息,其中包括新闻的显示功能,和添加、删除功能等。用户可以根据自己的需要,进行新闻发布,其中新闻的类别没有限制,这样使用户使用起来更加方便、舒适。其中,该模块的流程图如图 5.7 所示:张敏娟:苹果投票系统20输入1 新闻信息2.操作信息1.数据库更新处理输出1.返回操作结果图 5.7 新闻模块的流程图5.3.2 界面设计该模块的初始显示界面设计如图 5.8 所示:图 5.8 新闻模块界面图点击查看后的详细信息界面如图 5.9 所示: 张敏娟:苹果投票系统21图 5.9 新闻详细信息界面图新闻添加页面的界面设计如图 5.10 所示:图 5.10 新闻

43、添加页面界面图张敏娟:苹果投票系统225.4 留言簿模块5.4.1 功能描述留言簿模块主要是针对用户留言提供模块,用户可以对投票项进行评论,也可以直接留言,其中本系统的管理员可以对用户的留言进行回复,或者删除功能。管理员有权屏蔽一些对网站不利或者不文明的留言。该模块流程图如图 5.11 所示:1.留言基本信息2.回复信息输入1.数据库更新1.返回结果处理输出图 5.11 留言簿模块流程图5.4.2 界面设计留言簿模块的留言查看界面设计如图 5.12 所示:张敏娟:苹果投票系统23图 5.12 留言查看模块界面图留言簿模块的留言模块界面如图 5.13 所示:图 5.13 留言簿留言模块界面图5.

44、5 管理员模块5.5.1 功能描述该模块主要功能是实现对本系统的后台维护,对项目的信息的管理,如项目的基本信息,系统配置信息的操作等等。该模块实现了系统与数据库进行交互的功能。管理员可以对该网站信息进行操作管理,屏蔽、删除一些恶意或过期信息。也可以进行信息的添加,管理。该模块和其他模块都有密切的关系,其他模块的信息全部提交到该模块进行处理。该模块是本系统的核心模块。该模块的流程图如图 5.14 所示:1.项目信息2.选项信息3.配置信息输入1.数据库更新1.返回操作信息处理输出图 5.14 管理员模块流程图张敏娟:苹果投票系统245.5.2 界面设计管理员模块的界面设计如图 5.15 所示:图

45、 5.15 管理员模块界面设计图5.6 客户模块5.6.1 功能描述客户模块的功能是客户添加项目信息包括项目题目,选择投票模式和系统配置。并且根据所选模式对选项进行添加。5.6.2 界面设计客户模块的界面设计图如图 5.14 所示:张敏娟:苹果投票系统25图 5.14 客户模块界面图张敏娟:苹果投票系统26第 6 章 编码测试本章节主要包括了一些该系统中,主要的功能,及其实现该功能的主要代码。以及对后来对该系统进行的测试运行结果进行了简单介绍。本章节只对该系统的主要功能作演示,附带主要源码,具体实现细节,请查看源程序。6.1 登录模块用户登录系统时,选择不同身份进行登陆,跳转到响应页面,如果该

46、用户为未注册用户,则提示相应提示信息,用户名或密码错误不存在等。6.1.1 编码1相应源代码如下:if (this.RadioButton1.Checked)/第一个按钮响应/管理员身份 string strsql = select count(*) from admin where name=name and psw=psw; int b = Convert.ToInt32(db.executeGetReturn(strsql); if (b = 0) Response.Write( alert(用户名和密码错误!); else if (TextBox3.Text = SessionChec

47、kCode.ToString() Response.Redirect(delete.aspx?admin=+this.TextBox1.Text.ToString(); else Response.Write( alert(验证码错误,请重新输入验证码!); 张敏娟:苹果投票系统27if (this.RadioButton2.Checked)/客户身份 string str = select count(*) from guest where name=name and psw=psw; int b = Convert.ToInt32(db.executeGetReturn(str); if

48、(b = 0) Response.Write( alert(用户名和密码错误!); else if (TextBox3.Text = SessionCheckCode.ToString() Response.Redirect(guest.aspx?guest=+this.TextBox1.Text.ToString(); else Response.Write( alert(验证码错误,请重新输入验证码!); 6.1.2 测试测试用例图如图 6.1 所示:Check 模块Check 内容输入条件期望结果测试次数测试结果用户登录模块管理员登录管理员(xiaomi)登录成功,转到管理员页面。10O

49、K用户登录模块管理员登录非管理员(xiaopeng)登录不成功,停留在该页10OK用户登录模块客户登录注册客户(dami)登录成功,转到添加投票项页面。10OK用户登录模块管理员登录注册客户(xiaomi)登录不成功,停留在该页10OK用户登录模块未注册用户登录未注册客户(Safdsag)登录不成功,停留在该页10OK用户登录模块用户注册跳转到注册界面5OK图 6.1 登录模块测试用例图张敏娟:苹果投票系统28该功能经过测试,运行良好,达到预期效果,该功能完整实现。6.2 用户投票模块当用户进行投票时,需要对用户的 IP 和时间进行检测,判断用户是否可以进行投票,如果是相同的 IP,在间隔很短

50、的时间进进行重复投票是不允许的。6.2.1 编码1在本系统中,把该功能封装成一个方法,可以在每次需要判断的时候进行调用,提高运行效率,同时减少代码重复,增强了程序的可读性。以下是 IP 的检测判断代码: public bool isIP() /检测是否已投过票 flag = false; string IP = Request.ServerVariables.Get(Remote_Addr).ToString(); string strsql = select count(*) from voter where ip= + IP + and id= +a; int c = Convert.To

51、Int16(db.executeGetReturn(strsql); if (c = 0) /此IP第一次对此项目投票 flag = true; else /此用户与针对此项目投过票 flag = false; return flag;以下是时间的检测判断代码:public bool checkTime() /检测投票时间是否合格 flag = false; string IP = Request.ServerVariables.Get(Remote_Addr).ToString();张敏娟:苹果投票系统29 string strsql = select datediff(s,voteTime

52、,getdate() from voter where ip= + IP + and id= +a; string m = select checkTime from voteConfig where id= + a; long c = Convert.ToInt64(db.executeGetReturn(strsql); int b = Convert.ToInt16(db.executeGetReturn(m); if (c 0) this.Label2.Text=留言成功!;else this.Label2.Text=留言成功!;6.4.2 测试留言模块的测试用例图如图 6.4 所示:

53、Check 模块Check 内容输入条件期望结果测试次数测试结果留言模块留言内容合法字符串运行正常20OK留言模块留言内容过长字符串提示错误20OK留言模块恢复内容合法字符串运行正常20OK留言模块回复内容过长字符串提示错误20OK图 6.4 留言模块测试用例图经测试,该模块功能,运行良好,达到预期效果。张敏娟:苹果投票系统36第 7 章 结束语时间如流水,岁月不停留。转眼之间,我们的实训生活就要结束了。而与之更早的是我们的毕业的日子也逐步逼近。回想在青岛呆的这段时间,虽然时间不长,竟有种百感交集的感觉。记得刚开始来青岛的时候,我完全被青岛的美丽所折服。青岛实在是一个美丽的海滨城市,这里的空气

54、那么清新,风景那么漂亮,当地居民也很热情和善。当然我青岛给我的感受现在也还未变。只是,可能出过远门的朋友们都会知道,即使再好的一个地方,我们刚到的时候也总会感到不习惯。刚来青岛那段时间就是,日子过的很苦,每天除了看到听到或者吃到一些新鲜的东西以外,我们一个有 16 个小时待在软件园里。而待在软件园里,对我们来说就是说我们至少有 14 个小时,坐在椅子上对着电脑敲代码,效率并不高,但是却实在鼓不起勇气出去玩耍。我们都是奔着一个目标来的,大家是朋友也是对手,每个人都顶着很大的压力学习。由于我们学校给我们打下了良好的基础,所以我在这里感觉压力相对来说没有那么大,但是,即使是这样,面临就业的压力,也一

55、样让我不能释怀。朋友老师亲人都曾问过我,这里怎么样,那时我的回答是很好。我用笑脸回应了他们,而事实上,即使再好也总有不好的地方。来青岛也一样,毕竟远离了自己的亲人朋友们,有时候不免有些孤单伤怀。不过,这一切很快就过去了。时间过的很快,在我们快乐或痛苦,或者不经意的时候,悄悄流走了。我渐渐的习惯了,习惯了一种生活状态,习惯了一种压力状态。老师说的对,人在任何时候都是由压力的,只不过有时候会由于某种原因淡化这种感觉。我不知道我是由于何种原因淡化了或者麻木了这种感觉。我现在并未找到工作,压力是肯定有的,但是也许我学会了面对,觉得困难也不过如此,工作是迟早要找到的,只是时间与际遇的问题。也许是我认识到

56、了更新的东西,有的时候我们不该急于一时。机会很多,遍地都是,关键是我们有去抓住的力气和勇气。从郑州中原工学院里走出来,来到青岛,像是离开家的孩子,总是在某个不经意的瞬间想起母校,想起那些常在身边的人。我来到青岛之后,总是深切的怀念我的老师同学们,想着与他们之间的快与不快,所有的种种,都在思念中化作一股浓情,包容所有。苹果投票系统是我利用课余时间,自己完成的一个小项目,虽然项目较小,但由于开发时间很紧,人数限制,再加上这是 B/S 结构的(我的 A 基础较差),能做到这个样子,我自己感觉还是比较满意的。我在青岛学到了很多东西,有些零碎的知识点,抽张敏娟:苹果投票系统37象的架构体系,还有日常的人

57、际交流,自我包装等等,等等。我觉得人总是在向前迈步,有时候迈的步子大一些,有时候迈的步子碎一点,但是不论我们走的缓与急,只要我们在不断进步,不断朝着正确的方向前进,那么我们就无愧于我们自己,无愧于父母,无愧于关心我们的师生朋友。记得刚来青岛时的一个愿望是,想去海里游泳。这个愿望到现在终于还是没有实现,第一是时间的原因,我们平时比较忙,连去看海从来到现在也只去了一次,别说游泳了,第二是气候的原因,青岛的气候,在我看来是有点滞后的感觉,当其他城市开始过春天的时候,青岛的人们还穿着大棉袄在街头吹冷风,而当其他城市开始天气炎热,步入夏季的时候,青岛的春才踱着小步姗姗而来,而且,青岛有长长的春天,直到现

58、在青岛的气温还徘徊在十几度左右。这样青岛的海水温度自然不适宜游泳。不过我也没有太大失望,因为这给我更多的留在青岛的理由。以后总会有更多的机会。我一定会学会游泳的。现在,要暂别青岛,回去母校了,心里有些感慨。要见到别了许久的恩师故友了,要去跟自己的母校分别了,回去郑州,再回来这里我就不再是一个学生了,我今生的学生生涯就要在此画上句号了,心里有点莫名的感觉,有些小小的期盼,却有大大的伤感跟不舍。岁月匆匆,转眼间我们真的长大了。半年的时间说长不长,然而说短也不短。在这里的感慨也一言难尽,总之,半年我收获了很多,成长了许多。我不会就此止步的。我要不断朝着自己梦想的地方迈进,一步步的,我相信自己终有一天

59、会成功!张敏娟:苹果投票系统38参考文献1 陈家祺. 运动图像处理在车型识别中的应用J. 汽车工程,1998,20(6): 3433462 陈家祺. C 程序设计教程M. 北京:新华出版社,1999.113 Shihang S. Fuzzy self-organizing controller and its application for dynamic processesJ . Fuzzy Sets and Systems, 1998,26:151164 4 Kaare Christian. Borland C+ Techniques & UtilitisM . Ziff-DavisPre

60、ss,1993张敏娟:苹果投票系统39附录 A: 主要源程序苹果投票系统软件的源程序/-/用户登录系统时的代码,选择不同身份进行登陆,跳转到响应页面if (this.RadioButton1.Checked)/第一个按钮响应/管理员身份 string strsql = select count(*) from admin where name=name and psw=psw; int b = Convert.ToInt32(db.executeGetReturn(strsql); if (b = 0) Response.Write( alert(用户名和密码错误!); else if (Te

61、xtBox3.Text = SessionCheckCode.ToString() Response.Redirect(delete.aspx?admin=+this.TextBox1.Text.ToString(); else Response.Write( alert(验证码错误,请重新输入验证码!); if (this.RadioButton2.Checked)/客户身份 string str = select count(*) from guest where name=name and psw=psw; int b = Convert.ToInt32(db.executeGetRet

62、urn(str); if (b = 0) Response.Write( alert(用户名和密码错误!); else if (TextBox3.Text = SessionCheckCode.ToString() 张敏娟:苹果投票系统40 Response.Redirect(guest.aspx?guest=+this.TextBox1.Text.ToString(); else Response.Write( alert(验证码错误,请重新输入验证码!); /-/-/IP 检测代码public bool isIP() /检测是否已投过票 flag = false; string IP =

63、Request.ServerVariables.Get(Remote_Addr).ToString(); string strsql = select count(*) from voter where ip= + IP + and id= +a; int c = Convert.ToInt16(db.executeGetReturn(strsql); if (c = 0) /此IP第一次对此项目投票 flag = true; else /此用户与针对此项目投过票 flag = false; return flag;/-/时间检测代码/- public bool checkTime() /检测

64、投票时间是否合格 flag = false; string IP = Request.ServerVariables.Get(Remote_Addr).ToString(); string strsql = select datediff(s,voteTime,getdate() from voter where ip= + IP + and id= +a; string m = select checkTime from voteConfig where id= + a;张敏娟:苹果投票系统41 long c = Convert.ToInt64(db.executeGetReturn(str

65、sql); int b = Convert.ToInt16(db.executeGetReturn(m); if (c 0) this.Label2.Text=留言成功!;else this.Label2.Text=留言成功!;/-张敏娟:苹果投票系统45/-/留言显示绑定代码public void dataGridBind() curPage = this.lblPageCur.Text.ToString(); SqlConnection con = db.getcon(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = selec

66、t * from leaveWord; cmd.Connection = con; SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = cmd; DataSet ds = new DataSet(); sda.Fill(ds, leaveWord); PagedDataSource pds = new PagedDataSource(); pds.AllowPaging = true; pds.PageSize = 3; pds.DataSource = ds.TablesleaveWord.DefaultView; pds.CurrentPageIndex = Convert.ToInt32(curPage)-1; this.lblPageTotal.Text = pds.PageCount.ToString(); this.Button3.Enabled = true; this.Button4.Enabled = true; if (curPage = 1) this.Button3.Enabled = f

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!