APP下载

在线B2C充值卡销售系统设计与实现

2013-11-09张维玺陆冰峰

实验室研究与探索 2013年7期
关键词:充值卡汇款页面

张 俐, 张维玺, 陆冰峰

(江苏理工学院a.计算机工程学院;b.电气信息工程学院,江苏常州213001)

在线B2C充值卡销售系统设计与实现

张 俐a, 张维玺b, 陆冰峰a

(江苏理工学院a.计算机工程学院;b.电气信息工程学院,江苏常州213001)

像充值卡这样的卡片类商品,消费者往往需要为了简单的卡号与密码跑去营业厅或商店,这将会浪费人们大量的时间,给生活带来了很大的不便。本文从电子商务应用的角度出发,并结合当今充值卡销售的业务流程,设计并开发了基于Struts+DAO工厂模式架构开发的B2C充值卡销售电子商务系统,并对其关键技术进行了探讨。该系统有效地解决了传统充值卡销售带来的弊端,节约销售成本,提高顾客的生活效率,更好地提高企业市场竞争力。

B2C充值卡销售系统;Struts框架;DAO工厂模式

0 引言

针对充值卡企业和客户的实际需求,在对国内外各种游戏卡代理商管理系统进行充分调研和分析的基础上,采用Struts+MySQL+DAO Factory技术[1-3]研究并实现了在线B2C充值卡销售系统。在系统的实际运行中达到了提高系统的可用性、安全性和可维护性,同时也实现了系统内的高内聚、低耦合效果。

1 在线B2C充值卡销售系统关键技术

1.1 Struts实现MVC

Struts[4]是Apache基金组织中Jakarta项目组的一个开源项目,主要实现了MVC设计模式,在Struts1中有自己的控制器(ActionServlet),同时也提供了各种常用的页面标签以减少JSP页面中scriptlet代码。Struts实际上就属于在传统技术上发展起来的一种新的应用模式,其操作的本质依然是JSP、Servlert、JavaBean等技术的应用。下面是Struts的详细工作原理,见图1。

1.2 统一建模语言(UML)

UML(Unified Modeling Language,UML)是一种可视化的面向对象模型分析语言。UML的目标是:易于使用、表达能力强、可进行可视化建模;与具体的实现无关,可用于任何语言平台和工具平台;为面向对象的设计与开发中涌现出高级概念,提供支持,强调组件重用;具有广阔的适应性和可用性,有利于面向对象工具的市场成长。

图1 Struts工作原理

2 在线B2C充值卡销售系统的设计

本系统结合实际充值卡以及电子商务的特点,为广大通讯者们和网络游戏爱好者提供了一种灵活方便的充值平台[5-6]。其基本流程为注册会员可以检索商品、加入购物车进行购物、进行汇款、购物投诉;查询购物记录、汇款记录、修改个人信息等。商城管理员可以对注册用户进行审核、对每个用户进行角色分配、重要的是能进行充值卡类型管理、商品上架、下架、审核用户的汇款、发布网站公告,统计商品销售量、浏览消费者投诉以及修改本人资料等。银行主要进行用户汇款金额的核算。其基本数据流图如下图2所示。

图2 系统数据流图

