ImageVerifierCode 换一换
格式:DOCX , 页数:83 ,大小:818.78KB ,
资源ID:27090541      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27090541.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络选举投票管理系统报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络选举投票管理系统报告.docx

1、网络选举投票管理系统报告中原工学院软件学院软件工程实践二设计任务书姓 名杜春静 Java 专业 104 班题 目网络选举投票系统的设计与实现设计任务设计一个功能完善的网络选举投票系统,该程序界面简洁大方,按照用户的需要进行投票项目的管理,具体功能如下:1. 用户端登录,输入正确的账户和密码,登录成功后进行投票和查询历史记录的操作。2. 管理员登录,输入正确的账户和密码,登录后可对各种投票项目进行管理。开发工具:My Eclipse6.5 数据库:Mysql使用技术:jdbc、servlet、filter开发环境:WindowsXP时间进度第1周(2013-2-252013-3-1):完成软件的

2、需求分析,总体设计和详细设计,并构造出一个大体的软件模型,构造出其体系结构,画出其系统模块图,并写出初步的文档;第2周(2013-3-42013-3-8):主要是对系统进行详细设计,划分出具体的功能模块,根据模块进行界面设计,编码及单元测试;第3周(2013-3-112013-3-15):主要是对系统的测试,以及纠错,加强对软件的功能设计,添补遗漏;然后对文档进行适当的修改。原 主始 要资 参料 考与 文 献01 刘京华 JavaWeb整合开发王者归来M:清华大学出版社.02 张帆 Java范例开发大全M:清华大学出版社.03 李钟尉、陈丹丹 Java开发实战1200例 M:清华大学出版社.

3、2006.604 千丽霞 Java项目开发案例全程实录M:北京.清华大学出版社. 2004.505 孙卫琴 Tomcat与Java Web开发技术详解M: 电子工业出版社. 2005.2指导教师签字: 年 月 日网络选举投票系统设计与实现摘 要随着Internet技术的快速发展,如今很多服务行业都需要进行服务的反馈,以便更好的提高产品的质量和作出更好的服务,投票系统就是一个反馈信息的软件,通过它可以更好更快捷的反馈信息供服务商参考,同时在公司单位内需要进行各种投票项目进行领导和员工间的互动,以供公司高层了解下面同事的最新动态,同时通过网络投票系统在各种精选活动中可以大大提高公平性与公正性,采用

4、计算机机票提高了选举效率。因此开发一个供客户反馈信息,供同事间进行交流的平台是必要的。(1)方便的操作。原有的手工投票管理基本上是人工管理,效率低下,缺乏方便性,在线投票管理系统运用计算机及其他附属设备,不再需要人工操作,基本上实现自动化,能够节省人力,最大限度的节省各种宝贵的资源,大大提高效率。(2)友好的界面。友好的用户界面会给人一种亲切感,在使用起来不会觉得沉闷,效率大大提高。关键词: 网络; 投票; JSP摘 要 1第1章 项目分析 11.1 问题描述 11.2技术分析 11.3工程进度计划 3第2章 系统分析与设计 42.1 系统分析 42.1.1 参与者 42.1.2 用例及用例规

5、约 42.1.3用例图 62.2 系统设计 62.2.1顺序图 62.2.2类图 82.2.3系统体系结构设计 112.3 数据库设计 132.3.1 E-R图 142.3.2关系模式 142.3.3表的设计 15第3章 实现与测试 173.1查看项目模块 173.1.1活动图 173.1.2界面 183.1.3代码分析 183.1.4测试用例 203.2新建项目模块 203.2.1活动图 213.2.2界面 213.2.3代码分析 223.2.4测试用例 223.3停止项目模块 233.3.1活动图 233.3.2界面 243.3.3代码分析 243.3.4测试用例 253.4恢复项目模块

6、253.4.1活动图 253.4.2界面 263.4.3代码分析 263.4.4测试用例 27第4章 结束语 28附录A: 主要源程序 31第1章 项目分析项目分析是对该系统具有功能的大致介绍,包括设计该系统的问题描述、技术分析、该系统的工作进度计划等内容。项目分析是对该系统的总体概述。这次我们做的系统名称是网络选举投票系统。1.1 问题描述当前正处于信息时代的繁荣时期,消费者对网站和企业的要求逐渐由单纯对质量的要求转变为不仅要求质量同时要求用户的体验和意见反馈及处理的方式。在这样的情况下,一款专门应用与网络的网络选举投票系统就显的极为重要。网络投票选举系统主要用来进行公司的各种投票和公司内部

