B2B2C网上商城开发指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 网上商城功能需求分析和设计

2.1 网上商城后台功能需求列表和设计

2.1.1 数据字典功能需求列表和设计

一、客户供应商管理

在一个经典的B2C网店系统中,是没有客户和供应商的概念的。所谓客户,就是买自己东西的公司或者个人,供应商是指自己进货的上游厂家或者经销商。而在B2C网店系统中,所有的顾客都可以看做是个人,很少有顾客常年累月在某一家网店中买东西,当然极少部分淘宝上的大C和京东商城、红孩子、卓越亚马逊、当当这类巨无霸企业除外。所以像Shopex也好,Ecshop、Ecmall也好,它们是没有客户、供应商这类概念的,它们也只是有品牌的概念,某个商品属于哪个品牌。而我们要做的,不仅是网上商城系统,而且还是一个轻量的、企业级的完整进销存系统。虽然轻量,但是麻雀虽小,也是五脏俱全啊。

一个典型的客户、供应商信息,包括:

公司名称、邮箱、联系电话、联系地址、邮编、开户行、银行账号、信用额度、是客户还是供应商的标志位等信息,如图2-1所示。

图2-1 客户、供应商信息

由于客户和供应商信息基本相同,所以在设计上,我们用一张表表示。并用一个字段作为标志位,表明这个公司是客户还是供应商。或者这个公司,既是客户,又是供应商。而对于网上商城注册的个人买家,并不在这个表中维护。这个表维护的是企业,并不针对个人。

二、货品管理

货品管理,是一个网上商城系统的核心,因为网上商城的一切活动,都是围绕着买和卖进行的。买和卖的核心,也就是货品(或者叫商品)。货品管理功能的好坏,将直接影响到一个网上商城或者网上商店系统的易用性。

我们的货品管理包括下面几个功能。

(1)可以动态增加规格

这个特性,对于服装行业尤为重要,因为某一款服装,仅仅是因为颜色、尺寸的不同,就能衍生出数十类不同规格的衣服,而价格完全相同。如果货品管理不能支持这个特性,将会使录入程序极其烦琐,每一个规格都要重新录入一次。这给统计查询也会造成很大的麻烦,每一个货品编码,都会代表不同的货品,哪些货品仅仅是因为规格不同,统计时要看做同一个商品来统计。如果不同规格算作不同商品,就会有这个麻烦,这个问题不解决,至少在服装行业,这个网上商城系统,是不好用的,也没有客户愿意使用。动态增加规格如图2-2所示。

图2-2 为商品动态添加规格

(2)可以动态增加多幅图片

由于是网上商城,顾客可能实际并没有见过这款货品,那么一个货品,它的图片越多,供顾客参考的内容就越直观,顾客就可以反复比较和揣摩这个货品是否是自己理想中的商品,购买后反悔的心理就会减弱,从而增加网站黏性,主界面如图2-3所示。

图2-3 商品维护主界面

(3)可以动态增加属性

不同类别的货品,它们有一些通用的属性,比如货品编码、货号、计量单位、供货商、品牌、进货价格、销售价格、期初库存等基本属性。对于网上商城来讲,还有“是否精品”、“是否特价”等属性。但是不同类别的货品,它们的属性差异还是很大的,比如:服装行业有尺码、颜色、材料等特殊属性,而一款硬盘,则有容量大小(比如1000G)、转数(比如7200转/5400转)等特殊属性。不同的货品,属性差异很大,所以我们要有动态增加商品属性的功能。这个功能,我们将在类别管理里面实现,针对某个货品类别,动态设置好它的属性后,我们就可以在货品管理里面动态设置属性值了。

货品管理基本信息包括如下几方面。

①货品编码:系统自动生成。

②货品名称:货品的实际名称。

③货号:这里重点解释一下货号。像服装之类的商品,由于颜色、尺码不同,造成货号可能就是不同的,但是却算作一个货品,统计查询起来比较方便。