依据以上分析,本系统定义的数据库中包含以下12个表:用户信息表 (UserInfo)、用户状态(UserState)、角色信息表(RoleInfo)、卡片类型表(CardType)、卡片基本信息表(Card)、卡片状态表(CardState)、购物车表(ShoppingCart)、购物历史记录表(ShopHistory)、汇款记录表(PostHistory)、汇款审核状态表(ApproveState)、系统公告表(News_以及投诉建议表(Advice),下面将详细介绍系统功能并依据下面的分析得出具体E_R设计[7]。

2.1 登录模块

用户(含会员和管理员)在审核后,并具备一定的权限,即可登录系统,行使本用户的权限,本次过程需涉及以下3个表的信息:

(1)用户表(UserInfo)。用于存储会员和管理员登录信息,包括登录名、真实姓名、性别和登录密码等多个字段;

(2)角色信息表(RoleInfo)。用于存储用户表中存放的用户的角色信息,包括角色名称、角色描述、角色相应的折扣价;

(3)用户状态表(UserState)。用于存储会员的状态信息,只有被审核通过的用户才能登陆系统进行购物,包括状态代号和状态名称。

2.2 充值卡信息模块

只有当管理员把相关充值卡信息上架后,才能供会员购买,本次过程需涉及以下3个表的信息:

(1)充值卡类型表(CardType)。用于存储每种类型的充值卡信息,包括登类型Id、充值卡类型名称、点卡价格和对应存放的图片地址;

(2)具体充值卡信息表(Card)。用于存放每张充值卡的具体信息,包括所属类型、点卡账号、点卡密码、点卡描述、点卡上架时间以及点卡售出状态;

(3)卡片售出状态表(CardState)。用于存储充值卡的售出状态信息,只有未被售出的充值卡才能被购买,包括状态代号和状态名称。

2.3 购物模块

每当会员进行购物时,需先把充值卡加入自己的购物车,然后进行付款,当购物完成后,会产生本次的购物记录,一次购物过程需涉及以下2个表的信息:

(1)购物车表(ShoppingCart)。用于存放每次购物单的相关信息,包括本次购物编号、当前会员、充值卡所属类型和购买的数量等;

(2)购物历史记录表(ShopHistory)。用于存储每次购物完成后的记录信息,包括本次购物编号、购买会员、点卡编号以及点卡售出时间。

2.4 汇款记录模块

每当会员购物挑选完充值卡后,需进行付款,付款完成后会产生本次汇款的记录以便核对,汇款记录需涉及以下2个表的信息:

(1)汇款历史记录表(PostHistory)。用于存放每次汇款的记录信息,包括本次汇款编号、汇款会员、汇款银行、汇款金额、汇款时间、备注和汇款审核状态等;

(2)汇款审核状态表(ApproveState)。每次当会员发出汇款请求后,只有当商城管理员进行核对完毕,代表确实已汇款,用于存储汇款状态信息,包括状态代号和状态名称;

2.5 商城公告模块

网站管理员在后台发布公告,公告内容显示在前台,系统公告到数据中News表,该表用于存储系统前台新闻公告信息,包括编号、新闻标题、新闻内容、发布时间信息及发布状态。

2.6 消费投诉建议模块

如果消费者在购物过程中遇到问题或建议,可发表建议或投诉,以便商城管理员及时处理,投诉建议涉及数据库中Advice表,该表用于存储每条投诉建议信息,包括投诉编号、投诉用户已经投诉内容等。

3 在线B2C充值卡销售系统架构设计与实现

3.1 系统体系架构设计

为实现基于B2C充值卡销售电子商务系统[8-11],本系统以MVC设计模式为出发点。控制器层:采用Struts框架;模型层:采用JavaBean+JDBC技术;视图层:采用JSP技术,并结合EL表达式 +Ajax技术;业务层:采用DAO Factroy+DAO模式;数据库层:采用MySQL5.0数据库。同时选择MyEclipse9,Tomcat6.0作为开发环境,利用Dreamweaver CS5和Photoshop CS进行页面设计。为了更清晰的表达这种层次关系,架构示意图3所示。具体描述如下以Struts为主导,并整合JDBC,工厂设计模式,其目的就是为了体现出了严格的MVC设计模式的体系层次,并将业务规则及数据库访问等操作放置于中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。

图3 系统模型构架图

3.2 基于B2C的在线充值卡销售系统的实现

由于Struts框架采用了基于MVC的设计模式,把页面显示、数据控制以及业务逻辑操作做了做了很好的分离,从而使得开发和维护都更加方便和合理。而对于基于B2C的在线充值卡销售系统来说,各个模块的构造方法基本相同。下面以商城管理员模块[12-14]为例,说明用Struts+jQuery+MySQL+DAO Factory技术实现基于B2C的在线充值卡销售系统的开发过程。

3.2.1 商城管理员模块用例设计

商城管理员模块的作用主要为整个商城提供管理和维护,包括用户审核、汇款审核、用户管理、角色管理、充值卡分类管理、点卡信息管理、前台公告管理、销量统计、投诉处理等。见图4。

图4 管理员用例图

3.2.2 基于DAO工厂模式的设计与实现

DAO模块[15]是Struts与JDBC互通互联的桥梁。DAO工厂模式用来定义和创建DAO对象。用工厂来管理DAO接口及组件。它可以预防广大用户频繁访问数据库而带来的庞大的系统开销,在这里我们的DAO工厂模式采用 Singlone方式来产生一个公用SysFactory类,并把该类放置在Business包中,该类只需实例化一次,这样可以大大节省系统开销。同时,为了保持类与类之间的解耦关系,DAO工厂类通过读取配置文件daoFactory.properties来降低了类与类之间的耦合度,同时通用过反射的方式即就是用 Class.forName(Stringstring)方法来创建对象。DAOFactory模式整合DAO类和DAO接口类见图5。

图5 DAO工厂模式整合类图

3.2.3 JSP组件的设计与实现

JSP组件的主要功能是如何将数据显示给用户,在本系统中视图部分主要是有Struts标签、Div、CSS样式、HTML、JSP页面以及formbean组成构成的,这样做的好处是可以避免在JSP页面中直接将Java源代码和HTML语句进行耦合,同时增强JSP组件的重用性。从而大大简化了页面开发,并便于后期测试和维护。

首先,使用Dreamweaver去创建具体的JSP页面,他们是:1添加和修改充值卡的页面addCard.jsp;2删除某个具体商品的详细信息的页面delCard.jsp;3基于多少方式去查询商品信息的searchCard.jsp页面;以及总的维护商品信息的JSP页面cardInfoMaint.jsp,它可以显示所有商品的信息,并可以对所选择的充值卡进行增加、删除、修改、编辑等操作。

最后,对 CardFormbean进行定义和描述。CardFormbean它继承了Struts中的org.apache.struts.action.ActionForm这个类。该类得主要作用是页面中收集数据或显示数据。收集数据的作用是给Model组件提供业务模型;而显示数据是将处理好的结果给客户看的。

由于添加充值卡、上架、下架以及维护充值卡信息流程基本相似,我们以上架和下架为例,其序列如下图6所示。

3.2.4 Controller组件的设计与实现

Controller组件是所有操作的核心,无论何时,都由controller中的ActionServlet类进行处理,它决定系统中各个模块之间的流程关系。如何完成这些工作呢?首先,需要在Web.xml中注册ActionServlet类和Struts-config.xml文件,Web.xml是描述Controller组件ActionServlet和struts-config.xml的地方,其中*.do表示请求映射的模式,具体配置如下:

图6 上架/下架序列图

其次,对 struts-config.xml进行配置,在 strutsconfig.xml文件中,主要是确定所有页面的导航关系,它们之间的关系主要是通过ActionMapping、Action和ActionForm组件完成的,好处是使得开发简便、维护成本低、流程清晰明了了。部分配置如下:

4 结语

基于Struts+DAO工厂模式设计开发的B2C充值卡销售电子商务系统通过实际试运行,表现良好,具有高可扩展性,高可靠性的特点,证明了Struts+DAO工厂模式整合架构是一个行之有效的轻量级JavaEE应用系统解决方案。它充分满足了在电子商务迅速发展的情况下,B2C充值卡销售电子商务系统的能够充分满足了消费者和企业的需求,使得消费者购物更快捷、更节约时间,企业的管理更高效、更有序。从而使得基于Struts+DAO工厂模式架构具有广阔的应用前景。

[1] Alan Shalloway,James R.Trott.熊节译.设计模式精解[M].北京:清华大学出版社,2005:50-61,165-173,206-211.

[2] 张 俐,张维玺.Facade模式在数据持久层中的应用[J].计算机工程与科学,2011,33(10):105-110.

[3] 张 俐,张维玺.基于B_S的实验室信息系统的分析与设计[J].实验室研究与探索,2012,31(5):80-83.

[4] 孙卫琴.精通Struts基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.

[5] Deepak Alur.J2EE核心模式[M].牛志奇译.北京:机械工业出版社,2003.

[6] 郭文生,杜军平,尹怡欣.基于J2EE的旅游电子商务平台的设计研究[J].计算机应用与软件,2007,24(2):118-120.

[7] 轩兴涛.基于PowerDesigner模型驱动机制下的全程建模研究[J].西安石油大学学报(自然科学版),2008,23(6):104-106.

[8] 张 俐,张维玺.基于JavaEE的固定资产管理系统的设计与实现[J].计算机工程与设计,2009,30(16):3797-3800.

[9] 郝应光,于 慧,刘晓冰.基于CRM的面向钢铁行业的企业管理信息系统研究[J].计算机应用研究,2004,21(11):75-77.

[10] 杨 栩,刘仍奎.基于客户关系管理的快递营销管理系统设计与实现[J].北京交通大学学报,2006,30(3):27-30.

[11] 张 俐.基于MVC模式的分页组件应用[J].计算机工程,2011,37(21):255-257.

[12] 张 俐,张维玺.基于JavaEE的固定资产管理系统的设计与实现[J].计算机工程与设计,2009,30(16):3797-3800.

[13] 张 俐,张维玺.改进的JDBC框架在数据持久层的应用[J].计算机工程与设计,2010,31(8):1746-1749.

[14] 张 俐,张维玺.旅游电子商务系统的持久性框架设计与实现[J].武汉理工大学学报,2010,32(24):113-117.

[15] Christian Bauer,Gavin King.Hibernate in Action[M].北京:人民邮电出版社,2008.

Design of a B2C Prepaid Card Marketing E-system

ZHANG lia, ZHANGWei-xib, LU Bing-fenga
(a.College of Computer Engineering;b.Electronic&Information Engineering Department,Jiangsu University of Technology,Changzhou 213001,China)

This paper,starting from the perspective of e-commerce application,and taking the business process of the prepaid card sale into consideration,intended to design and develop a B2C prepaid card marketing e-system based on the framework of Struts+DAO.It also discussed the key technology of the system.Practice shows that this system solves the problem of traditional prepaid card marketing,saved the marketing cost,raised the efficiency of consumers,and improved the competitiveness of the enterprise.

B2C prepaid card marketing E-system;struts framework; DAO factory model

TP 319

A

1006-7167(2013)07-0076-05

2012-10-12

江苏省高校自然科学基础研究基金资助项目(08KJD520005)

张 俐(1977-),男,硕士,副教授,陕西汉中人,主要研究领域为企业建模和基于JavaEE的系统开发。

Tel.:13961123368;E-mail:zhangli_3913@163.com

猜你喜欢

充值卡汇款页面
刷新生活的页面
无法上交负责保管的充值卡不直接构成贪污罪
要赚钱要致富话费充值卡来帮助
要赚钱要致富 话费充值卡来帮助
开拓境外业务须重视境外汇款格式的规范性
投资手机充值卡 小心连环骗局
网站结构在SEO中的研究与应用
浅析ASP.NET页面导航技术