7、网的热点话题的意见收集与反馈,通过这些数据使公司高层尽快掌握员工的思想动态和各种工作需求,同时大大提高各种用于活动的竞选效率。投票系统具有极大的灵活性,可以进行单选或多选投票,自动记录登录者的ID防止恶意刷票的出现,管理员也可以在线设计不同的投票主题供用户进行投票。1)普通用户登录后即可对当前进行的投票项目进行投票。2)管理员登录后即可对当前正在进行的投票项目进行结束,删除,添加等操作。用户: 面向所有公司内部员工,拥有正确的工号号和登录密码。管理员:公司内部管理员,拥有正确的登录帐号和密码。1.2技术分析Java是一种动态加载和运行的语言。也就是说当应用程序持有一个类的地址(CLASSPAT

8、H)和名称(包名和类名)的情况下,可以在程序运行期间任何时候加载这个类,并创建和使用该类的对象。Servlet就是基于这个机制与Web容器融合在一起的。目前已知的所有支持Java Servlet的Web容器都是采用Java开发的。当Web容器接收到来自客户端的请求信息之后,会根据URL中的Web元件地址信息到Servlet队列中查找对应的Servlet对象,如果找到则直接使用,如果没有找到则加载对应的类,并创建对象。也就是说,Servlet对象是在第一次被使用的时候才创建的,并且一旦创建就会被反复使用,不再创建新的对象。所有创建出的Servlet对象会在Web服务器停止运行的时候统一进行垃圾回

9、收。为了解决客户端请求地址与Java Servlet之间对应关系问题,Web容器需要一个用来描述这种对应关系的文件,一般是web.xml文件。如果一个Web应用程序中存在很多个Servlet,那么web.xml会变得非常庞大。在Servlet 3.0规范推出之后,允许在Servlet代码中使用声明式语法来代替web.xml中的描述信息,这才让web.xml瘦身下来。所有的程序运行都需要有一个必要的运行环境。这个环境可以是软件,也可以是硬件,或者是软件和硬件的结合。比如说Windows操作系统需要运行在硬件基础上;Office软件需要运行在操作系统上。并且程序与运行环境之间会有一定的数据交换,比

10、如操作系统会将运行指令传递给硬件,硬件也会将指令运行结果传递给操作系统。Java Web程序也需要一个运行环境才能够执行。这种运行Java Web程序的环境被称为Web容器,Java Web程序与Web容器之间存在数据交互。目前主要存在两种类型的Java Web容器:一种是独立的Java Web容器,在这种容器里面只能运行Web程序,这种容器一般也叫做Web服务器,如Tomcat等;另一种是与其他Java EE容器混合在一起的Web容器,Web容器负责运行Web程序,其他容器负责运行EJB等程序,如WebLogic等。当用户通过浏览器等Web客户端软件向服务器发出一个请求之后,首先接收到这个请

11、求的是Web容器,Web容器会将请求信息封装到一个HttpServletRequest类型的Java对象中,并将对象传递给Java Web程序。对于每个请求,Web容器还会创建一个HttpServletResponse类型对象,该对象的作用是用来保存需要返回到浏览器等客户端的内容。Java Web程序可以从HttpServletRequest提取用户发出的请求信息,进行适当的处理之后,将处理结果放置HttpServletResponse中,然或由Web容器解析HttpServletResponse对象内容,并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端。在这个过程中,Http

12、ServletRequest和HttpServletResponse就如同两条渡船,负责在Web容器和Java Web程序之间传递信息。需要注意的是,这两个对象仅存在于Web容器和Java Web程序当中,与浏览器没有关系。1.3工程进度计划表1.1 工程进度计划表模块名称开发时间编码人员后台集成、调试登陆界面1宋晓梅所有人员调试时间为1天管理员功能模块5杜春静用户功能界面5吴文文恢复项目模块5杜春静终止项目模块5杜春静添加项目模块5杜春静浏览项目模块5杜春静添加用户模块5宋晓梅删除用户模块5宋晓梅添加参选者模块5吴文文删除参选者模块5吴文文用户投票模块5吴文文用户查看个人投票历史记录模块5吴

13、文文重新登陆模块1宋晓梅退出模块1宋晓梅备注:组长:杜春静 组员:吴文文、宋晓梅、杜春静第2章 系统分析与设计网络投票选举系统主要用来进行公司的各种投票和公司内部网的热点话题的意见收集与反馈,通过这些数据使公司高层尽快掌握员工的思想动态和各种工作需求,同时大大提高各种用于活动的竞选效率。该系统立足课本,运用平时课本所学知识,来完成基本操作,并适当延伸知识点,培养自己动手的能力。并能更好的提高编程水平。2.1 系统分析需求分析及系统设计说明:本系统是针对众多用户对项目参选人的投票,需要能够显示每个项目的参选人的票数,且对于每个用户同一个项目的参选人只能进行一次投票,并实现管理对项目的开放和关闭。

