基于MVC模式的移动通信收缴费系统分析与设计
2016-11-14王娜
王娜
(辽宁建筑职业学院信息工程系,辽阳 111000)
基于MVC模式的移动通信收缴费系统分析与设计
王娜
(辽宁建筑职业学院信息工程系,辽阳111000)
分析并设计基于MVC模式的移动通信收缴费系统,介绍系统开发所使用的相关技术:MVC模式和AJAX技术,同时,对客户的业务需求进行分析,并详细描述系统各个模块的设计及数据库的设计。基于MVC模式的移动通信收缴费系统,将显示层、业务层和数据层分离,以实现代码重用和易于修改,提高系统的灵活性、复用性和可维护性,达到提高软件质量的目的。
MVC模式;移动通信;收缴费系统;模块设计;互联网
0 引言
随着互联网技术的发展和成熟,网络应用悄然走进我们生活的每一个角落[1]。在我们的生活中,网络已经成为重要部分,越来越多的人们接受便捷、快速、无时空限制的网络应用。由于手机的普及,目前人们对移动通信服务的需求急剧增长,出现了服务供求矛盾,并且还在继续加剧[2]。移动通信企业在面对庞大的手机用户开展服务时,出现了一些问题,如分布集中的服务网点、偏远地区服务的需求等。利用互联网的优势,开发一个移动通信收缴费系统,能够帮助解决上述问题。因此,本文设计开发了基于MVC模式的移动通信收缴费系统,以Tomcat作为服务器,并运用AJAX动态验证技术,实现移动收缴费系统的构建。
1 系统分析
本系统主要用于移动业务收缴费管理及相关手机号码的出售管理,其操作用户是从事收费服务的业务员,所以系统功能中还应包括对系统操作员账号的管理。该系统是基于B/S的Web应用,多个远程用户通过浏览器访问同一个Web服务器和数据库服务器,为保证软件的正常运行,服务器和数据库的性能要满足一定的需求。软件部署后,要求操作用户能够很快对软件进行操作,所以软件的设计要充分的人性化,操作简单明了,当操作员对系统操作不当时,要有及时明确的提示。除此之外,对本文中用到的几个术语解释如下:
客户:移动手机号码用户;
用户:具体某个移动手机号码;
账户:客户为手机号开的缴费账户。
2 关键技术
20年纪80年代,Xerox PARC发明了一种软件设计模式,即MVC(Model、View、Controller),指模型、视图、控制器。至今MVC已被广泛使用到Web开发中,是Sun公司J2EE平台的设计模式。MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务[3]:控制器接收用户的请求,并决定应该调用哪个模型来进行处理;模型根据用户请求进行相应的业务逻辑处理,并返回数据;视图把模型返回的数据呈现给用户。
本系统视图使用的是JSP,并结合MVC模式的Struts框架技术,利用Struts框架的ActionServlet、ActionForm、ActionMapping、ActionForward、ActionError五大组件,可以很简单地收集表单的请求和提交的数据并进行很好地处理,比直接运用手工编写Servlet省去了很大工作量,从而使代码的结构简单清晰。
除了MVC设计模式外,本系统的核心亮点就是较好运用AJAX技术,页面标签中不用使用多余的属性,就能让界面表现出系统设计的人性化。利用AJAX可以动态地修改页面的内容,例如在某个管理功能里面,当点击了查看按钮后,系统会列出相应的信息列表。当点击修改连接,原信息就会被提交到下一个页面,即修改页面,这里既没有用传统的JSP的Java脚本语言取值,也没有用冗长的JSP标签,而是运用AJAX动态让提交的数据添加到相应的输入域中。
3 系统设计与实现
3.1模块设计
根据系统功能要求分析,移动通信收缴费管理系统由六个功能模块组成,包括操作员管理模块、手机号管理模块、收费管理模块、客户管理模块、用户管理模块、账户管理模块。系统模块之间的关系如图1所示。
图1 系统模块关系图
以上六个模块功能明确,但它们之间有一定的联系,一个客户是用户和账户的持有者,对应的生活实际情况就是,一个人(客户)可以购买和拥有一个以上的手机号码,可以拥有一个或多个账户给手机号进行交费。其中,每个模块的具体功能如下:
(1)操作员管理模块:主要是系统中维护操作员登录账号的功能模块,该系统操作员之间的权限是相互平等的,某个操作员账号不用的时候可以暂时设置为给管理员状态,再次启用该账号时,可以通过其他可用的操作员账号登录系统以后,将账号的状态修改为管理员,该账号就可以继续使用了。
(2)手机号管理模块:手机号码的管理主要有增添新的待出售的手机号码或某个号码段之间的号码,对号码信息的查看、修改或删除。号码的状态有已出售和未出售两种状态,可以对两种状态进行更改,另外开户时某个号码出售后状态就变为已出售状态。
(3)收缴费管理模块:实现了用客户的已开账户进行缴费的功能。
(4)客户管理模块:实现客户信息的查询、修改、删除,客户信息的添加是在开户操作中添加上的。
(5)用户管理模块:实现用户(即手机号码和对应的客户)添加、删除、修改、查询功能。
(6)账户管理模块:账户管理的设计是要实现账户信息的增删改查。
系统的总体流程图如图2所示。
图2 系统总体流程图
3.2数据库设计
根据系统模块设计,同时考虑到系统可能的并发访问量和存储数据量的情况,决定采用Oracle数据库。Oracle是甲骨文公司的一款关系数据库管理系统,在数据库领域中一直处于流行、领先地位,系统的功能强、使用方便、可移植性好,适用于各类大、中、小环境,是一种可靠性好、适应高吞吐量、高效率的数据库解决方案[4]。
该系统数据库的E-R图如图3所示。
图3 数据库E-R图
为满足各模块的需求,共设计7个数据库表,具体如下。
①操作员账号信息表operator:id(操作员账户ID,主键)、name(操作员姓名)、password(操作员密码)、admin(是否为管理员,0-是,1-否);
②手机号信息表 mobile:id(手机号的ID,主键)、mobileType(手机号类型)、mobileNumber(手机号码)、Saled(是否出售,0-否,1-是);
③收费细则信息表 charge:id(收费细则ID,主键)、chargeName(收费细则名称)、fee(收费标准);
④操作员收费表 charge1:chargerId(收费ID,主键)、operation(收费项目)、chargerName(收费名称);
⑤客户信息表 customer:id(客户账户ID,主键)、certificatedType(客户手机号类型)、certifiedNumber(客户手机号码)、name(客户姓名)、Sex(客户性别)、birth-Date(客户出生日期)、account(客户的账号);
⑥用户信息表mobileUser:userId(号码用户ID,主键)、mobileNumber(移动号码)、ramble(漫游信息)、callLevel(号码用户级别)、id(账户ID)、account(账户账号);
⑦账户信息表account:accountId(账户ID,主键)、account(账户账号)、name(账户姓名)、address(联系地址)、accountFee(开户金额)、balance(账户余额)、operationFee(业务收费)。
3.3登录实现
每一个系统都少不了登录这个常见、又必不可少的功能模块,登录的实现技术已经非常成熟。登录状态的检查采用过滤器技术,因为每次Web访问请求都要先经过过滤器的处理,所以运用过滤器进行对登录状态的验证是一个非常完美的选择。系统设计上采用会话技术,当用户登录系统以后,系统会在session中存放一个已登录标记,每次请求都要以该标记为通行证通过过滤器进行过滤。如果不先进行登录而试图访问该系统的其他内容,都会在过滤器被拦截并返回提示信息,从而增强了系统的安全性。
3.4收费管理实现
收费管理是本系统的主要功能模块,主要子功能有开户、话费充费、收费细则管理,下面主要对收费细则管理的实现进行一下介绍。
收费细则的管理设计是将查看功能和修改功能设计到一个界面上,点击收费细则查看的链接,请求服务器,返回收费细则的收费项和对应的ID,付给页面表单的下拉列表中,下拉列表的选项发生改变,浏览器就会捕捉到相应的事件,调用并执行AJAX代码向服务器端请求对应ID的收费金额。在这里使用AJAX的好处就是没有页面的刷新,操作员不用点击提交等待返回结果刷新页面并显示。下面实现请求的AJAX代码:
$(document).ready(function(){
$('#chargeSelect').change(function(){
var id=$(this).val();
$.AJAX({
url:'num/charge.do?method=fee&id='+id,
type:'get',cache:false,dataType:'text',
success:function(txt){$('#fee').val(txt)}
});
});
});
在该段代码中,url指明了请求的路径和请求参数,type指明请求是采用get方法还是post方法,匿名函数function(txt){$('#fee').val(txt)}将返回的结果设置到页面当中,这整个的过程都在操作者察觉不到的情况下执行的,这就是AJAX能给用户带来的完美体验之一。该系统中很多的验证和请求都是采用AJAX完成的,在用户操作不当的时候阻止请求的提交并及时在页面上给与提醒。
4 结语
中国移动通信技术迅猛发展,用户急剧增加,分布从城镇普及到农村及偏远地区,移动业务收费的工作只靠原来的人工收费方式以明显满足不了现实业务的需求。本系统正是为缓解这种矛盾状况而应时开发的,利用因特网的便利优势,使移动业务收费方式由传统的人工集中收缴方式变为现在的远程网络化收取,只要一台连接因特网的普通计算机,就可以为移动用户进行收缴费服务,极大地方便了移动业务收费的开展,提高了移动业务的服务质量,从而也让众多的移动用户得到了更好的便利服务。与原来相比,也节省了开展收费服务所需的人力和财力。本文的收缴费系统是基于MVC设计模式的,采用模块化处理思想,充分利用了面向对象设计、Java语言的优点以及代码重用,提高了开发效率[5]。
[1]王淼.移动公司网上支付系统的设计与实现[D].大庆:东北石油大学硕士论文,2013.
[2]王流励.手机支付系统的设计与实现[D].济南:山东大学硕士论文,2012.
[3]孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2006.
[4]于宝东.手机支付终端缴费第三方运营平台的设计与实现[D].北京:北京邮电大学硕士论文,2011.
[5]虞甘露,郭丽莎.移动终端缴费系统的应用[J].江西电力.2010,34(1):58-60.
MVC Pattern;Mobile;Charge Payment System;Module Design;Internet
Analysis and Design of Mobile Charge Payment System with MVC Pattern
WANG Na
(Department of Information Engineering,LiaoNing Construction Vocational College,Liaoyang 111000)
Analyzes and designs the mobile charge payment system with MVC pattern,introduces some related technologies:MVC pattern and AJAX technology,at the same time analyzes the customer's requirements,describes the design and implement of each module of this system and database in details.The mobile charge payment system with MVC pattern,which departs the displaying layer,business layer and data layer to realize the reuse and modification of code and improves the flexibility,reusability and maintainability to achieve the aim of the improvement of software quality.
1007-1423(2016)28-0077-04
10.3969/j.issn.1007-1423.2016.28.021
王娜(1980-),女,辽宁辽阳人,硕士研究生,副教授,研究方向为图形图像处理、地理信息系统
2016-08-03
2016-09-30