网络选举投票管理系统报告
- 格式:doc
- 大小:2.03 MB
- 文档页数:59
桂林航天工业学院课程设计存档材料https:///ALI1416/Network-V oting-System/课程名称:软件建模课程设计开课学期: 2018—2019学年第二学期专业:软件工程班级:姓名:学号:指导老师:报告日期:2019年6月21日桂林航天工业学院课程设计任务书设计题目:网络投票管理系统设计指导教师:教研室主任:年月日本科课程设计报告课程名称软件建模技术开课学期 2018-2019第2学期(2019春) 学院计算机科学与工程学院题目网络投票管理系统设计专业班级学号学生姓名指导教师报告日期2019年6月21日成绩:课程设计评分标准目录第1章系统需求 (1)1.1 问题域描述 (1)1.2 系统需求 (1)第2章需求分析 (2)2.1 系统参与者 (2)2.2 系统用例 (2)2.3 用例图 (3)2.3.1 未登录者用例图 (3)2.3.2 登录者用例图 (3)2.3.3 管理员用例图 (3)2.4用例的事件流描述 (3)2.4.1 注册用例图事件流描述 (3)2.4.2 登录用例图事件流描述 (4)2.4.3 注销用例图事件流描述 (4)2.4.4 发布投票用例图事件流描述 (5)2.4.5 查看投票用例图事件流描述 (6)2.4.6 维护投票用例图事件流描述 (7)2.4.7 编辑个人信息用例图事件流描述 (7)第3章系统静态模型 (8)3.1 实体类 (8)3.1.1 用户实体类 (8)3.1.2 发布投票实体类 (9)3.1.3 投票选项实体类 (10)3.1.4 投票记录实体类 (10)3.2 界面类 (11)3.2.1 主界面类 (11)3.2.2 注册界面类 (11)3.2.3 登录界面类 (11)3.2.4 查看投票界面类 (12)3.2.5 发布投票界面类 (12)3.2.6 查看投票详情界面类 (12)3.2.7 查看我发布的界面类 (12)3.2.8 编辑投票界面类 (12)3.2.9 查看我投的票界面类 (12)3.2.10 查看我的信息界面类 (12)3.3 类图 (13)3.3.1 用户界面类图 (13)3.3.2 实体类图 (13)第4章系统动态模型 (14)4.1 顺序图 (14)4.1.1 登录顺序图 (14)4.1.2 查看发布顺序图 (14)4.1.3 发布投票顺序图 (15)4.1.4 投票顺序图 (15)4.1.5 修改个人信息顺序图 (16)4.2 通信图 (16)4.2.1 登录通信图 (16)4.2.2 查看发布通信图 (17)4.2.3 发布投票通信图 (17)4.2.4 投票通信图 (17)4.2.5 修改个人信息通信图 (17)4.3 活动图 (18)4.3.1 登录活动图 (18)4.3.2 查看发布活动图 (18)4.3.3 发布投票活动图 (19)4.3.4 投票活动图 (19)4.3.5 修改密码活动图 (20)4.4 状态机图 (20)4.4.1 用户状态机图 (20)4.4.2 发布的投票状态机图 (20)4.4.3 投票选项状态机图 (20)第5章数据库设计 (21)5.1 E-R模型 (21)5.2 表清单 (21)5.2.1 用户表 (21)5.2.1 发布的投票表 (22)5.2.1 投票选项表 (22)5.2.1 投票记录表 (22)第6章物理模型 (23)部署图 (23)第7章程序实现 (24)7.1 注册、登录模块 (24)7.2 首页、查看投票模块 (24)7.3 查看投票详情模块 (26)7.4 发布新的投票模块 (27)7.5 查看我的发布模块 (27)7.6 查看投票详情模块 (28)7.7 查看我投的票模块 (28)7.8 查看我的信息、修改密码模块 (29)7.9 查看用户信息、批量导入导出用户模块 (29)总结 (30)附件 (31)第1章系统需求1.1 问题域描述在网络投票管理系统中,要为每一个发布者建立一个账户,其中账户中存储ID、账户名、密码、个人信息等。
在线投票系统设计实现摘要:如今社会高速发展,伴随社会飞速进步,生活节奏明显加快,信息已然成为我们生活中特别重要的一部分。
很多公司需要通过大量的信息来更好的掌握用户的需求。
这时他们往往会耗费大量的人力和资金,采用对用户散发投票表的方式,然后对收集到的信息进行统计分析,,从而获得有效信息。
然而,传统的这种收集方法耗费资金、效率低下、花费时间过长,为了改善这一情况,我开发了这套基于J2EE技术的在线投票系统。
本系统使用MyEclipse进行开发,用TomcatTomcat6.0作为后台服务器,主要使用的开发语言是J2EE,后台使用MySQL作为数据库管理系统。
系统的主要功能包括:注册登陆、后台管理、参与在线投票、投票项目的查询、增添和修改以及投票结果统计等。
系统用户主要分为管理员用户和注册用户两大类。
关键词:在线投票,B/S结构,J2EE目录摘要....................................................................................... 错误!未定义书签。
第一章绪论........................................................................... 错误!未定义书签。
1.1课题背景 (1)1.2目的和意义 (1)1.3开发工具及技术 (1)1.3.1开发工具 ............................................................................. 错误!未定义书签。
1.3.2 J2EE (2)1.3.3 JavaScript (2)1.3.4运行环境 (2)第二章需求分析 (2)2.1可行性分析 (2)2.1.1技术的可行性 (2)2.1.2经济的可行性 (3)2.1.3操作可行性 (3)2.1.4法律的可行性 (3)2.2系统用户用例图 (3)2.2.1管理员用例图 (3)2.2.2普通用户用例图 (4)2.3功能模块需求分析 (4)2.4基本设计思想 (5)2.5性能需求 (5)第三章系统分析与设计 (6)3.1数据库的分析与设计 (6)3.1.1数据库的概念结构设计 (6)3.1.2数据库的逻辑结构设计 (7)3.1.3数据库的连接原理 (9)第四章系统功能实现 (9)4.1系统登陆页面实现 (13)4.2总体功能模块 (14)4.2.1投票信息管理 (15)4.2.2投票结果统计 (16)4.2.3系统公告管理 (18)4.2.4修改个人密码 (20)4.2.5安全退出系统 (20)4.3普通用户模块 (20)4.3.1系统主页面实现 (20)4.3.2投票信息查询 (21)4.3.3用户注册 (21)4.3.4参与在线投票 (22)4.3.5添加在线投票 (23)第五章系统测试 (25)5.1系统测试目的与意义 (25)5.2测试过程 (25)5.2.1登陆模块测试 (26)5.3测试结果 (26)结束语 (27)参考文献 (28)ABSTRACT (29)1.1课题背景在线投票作为搜集第一手数据或材料的常用方法,具有应用面广、收集数据便捷、研究成本较低的优势。
目的:提供给学生参与科学研究和技术开发的机会,使得学生得到科研工作的基本训练。
促进教学与科研相结合,培养学生的科研意识,团队精神和协作能力。
通过科研训练使学生逐步形成严谨的科学研究作风和学术道德品质,锻炼和提高实践能力。
要求:指导教师下达训练题目并分配任务,由学生组成研究小组(1-2人),在下面题目中自由选题,独立或合作完成训练题目,每组学生要进行调查研究、文献查阅、方案设计、撰写开题报告、方案实施、结果分析、完善设计方案、撰写总结报告等过程。
要求学生熟练掌握程序设计、数学、数据结构与算法、数据库以及软件工程等相关知识。
一、进度安排及主要内容第 1、2 学时老师下达科研训练题目分配任务,第 3、4 学时根据题目要求撰写开题报告第 5、6 学时根据题目要求和开题报告开始系统详细设计第 7、8 学时按照系统设计文档开始系统的开发第 9、10 学时继续系统的开发和测试工作、完善系统第 11、12 学时修补bug、撰写科研训练总结二、科研训练题目及要求题目名称:在线投票管理系统的设计与实现题目要求:建立一个在线的投票管理系统.目标系统的主要功能是让用户根据一个主题以及相关的投票选项,选出正确的一个或者多个选项内容。
通过互联网进行投票,不仅可以提高投票效率,而且能实时地查看投票结果。
另外需要实现后台管理功能,管理员输入正确的密码之后,进入后台管理,可以对投票主题进行管理,如:添加、删除、修改投票主题,设置当前投票主题以及设置选项为多选或单选等。
同时为了防止恶意刷票等,需要实现验证码,限制IP等必要措施。
具体要求:(1)设计出数据库,完整实现整个目标系统。
(2)界面友好、操方便;(3)进行全面的需求分析;(4)软件开发文档齐全、重要算法描述清楚。
三、研宄的目的及意义与以往的投票方式相比,电子投票的优势是其他投票方式难以望其项背的。
由于投票方式的信息化,操作更加便捷、快速、也更高效,具备更强的适应能力。
这样的新型的投票方式,没有任何的形式上的限制,不需要对投票进行记录,减少了结果的误差。
一、实训背景随着互联网技术的飞速发展,网络投票系统在各个领域得到了广泛应用。
为了提高我们的专业技能,加强实践能力,我们进行了网络投票系统实训。
本次实训旨在让我们深入了解网络投票系统的原理、设计和实现,提高我们在网络编程、数据库管理和网络安全等方面的综合能力。
二、实训目标1. 理解网络投票系统的基本原理和设计思路;2. 掌握网络投票系统的开发流程和关键技术;3. 提高网络编程、数据库管理和网络安全等方面的实际操作能力;4. 培养团队协作和沟通能力。
三、实训内容1. 网络投票系统需求分析根据项目需求,网络投票系统应具备以下功能:(1)用户注册与登录;(2)投票创建与管理;(3)投票结果展示;(4)投票数据统计与分析;(5)系统安全与维护。
2. 网络投票系统设计(1)系统架构设计:采用B/S(Browser/Server)架构,分为前端和后端两部分。
前端采用HTML、CSS、JavaScript等技术实现用户界面;后端采用Java、Python或PHP等编程语言实现业务逻辑处理。
(2)数据库设计:采用MySQL数据库,设计用户表、投票表、选项表、投票结果表等,用于存储用户信息、投票信息、选项信息、投票结果等数据。
(3)功能模块设计:①用户模块:实现用户注册、登录、修改个人信息等功能;②投票模块:实现投票创建、管理、查看、投票等功能;③结果展示模块:展示投票结果,包括投票数、得票率等;④数据统计与分析模块:对投票数据进行统计分析,为用户提供决策依据;⑤系统维护模块:实现系统日志记录、数据备份与恢复等功能。
3. 网络投票系统实现(1)前端开发:使用HTML、CSS、JavaScript等技术实现用户界面,实现用户注册、登录、投票等功能。
(2)后端开发:使用Java、Python或PHP等编程语言实现业务逻辑处理,包括用户管理、投票管理、结果展示、数据统计与分析等。
(3)数据库操作:使用MySQL数据库进行数据存储、查询、更新等操作。
在线投票系统的设计与实现在线投票系统的设计与实现摘要在积极建⽴科学管理机制的今天,仅仅靠原始的⼿⼯管理或简单的单机管理,管理部门⾯对⼤量的信息,⽆法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。
投票管理者的决策只能依据⼿⼯表数据,在浪费⼤量⼈⼒、物⼒的同时⽆法做到实时监控,难以保证数据的准确性和及时性。
因此,先进的管理思想就成为了⼀个可望⽽不可及的⽬标。
投票⾮常急需⼀套既有先进管理思想的系统,作为实现⽬标和提⾼现有投票管理⽔平的⼀种重要⼿段。
随着科学技术的不断提⾼,计算机科学⽇渐成熟,其强⼤的功能已为⼈们深刻认识,它已进⼊⼈类社会的各个领域并发挥着越来越重要的作⽤。
作为计算机应⽤的⼀部分,在先进的计算机技术、通信技术、控制技术及IC 卡技术基础上,采⽤系统集成⽅法,逐步建⽴⼀个智能化的投票系统。
编写在线投票系统,最重要的⼀点就是如何从烦琐的投票结果中,导出全部投票项⽬的票数,然后根据投票项⽬的各个票数,进⾏票数百分⽐计算,最后编辑出在线投票系统.关键词: ASP 投票 ACCESS 设计AbstractBe building up vote to manage today of mechanism actively, only depend originality of the handicraft manage or the simple single machine manage,management Dept. public appearance to a great deal of information, can't efficiently will among them of importance part withdraw, and do a judgment and the processing for corresponding.Decision which votes governor can according to the statement data,at waste a great deal of manpower, material resources can't in the meantime attain actually supervise and control, the accuracy of hard assurance data with in time sex.Therefore, the forerunner's management thought carried out and then becamed an inaccessible target in the vote.The vote needs the management information that a set of current forerunner manages thought system urgently very much, is a kind of important means which carries out a target and raises an existing vote a management level.The technical along with science of raise continuously, the calculator science is gradually mature, the its strong function has already been people's deep understanding, it has already entered each realm of the society ofmankind to erupt to flick a more and more important function. Be a calculator applied one part, the teaching mission's arrange in order is a hard nut to crack, numerous high schools, research organizations and personals carried on a great deal of research and the development work from the theories and fulfillment. Keyword: ASP VOTE Access Database第⼀章前⾔1.1 开发背景1.1.1 开发的⽬的和意义随着INTERNET 的发展,世界⽹民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的⼀些信息,⽽应把范围扩展到全国,甚⾄全世界,INTERNET 恰恰是实现这⽬标的有利⼯具。
投票情况工作汇报背景为了让团队工作更加民主、透明,我们在最近的几个会议上开始使用投票来决定各种事情。
对于某些重要的事项,我们还将投票结果反馈给领导团队以及公司管理层,以便他们了解团队的思考和决策过程。
投票工具我们选择了一款名为“Slido”的在线投票工具,它可以轻松地让会议参与者使用手机或电脑进行投票。
使用该工具有以下几个优点:1.无需安装应用程序或扩展程序,只需要访问指定的网址,即可使用。
2.相较于传统的手举票或标记纸条,投票结果更加准确和高效。
3.可以匿名投票,保护用户的隐私。
4.支持多种类型的投票,如选择题、多项选择题、开放式问题等。
投票情况在过去的一个月中,我们进行了多次投票,以下是几个有代表性的案例:投票1: 议题优先级在公司最近的部门会议上,我们需要就新产品开发的三个重要议题进行讨论,投票结果如下:议题投票结果产品功能52%用户体验24%市场需求24%我们根据投票结果进行了最终的决策,并向领导团队进行了反馈。
投票2: 会议安排在最近的团队例会上,我们讨论了下一次会议的日程安排。
投票结果如下:日程投票结果工作汇报40%团队建设30%技术分享20%其他10%我们根据投票结果调整了会议的日程安排,并记录了这个过程以便后续参考。
投票3: 编程语言在最近的一次团队沙龙活动上,我们讨论了是否在项目中使用一种新的编程语言。
投票结果如下:选择投票结果支持使用60%反对使用20%不确定20%我们根据投票结果决定进行一些试验来评估新编程语言对项目的影响,并针对投票结果进行了一些讨论和澄清。
进一步思考在使用投票工具的过程中,我们遇到了需要进一步思考的一些问题:•投票过程中可能存在的偏差。
如何在投票中考虑这些偏差,从而得到更好的结果?•投票结果可能受到投票人口的影响。
如何确保投票样本的代表性,在满足“民主”与“透明”要求的同时,得到更准确的结果?•投票结果如何变成更好的决策?在决策过程中,除了投票结果之外,还需要考虑哪些因素?我们将在未来几周内继续探讨这些问题,并研究更有效的方法和工具来帮助团队更好地进行投票和决策。
在线投票系统设计一、系统概述在线投票系统是一种基于互联网的投票平台,旨在为广大用户提供便捷、高效、公正的投票环境。
本系统设计遵循易用性、安全性、可扩展性原则,以满足不同场景下的投票需求。
二、系统功能模块1. 用户注册与登录模块为实现用户身份认证,系统提供用户注册与登录功能。
用户可通过手机号、邮箱等方式进行注册,设置密码后即可登录系统。
登录后,用户可参与投票、查看投票结果等。
2. 投票项目管理模块系统管理员可创建、编辑、删除投票项目。
投票项目包括:投票主题、选项、投票时间、投票规则等。
管理员可根据实际需求,灵活设置投票项目参数。
3. 投票模块用户登录后,可进入投票页面。
系统为每个投票项目唯一的投票,用户即可参与投票。
投票过程中,系统将实时统计投票结果,保障投票公正性。
4. 投票结果查看模块投票结束后,用户可查看实时投票结果。
系统以图表形式展示各选项得票情况,便于用户了解投票结果。
5. 数据统计与分析模块系统后台自动统计投票数据,投票报表。
管理员可通过报表了解投票参与人数、投票分布情况等,为决策提供数据支持。
6. 安全防护模块(1)用户身份验证:用户需注册并登录后才能参与投票,防止恶意刷票。
(2)数据加密:系统对用户信息和投票数据进行加密存储,保障数据安全。
(3)访问控制:系统限制恶意IP访问,防止攻击行为。
三、系统架构设计1. 客户端:采用前后端分离的设计模式,前端使用HTML、CSS、JavaScript等技术实现用户界面,后端采用Java、PHP等语言开发业务逻辑。
2. 服务器端:采用分布式架构,包括数据库服务器、应用服务器和文件服务器。
数据库服务器存储用户数据和投票数据,应用服务器负责处理业务逻辑,文件服务器存储静态资源。
3. 网络通信:采用HTTP/协议进行数据传输,确保数据安全性。
四、系统开发与实施1. 需求分析:深入了解用户需求,明确系统功能模块和性能指标。
2. 系统设计:根据需求分析,设计系统架构、数据库结构、界面布局等。
网络投票系统设计开题报告范文国内外研究下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!网络投票系统设计开题报告一、引言随着信息技术的迅猛发展,网络投票系统作为一种便捷高效的民主参与工具,受到了广泛关注和应用。
网络投票系统测试用例设计(总9页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--滁州职业技术学院2014-2015学年第一学期(12软件)《软件测试实战》期末大作业网络投票系统测试用例设计班级:软件2班学号:224姓名:查志祥考核日期:目录一、被测软件项目介绍(总计25分)....... 错误!未定义书签。
1.软件背景(4分)................. 错误!未定义书签。
2.投票模块的功能需求分析(7分)... 错误!未定义书签。
3.登入模块的功能需求分析(7分)... 错误!未定义书签。
4.后台管理模块的功能需求分析(7分)错误!未定义书签。
二、测试用例设计(总计60分)............ 错误!未定义书签。
1.用户登入模块的测试用例(20分).. 错误!未定义书签。
2.管理员登入模块的测试用例(20分)错误!未定义书签。
3.用户投票模块的测试用例(20分).. 错误!未定义书签。
三、缺陷报告(总计10分)................ 错误!未定义书签。
四、总结(总计5分)..................... 错误!未定义书签。
一、被测软件项目介绍(总计25分)1.软件背景(4分)本投票系统主要分为普通用户和和管理员两部分。
普通用户登入后可以进行投票和查看投票的结果;管理员登入后可以进行管理投票的话题和管理投票项。
“投票”主要的功能是普通用户对某个投票话题进行投票保证每个用户每个话题只能投一次票或一个多选票。
“查看投票结果”主要是快速提供每个用户对某个话题进行详细的情况,包括每个话题的票数和统计图“登入”是对管理员和普通用户的用户名和密码进行进行核对。
保证管理员的身份和普通用户的身份正确性。
管理员可以添加和删除话题功能,普通用户可以进行投票和查看功能2.投票模块的功能需求分析(7分)通过对用户的需求调查分析,可以概括出用户的功能需求如下:单选投票:用户只能从多个选项中选出一个进行投票。
中原工学院软件学院软件工程实践二设计任务书指导教师签字:年月日网络选举投票系统设计与实现摘要随着Internet技术的快速发展,如今很多服务行业都需要进行服务的反馈,以便更好的提高产品的质量和作出更好的服务,投票系统就是一个反馈信息的软件,通过它可以更好更快捷的反馈信息供服务商参考,同时在公司单位内需要进行各种投票项目进行领导和员工间的互动,以供公司高层了解下面同事的最新动态,同时通过网络投票系统在各种精选活动中可以大大提高公平性与公正性,采用计算机机票提高了选举效率。
因此开发一个供客户反馈信息,供同事间进行交流的平台是必要的。
(1)方便的操作。
原有的手工投票管理基本上是人工管理,效率低下,缺乏方便性,在线投票管理系统运用计算机及其他附属设备,不再需要人工操作,基本上实现自动化,能够节省人力,最大限度的节省各种宝贵的资源,大大提高效率。
(2)友好的界面。
友好的用户界面会给人一种亲切感,在使用起来不会觉得沉闷,效率大大提高。
关键词:网络;投票;JSP目录摘要 (1)第1章项目分析 (1)1.1问题描述 (1)1.2技术分析 (1)1.3工程进度计划 (3)第2章系统分析与设计 (4)2.1系统分析 (4)2.1.1参与者 (4)2.1.2 用例及用例规约 (4)2.1.3用例图 (6)2.2系统设计 (6)2.2.1顺序图 (6)2.2.2类图 (8)2.2.3系统体系结构设计 (11)2.3数据库设计 (13)2.3.1E-R图 (14)2.3.2关系模式 (14)2.3.3表的设计 (15)第3章实现与测试 (17)3.1查看项目模块 (17)3.1.1活动图 (17)3.1.2界面 (18)3.1.3代码分析 (18)3.1.4测试用例 (20)3.2新建项目模块 (20)3.2.1活动图 (21)3.2.2界面 (21)3.2.3代码分析 (22)3.2.4测试用例 (22)3.3停止项目模块 (23)3.3.1活动图 (23)3.3.2界面 (24)3.3.3代码分析 (24)3.3.4测试用例 (25)3.4恢复项目模块 (25)3.4.1活动图 (25)3.4.2界面 (26)3.4.3代码分析 (26)第4章结束语 (28)附录A: 主要源程序 (31)第1章项目分析项目分析是对该系统具有功能的大致介绍,包括设计该系统的问题描述、技术分析、该系统的工作进度计划等内容。
项目分析是对该系统的总体概述。
这次我们做的系统名称是网络选举投票系统。
1.1问题描述当前正处于信息时代的繁荣时期,消费者对网站和企业的要求逐渐由单纯对质量的要求转变为不仅要求质量同时要求用户的体验和意见反馈及处理的方式。
在这样的情况下,一款专门应用与网络的网络选举投票系统就显的极为重要。
网络投票选举系统主要用来进行公司的各种投票和公司内部网的热点话题的意见收集与反馈,通过这些数据使公司高层尽快掌握员工的思想动态和各种工作需求,同时大大提高各种用于活动的竞选效率。
投票系统具有极大的灵活性,可以进行单选或多选投票,自动记录登录者的ID防止恶意刷票的出现,管理员也可以在线设计不同的投票主题供用户进行投票。
1)普通用户登录后即可对当前进行的投票项目进行投票。
2)管理员登录后即可对当前正在进行的投票项目进行结束,删除,添加等操作。
用户:面向所有公司内部员工,拥有正确的工号号和登录密码。
管理员:公司内部管理员,拥有正确的登录帐号和密码。
1.2技术分析Java是一种动态加载和运行的语言。
也就是说当应用程序持有一个类的地址(CLASSPATH)和名称(包名和类名)的情况下,可以在程序运行期间任何时候加载这个类,并创建和使用该类的对象。
Servlet就是基于这个机制与Web容器融合在一起的。
目前已知的所有支持Java Servlet的Web容器都是采用Java开发的。
当Web容器接收到来自客户端的请求信息之后,会根据URL中的Web元件地址信息到Servlet队列中查找对应的Servlet对象,如果找到则直接使用,如果没有找到则加载对应的类,并创建对象。
也就是说,Servlet对象是在第一次被使用的时候才创建的,并且一旦创建就会被反复使用,不再创建新的对象。
所有创建出的Servlet对象会在Web服务器停止运行的时候统一进行垃圾回收。
为了解决客户端请求地址与Java Servlet之间对应关系问题,Web容器需要一个用来描述这种对应关系的文件,一般是web.xml文件。
如果一个Web应用程序中存在很多个Servlet,那么web.xml会变得非常庞大。
在Servlet 3.0规范推出之后,允许在Servlet代码中使用声明式语法来代替web.xml中的描述信息,这才让web.xml瘦身下来。
所有的程序运行都需要有一个必要的运行环境。
这个环境可以是软件,也可以是硬件,或者是软件和硬件的结合。
比如说Windows操作系统需要运行在硬件基础上;Office软件需要运行在操作系统上。
并且程序与运行环境之间会有一定的数据交换,比如操作系统会将运行指令传递给硬件,硬件也会将指令运行结果传递给操作系统。
Java Web程序也需要一个运行环境才能够执行。
这种运行Java Web程序的环境被称为Web容器,Java Web程序与Web容器之间存在数据交互。
目前主要存在两种类型的Java Web容器:一种是独立的Java Web容器,在这种容器里面只能运行Web程序,这种容器一般也叫做Web服务器,如Tomcat等;另一种是与其他Java EE容器混合在一起的Web容器,Web容器负责运行Web程序,其他容器负责运行EJB等程序,如WebLogic等。
当用户通过浏览器等Web客户端软件向服务器发出一个请求之后,首先接收到这个请求的是Web容器,Web容器会将请求信息封装到一个HttpServletRequest类型的Java对象中,并将对象传递给Java Web程序。
对于每个请求,Web容器还会创建一个HttpServletResponse类型对象,该对象的作用是用来保存需要返回到浏览器等客户端的内容。
Java Web程序可以从HttpServletRequest提取用户发出的请求信息,进行适当的处理之后,将处理结果放置HttpServletResponse中,然或由Web容器解析HttpServletResponse对象内容,并将解析结果以浏览器能够识别的HTML等格式返回给浏览器等客户端。
在这个过程中,HttpServletRequest和HttpServletResponse就如同两条渡船,负责在Web容器和Java Web程序之间传递信息。
需要注意的是,这两个对象仅存在于Web容器和Java Web程序当中,与浏览器没有关系。
1.3工程进度计划备注:组长:杜春静组员:吴文文、宋晓梅、杜春静第2章系统分析与设计网络投票选举系统主要用来进行公司的各种投票和公司内部网的热点话题的意见收集与反馈,通过这些数据使公司高层尽快掌握员工的思想动态和各种工作需求,同时大大提高各种用于活动的竞选效率。
该系统立足课本,运用平时课本所学知识,来完成基本操作,并适当延伸知识点,培养自己动手的能力。
并能更好的提高编程水平。
2.1系统分析需求分析及系统设计说明:本系统是针对众多用户对项目参选人的投票,需要能够显示每个项目的参选人的票数,且对于每个用户同一个项目的参选人只能进行一次投票,并实现管理对项目的开放和关闭。
针对以上需求,管理员应对参选者、用户和项目具有管理权限(增、删、改、查)。
用户具有对项目参选人投票及个人投票记录查询的权限。
2.1.1参与者本项目的参与者都有:管理员、用户、参选者2.1.2 用例及用例规约2.1.3用例图查看项目添加用户删除用户添加参选人删除参选人参加投票图2.1用例图2.2 系统设计本系统前台采用MVC 框架,采用jsp+servlet+JavaBean 。
本着易用、可靠、实用性原则,采用模块化设计,将系统分解为管理员和用户两个模块。
管理员管理权限和角色、登录以及项目的相关操作,用户则是对参选者进行投票。
2.2.1顺序图: 管理员: frmMain: frmProjectManage : ProjectManage : SDProject图2.2管理员查看顺序图: 管理员 : frmMain : frmProjectManage : frmProjectDetail : ProjectManage : SDProject图2.3管理员新建项目顺序图: 管理员 : frmMain : ProjectManage: SDProject图2.3管理员停止项目顺序图: 管理员 : frmMain : ProjectManage: SDProject1.选择恢复项目2.请求恢复项目3.确定项目的合法性4.请求恢复项目5.恢复项目6.项目从历史项目列表转入项目列表图2.4管理员恢复项目顺序图2.2.2类图图2.4Dao包业务层类图2.5voter实体类图2.6 Manager实体类图2.7 Redocer实体类图2.8Projecter实体类图2.9 UserRecoder实体类图2.10 User实体类图图2.11 ProRecoder实体类图2.12过滤器类图图2.13 HistoryProject控制类图图2.14 HistoryUser控制类图图2.15 ListProject控制类图图2.16ManagerHistoryProject类图图2.17 ManagerListProject类图图2.18ManagerListUser类图图2.19 ManagerListVoter类图图2.20ManagerMessage类图图2.21 Manager控制类图图2.22 ManagerView类图图2.23 UserView类图图2.24Vote控制类图图2.25数据库连接类图2.2.3系统体系结构设计设计原则:模块化:本系统采用模块化的设计,如每个类中的具体方法,由一个方法块构成,可以方便的被系统中的其他类或者方法调用以实现预定的功能;抽象类:本系统还采用许多抽象类和接口,以实现访问层与数据库之间的连接;信息隐藏:系统代码编写过程中隐藏了帐户密码,这样可以确保使用时的安全性。
高内聚:系统中的每个类都具有相应的独立性和功能特性,其内都有各自具体的方法来实现不同的功能;低耦合:各个类之间有一定的联系,但是依赖性不大,可以避免因为子程序之间的复杂关系产生更多的错误;简单化:本系统设计的界面清晰,简明,性能可靠,操作简单;实用性能:该系统可以满足校园内进行的各种投票选举操作。
系统模块划分如图2.1 所示:图2.26功能结构图各子系统主要功能如下:1)登录:用户输入正确的账号和密码,进入系统;2)投票;普通用户对正在进行的项目进行投票;3)新建:管理员用户发起一个新的投票项目;4)查询:普通用户查询本人帐号以前的投票记录,管理员用户查询已经停止的投票项目;5)恢复:管理员用户对已经结束的投票项目进行恢复至正在进行;总体设计说明:表示层:应用程序的用户界面部分。