14、针对以上需求,管理员应对参选者、用户和项目具有管理权限(增、删、改、查)。用户具有对项目参选人投票及个人投票记录查询的权限。2.1.1 参与者本项目的参与者都有:管理员、用户、参选者2.1.2 用例及用例规约表2.1 系统用例汇总表【A管理员 B用户】编号用例编号用例名称参与者备注1UC-01登录系统A、B2UC-02添加项目A3UC-03终止项目A4UC-04恢复项目A5UC-05添加参选者A6UC-06删除参选者A7UC-07添加用户A8UC-08删除用户A9UC-09查看项目A10UC-10个人投票记录B11UC-11投票B12UC-12重新登录系统A、B13UC-12退出系统A、B表2

15、.2管理员停止当前项目用例规约用例名称停止当前项目参与者管理员用户功能描述将此正在进行的投票项目停止并删除至历史记录前置条件管理员账户必须登录成功基本事件流点击“停止投票”按钮备选事件流E-1:如果点击后无反应,请刷新后重试。后置条件如果用例执行成功,系统发生相应改变。如果执行不成功,系统状态不变。业务规则必须有正确的管理员账户表2.3查询历史项目并恢复用例规约用例名称查询历史记录并恢复参与者管理员用户功能描述用户可以查询以前的投票项目及结果并回复至正在进行继续进行选举前置条件用户成功登录管理员账户基本事件流(1)进入系统后,点击“历史项目”后,此用例开始;(2)系统调用数据库中标记为已结束的

16、项目(3)系统从数据库中找出所要查询的信息,并显示出来;(4)点击“恢复项目”按钮(5)系统修改数据库中信息。(6)在正在进行页面显示此项目并可以继续进行投票。备选事件流E-1:点击恢复如无反应,请刷新后重试。后置条件如果用例执行成功,系统发生相应改变。如果执行不成功,系统状态不变。业务规则已经标记为结束的记录存在于数据库中表2.4新建投票项目用例规约用例名称新建投票项目参与者管理员用户功能描述创建新的投票项目前置条件用户成功登录基本事件流填写参选人信息并提交备选事件流若填写信息不规范则无法提交成功、可重填后置条件如果执行成功,系统发生相应改变。如果执行不成功,系统状态不变。业务规则主键必须进

17、行设置2.1.3用例图图2.1用例图 2.2 系统设计本系统前台采用MVC框架,采用jsp+servlet+JavaBean。本着易用、可靠、实用性原则,采用模块化设计,将系统分解为管理员和用户两个模块。管理员管理权限和角色、登录以及项目的相关操作,用户则是对参选者进行投票。2.2.1顺序图图2.2管理员查看顺序图图2.3管理员新建项目顺序图图2.3管理员停止项目顺序图图2.4管理员恢复项目顺序图2.2.2类图 图2.4Dao包业务层类 图2.5 voter实体类 图2.6 Manager实体类 图2.7 Redocer实体类 图2.8 Projecter实体类 图2.9 UserRecode

18、r实体类 图2.10 User实体类图 图2.11 ProRecoder实体类图2.12过滤器类图图2.13 HistoryProject控制类图图2.14 HistoryUser控制类图图2.15 ListProject控制类图图2.16 ManagerHistoryProject类图 图2.17 ManagerListProject类图图2.18 ManagerListUser类图图2.19 ManagerListVoter类图图2.20 ManagerMessage类图图2.21 Manager控制类图图2.22 ManagerView类图图2.23 UserView类图图2.24 Vo

19、te控制类图图2.25 数据库连接类图2.2.3系统体系结构设计设计原则:模块化:本系统采用模块化的设计,如每个类中的具体方法,由一个方法块构成,可以方便的被系统中的其他类或者方法调用以实现预定的功能;抽象类: 本系统还采用许多抽象类和接口,以实现访问层与数据库之间的连接;信息隐藏:系统代码编写过程中隐藏了帐户密码,这样可以确保使用时的安全性。高内聚:系统中的每个类都具有相应的独立性和功能特性,其内都有各自具体的方法来实现不同的功能;低耦合:各个类之间有一定的联系,但是依赖性不大,可以避免因为子程序之间的复杂关系产生更多的错误;简单化:本系统设计的界面清晰,简明,性能可靠,操作简单;实用性能:

20、该系统可以满足校园内进行的各种投票选举操作。系统模块划分如图2.1 所示:图2.26功能结构图各子系统主要功能如下:1)登录: 用户输入正确的账号和密码,进入系统; 2)投票; 普通用户对正在进行的项目进行投票;3)新建: 管理员用户发起一个新的投票项目;4)查询: 普通用户查询本人帐号以前的投票记录,管理员用户查询已经停止的投票项目;5)恢复: 管理员用户对已经结束的投票项目进行恢复至正在进行;总体设计说明:表示层:应用程序的用户界面部分。为了方便操作采用统一简明的界面与用户交互登陆后即可对账户进行各种操作。;数据层:有数据的存储及对数据的存取操作。以及数据源正确连接。服务器层:对数据库中的