④供货商:自己进货的、生产厂家或者上一级分销商。

⑤库房:进货后,把这个货品放在哪个仓库(可以是虚拟的)。

⑥是否上架:由于后台是完整进销存系统,用户不仅使用网上商城系统,还可能混合使用进销存系统,目的是记账用,并不对外销售,所以加了这个参数。如果不上架,则不应在网上商城前台显示。

⑦显示比例:用户也许不愿意让网上商城前台看到自己的库存,但是在后台,又想录入实际库存,作为自己日常管理用,所以加了这么一个参数。

⑧本店零售价:即在网上商城的售卖价。

⑨期初库存:如果填写这个库存,那么这个货品会出现在库房台账里,否则,库存就是0,不能对外销售。当然,你也可以利用采购管理的采购入库功能,或者库存管理的直接入库功能,对货品进行入库操作,从而动态监测某个货品日常管理过程。

其他一些基本信息,我就不一一解释了。

三、货品类别

首先,货品类别是为所有的货品分类,比如:服装大类,又可以分为男装,女装/女士精品,男女内衣/家居服等很多大类和小类。初次做电子商务的读者,如果对所售商品的背景知识不是很熟悉的话,我的建议是直接看淘宝或者1688.com是如何分类的,或者参考慧聪网。拿到他们的分类后,直接用就可以了。这么做还有一个好处是,日后跟淘宝集成就很好集成了,不用再转换。

货品类别首先是树状结构的,如图2-4所示。

图2-4 树状结构的货品类别

其次,货品类别是电子商务网站系统软件的核心。系统的灵活性就直接体现在货品类别是否支持各类自定义属性,就像我们在“货品管理”功能模块所讲的,每一个货品都要支持动态属性的添加。那么动态属性的设置,是针对某一类货品,而不是某一个货品。所以,我们针对某类商品,还必须有动态增加属性的功能,如图2-5所示。

图2-5 货品类别关联品牌页面

再次,我们还可以对动态属性分组,比如对于计算机这个类别,我们可以分为硬盘、显卡、声卡、主机等组别。对于硬盘,又分为30G、80G、170G等动态属性值。

最后,某类货品还可以有自己的关联品牌。比如某些箱包,既可以有麦包包,也可以是Guess、Coach。

四、库房维护

库房管理,我们这里做的相对简单,就是针对库房本身的增加、修改、删除,并没有跟数据权限关联上,比如某个保管员只能管某个库房的数据,我们这里暂不考虑那么复杂的情况。

库房管理的基本信息包括库房编码、库房名称和备注字段信息,界面如图2-6所示。

图2-6 库房管理基本信息

五、计量单位

计量单位是一个说简单也简单,说复杂又巨复杂的一个功能。如果我们像维护库房管理那样,简单地维护计量单位的增加、修改、删除和查询功能,本身也没什么新意。但是计量单位涉及到不同计量单位之间的换算功能,比如我们批发一箱牛奶到库房,然后一袋一袋往外卖,这就牵扯到计量单位的换算。采购的时候,计量单位是箱,而出库的时候,计量单位是袋(一袋牛奶),那么库存怎么管理?我们为了容易实现我们的目标,暂时不考虑计量单位之间的换算问题,因为此问题也会给统计查询带来很大的麻烦。

计量单位的基本信息包括计量单位编码、计量单位名称和备注字段信息,如图2-7所示。

图2-7 计量单位界面

六、品牌管理

品牌管理,就是对品牌本身的增加、修改、删除以及是否推荐到首页等。在维护货品类别的时候,我们会把品牌跟某个货品类别关联上,如图2-8所示。

图2-8 品牌管理

品牌管理基本信息包括品牌编码、品牌名称、官方网址、LOGO链接地址等。

如果选择了推荐到首页,则该品牌会出现在网上商城的首页。

七、规格管理

