系统建模与实现题目:基于JSP的网上投票系统设计与实现学院数学与信息科学专业信息与计算科学班级09信计1班姓名学号0910020015、0910020022、0910020010摘要随着科技的飞速发展,计算机已经广泛的应用于各个领域之中,而且日趋普及。
在计算机应用中很重要的一部分就是编程语言,它的出现打开了计算机应用的新篇章。
选举、调查不再局限于以往的方式,在线投票系统以更便捷、更快速、更经济、更准确的优势广泛应用于各种网络投票选举、问卷调查中。
它将用户和网站很好的联系起来,进而达到互联网资源共享的目的。
在线投票系统可以用来统计网站用户对某个主题或热门话题的意见。
网站管理员也可以通过在线投票系统这个媒介去了解用户的思想、意见,并通过在线投票系统的结果反馈改进工作策略。
本系统采用JSP中常见的语言模块,以操作系统Windows XP作为开发平台,并且使用MyEclipse、SQLserver 2000等工具设计开发;在线投票系统包括前台注册、登录、投票、结果查看和后台管理等部分,管理员可随意增删和修改投票项目,可管理投票用户账号,以及设定隐藏、公布投票结果等功能。
【关键词】在线投票系统 JSP MyEclipse SQLserver 2000目录摘要 (2)1.需求分析 (5)1.1系统介绍 (5)1.2需求的提取 (5)2 开发工具简介 (6)3.分析与设计 (7)3.1 系统结构图 (7)3.2 系统用例图 (10)3.3类模型 (12)3.4状态模型 (12)3.5 时序图模型 (14)3.6 数据库功能模板设计 (18)4.系统的详细设计 (20)4.1用户登录模块的设计 (20)4.1.1程序描述 (20)4.1.2功能描述 (20)4.1.3性能 (21)4.1.4输入项 (21)4.1.5输出项 (21)4.1.6流程逻辑 (21)4.2管理员管理模块的设计 (21)4.2.1程序描述 (21)4.2.2功能描述 (21)4.2.3性能 (22)4.2.4输入项 (22)4.2.5输出项 (22)4.2.6流程逻辑 (23)4.3用户投票和投票结果查看模块设计 (23)4.3.1程序描述 (23)4.3.2功能描述 (23)4.3.3性能 (25)4.3.4投票输入项 (25)4.3.5结果输出项 (25)4.3.6流程逻辑 (25)4.4管理员对主题、选项和用户信息的编辑模块的设计 (25)4.4.1程序描述 (25)4.4.2功能描述 (25)4.4.3性能 (26)4.4.4输入项 (26)4.4.5输出项 (26)4.4.6流程逻辑 (26)5. 系统的效果图展示 (26)5. 1用户模块界面展示 (27)5-1-1用户登录界面 (27)5-1-2用户注册界面 (27)5-1-3用户注册成功界面 (28)5-1-4用户投票界面 (28)5-1-5用户投票成功界面 (28)5-1-6用户查看投票结果界面 (28)5.2管理员模块界面展示 (28)5-2-1管理员登录界面 (29)5-2-2管理员后台管理界面 (29)5-2-3管理员查看所有统计结果 (29)5-2-4管理员添加主题界面 (30)5-2-5管理员编辑选项界面 (30)5-2-6用户管理界面 (30)5-2-7管理员修改密码界面 (31)6. 系统测试 (31)总结 (33)参考文献 (34)用户操作手册 (34)附录 (35)小组分工表 (35)1.需求分析1.1系统介绍本投票系统主要分为普通用户和管理员两部份。
普通用户登录后可以进行投票和查看投票结果;管理员登录后可以进行管理投票话题和管理投票项。
“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一个话题只能投一次票。
“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计图。
“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。
“管理投票话题”用例负责为管理员提供添加和删除话题的功能。
“管理投票项”用例负责为管理员提供添加和删除选项的功能。
1.2需求的提取1.2.1在线投票系统应具有的独特的功能:(1)方便的操作。
原有的手工投票管理基本上是人工操作,效率低下,缺乏方便性,在线投票管理系统运用计算机和其他附加设备,不再需要手工操作,基本上是全自动化,能够节省人力、最大限度地利用各种宝贵的资源,大大的提高了效率。
(2)友好的界面。
友好的用户界面会给人一种亲切的感觉,在使用起来不会觉得沉闷,效率自然也会提高了。
(3)强大的功能,能够满足需要,快速简单的统计任务,提高质量。
1.2.2在线投票系统需要满足的条件:(1)系统自动把投票结果转换为百分比显示。
(2)投票管理员可以对投票主题和投票选项进行设计与修改。
1.2.3在线投票系统开发应遵循以下要求:(1)尽量采用现有软硬件环境及先进的系统开发方案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
(2)系统应具有可扩展、可复用的特点,能与投票系统接轨,数据库的设计应该具有通用性。
(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于系统维护人员的调试与修改维护。
(4)系统应具备数据库维护功能,及时根据需要进行数据的添加、删除、修改等工作。
2 开发工具简介在在线投票系统的设计发开过程中主要用了JSP技术,其中用到的工具有:JDK1.4、MyEclipse、SQLserver 2000、Tomcat等。
2.1.JSP简介JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段和JSP,从而形成JSP文件。
JSP技术使用Java编程语言编写类XML的tags 和scriptlets,来封装产生动态网页的处理逻辑。
在线投票系统用JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使本系统基于Web的应用程序的开发变得迅速和容易。
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是现而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.2.SQLserver 2000简介SQLServer 2000 是Microsoft 公司推出的SQLServer 数据库管理系统,SQL Server 2000 数据库系统使用最常用的数据库管理语言——结构化查询语言(SQL)进行数据库管理。
它具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用;SQL Server 2000 SQL Server 2000 不但结合了分析、报表、集成和通知功能,而且它具有的图形化用户界面,可以使系统管理和数据库管理更加直观、简单;SQL Server2000与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。
SQL Server2000也可以很好地与Microsoft BackOffice产品集成。
SQL Server2000因为其速度、可靠性和适应性而备受关注。
针对以上种种情况,SQL Server 2000 数据库是在线投票系统最好的选择。
3.分析与设计3.1 系统结构图在线投票系统总体功能模块包括普通用户模块和管理员模块,其具体描述如下:1.普通用户模块(1)用户注册:普通投票用户须通过账号注册方可以进行投票;(2)登录:注册成功后,可输入用户名和密码登录系统;(3)重选:用户可以进行重新投票;从以上介绍中我们能看到,普通用户模块包含着3个不同的功能,其各部分功能关系如图3-1-1所示。
图3-1-1 普通用户模块图2.管理员模块(1)发布新问题;(2)用户管理,管理员可以增加和删除普通用户(超级用户不能删除),或者更改普通用户密码;(3)查看所有投票;从功能描述的内容中可以看到,管理员模块可以实现添加投票话题、删除投票话题、增加投票项、删除投票项、公布结果和查看投票结果6个完整的功能,并且不同功能之间也存在着一些直接或间接联系,如图2-1-2所示。
图3-1-2 管理员模块图3.系统的流程图:在线投票系统的流程图包含了该系统的投票原理与主要制作方法。
从流程图上我们可以看到在线投票系统需要经过登录、显示投票项、取得投票参数、累加投票数、将投票写入数据库和显示投票结果等步骤,其流程图,如图3-1-3所示。
图3-1-3投票流程图3.2 系统用例图图3-2-1普通用户用例图图3-2-2管理员用例图如图3-2-1所示,整个系统主要有三个参与者,分别为普通用户和管理员。
数据库为系统的所有用例提供数据,保证系统的正常运作。
系统的用例主要有五个,分别为:投票、查看投票结果、登录、管理投票话题、管理投票项。
“投票”用例主要的功能是普通用户对某个投票话题进行投票,在用户进行投票时检测用户是否已经投票了该话题,保证每个用户都一个话题只能投一次票。
“查看投票结果”用例负责为用户提供某个话题的投票情况,包括每个选项的票数以及统计饼图。
“登录”负责核对管理员的用户名与密码,保证管理员身份的正确性。
“管理投票话题”用例负责为管理员提供添加和删除话题的功能。
“管理投票项”用例负责为管理员提供添加和删除选项的功能。
3.3类模型图3-3-1 系统实体类类图3.4状态模型图3-4-1管理员管理投票系统状态图图3-4-2主题设计子状态图3.5 时序图模型3-6-1普通用户登录的时序图图3-6-2普通用户投票的时序图图3-6-3 普通用户查看投票情况的时序图图3-6-4 管理员登录的时序图图3-6-5 管理员添加投票话题的时序图图3-6-6管理员删除话题的时序图图3-6-7管理员增加投票项的时序图图3-6-8 管理员删除投票项的时序图3.6 数据库功能模板设计数据库设计是软件开发中的重要环节,是对系统数据全面的、详细的分析。
数据库设计的好坏直接关系到整个项目设计的效率的高低,关系到设计的稳定性。