21、数据进行各种操作。此B/S体系结构中服务器中主要功能:(1)从客户端接收数据请求。(2)处理数据请求。(3)格式化结果并传送给客户机。(4)执行完整性检查。(5)提供并行访问控制。2.3 数据库设计数据是企业运作过程中不可缺少的重要部分,建立自己的数据资料库是提高企业整体竞争力的关键因素。对于程序而言,安全完整地保存客户的信息是一种责任,因此,数据库设计就成了整个软件开发中重要的一个环节。一旦数据设计出现问题,软件就会出现问题,某些功能的使用就发挥不了最大作用。所以,为了更好地开发数据库,了解信息的来源以及信息的流向是头等大事。对于客户的整个操作流程,都要亲身参与,才能客观地掌握数据资料的真实

22、性,为设计良好的数据库打下基础。本章主要介绍如何收集客户的数据资料,并将其转化为程序需要的数据资源。对于本系统,管理员拥有对参选者的voter表、用户的user表添加删除的功能,对项目的project表恢复终止的功能,用户有对个人投票记录userrecoder表查询的功能,存储历史项目的prorecoder表,参选人项目报名的recoder表。2.3.1 E-R图 图2.27 E-R图2.3.2关系模式本次课题经过最初小组讨论,确定voter类、recoder类、manager类、project类、user类、prorecoder类、userrecoder类七个基本类。系统中有三个实体:管理员

23、、用户和参选者。1.voter( voterId int(20),voterAge int(50),voterIndex int(8),voterName Varchar(255),voterSex Varchar(8),voterWord Varchar(255),voterProject Varchar(30),voterBool Boolean) voterId为主键;2.recoder( recoderId int(20),chooseName Varchar(255),chooseProject Varchar(255)) recoderId为主键;3.manager(manager

24、Id int(20),managerName Varchar(255),managerPassword Varchar(50)) managerId为主键;4.project(proId int(20),proName Varchar(255),proNumber int(20),proShow Varchar(255),proBool Boolean) proId为主键;5.user(id int(20),password Varchar(50),name Varchar(255))id为主键;6.prorecoder(recProId int(20),recProName Varchar(

25、255)) recProId为主键;7.userrecoder(rId int(20),rIndex int(8),rName Varchar(255),rProject Varchar(255),rChooseName Varchar(255),rBool Boolean) rId为主键。2.3.3表的设计表2.1 参选人信息(voter)表名voter列名数据类型(精度范围)空/非空约束条件voterIdint(20)非空主键voterNameVarchar(255)非空无voterSexVarchar(8)非空无voterWordVarchar(255)非空无voterIndexint(

26、8)非空无voterAgeint(50)非空无voterProjectVarchar(255)非空无voterBoolBoolean非空无voterPasswordVarchar(255)非空无表2.2 管理员信息表(manager)表名manager列名数据类型(精度范围)空/非空约束条件managerIdint(20)非空主键managerPasswordVarchar(50)非空无managerNameVarchar(255)非空无表2.3 普通用户信息表(user)表名user列名数据类型空/非空约束条件idint(20)非空主键passwordVarchar(50)非空无nameVa

27、rchar(255)非空无表2.4项目信息表(project)表名project列名数据类型空/非空约束条件proIdint(20)非空主键proNameVarchar(255)非空无proNumberint(20)非空无proShowVarchar(255)非空无proBoolBoolean非空无表2.5 用户记录信息表(userrecoder)表名userrecoder列名数据类型空/非空约束条件rIdint(20)非空主键rIndexint(8)非空无rProjectVarchar(255)非空无rNameVarchar(255)非空无rChoosenameVarchar(255)非空无

28、rBoolBoolean非空无表2.6项目参选人表(recoder)表名recoder列名数据类型(精度范围)空/非空约束条件recoderIdint(20)非空主键chooseNameVarchar(255)非空无chooseProjectVarchar(255)非空无表2.7历史项目表(prorecoder)表名prorecoder列名数据类型(精度范围)空/非空约束条件recProIdint(20)非空主键recProNameVarchar(255)非空无第3章 实现与测试实现该系统的功能,并对实现的功能进行相应的测试工作,包括功能模块,活动图,界面和代码3.1查看项目模块管理员登录系统后,选择某一项目,查看项目参选人信息。3.1.1活动图图3.1管理员查看项目活动图3.1.2界面图3.2管理员选择项目界面图3.3管理员查看项目界面3.1.3代码分析此功能的主要代码是ManagerListProjectServlet.java,主要思路是通过一个servlet判断是否显示所有信息,是否结束一个,是否开始一个。SuppressWarnings(serial)/关闭序列化警告。public class ManagerListProjectServlet extends HttpServlet / 创建一个HttpServletResponse类型对象,该对象的作用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1