基于java的网上投票系统内容摘要:
第三章 系统分析 需求 分析 需求分析是软件工程中一个重要的过程, 在很长的一 段时间内,人们一直认为需求分析是软件开发过程中最简单的一部分,但需求分析的草率行事往往会使最终的软件产品不符合用户的要求,从而导致软件产品开发的失败。 下面就介绍在线投票系统的需求分析。 对于普通用户,在线投票系统在网页中显示需要调查的问题、接受用户的投票 ,并以统计 图示的方式显示当前调查结果。 如下图: 对于管理员用户,在线投票系统提供管理接口,管理员可以任意增加、修改、删除投票,如下图: 密码错误 密码正确 进入投票页 投票 查看结果 退出 管理员登录 判断 进入管理页 投票系统管理 退出 第四章 系统设计 总体 设计 为 了 更好地表述在线投票系统,这里将部分地使用 UML的建模图形。 用例图 (Use Case Diagram)提供一个系统环境的建模办式,它能够帮助系统分析师确定系 统内部利外部元素以及系统范围。 简单 来说,列例图由用例和参与者构成,其中用例是外部 可 见的一个系统功能单元;参与者是 与系统发 生交互 作用的外部用户、进程或其他系统的理想化概念。 在线投票系统的用例图下图所示 , 可 以识别出两个参与者,即系统管理员( Admin)和系统使用者 ( user)。 系统 管理员除了可以参加投票外还能对整个系统实施完全 的管理。 系统使用者只能参与投票升查看投票结果。 在线投票用例图 顺序图 ( Sequence Diagram)描述对象之问动态交互关系,着重体现对象间消息传递的时间顺序。 顺序图是一个二维图,纵 向 是时问轴,时间延竖线向下延伸;横向表示对象之间的消息传递。 对象之 间 的消息从一个对象的 生 命线(时问 轴 上的双道线 用箭头指向另一个对象的生命线。 用户参与投票的流程顺序图如下所示, 用户参与在线投票系统从进入投票模块开始,投票模块以网页的形式显示所有开放的问题,用户在选取符合他要求的投票项后单击“提交”按钮,他的投票数据将提交给数据模块,由数据模块保存到 SQL Server 2020 数据库中,从而完成投票提交的过程。 用户还可以查看某问题的投票 统计结果,用户 进入显示模块,显示模块从数据模块读取开放问题的投票数据,并以柱状统计图 的形式显示。 用户参与投票的流程 顺序 图 管理员增加新投票的过程从登录管理模块开始 ,管理员先把用户名和密码提交给登录模块,登求模块根据用户名到数据库中搜索其对应的密码,然后对比用户名是否存在以及管理员输入的密码是否币确。 如果用户名和密码正确,登录模块把用户信息提交到管理模块并提示用户登录成功,管理员在管理模块提交新投票数据,管理模块把新投票数据提交到数据模块并保存到数据库中,管理模块提示管理员操作成功,从而完成添加新投票的整个过程。 管理员添加新投票的流程顺序 图如下 : 管理员添加新投票的流程图 模块设计 在线投票系统大致可以分为客户投票模块、管理员模块以及数据处理模块 3部分。 客户投票 模块 用户投票模块包括 、 、 、 4个程序页面,具体的系统结构 如下图。 其中, 是用户投票的首页,用户登录在线投票系统后就自动跳转到该页面,该页面通过数据处理模块读取数据库中所有开放的问题并显示,用户可以选取一项或多项回答项并提交。 是数据接收页。 用户在 中 选择投票的回答项并提交,用户所选择的数据项被提交到 ,该页把这些数据项储存到数据库中,并提示用户投票数据提交成功。 是数据的显示页。 当用广在参加投票后可以查看该项投票的统计结果,该页就用柱状图的显示给出统计图和所有选择的百分比。 sp 足字符转换页,主要用于解决中文字符无法正确显示的问题。 在这里 用清晰易懂的顺序图来描述用户投票的过裎中上述页面间的互相协作以及消息交互。 客户投票模块各页面间的顺序图如图所示。 管理员模块 管理员模块由用户登录页面、新增投票页面、编辑投票页面组 成,具体的系统结构图如 下图所示。 其中 login,jsp 是管理员的登录页,管理员要对在线投票系统进行管理必须先进行登录,通过用户名和密码的验证。 是管理员登录的验证页。 管理员在 login,jsp 填入用户名和密码后,这些数据将被提交到该页,然后与数据库中的数据进行对比。 如果验证通过将跳转到管理主页面。 是在线投票系统的管理主页面,在管理员通过用户名和密码的验证后, 将跳转到该页面。 包含所有投票的链接,管理员单击问题 就能查看投票的结果,管理员还可以选择编辑该投票或者删除该投票。 是查看投票结果的页面。 管理员在登录刽管理主页面 Mainform,jsp后,单击某投票的问题,系统会跳转到该页面。 会以柱状图的形式在网页上 给出该投票每个选项所占的百分比。 和 是 新增投票的页。 管理员在登录到管理主页面 后,选择新增投票.系统会跳转到 页而,管理员需要在该页面填入新增投票的问题以及选 项,然后提交。 页面把管理员所提 交的新增 投票资料保存到数据库中,并提示管理员操作成功。 是删除投票页。 管理员在登录到管理主页面 后,呵以选择删除投票选项来删除不需要的投票。 Edituserjsp 和 是编辑密码页。 管理员在登录到管理主页面 后,可以选择更改自己的登录密码. 和 是编辑投票项页面.管理员在登录到管理主页面Main 后,可以编辑某个投票的属性。 是设置投票结果为不开放,即接收用户的投票但用户不可以查看投票的结果。 isvisible,jsp 是把某个投票设置为对用户不可见,即不再接收用户的投票而且用户也不能查看投票的结果,但系统管理员还可以查看投票的结果. 在这里选取典型的管理员添加投票过程来描述系统页面间的互相协作以及消息交互的过程。 管理员添加投票各页面间的顺序图如下图所示。 数据处理模块 数据处理模块由一个 JavaBean 程序 组成.一般的系统都把与数据库相关的代码封装在一个 JavaBean 组 件中。 本系统中的 负责连接数据库、执行数据库查询、更新、删除数据等操作。 数据库设计 在线投票系统使用的数据库是 Microsof SQL Server 2020。 系统所使用的表包括管理员信息表( Admins)、投票问题表 (Questions)以及投票选项表 (Items)。 管理员信息表 ( Admins) 字段 说明 类型 备注 Admname 管理员用户名 Varchar 10 主键 Admpwd 管理员密码 Varchar 10 管理员信息表 ( Admins)包括管理 员的用户名和密码,管理员登录在线投票系统时 就是读取管理员输入的用户名和密码与数据库中的数据对比. 投票问题表 ( Questions) 字段 说明 类型 备注 QuestionID 投票问题 ID 号 Int 主键,自增 1 Question 投票问题内容 Varchar 500 不为空 IsVisable 该问题对用户是否可见 Int 1 为可见, 0 为不可见 IsOpen 该问题统计结果是否可见 Int 1 为可见, 0 为不可见 Date 该问题设立的时间 Varchar 50 投票问题表( Questions)包括的字段为投票的问题、投票问题是否可见、投票问题是否开放、投票问题设立的时间,当用户登录 时.该页就从数据库中读取所有的可见问题及其选项并显示在网页上。 投票选项表( Items) 字段 说明 类型 备注 ItemID 投票问题选项 ID号 Int 主键,自增 1 QuestionID 投票问题 ID 号 Int 不为空 Item 该问题选项内容 Varchar 500 不为空 ItemCount 该选项获得的投票数 Int 不为空 投票选项表 (Items)包括的字段为投票问题 ID 号、该问题选项内容、该选项获得的投票数。 当用户登录 时,该网页先读取投票问题表(Questions)中所有可见的问题,然后根据每一个问题的 ID号在投票选项表 (ltems)中找到该问题的对应选项并最终显示在网页上。 当用户完成自己的投票后, 将用户所投的选项所对 应 的投票数加 1。 投票问题表( Questions)与投票选项表 (Items)在 SQLServer 2020 中的数据库逻辑关系如 下 图 所示。 第五章 系统开发 客户投票模块 用户登录在线投票系统后首先看到的就是该页面,该页面从数据库中读取所有的可见问题及其选项后以网页的形式显示,并且接收用户的投票,然后把用户的投票信息提交给数据接收页。 程序说明: 用户投票首页。 程序模块名称:。 相关数据表:投票问题表( Questions)、投票选项表( Items)。 用户投票页的 部分 代码如下: String permit。 String SqlString=SELECT Question,QuestionID from questions where IsVisable = 1。 try { ResultSet rs=null。 ResultSet ch_rs=null。 //设置连接 (,jdbc:microsoft: //设置 SQL语句 rs=(SqlString)。 //得到查询结果 int questionid = 0,itemid = 0。 int i=0,j。 //题目及选项标号 while(()) { i++。 String question = (1)。 questionid= (2)。 (TABLE borderColor=999999 cellSpacing=0 cellPadding=0 width=100% border=0tr bgcolor=999999td+ +i+.+ +question+/td/tr)。 //子查询语句,根据问题 id 号到 items 表中查询该问题的所有选项 String ch_sql = SELECT Item,ItemID From Items Where QuestionID =39。 +questionid+39。 ch_rs=(ch_sql)。 j = 0。 while(()) { j++。 String item = (1)。 // itemid = (2)。 % td %=j%input type=radio value=%=itemid% name=%=questionid%%=item% /td/tr % } ( /tablep)。 } } catch(SQLException e1) { (SQL异常。 )。 } 用户首先登录投票页 并 提交他们认可的回答项,用户所选择的数据项被提交到数据接收页 ,该页把这些数据项储存到数据库中.并提示用户投票数据提交成功。 程序说明:数据接收页。 程序模块名称: 相关数据表:投票问题表( Questions)、投票选项表( Items) 数据接收页的代码如下 : ResultSet rs=null。 ResultSet ch_rs=null。 //查询所有可见问题 String sqlstring = SELECT QuestionID from questions where IsVisable = 1。 try { rs=(sqlstring)。 int questionid = 0,itemid = 0。 while(()) { questionid = (1)。 //获取用户选择的该问题的选项的 id 号 itemid = (((questionid)))。 //更新该问题选择的计数值 ,做加 1 操作 sqlstring = update Items set ItemCount = ItemCount + 1 Where ItemID =+itemid。 (sqlstring)。 }。基于java的网上投票系统
相关推荐
个相应的确认 (ACK);如果发送端实体在合理的往返时延 (RTT)内未收到确认,那么对应的数据(假基于 P2P 视频聊天系统 4 设丢失了)将会被重传。 TCP 用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。 在 TCP 特点中,我们知道客户端只能和服务器通信,无法和另一个客户端直接通信,所以,所有的客户一律先把聊天信息发送给服务器,并告诉服务器该信息发送给哪个客户的。
KSJKL KSGK JKLGJSLSK JSGKL JLSGJSLJ GJGKL JLSJ KL JGKL JGKL JKL cat_order mediumint 8 否 否 讨论去顺序 5 phpbb_posts 表 该表保存了所有帖子的主要信息 ,包括帖子号、发帖者编号、发表时间等 ,如表 5。 表 5: phpbb_posts 表 字段名 类型 长度 允许为空 是否主键 描述
流电源 即 可实现对功率IGBT 或 MOSFET 的最优驱动,还具有完善的保护功能。 这样 可以使整个第 12 页 共 34 页 驱动电路简单可靠。 (1) IR2130 驱动芯片的特点 IR2130 可用来驱动工作在母 线 电压不高于 600V 的电路中的功率 MOS门器件。 它内部设计有过流、过压及欠压保护、封锁和指示网络,使用户可方便的用来 保护被驱动的 MOS 门功率管
整个程序修改容易,不会因为其中一个功能模块出现错误而影响整个系统。 经济可行性 经过详细周密的调查,借鉴成功的开发案例,采用科学有效的开发方式,可以降低开发的成本,达到经济高效的目的。 本系统在开发方面主要使用了、 、 MySQL 等软件,而这些软件在网上均可以免费下载,因此,在开发成本方面可以说是非常低,所以,该系统在经济方面可行。 功能需求 经过详细的调查
的这四个函数,当然,我们还有许多有用的函数可以使用,我们将在以后介绍他们。 涎 注意:如果你需要使用 ezsql 的函数,你需要首先将它放到 global 中并初始化。 涎 涎 涎 7 涎 涎 系统功 能结构图 涎 本系统预计是一个基于 PHP 的 B/S 模式的论坛网站系统。 通过对网站系统需求的调查研究,确定网站系统应该对不同的用户提供不同的功能。 论坛网站主要用于交流和互动信息,沟通
于软件版本的实际限制 , 标准系列里面没有 GB, 现选择与 GB 相近 , 且 6 通用性强的 ISO 标准。 打开此标准 ,选择传动零件里的齿轮传动 , 从列表里右键单击直尺圆柱齿轮 , 选择生成零件 , 弹出对话框 , 从此对话框里设定参数便可生成所设计的齿轮。 见图 1 和 图 2。 图 1 齿轮参数化设计界面 图 2 齿轮 两次保存齿轮 , 并分别命名 “齿轮 _1”、 “齿轮 _2”