[关键词] 在线评选;SSM;JSP;MVC
需求分析
本项目是供社团内部成员及广大学生进行在线评选,并生成评选数据的一个WEB系统平台。主要实现在线评选的功能以及投票管理。每学期学校开展评选活动时,学生可以选择自己喜欢的社团或在平时表现积极突出成绩优异的社团进行在线评选并浏览投票结果。设有初始管理员,当新增管理员时,必须通过初始管理员登录才能添加。管理员可以修改密码。管理员可以后台管理投票结果,并对社团信息进行日常管理,使社团的日常情况一目了然,更方便大家进行投票。在投票过程中,学生们可以查看到各项投票内容的结果,结果以柱状图显示。除此之外,本系统还设置了用户管理功能,使本系统使用更加便捷。
在本系统中,预期达到如下功能:
1.投票时,增加了社团的主页链接,不了解该社团的投票者可以随时查看该社团相关信息;
2.用户可以进行评选,并可查看评选结果,管理员可以设计不同的评选主题供用户进行评选;
3.支持投票开关,管理员可以控制是否开启投票功能;
4.后台各个模块的管理操作更简易;
5.管理员的管理界面简洁易操作;
6.支持用户前台页面选择投票种类;
7.投票结果以柱状图显示。
3.2 系统功能模块分析
学生社团在线评选系统按照用户类型划分,可分为两个大模块:用户模块、管理员模块。
用户模块包括:信息浏览模块、投票模块。
管理员模块包括:社团信息管理模块,投票管理模块,系统管理模块。
每个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。每个模块的功能都是按照在调研中搜集的资料进行编排制作的。
按照功能划分可分为管理员登陆及修改密码,学生投票,管理员日常管理和查看投票结果四大块。
登陆及修改密码模块分析:
管理员在主页面输入用户名、密码和图形验证码。如果用户名或密码没有填写,系统提示错误“用户名不能为空”或“密码不能为空”;如果用户名或密码错误,系统提示错误“用户名或密码错误”。正确输入用户名、密码和图形验证码之后,系统提示登录成功,并自动跳转的各自的操作页面。
在操作页面里,可以进行修改密码的操作,点击“修改密码”按钮,系统即跳转到修改密码页面,用户按提示输入原始密码,新密码并确认密码。点击“确定”后,新密码被更新到数据库中,覆盖原来密码,然后系统跳转到登录页面,用户需要使用新密码重新登录系统。
学生投票模块分析:
学生用户成功从操作页面登录后,可以进入投票页面,投票页面有各社团的名称,按列排列,点击社团名称后方链接可进入社团主页,查看社团的情况,了解清楚后,可点击“投票”按钮,系统提示“投票成功!”,则该投票信息被输入到投票表中,这个表提供给管理员和学生查看投票的情况。同时,本系统设置了防止相同IP重复投票的功能。投票成功后,将参加过投票的IP写入数据库中,当用此IP再次进行投票时,系统提示“此IP已投过票!”,此时则不能重复投票。从而达到防止相同IP进行重复投票的功能。
管理员日常管理模块分析:
管理员首先从登陆页面成功登陆后,进入一个后台管理页面,可以选择查看、修改和删除各投票项目的基本信息,查看投票情况,创建新投票,创建新管理员,修改管理员密码等操作。管理员也可以通过查看数据库,直接看到存在数据库中的关于投票情况的详细统计表。
查看投票结果模块分析:
管理员和学生都可以查看投票的情况。学生在自己的页面中只能查看社团的所有投票情况。管理员可以查看不同社团的所有投票情况。所有的投票情况都是从投票表里读出。
目 录
1 绪论 1
1.1 概述 1
1.1.1 选题背景 1
1.1.2 国内外发展概况 1
1.2 课题意义 1
1.3 可行性研究 2
2 关键技术 3
2.1 开发环境介绍 3
2.1.1 MyEclipse集成开发环境 3
2.1.2 数据库服务器 3
2.1.3 JSP简介 3
2.2 MVC设计模式介绍 4
2.3 SSM框架介绍 5
2.3.1 Struts2.0框架 5
2.3.2 Spring 核心机制及容器 6
2.3.3 Hibernate技术概述 7
2.4 SSM整合 8
3 系统分析 9
3.1 需求分析 9
3.2 系统功能模块分析 10
3.3 系统结构分析 11
4 系统的概要设计 13
4.1 系统功能模块的设计 13
4.2 数据库的相关设计 15
4.2.1 使用数据库的优点 15
4.2.2 数据库详细设计 15
4.2.3 数据库表设计 16
4.3 系统协作图 18
5 系统的详细设计及实现 18
5.1 登录模块 18
5.2 投票模块 20
5.3 管理员日常管理模块 20
5.4 查看投票结果模块 21
6 测试报告 22
6.1 测试概述 22
6.1.1 编写目的 22
6.1.2 测试范围 22
6.2 测试内容 22
6.2.1 内容与功能检查 22
6.2.2 容错性与易用性测试 23
6.3 测试用例设计方法举例 23
6.3.1 输入域测试 23
6.3.2 页面控件检查 24
6.3.3 功能测试 24
结束语 26
参考文献 27
附录 28
致谢 31