基于Java的网络投票系统的设计与实现

2011-10-21 22:33张程斐吴铤徐焕张燕方梦婷
卷宗 2011年6期

张程斐 吴铤 徐焕 张燕 方梦婷

摘要:本文采用面向对象分析与设计方法,应用UML设计了一个基于Java的网络投票系统。

关键词:投票系统;UML;Java

如今网络投票如火如荼,包括央视网的全国道德模范评选、人民网的全国“双百”评选、中国大学生在线的全国高校百佳网站评选等。为适应社团发展需要,本文采用面向对象分析与设计的方法提出了如何构建一个基于Java的网络投票投系统。

1.需求分析

需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件[1]。在统一过程中,需求按照“FURPS+”进行分类,其含包括功能性、可用性、可靠性、性能、可支持性以及其他一些辅助性的和次要的因素[2]。在这里我们重点关注功能性需求,网络投票系统应当满足广大选民投票的需要,满足管理人员管理选票和候选条目的需要,满足人员查看选票结构及选票结果的需要。

2.用例图

用例就是需求,主要说明系统如何工作的。UML提供了用例图表示法,用以描述用例名称和参与者及其之间的关系[3]。网络投票系统的用例图如图1所示:

查询选票结构:管理人员为掌握网络投票状态,将随时查看选票结构即选民投票记录信息,避免非正常投票行为的发生,同时把握选民对投票活动的参与度。

管理候选条目:管理人员对候选条目进行增加、删除、修改,其中包括名称、图片、内容等。

设定投票活动:管理人员对投票活动进行活动介绍、起止时间、开关状态、投票间隔、每次可投条目数及其他投票限制的设定。

查看选票结果:管理人员和选民查看网络投票结果,包括每个候选条目的得票数,这些信息实时显示在投票系统页面上。

投票给指定候选条目:选民向指定的候选条目进行投票操作。

3.活动图

一个UML活动图表示一个过程中的多个顺序活动或并行活动,它提供了丰富的表示法来表示一系列的互动[3]。网络投票系统的活动图如图2所示。

4.类图

UML用类图(Class diagram)表示类,接口及其关联。类图用于静态对象建模[3]。网络投票系统类图如图3所示。

5.包图

逻辑架构(logical architecture)是软件类的宏观组织结构,它将软件类组织为包。之所以称其为逻辑架构,是因为其并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署。UML包图常用于描述系统的逻辑架构[3]。网络投票系统包图如图4所示。

6.部署图

部署图表示了软件元素在物理架构上的部署,以及物理元素之间的通信[3]。网络投票系统部署图如图5所示。

7.开发工具的选择

本系统采用基于JEE平台开发,开发操作系统选择Windows 7,页面设计工具采用Dreamweaver CS5,代码编写和调试工具采用NetBeans,为了使系统在不同的浏览器中呈现一致性,开发测试浏览器采用Firfox4.0、IE6.0、IE8.0、Chrome。

8.结束语

网络投票系统的设计与实现,因其不受时空限制,将有助于更多的选民参与到网络投票当中来,提高投票率,使得投票结果更加公平公正。

参考文献

[1]Ivar Jacobson, Grady Booch, James Rumbaugh著. The Unified Software Development Process[M]. Addison-Wesley Professional.1999

[2]Robert B. Grady著. Practical Software Metrics for Project Management and Process Improvement[M]. Prentice Hall.1992

[3](美)Craig Larman著作. 李洋,鄭龑译.UML和模式应用(原书第3版)[M]. 机械工业出版社.2006

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文