规格管理,我们在货品维护功能里面,已经实现了动态添加规格,不同的规格,代表不同的货品,但他们大多数数据又都是一致的。动态添加的规格名称,则在这个功能模块维护。规格管理如图2-9所示。

图2-9 规格管理

规格管理的基本信息包括规格编码和规格名称。

八、商城信息发布

商城信息发布功能,是指某个网店系统或者网上商城系统,在首页会有一些动态的新闻和信息发布,这里我们把商城信息分为商城公告和站内信息两大类,如图2-10所示。

图2-10 商城信息发布

商城信息发布的基本信息包括标题、信息内容以及信息类别,比如是商城公告还是站内信息。

2.1.2 采购管理功能需求列表和设计

采购管理主要是对进销存模块的采购活动进行日常管理的一个功能模块。比较完善的采购管理包括采购需求、采购订单、采购入库、采购退货、采购付款等功能模块。还有的集团化公司是专门有个采购中心,由各分公司或者各个部门,先提出自己的采购需求,采购配送中心进行招投标,统一进行采购或者叫团购,这样可以压低进货价格,降低采购费用。统一采购后,再根据各个子公司的采购需求统一拆分,中间还可能发生质量不合格退货、分批进货等业务过程,也是相当的麻烦,都由进销存系统统一管理的话,理论上可行,实际开发过程中,会遇到太多的实际情况和特殊情况,这样的业务系统,还是上ERP系统加强大的二次开发比较好。这种情况,也不在咱们这次开发范围。

下面逐个介绍我们关心的几个功能模块的需求。

一、采购订单

采购订单就是指企业与供应商间的一个购销契约,采购订单可视同企业的订货合同书。单据中记录了对某个供应商订货时间、供应货品的数量、已收货数量等资料。也有企业直接就把采购入库单当做采购合同,或者把采购合同单当做采购入库单。进销存难就难在进销存的个性化非常强,每家企业实际业务都有可能不同,采购订单如图2-11所示。

图2-11 采购订单

采购订单应由两部分组成。一部分包括订单编号、采购日期、供货商、经手人、金额合计以及备注等基本信息,我们叫做主表。还有一张表,包括采购订单的基本货品信息。一张采购订单,应该可以采购多个货品,我们在这里叫做子表。主表和子表的关系应该是1∶N的关系。

二、采购入库

所谓采购入库就是把采购的货品存放到仓库的业务活动。采购入库其实是一个非常复杂的活动,对于质量要求比较严格的企业,采购入库之前,还有采购验收的过程,对于货品的数量,也有发货数量、入库数量、合格数量、不合格数量等。尤其是军工行业,要求“举一反三”,发现某个批次的货品有问题,要全部往回追溯,所以单据上的数据项比较多,采购入库单如图2-12所示。

图2-12 采购入库单

跟采购订单一样,采购入库也由两部分组成。一部分包括入库编号、入库日期、供货商、经手人、金额合计以及备注等基本信息,我们叫做主表。还有一张表,包括采购入库的基本货品信息。一张采购入库单,应该可以入库多个货品,我们在这里叫做子表。主表和子表的关系也是1∶N的关系。还有的采购入库单,是从采购订单生成而来,我们这里也是支持的。

对于有很多个分公司的大型企业,一般会有自己的采购配送中心,多个采购需求对应一个采购合同,多个采购合同,又对应一个采购入库单,再加上退换货,这个业务活动是非常复杂的,全靠系统去解决问题就需要一套复杂的ERP系统,我们这里不去介入这么复杂的业务活动。仅仅是一张采购入库单,只对应一张采购订单,就可以了。

三、采购退货

所谓采购退货,就是采购来的货品,由于某种原因,退回给原供应商的业务过程。它是采购入库的逆过程。就像在采购入库里讨论的那样,大型企业采购退货的业务过程,也比较复杂,我们这里就不多讨论了,我们只关注采购退货单与采购入库单一对一的情形。即一张采购退货单,只对应一张采购入库单,但是一张采购入库单,可分多次退货,采购退货单如图2-13所示。

