武功粗布电商平台的设计与实现
2021-03-23戚晓薇
董 瑶 刘 斌 戚晓薇
(1、陕西科技大学 电子信息与人工智能学院,陕西 西安710021 2、陕西科技大学 马克思主义学院,陕西 西安710021)
21 世纪以来,作为一种新型的经营模式,电子商务得到了长足的发展,现在的人们已经离不开网络购物的方式[1]。电子商务这一新兴的商务模式以其便捷、数据化、低成本的优点极大的改变了我们的生活。在中国,网购已经具有良好的消费者基础。
武功县手工粗布是非常优秀的传统手工艺品,具有吸汗透气、舒适止痒、抗静电等优点,但是根据调查目前大部分武功县粗布的销售还处在一个自产自销的阶段,没有一个好的平台搭建起买家和卖家的桥梁。所以,为了拓展武功县粗布的市场空间,促进粗布产业的发展,我们将武功县粗布这一民间手工布艺产品和电子商务相结合,设计开发了武功县粗布电商平台。
1 开发工具以及相关技术
1.1 开发工具。武功县粗布平台的开发主要使用了IDEA、Maven、Git 等开发工具[2]。
常用的关系型数据库有MySql、SqlServer、oracle[3]。我们采用MySql 数据库,相对于oracle 它是轻量级数据库,硬件要求小。
Tomcat 服务器是一个开放源代码的Web 应用服务器,具有处理HTML 页面的功能[4],我们采用的是spring boot 默认的内嵌容器tomcat,在使用的时候只需要在SpringBoot 配置文件里设置端口和上下文路径即可。
pache Solr 是一个流行的开源搜索服务器[5],它建立在Lucene(全文搜索引擎)之上。通过使用类似REST 的HTTP API,确保能在任何编程语言中使用Solr。
1.2 主要技术。武功县粗布电商平台使用了Java 语言编写,主要使用了SpringBoot 框架,内部集成了SSM(Spring、SpringtMVC、Mybatis)框架,后端使用MVC 模式,使用Maven 管理项目依赖,HTML 页面技术展示信息,AngualrJs 和Jquery 来发送HTTP 请求和动态渲染页面,前台使用了MVC 模式。
2 系统设计
2.1 系统总体设计。本系统采用了MVC 设计模式,它分为三层:Model(模型)层、View(视图)层和Controller(控制器)层[6]。
Model 封装的是数据源和所有基于对这些数据的操作,View封装的是对数据源Model 的一种显示。一个模型可以有多个视图,并且可以在需要的时候动态地渲染到相应的视图上。而一个视图理论上也可以与不同的模型关联起来。Controller 封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般Controller 在Model 和View 之间起到了沟通的作用,处理用户在View 上的输入,并转发给Model 来更改其状态值。这样Model 和View 两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller 连接起这两个部分。
MVC 设计模式可以使程序中的每一层专注于自己的功能,减少了这三层之间的耦合性。同时提高了代码重用率[7]。
2.2 功能模块设计。武功粗布电商平台设计为一个功能基本完整系统。电商平台主要分为三个模块:普通用户模块、商家模块和运营商模块。详细功能设计如图1 所示。各模块的主要功能有:
2.2.1 普通用户模块。用户进入系统之后可以进行注册、登录、注销、修改密码。注册的时候会有表单验证,用户名不能和别的用户相同,输入的两次密码要相同,后端处理的时候要对用户密码进行加密。登录的时候会将用户的密码加密之后再去数据库里面查询。用户可以浏览商品并进行多条件查询,可以将商品加入购物车、查看购物车、购物车里不同的店铺的商品按照店铺分开展示。用户也可以提交订单,查看订单。
2.2.2 商家模块。商家可以通过商家入驻页面申请入驻,入驻成功之后可以进行商家信息的修改。可以添加商品、管理商品对商品信息进行更改,包括商品详细信息、价格、库存等。
2.2.3 运营商模块。运营商可以对申请入驻的商家进行审核。对商品的一些基本属性进行管理,比如商品规格、规格模版、商品分类的管理,对商家上传的商品进行审核。
图1 系统功能模块图
图2 数据库ER 图
2.3 数据库设计。系统的数据库实体关系如图2 所示。
主要数据库表有:用户信息表:主要字段有用户名、密码、用户角色分为管理员和普通用户。订单主表:主要记录了订单的编号、用户编号、店铺的编号、订单的状态以及订单总额。订单项表:记录订单项的详细信息,比如sku 编号、sku 标题、购买的数量、订单项总额。商品spu 表:记录了商品的关键信息(不会影响库存和价格的属性),比如spu 编号、分类信息、商品名称、模版编号、商品状态表示是否删除。由于一些商品的字段信息长度很长,所以单独拆分为一个表,主要包括spu 编号、详细介绍、规格集合、自定义属性、包装清单、售后服务等字段。商品类别表:记录类别的父类编号、自身的名称和编号以及模版编号。规格表:记录规格的名称。规格选项表:记录具体的规格选项。商品规格模版表:将规格集合保存为一个模版。店铺信息表:记录店铺的登录名、密码、以及店铺的基本信息。
3 系统实现
3.1 首页。用户登录成功之后跳到主页。主页主要分为头部、引用页面head.html,里面有登录入口、注册入口、网站首页入口、用户主页、运营商后台入口、商家后台入口、网站logo、搜索栏、购物车入口、全部商品分类、首页图片轮播和首页商品展示这几部分。如图3所示。
图3 武功粗布电商平台首页
3.2 商品多条件搜索。搜索页面有搜索栏,点击搜索就会根据关键字去查询,这时候会根据关键字展示出所有相关的商品分类,还有商品规格选项供用户去筛选。还可以根据销量进行新品降序排序,按照价格升序或者降序排列,当用户点击这些条件时,前台就会构造搜索对象去服务器查询。搜索页面的实现如图4 所示。
4 系统测试
系统测试是为了发现错误的执行程序的过程,然后去修补缺陷。武功粗布电商平台采用和白盒和墨盒两种测试方法。
图4 武功粗布电商平台搜索页面
其中白盒测试主要是接口测试。根据代码的逻辑来设计测试用例,保证测试用例覆盖到代码的每一个分支,这种测试是最小规模的,主要查看代码是否符合设计。
黑盒测试主要采用功能测试,查看系统是否符合需求设计。主要有:
4.1 页面跳转测试。用户和Web 应用系统之间的交互避免不了页面跳转,测试页面之间的跳转逻辑是否正确;测试所有跳转是否按设计的那样确实跳转到了相应的页面;测试所跳转的页面是否存在;保证Web 应用系统上绝对没有孤立的页面,所说的孤立页面就是指没有链接可以跳向该页面,只有通过正确的URL 地址才能访问。
4.2 Cookie 测试。Cookie 通常用来保存用户某些信息,当一个用户使用Cookie 访问了Web 应用系统时,Web 服务器将发送关于用户的信息,把相关信息以Cookie 的形式发送至用户端,这可以用来保存登录信息或者购物车信息,保存JSESSIONID 用来和服务器的Session 通信。如果Web 应用系统使用了Cookie,我们必须检查Cookie 是否能按照设计的那样正常工作,同时对这些信息已经加密。测试的内容可以包括Cookies 是否起作用,什么情况下Cookie会做出什么样的改变,是否按照预期的那样。
4.3 安全测试。查看用户是否可以访问自己权限之外的页面。
通过测试发现系统存在一定的问题,经过多次修改前台页面的代码,最终系统已满足以上要求,测试通过。
5 结论
本文详细介绍了武功县粗布电商平台设计和实现的过程,该平台基本实现了武功粗布销售和购买的功能,为粗布生产者提供了一个粗布销售的平台,同时也为消费者提供了一个购买粗布的平台。在电商行业蓬勃发展的今天,相信武功县粗布电商平台能够搭建起粗布生产者与消费者之间的桥梁,促进武功县粗布市场的发展。