JSP

网页应用程序开发

JSP教学09 投票系统的设计

教学目的:以投票系统为例,了解Web应用项目的设计过程

9.1 需求描述

设计一个最简单的在线投票系统,要求实现以下功能:

- 显示所有投票项,访问者可以选择其中一项并点击投票按钮完成投票。
- 显示当前投票情况,包括各投票项的票数、总票数、得票率,并以柱形图直观表示。
- 提供后台维护,管理员可以添加和删除投票项
- 提供防止访问者重复投票的机制

9.2 功能设计

根据需求进行功能设计,使用简单的文本描述设计思路:

1)投票:首页使用表单提交投票信息,一个投票项对应一个单选钮
2)显示投票情况:查看投票情况页显示各选项的票数、总票数、得票率,以柱形图片的宽度直观表示
3)后台维护-管理员登录:登录页使用表单提交账号和密码,验证通过后进入后台维护首页
4)后台维护-删除投票项:后台维护首页显示所有投票项和对应的删除链接
5)后台维护-添加投票项:后台维护首页使用表单提交新投票项信息
6)防止重复投票:访问者投票的同时提交其IP地址信息,之后相同IP地址的访问者即无法再投票

可以使用DW创建各个静态页面作为系统的界面原型。

对于更复杂系统的功能设计可分为初步设计和详细设计,初步设计为系统划分出功能模块,详细设计为各模块的具体实现确定思路。

在设计阶段还可以绘制模块结构图、系统流程图和界面原型图等作为辅助。

9.3 数据库设计

根据功能要求确定使用的数据库系统及数据表结构(字段名和类型说明):

1)管理员表admin

管理员ID:id 自动编号,主键
管理员帐号:name 文本(50)
管理员密码:password 文本(50)

2)投票信息表voteinfo

投票项ID:id 自动编号,主键
投票项名称:item 文本(50)
投票项得票数:count 数字(长整型)

3)投票者IP表voteip 

投票者ID:id 自动编号,主键
投票者IP:ip 文本(15)

以上是一个最简化的投票系统数据库结构,可在此基础上继续加以完善。

对于更复杂的数据库结构应该使用表格来描述,并绘制数据表间关系图。

评论:

发表评论:
该文章禁用评论功能。