图2-13 采购退货单

采购退货也由两部分组成。一部分包括退货编号、退货日期、供货商、入库单号、金额合计以及备注等基本信息。还有一张子表,包括所有退货的基本货品信息。主表和子表的关系也是1∶N的关系。

四、采购付款

采购付款,就是指对于采购的货品,财务上进行付款的过程。对于同一个供应商,我们一张付款单,可能对应多张采购入库单,所以我们这里的付款单,只跟供应商对应上。一张采购入库单,也可以分批付款,采购付款单如图2-14所示。

图2-14 采购付款单

采购付款的主表信息包括单据编号、付款日期、供货商、金额合计以及备注等基本信息。子表包括入库单号、入库金额,本次付款金额,未付金额等基本信息。主表和子表的关系也是1∶N的关系。

2.1.3 销售管理功能需求列表和设计

一、销售订单

所谓销售订单,就是指与客户签订的销售合同。也有公司直接用销售出库单作为销售合同,销售订单如图2-15所示。

图2-15 销售订单

销售订单主表包括订单编号、订单日期、交货日期、客户、交货地点、经手人、金额合计以及备注等基本信息。子表包括订单的基本货品信息。一张销售订单,应该可以采购多个货品。主表和子表的关系应该是1∶N的关系。

二、销售出库

所谓销售出库,就是记录货物出库的业务过程。销售出库后,对应库存则相应减少。销售出库可能由销售订单而来。前面我们讲过采购中心的复杂例子,我们这里也仅关注一个销售出库单对应一个销售订单的业务。当然,一个销售订单,可由多次销售出库来完成。销售出库单也可以独立完成,而不用跟销售订单关联上,销售出库单如图2-16所示。

图2-16 销售出库单

三、销售收款

销售收款单就是对销售的货品进行收款的业务过程。一个销售收款单,可能对应很多个销售出库单。每个销售出库单,也可以分多次收款,销售收款单如图2-17所示。

图2-17 销售收款单

四、销售退货

销售退货和销售出库是相反的过程。销售退货指的是卖出去的货品被退回的业务场景。新增销售出库的时候,先选择客户,然后再选择此客户对应的销售出库单。一个销售退货单,只能对应一个销售出库单。当然,一个销售出库单,可多次分批退货,销售退货单如图2-18所示。

图2-18 销售退货单

2.1.4 库存管理功能需求列表和设计

一、入库单

入库单就是直接入库的单据,不是采购入库。主要是用于一些低值易耗品之类的入库。也可能是盘点的时候,盘多了,找不到对应的单据,就直接入库了,使得库存达到平衡。所谓盘点,就是企业定期或不定期地对仓库或者店内的商品进行全部或部分的清点,包括实物和账务的核对。直接入库,就没有供应商这个概念了,入库单如图2-19所示。

图2-19 入库单

二、出库单

出库单就是直接出库的单据,不是销售出库。主要是用于一些低值易耗品之类的出库。也可能是盘点的时候,盘亏了,账面上有货品,找不到对应的单据,就直接出库了。使得库存达到平衡。直接出库,就没有客户这个概念了,出库单如图2-20所示。

图2-20 出库单

三、调拨单

所谓调拨单,是指货品在企业内部流通,从一个仓库调拨到另外一个仓库。调拨单需要先选择调出仓库和调入仓库,选择物资要调出的仓库,对该仓库下的物资进行调拨。在国内,即使是一个公司,很多部门之间也是独立合算的。一次调拨的过程,就是一次买和卖的过程,调拨单如图2-21所示。

图2-21 调拨单

四、库存台账

库存台账,是对当前库存的货品进行查询统计的一个功能。可以按照货号、商品名称、商品类别等条件进行查询,库存台账如图2-22所示。

图2-22 库存台账