智能中小型商铺货物管理系统设计
2020-01-06熊翊豪张浩然郑州大学河南郑州450001
熊翊豪 王 兢 张浩然(郑州大学,河南 郑州450001)
1 系统概述
本系统采用B/S 架构,使用Struts2+Spring+Hibernate 技术框架开发,使用MySQL 数据库进行数据存储,从商铺记账、仓库管理两个主要需求入手,设计了适用于中小型商铺的货物管理系统[1]。在此基础上创新地引入基于物品的协同过滤推荐算法,使得商铺经营者可以更加直观地浏览自己可能感兴趣且能够获得较高收益的商品。
2 系统设计
2.1 数据库设计
经需求分析,本系统一共设计了五张表,分别为:上游供货商表(Supplier)、上游商品表(Goods),商家表(Merchant),库存表(Repertory)以及账单表(Bill),这五张表分别存储上游供货商的个人信息、上游供货商的货品信息、下游商家的信息、每个商家的库存信息以及每个商家自己的账单表信息,以下是对五张表的详细叙述。
2.1.1 上游供货商表(Supplier),它是以id 为自增主键,包含了商家的姓名(sname)、联系方式(scontact)、地址(saddrass)和商家的登录密码(spass)。
2.1.2 上游商品表(Goods),它是以gid 为自增主键,供货商的 id 为外键同时包含了商品的品牌(gtrademark)、种类(gtype)、售价(gprice)和数量(gamount)。
2.1.3 商家表(Merchant),它是以mid 为主键,包含了商家的姓名(mname)、联系方式(mcontact)、地址(maddrass)和登录密码(mpass)。
2.1.4 库存表(Repertory),它是以rid 为自增主键,商家表的mid 为外键同时包括了商品的品牌(rtrademark)、种类(rtype)、进价(rprice)、数量(ramount)和入库时间(rtime)。
2.1.5 账单表(Bill)它是以bid 为自增主键,库存表的rid 商家表的mid 同时为外键又包括了售价(bprice),售出数量(bamount)、售出时间(btime)、进价(rprice)和商品的种类(type)。
2.2 功能设计
基于前期的需求分析,本系统的功能主要分为两大模块四大部分,分别为商家的库存管理模块、订购推荐模块和智能化账单统计模块以及上游的商品展示模块。这四大部分相辅相成,同时还添加了必要的登录注册功能,这些功能共同组成了一个完整的系统。
2.2.1 库存模块主要是为了商家方便统计个人的库存信息,库存模块主要包括库存信息的添加修改和删除同时为账单模块时的信息汇总和商品订购时的系统推荐提供必要的数据支持。
2.2.2 账单统计模块则是根据商品的销售情况,同时根据用户预先输入的一些利润影响因素自动计算当天的相应的利润情况,同时以可视化的方式分日、周、月及用户选中的特定日期对销售状况进行图表显示,为用户客观的展现自己店铺的利润情况,方便用户了解自己的收入情况,同时为订购的推荐系统提供数据支持。
2.2.3 订购推荐模块是本系统的重要模块该模块是根据不同用户的库存情况和销售情况,通过基于物品的协同过滤算法,通过具体的参数和数据支持,经过算法处理,在用户进行商品订购时推荐一定的商品,帮助用户做出选择,尽可能的提高用户的销量。
2.2.4 商品展示模块则是展示通过认证的上游供货商上传的自己的商品信息,包括了商品的基本描述,供货商的联系方式,同时结合订购推荐模块,为浏览的用户推荐一定量的合适商品方便用户的订购。
2.2.5 登录注册功能则是本系统的基础模块,无论是下游商户账单的统计、库存信息的核对亦或是订购推荐的实现还是上游商家商品的上新和展示都离不开用户的账号信息,所以所有的用户在使用前都要注册用户名、密码、联系方式并且以用户名为后来的登录名。
2.3 算法设计
为了提高使用本系统商铺的物品销量和营业收入,本系统设计了物品推荐系统,用于向商铺推荐可能获得较大收益的商品,商铺店家可由此对货物进购做出合理决策。本系统采用基于物品的协同过滤算法(Item-based collaborative filtering,简称ItemCF),该算法由著名电子商务公司亚马逊提出[2],并在业内获得了广泛的应用。该算法的基本思想是:通过分析用户对物品的行为,计算物品之间的相似度,从而找出和目标物品具有一定相似度的物品集合,然后通过目标用户的历史行为数据预测其对相似物品的评分,并将预测评分高的一个或多个物品推荐给目标用户[3],即向用户推荐和他们之前喜欢的物品相似的物品。
2.3.1 在本系统中,通过查询数据库中商铺的历史仓储和销售数据,获取各个商铺的销售商品信息,从而建立商铺- 商品评分矩阵R,R 是一个m×n 的矩阵,其中m 表示商铺的数量,n表示商品的数量,Rmn的值始终在一定的取值范围内,表示商铺m 销售商品n 的情况,售出越多该值越大,若商铺未售出过该商品则取0。商品在m 维商铺空间上的向量可看作是商品的评分,通过计算商品在m 维商铺空间上的向量夹角的余弦值来表示商品间的相似度,夹角余弦值越大则相似度就越高。
2.3.2 Deshpande 和Karypis 的研究[4]指出,将相似度矩阵按最大值归一化之后可以获得更高的推荐准确率,同时对于目标商品的K 个最近邻商品,K 取值应在10 到30 之间。我们利用电商平台的销售交易数据集进行测试表明,K=10 时可以获得较高的准确率和召回率。最后,从目标商铺售出的所有商品计算获得的所有K 个最近邻商品组成的总集中删除目标商铺已经销售过的商品,并计算剩余各候选商品的预测评分,从中选出Top-N 推荐给商铺,完成推荐过程[5]。
结束语
本文研究了基于JavaEE 和协同过滤算法的中小型商铺货物管理系统的设计。在依托计算机技术构建高效便捷的信息化管理平台的同时,结合可靠准确的推荐算法,为商铺提供货物进购建议,从而帮助商铺获取更大收益。本系统基于B/S 架构,考虑到更多的使用场景,后续可进一步研究设计开发移动端产品。随着电子商务的蓬勃发展,针对中小型商铺设计的货物管理系统必将发挥更大的作用,而结合推荐算法提高系统智能化水平的方案也将对其发展起到积极作用。