汪丽娟
摘 要 网上书店作为电子商务应用中的典范,将图书的出版、供货、销售、消费以及其他环节如银行、物流运输等连接在一起,改变了图书运作流程和交易模式。本文所述新华书屋系统采用三层架构和设计模式,以Visual Studio 2008作为开发工具,SQL Server 2008作为数据库管理平台,使用C#作为开发语言,设计和实现了新华书屋系统前台和后台各部分功能模块。系统采用了抽象工厂模式的数据访问层(DAL)、业务逻辑层和表示层的三层架构设计,具有良好的可扩展性和可维护性。
关键词 浏览器/服务器结构;电子商务;交易平台
中图分类号 TP3 文献标识码 A 文章编号 2096-0360(2015)01-0130-02
网上书店作为电子商务应用中的典范,将图书的出版、供货、销售、消费以及其他环节如银行、物流运输等连接在一起,是一种高质量,更快捷,更方便的购书方式。本文所述新华书屋系统采用了抽象工厂模式的数据访问层(DAL)、业务逻辑层和表示层的三层架构设计,具有良好的可扩展性和可维护性。通过对新华书屋系统的非功能性与功能性测试,系统中的各个功能实现了应用需求。
1 系统总体设计
新华书屋是以B2C(业务经营者对客户)模式为设计思路,中间引入C2C(客户对客户)现代商务网站的自由模式,目的是为二手书籍提供了一个销售渠道,促进了旧书作为商品在市场上的重新流通。系统分为前台子系统与后台子系统两个部分,前台是面向客户的用户操作,后台主要是面向管理员的网站管理,系统结构如图1所示。
图1 系统结构图
前台子系统的功能包括会员注册和登陆、浏览书籍和收索、添加书籍到购物车或收藏夹、下订单等。后台子系统的功能包括用户管理、书籍管理、订单管理、信誉体制管理和广告/专题管理等。后台管理页面采用树形结构进行导航,类似于Windows系统的文件夹浏览器。
2 系统架构设计模式
新华书屋网站的结构采用三层模型设计,实现“高内聚、低耦合”。三层模型分为表现层(Presentation Layer)、业务逻辑层(BLL)和数据访问层(DAL),系统架构图如图2所示。
图2 系统三层模型架构图
由图1可以看到三层架构的基本流程有6个步骤,第一步表现层向业务逻辑层请求业务处理,第二步业务逻辑层负责实现业务逻辑(比如验证操作等),之后向数据访问层发送请求,第三步数据访问层连接数据库并检索具体的记录,第四步被检索到后,记录从数据库返回到数据访问层,第五步数据访问层将检索到的记录封装成业务实体(Model),返回给业务逻辑层,最后第六步业务逻辑层将业务实体返回给表现层,并由后者展示给用户。新华书屋的三层系统架构有以下优势。
1)开发人员只需关注整个结构中的其中某一层,而不需要关心其他层的设计与实现[1]。一个团队可以并行开发新华书屋网站。网站的前台、业务处理的核心代码和算法、后台数据库均可同时进行,大幅提高了新华书屋的开发进程。
2)可以较为容易地使用新的应用来替换原有层次的应用。某些层在日后的开发过程中需要修改时,所需要做的工作就非常简单。本层的开发者只需要完成好该层的设计与实现,不需要担心自己的修改是否会影响其他层,从而使其它层也需要做相应的修改。
3)可以降低层与层之间的依赖。各层由于分工明确并且低耦合,所以彼此之间的依赖就很少,代码管理和系统管理所带来的额外开销就非
常低[2]。
4)有利于未来的标准化。这种层次比较明显的结构,未来的标准化工作也比较好进行。这也是现代软件行业所必须要考虑的问题。
5)有利于各层逻辑的复用。新华书屋是个以销售书籍为主的电子商务平台,未来如果拓展到新的业务,系统中的各层逻辑可以很容易地应用于其他系统中。
3 系统开发平台选型
系统开发平台的选型对于系统的建立来说至关重要,它能决定系统是否具有良好性能、是否具有良好的扩展性、开发工作量的大小以及维护工作的难易程序等等。因此进行新华书屋电子商务系统开发平台选型时,主要从系统的功能、扩展性、是否易于开发和管理等主要方面进行考虑。
3.1 软件开发平台
软件开发平台主要包括操作系统的选择、语言的选择、开发工具的选择、数据库的选择等内容。软件开发平台为Microsoft Visual Studio 2008;后台开发语言为C#;数据库开发平台为Microsoft SQL Server 2008;前台开发语言为Asp.net和JAVASCRIPT。
3.2 硬件开发平台
新华书屋电子商务系统硬件开发平台主要包括:服务器端、客户端、网络接入设备。服务器端的配置是由开发系统的软件所需配置来决定。由于网站全天候工作,要处理大量的数据,所以在运算速度、系统稳定、存储容量等性能上有较高的要求。网络接入设备主要有路由器和交换机,路由器为华为AR 28-11,交换机为TP-LINK TL-SG1008。
4 系统功能性测试
根据电子商务网站的系统测试范例,安装专用的测试工具(LoadRunner)来完成系统的压力测试,该软件能支持多种常用协议,能设置负载压力测试方案,测试完成后,记录用户部署和维护系统报告。
根据软件的《需求规格说明书》和《设计说明书》,认真理解用户的真正需求,着手制订功能测试样例,并对软件所实现的功能进行测试。测试用例要包括欲测试的功能、应输入的数据和预期的输出结果[3]。测试数据选用了少量、高效的测试数据进行完备的测试,测试目标是设计一组发现某个错误的测试用例[4]。
在系统功能测试中,将新华书屋系统中的功能节点如会员登录模块、会员注册模块、会员注销模块、个人中心模块、书籍浏览模块、管理员登录模块、管理员注销、添加书籍、书籍类别管理、书籍管理等进行测试。
5 系统发布
在IIS上,新建一个虚拟目录,指向网站的物理地址。设置端口号,开启WEB服务之后,就可以在IE浏览器中运行新华书屋系统。前台界面如图3所示。
图3 新华书屋发布后的前台页面
新华书屋系统采用了抽象工厂模式的数据访问层(DAL)、业务逻辑层和表示层的三层架构设计,具有很好的可扩展性肯可维护性。通过对新华书屋系统的非功能性与功能性测试,系统中的各个功能实现了应用需求,测试结果表明系统运行稳定、执行速度快,移植性好。系统网页界面设计友好,搜索功能灵活,购物车功能完整,用户能够方便快捷的进行新旧书籍的查询和购买,后台管理子系统实现了管理员对用户、书籍、订单、店铺信誉进行有效的管理。
参考文献
[1]丁莉,张静,曾凡晋.浅谈基于ASP.NET2.0的三层架构项目的设计与实现[J].科技创新导报. 2010,6(24):40.
[2]高扬.基于.NET平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011,3(02):83-86.
[3]刘振宇,杨根兴,蔡立志.Software Test Case Generation with Adequacy Analysis on Scenario-Based Testing,Journal of Donghua University English Edition,2011(02):28-33.
[4]曾红卫,缪淮扣.一种验证Web应用设计的方法[J].上海大学学报(自然科学版),2007(05):12-14.