2.系统分析
2.1 系统需求分析
2.1.1 总体需求分析
通过对我们之所以采用投票的方式来处理生活、工作、学习中遇到的问题的现象的分析,结合现代Internet技术,我所设计的投票系统应该具有以下功能:
(1)具有分布式投票,查看结果,评论等功能;
(2)系统采用B/S模式;
(3)具有计算负载分布合理、配置灵活、易于文护、便于扩展、性能可靠等突出优点,支持面向对象的大型数据库系统。如:SQL Server等,可处理大容量数据,并具有高安全性和可靠性[9]。
2.2.2 系统主要功能分析
按照系统总体需求,系统要实现以下功能:
(1)登录模块:根据不同身份登录到系统;
(2)投票模块:用户可以根据不同主题进行投票,以及查看投票基本信息;
(3)查看投票结果模块:用户可以查看投票结果;
(4)评论留言模块:用户可以查看,发表评论等功能;
(5)系统管理:管理员可以设置投票主题、投票时间、IP限制等功能。
2.2 系统流程
系统要实现以上各项功能,对各项功能进行集中、分块,按照结构化程序设计的要求,得到系统流程图如图1所示。
图1 系统流程图
3.数据库设计
3.1 数据库需求分析
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
用户的需求具体体现在投票,投票结果查看,评论等功能。通过投票过程的内容和数据流程的分析,设计如下所示的模块:
(1)登录管理:根据用户级别不同实现不同登录;
(2)投票处理:可以查看投票主题,根据不同主题进行投票;
(3)投票结果展示:以图形化的方式展示投票结果;
(4)系统管理:设置投票主题,IP限制,路径管理等功能。
3.2 系统E-R图
系统E-R图如图2所示。
图2 系统E-R图
3.3 数据库表设计
本系统使用SQL Server 2008作为后台数据库,数据库中一共建立了5张表,包括投票主题表、投票子项表、用户表、评论表、投票IP表,分别介绍如下:
(1)投票主题表,此表主要记录了投票项目的信息,包括投票主题ID、投票主题名、总投票数、结束时间、开始时间。具体内容见表1所示。
表1 投票主题表
字段名 是否主键 字段类型 字段长度/bit 是否为空 备注
Id 是 Int 16 否 投票主题ID
voteTitle 否 Varchar 50 否 投票主题名
voteSum 否 Int 16 否 总投票数
endTime 否 Datetime 32 否 结束时间
Starttime 否 Datetime 32 否 开始时间
(2)投票子项表,此表主要记录了投票子项目的信息,包括投票主题ID、子项ID、投票项名称、子项投票数。具体内容见表2所示。
表2 投票子项表
字段名 是否主键 字段类型 字段长度/bit 是否为空 备注
Id 是 Int 16 否 投票主题ID ASP.NET+SQL Server在线投票系统的设计与实现(2):http://www.youerw.com/jisuanji/lunwen_4986.html