品多多网上商城系统设计_第1页
品多多网上商城系统设计_第2页
品多多网上商城系统设计_第3页
品多多网上商城系统设计_第4页
品多多网上商城系统设计_第5页
已阅读5页,还剩100页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.2功能需求3.2.1网站功能描述1.门户网站主要分为以下几个功能模块:(1)用户模块:用于用户注册信息、个人信息、收货地址信息以及短信验证。A.商家用户能够进入网站后台完成管理产品信息、个人信息管理、秒杀产品的发布与申请以及商品上下架等工作。B.普通用户未登录之前能够浏览首页商品信息以及秒杀活动,以及搜索商品并将商品加入购物车等功能。C.普通用户登录之后能够实时抢购秒杀商品并且对商品进行下单、查看购物车、查看个人中心(订单管理)信息等操作。D.普通用户没有权限进入网站两个后台。(2)首页以及搜索相关模块:主要包括首页中动态指定商品轮播广告信息、活动信息,动态指定首页显示的每个种类的商品(图片商品和文字商品),显示商品详细信息,商品列表页中显示并支持按照品牌、规格、价格区间和默认进行排序和通过页面搜索商品进行高亮显示商品的分页等等。(3)购物车相关模块:主要包括列表页和详情页将商品添加到购物车,用户登录后在首页、详情页、列表页显示登陆用户购物车中查看商品的数目以及价格所属商家的信息,在购物车页面中对用户购物车里的商品进行操作,如选择某件商品,增加或减少购物车中的商品数目等等。支持部分支付,并且动态显示所有该用户的收货地址,选择收货地址,支付方式等等。(4)秒杀相关模块:主要包括查看当前所有秒杀商品,其中包括库存数量、价格、以及结束时间动态倒计时显示,用户登录后在秒杀商品详情页对商品进行抢购,在订单页面中动态显示所有该用户的收货地址,选择收货地址,支付方式等等。(5)订单支付相关模块:包括在提交订单页面显示用户准备购买的商品信息,点击提交按钮完成订单的创建,用户中心订单页显示用户的订单信息,点击支付完成相关支付。支付默认做了微信支付,对支付url用二维码生成器生成对应二维码,会员可进行扫码支付等。3.2.2网站性能描述对于购物网站来说web安全和高并发是最大的问题和挑战所在。Cas和springsecurity它提供了工具和文档来防止导致安全问题的常见错误,dubbox+zookeeper实现SOA分步式服务解决电商高并发压力,并且还有具有以下优点:1.跨站脚本(XSS)防护;2.跨站请求伪造(CSRF)防护;3.SQL注入保护;4.点击劫持保护;5.SSL/HTTPS;6.设置重定向,那样通过HTTP的请求会重定向到HTTPS。7.设置重定向,那样通过HTTP的请求会重定向到HTTPS。8.使用“安全的”cookie。9.使用cas可以完成同一网站不同网页间的单点登录方便用户,提升体验度。10.采用activeMQ作为消息中间件,实现对商品的上下架来完成对索引库更新以及对freemaker页面静态化的页面进行更新。11.采用NGINX作为负载均衡和反向代理服务器,有效缓解服务端的高并发压力,以及可以防止其他人的恶意攻击等。12.使用springboot+HTTPclient来对注册时手机号码的检测,如果格式正确点击发送,来触发后端发送请求,使用阿里大于来进行短信验证码的发送。13.采用Redis非惯性数据库,又叫内存缓存技术,对一些热点数据的缓存,缓解数据库压力。14.使用springtask定时任务对商家所添加的秒杀商品定时更新到Redis。15.使用多线程来进行秒杀数据的下单,提高高并发时秒杀数据在数据库的写入速度,加大下单速度,提升用户的体验度。16.使用fastDFS作为图片服务器,解决电商中图片存储,提高并发。3.3网站模型3.3.1结构化分析方法介绍说明本系统采用结构化分析的分析方法,是一种面向数据流的需求分析和设计方法,它适用于分析和设计大型数据处理系统。数据流图(DFD)是一种图像化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。表3-1数据流图符号说明Tab.3-1Dataflowthediagramsign图形符号名称符号说明实体记述系统之外的数据提供或数据获得组织机构或个人,框内为实体名称PMPMC数据处理记述某种业务的手工或计算机处理,其中PM区记述处理标号,C区记述处理名称DNSDNS数据存储记述与处理有关的数据存储,DN区记述存储的标号,S区记述存储数据的名称数据流记述数据流的流动方向,FM记述数据流的名称3.3.2网站数据流图(DFD)系统顶层数据流图(1)门户数据流图图3-4电商门户系统数据流图Figure3-4dataflowdiagramofe-commerceportalsystem(2)商家管理系统数据流图图3-5商家后台管理系统数据流图Figure3-5dataflowdiagramofmerchantbackgroundmanagementsystem(3)运营商管理系统数据流图图3-6运营商后台管理系统数据流图Figure3-6dataflowdiagramofoperatorbackgroundmanagementsystem二级数据流图(1)门户二级数据流图图3-7门户系统二级细化数据流图Figure3-7portalsystemlevelrefineddataflowdiagram(2)商家二级数据流图图3-8商家后台系统二级细化数据流图Figure3-8secondaryrefineddataflowdiagramofmerchantbackgroundsystem(2)运营商管理系统二级数据流图图3-9运营商后台系统二级细化数据流图Figure3-9detaileddataflowdiagramofoperatorbackgroundsystemlevel23.4数据字典数据字典是对DFD中所有的元素的定义的集合。数据存储定义数据存储卡。3.4.1数据存储卡数据存储卡名称:用户信息表编号:D1相关处理:P10写入,P11读取数据项名称标识符类型位数是否可以为空取值范围用户IDidINT11是数字用户名usernameVARCHAR150否英文字母,英文符号,数字密码passwordVARCHAR128否英文字母,英文符号,数字注册邮箱emailVARCHAR254是邮箱格式注册手机号phoneVARCHAR128是英文字母,英文符号,数字创建时间createddatetime128否时间格式更改时间Updatedatetime128否时间格式昵称nick_nameVARCHAR150是英文字母,英文符号,数字数据结构:说明:部分字段为了提升系统效率,可以为空,与事实不符数据存储卡名称:商家信息表编号:D2相关处理:P10写入,P11读取数据项名称标识符类型位数是否可以为空取值范围商家IDseller_idINT11是数字公司名nameVARCHAR150否英文字母,英文符号,数字密码passwordVARCHAR128否英文字母,英文符号,数字公司邮箱emailVARCHAR254是邮箱格式公司手机mobileVARCHAR128是英文字母,英文符号,数字创建时间createddatetime128否时间格式更改时间Updatedatetime128是时间格式店铺名字nick_nameVARCHAR150是英文字母,英文符号,数字详细地址address_detailvarchar150是英文字母,英文符号,数字联系人姓名linkman_namevarchar100是英文字母,英文符号,数字营业执照号license_numbervarchar100是英文字母,英文符号,数字税务登记证号tax_numbervarchar100是英文字母,英文符号,数字法定代表人legal_personvarchar100是英文字母,英文符号,数字法定代表人身份证legal_person_card_idvarchar100是英文字母,英文符号,数字开户行账号名称bank_namevarchar100是英文字母,英文符号,数字数据结构:说明:部分字段为了提升系统效率,可以为空,与事实不符数据存储卡名称:商品SKU表编号:D3相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围商品IDidINT11否数字商品标题titleVARCHAR20否汉字商品卖点sell_pointVARCHAR254是汉字商品价格pricedecimal(10,2)否数字所属商家店铺名字sellervarchar20否汉字,数字,英文字母商品图片imageVARCHAR100否url地址库存inventoryINT11否数字销量salesINT11否数字商品状态statusSMALLINT6否数字所属分类categoryIdINT11否汉字商品spugoods_idVARCHAR11否汉字,数字,英文字母商家IDseller_idVARCHAR15否汉字,数字,英文字母所属品牌brandVARCHAR20否汉字,数字,英文字母规格参数specspec200是汉字,数字,英文字母数据结构:说明:无数据存储卡名称:商品SPU表编号:D4相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围商品IDidINT11否数字SPU名称nameVARCHAR20否汉字,数字,英文字母商品状态audit_statusvarchar3是汉字,数字,英文字母商家IDseller_idvarchar30否汉字,数字,英文字母品牌brand_idbigint10否数字副标题captionvarchar100是汉字,数字,英文字母一级类目category1_idbigint10是数字二级类目Category2_idbigint10是数字三级类目Category3_idbigint10是数字是否删除is_deletevarchar1是字符数据结构:说明:无数据存储卡名称:商品SPU描述表编号:D5相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字描述introductionVARCHAR3000否汉字,数字,英文字母规格结果集,所有规格,包含isSelectedspecification_itemsvarchar3000是汉字,数字,英文字母包装列表package_listvarchar3000是汉字,数字,英文字母售后服务sale_servicevarchar3000是汉字,数字,英文字母数据结构:说明:无数据存储卡名称:商品分类表编号:D6相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围商品IDidINT11否数字分类名称nameVARCHAR20否汉字父类目ID=0时,代表的是一级的类目parent_idbigint20否数字类型idtype_idbigint11是数字数据结构:说明:无数据存储卡名称:首页广告分类展示表编号:D7相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字分类名称namevarchar50是汉字,数字,英文字母数据结构:说明:无数据存储卡名称:首页轮播广告表编号:D8相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字内容类目IDcategory_idbigint20否数字内容标题titlevarchar200是汉字,数字,英文字母链接urlvarchar500是汉字,数字,英文字母图片绝对路径picvarchar300是汉字,数字,英文字母状态statusInt1是数字排序sort_orderint11是数字数据结构:说明:无数据存储卡名称:首页秒杀商品表编号:D9相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字标题titleVARCHAR50否汉字活动图片small_picVARCHAR100否Url地址原价格pricedecimal10,2否数字秒杀价格cost_pricedecimal10,2是数字spuIDgoods_idINT11否数字skuIDitem_idINT11否数字商家IDseller_idVARCHAR100 否字,英文字母审核状态statusINT1否数字开始时间start_timedatetime固定格式是时间格式结束时间end_timedatetime固定格式是时间格式秒杀商品数numINT11否数字剩余库存数stock_countINT11否数字描述introductionvarchar200是字,英文字母数据结构:说明:无数据存储卡名称:地址表编号:D10相关处理:P17写入,P19读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字联系人contactVARCHAR150否汉字手机mobileVARCHAR150否数字详细地址addressVARCHAR150否汉字,数字,英文备注notesvarchar225否汉字,数字,英文是否默认is_defaultTINYINT1否数字别名aliasvarchar50否汉字,数字,英文省province_idvarchar10是汉字,数字,英文市city_idvarchar10是汉字,数字,英文县/区town_idvarchar10是汉字,数字,英文数据结构:说明:无数据存储卡名称:首页广告分类展示表编号:D11相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字分类名称namevarchar50是汉字,数字,英文字母数据结构:说明:无数据存储卡名称:省份表编号:D12相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字省份名称provinceidvarchar50否汉字,数字,英文字母省份IDprovincevarchar20 否数字,英文字母数据结构:说明:无数据存储卡名称:市级表编号:D13相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字城市名称cityvarchar50否汉字,数字,英文字母城市IDcityidvarchar20否英文、字母省份IDprovinceidvarchar20否英文、字母项目、78l78o702数据结构:说明:无数据存储卡名称:市区表编号:D13相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字区名称areavarchar50否汉字,数字,英文字母区域IDareaidvarchar20否英文、字母城市IDcityidvarchar20否英文、字母项目、78l78o702数据结构:说明:无数据存储卡名称:商品订单表编号:D11相关处理:P18写入,P25读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字订单编号order_idVARCHAR100否数字支付方式pay_methodSMALLINT6否数字订单状态order_statusVSMALLINT6否数字产品数量product_countINT(11)20否数字总价格product_priceDECIMAL(10,2)否数字运费transit_priceDECIMAL(10,2)否数字支付编号trance_numVARCHAR100否数字,英文外键,用户user_idINT11否数字外键,地址addr_idINT11否数字数据结构:说明:无数据存储卡名称:秒杀订单表编号:D12相关处理:P20写入,P21读取数据项名称标识符类型位数是否为空取值范围IDidINT11否数字秒杀商品IDseckill_idINT20否数字支付金额moneyDECIMAL(10,2)否数字用户user_idVARCHAR128否汉字商家seller_idVARCHAR11否数字创建时间create_timedatetimes否数字支付时间pay_timedatetime否数字,英文状态statusint1否数字收货人地址receiver_addressVARCHAR100否数字,英文收货人电话receiver_mobileVARCHAR100否数字,英文收货人receiverVARCHAR100否数字,英文交易流水transaction_idVARCHAR50否数字,英文数据结构:说明:无数据存储卡名称:品牌表编号:D12相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字品牌名称namevarchar255否汉字,数字,英文字母品牌首字母first_charvarchar1 否数字,英文字母数据结构:说明:无数据存储卡名称:规格表编号:D12相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围类目IDidbigint20否数字名称spec_namevarchar255否汉字,数字,英文字母数据结构:说明:无数据存储卡名称:规格属性表编号:D12相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围规格项IDidbigint20否数字规格项名称option_namevarchar255否汉字,数字,英文字母规格IDspec_idbigint30否数字排序值ordersbigint11是数字数据结构:说明:无数据存储卡名称:模板表编号:D12相关处理:P10写入,P11读取数据项名称标识符类型位数是否为空取值范围IDidbigint20否数字模板名称namevarchar255否汉字,数字,英文字母关联规格spec_idsvarchar1000是汉字,数字,英文字母关联品牌brand_idsvarchar1000是汉字,数字,英文字母自定义属性custom_attribute_itemsvarchar2000是汉字,数字,英文字母数据结构:说明:无4总体设计4.1系统概要设计在这个阶段,将考虑程序、文件、数据库、人工过程和文档的物理元素。另一个有一个重要的任务是确定软件系统中的的模块结构结构,以及各个模块之间的关系。这些工作的目的是为了提高软件开发过程中的可视性,管理和控制软件开发过程。4.2系统功能模块图为了最终实现系统的目标,需要设计出开发所需要的的程序和文件,这些程序和文件通常分为两个阶段:结构设计阶段和过程设计阶段。结构设计阶段包括了这些模块之间的关系,设计思想是采用自上而下的逐层分解方法,给出总的模块的一般功能,然后进行逐层分解,从而将模块划分为若干个模块,使模块的大小、功能清晰、将其有一定的独立性和易用性。从而将复杂的系统设计分解成的多个简单模块。门户系统的功能图如4-1所示:图4-1门户系统功能模块图Figure4-1portalsystemfunctionmodulediagram商家系统的功能图如4-2所示:图4-2商家系统功能模块图Figure4-2sellersystemfunctionmodulediagram商家系统的功能图如4-3所示:图4-3商家系统功能模块图Figure4-3sellersystemfunctionmodulediagram4.3系统及环境设计4.3.1体系结构风格选择1)品多多网站选用B/S模式架构:浏览器/服务器模式,同时被称为B/S结构。下图为B/S架构工作原理:图4-6B/S架构工作原理Fig4-6WorkingPrincipleofB/SArchitecture2)表现渲染层采用HTML和CSS实现,前端采用angularJS+Bootstrap,操作简便用户体验好,数据库采用mysql,Redis。4.3.2开发与运行环境表4-1软件开发运行环境说明表Tab4-1SoftwareDevelopmentOperatingEnvironmentStatement组件名称说明用途IntelliJIDEA2017.3.2x64(专业版)开发工具本网站编程工具SSM(springmvc+spring+mybatis)开发框架基于Java的后端框架JDK1.8开发语言编程语言angularJSJavaScript库简化JavaScript编程4.3.3硬件环境本网站采用Linux当服务器,将fastdfs分布式文件系统,Redis非关系型数据库,消息中间件activeMQ,分布式服务注册中心zookeeper部署在Linux服务器。配置信息如下:表4-2配置说明表Tab4-2HardwareEnvironmentConfigurationStatement服务器ip:port用途zookeeper28:2181文字数据存储Redis服务器28:6379/9Redis缓存存储fastdfs分布式文件系统33:22122图片文件存储activeMQ28:61616消息同步4.4数据库设计4.4.1概念模型设计在概念模型中,最常见的就是实体属性图与E-R图。实体属性图能够清楚的表现出实体的属性种类,E-R图可以清晰的表现出实体与实体之间的关系。在E-R图中,矩形表示实体,椭圆表示属性,菱形表示实体与实体之间的联系。图4-1会员实体属性图Figure4-1memberentityattributediagram图4-2商家实体属性图Figure4-2merchantentityattributediagram图4-3地址实体属性图Figure4-3addressentitypropertygraph图4-4品牌实体属性图Figure4-4brandentityattributegraph图4-5广告实体属性图Figure4-5advertisingentityattributegraph图4-7spu商品实体属性图Figure4-7spucommodityentityattributegraph图4-8sku商品实体属性图Figure4-8skucommodityentityattributegraph图4-9订单实体属性图Figure4-9orderentityattributegraph图4-10支付实体属性图Figure4-10paylogentityattributegraph图4-11规格实体属性图Figure4-11specificationentityattributegraph图4-12模板实体属性图Figure4-12

templateentityattributegraph图4-6E-R图Figure4-6e-rdiagram4.4.2关系模型设计1、会员(用户名,密码(加密存储),注册手机号,注册邮箱,创建时间,性别,更改时间)。2、商家(用户ID,公司名,店铺名称,密码,EMAIL,公司手机,状态,详细地址,联系人姓名,联系人电话,联系人电话,税务登记证号,组织机构代码,公司地址,法定代表人,法定代表人身份证)。3、管理员(用户名,密码)。4、地址(用户ID,省,市,县/区,详细地址,是否是默认,标题)。5、县/区(区域ID,区域名称,城市ID)。6、市(城市ID,城市名称,省份ID)。7、省(省份ID,省份名称)。8、品牌(品牌名称,品牌首字母)。9、广告(内容类目ID,内容标题,链接,图片绝对路径,状态,排序)。10、广告分类(类目ID,分类名称)。11、spu商品(商家ID,SPU名,状态,是否上架,品牌,副标题,一级类目,二级类目,三级类目,小图,分类模板ID,是否启用规格,是否删除)。12、spu商品描述(SPU_ID,描述,规格结果集,自定义属性,包装列表,售后服务)13、sku商品(商品id,商品标题,商品卖点,商品价格,库存数量,商品图片,所属类目,商品状态,所属商家,所属品牌,更新时间,SPU_ID)14、sku商品分类表(父类目ID,类目名称,类型id)15、订单(订单id,实付金额,支付类型,状态,订单更新时间,付款时间,物流名称,物流单号,用户id,买家留言,收货人地区名称,收货人,商家ID)16、订单分类(商品id,SPU_ID,订单id,商品标题,商品单价,商品购买数量,商品总金额,商品图片地址)17支付日志(支付订单号,创建日期,支付完成时间,支付金额,用户ID,交易号码,交易状态,订单编号列表,支付类型)秒杀商品(spuID,skuID,标题,商品图片,商品图片,秒杀价格,商家ID,开始时间,结束时间,秒杀商品数,剩余库存数,描述,审核状态)秒杀订单(秒杀商品ID,支付金额,用户,商家,创建时间,支付时间,状态,收货人地址,收货人电话,收货人,交易流水)规格(主键,名称)规格属性(规格项ID,规格项名称,规格ID,排序值)模板(模板名称,关联规格,关联品牌,自定义属性)4.4.3数据库逻辑设计表4-1会员信息表Table4-1membershipinformationtableFieldTypeCommentidbigint(20)NOTNULLusernamevarchar(50)NOTNULL用户名passwordvarchar(32)NOTNULL密码,加密存储phonevarchar(20)NULL注册手机号emailvarchar(50)NULL注册邮箱FieldTypeComment表4-2商家信息表Table4-2sellerinformationtableFieldTypeCommentseller_idvarchar(100)NOTNULL用户IDnamevarchar(80)NULL公司名nick_namevarchar(50)NULL店铺名称passwordvarchar(60)NULL密码emailvarchar(40)NULLEMAILmobilevarchar(11)NULL公司手机表4-3地址信息表Table4-3AddressinformationtableFieldTypeCommentidbigint(20)NOTNULLuser_idvarchar(50)NULL用户IDprovince_idvarchar(10)NULL省city_idvarchar(10)NULL市town_idvarchar(10)NULL县/区表4-4省份信息表Table4-4ProvinceinformationtableFieldTypeCommentidint(11)NOTNULL唯一IDprovinceidvarchar(20)NOTNULL省份IDprovincevarchar(50)NOTNULL省份名称表4-5城市信息表Table4-5cityinformationtableFieldTypeCommentidint(11)NOTNULL唯一IDcityidvarchar(20)NOTNULL城市IDcityvarchar(50)NOTNULL城市名称provinceidvarchar(20)NOTNULL省份ID表4-6县/区信息表Table4-6county/districtinformationtableTableFieldTypeCommentidint(11)NOTNULL唯一IDareaidvarchar(20)NOTNULL区域IDareavarchar(50)NOTNULL区域名称cityidvarchar(20)NOTNULL城市IDFieldTypeComment表4-7品牌信息表Table4-7brandinformationtableFieldTypeCommentidbigint(20)NOTNULLnamevarchar(255)NULL品牌名称first_charvarchar(1)NULL品牌首字母FieldTypeComment表4-8广告信息表Table4-8advertisinginformationtableFieldTypeCommentidbigint(20)NOTNULLcategory_idbigint(20)NOTNULL内容类目IDtitlevarchar(200)NULL内容标题urlvarchar(500)NULL链接picvarchar(300)NULL图片绝对路径statusvarchar(1)NULL状态表4-9广告分类表Table4-9advertisingclassificationtableFieldTypeCommentidbigint(20)NOTNULL类目IDnamevarchar(50)NULL分类名表4-10spu商品信息表Table4-10spucommodityinformationtableFieldTypeCommentidbigint(20)NOTNULL主键seller_idvarchar(20)NULL商家IDgoods_namevarchar(100)NULLSPU名default_item_idbigint(20)NULL默认SKUaudit_statusvarchar(2)NULL状态is_marketablevarchar(1)NULL是否上架brand_idbigint(10)NULL品牌captionvarchar(100)NULL副标题category1_idbigint(20)NULL一级类目category2_idbigint(10)NULL二级类目category3_idbigint(10)NULL三级类目small_picvarchar(150)NULL小图pricedecimal(10,2)NULL商城价type_template_idbigint(20)NULL分类模板IDis_enable_specvarchar(1)NULL是否启用规格表4-11spu商品描述信息表Table4-11spuproductdescriptioninformationtableFieldTypeCommentgoods_idbigint(20)NOTNULLSPU_IDintroductionvarchar(3000)NULL描述specification_itemsvarchar(3000)NULL规格结果集,所有规格,包含isSelectedcustom_attribute_itemsvarchar(3000)NULL自定义属性(参数结果)item_imagesvarchar(3000)NULL商品小图表4-12sku商品信息表Table4-12skucommodityinformationtableFieldTypeCommentidbigint(20)NOTNULL商品id,同时也是商品编号titlevarchar(100)NOTNULL商品标题sell_pointvarchar(500)NULL商品卖点pricedecimal(20,2)NOTNULL商品价格,单位为:元stock_countint(10)NULLnumint(10)NOTNULL库存数量barcodevarchar(30)NULL商品条形码imagevarchar(2000)NULL商品图片categoryIdbigint(10)NOTNULL所属类目,叶子类目statusvarchar(1)NOTNULL商品状态,1-正常,2-下架,3-删除create_timedatetimeNOTNULL创建时间update_timedatetimeNOTNULL更新时间item_snvarchar(30)NULL扩展规格goods_iddecimal(10,2)NULL商品spuIDseller_iddecimal(10,2)NULL商家IDis_defaultvarchar(1)NULL是否默认categoryvarchar(30)NULL分类brandvarchar(30)NULL品牌specvarchar(30)NULL规格sellervarchar(30)NULL商家表4-13sku商品分类信息表Table4-13skucommodityclassificationinformationtableFieldTypeCommentidbigint(20)NOTNULL类目IDparent_idbigint(20)NULL父类目ID=0时,代表的是一级的类目namevarchar(50)NULL类目名称type_idbigint(11)NULL类型id表4-14订单信息表Table3-15orderinformationtableFieldTypeCommentorder_idbigint(20)NOTNULL订单idpaymentdecimal(20,2)NULL实付金额。精确到2位小数;单位:元。如:200.07,表示:200元7分payment_typevarchar(1)NULL支付类型,1、在线支付,2、货到付款post_feevarchar(50)NULL邮费。精确到2位小数;单位:元。如:200.07,表示:200元7分statusvarchar(1)NULL状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭,7、待评价create_timedatetimeNULL订单创建时间update_timedatetimeNULL订单更新时间payment_timedatetimeNULL付款时间consign_timedatetimeNULL发货时间end_timedatetimeNULL交易完成时间close_timedatetimeNULL交易关闭时间shipping_namevarchar(20)NULL物流名称shipping_codevarchar(20)NULL物流单号user_idvarchar(50)NULL用户idbuyer_messagevarchar(100)NULL买家留言buyer_nickvarchar(50)NULL买家昵称buyer_ratevarchar(2)NULL买家是否已经评价receiver_area_namevarchar(100)NULL收货人地区名称(省,市,县)街道receiver_mobilevarchar(12)NULL收货人手机receiver_zip_codevarchar(15)NULL收货人邮编receivervarchar(50)NULL收货人seller_idvarchar(50)NULL商家ID表4-15订单分类信息表Table4-15orderclassificationinformationtableFieldTypeCommentidbigint(20)NOTNULLitem_idbigint(20)NOTNULL商品idgoods_idbigint(20)NULLSPU_IDorder_idbigint(20)NOTNULL订单idtitlevarchar(200)NULL商品标题pricedecimal(20,2)NULL商品单价numint(10)NULL商品购买数量total_feedecimal(20,2)NULL商品总金额pic_pathvarchar(200)NULL商品图片地址seller_idvarchar(100)NULL商家ID表4-16支付日志信息表Table4-16paymentloginformationtableFieldTypeCommentout_trade_novarchar(30)NOTNULL支付订单号create_timedatetimeNULL创建日期pay_timedatetimeNULL支付完成时间total_feebigint(20)NULL支付金额(分)user_idvarchar(50)NULL用户IDtransaction_idvarchar(30)NULL交易号码trade_statevarchar(1)NULL交易状态order_listvarchar(200)NULL订单编号列表pay_typevarchar(1)NULL支付类型表4-17秒杀商品信息表Table4-17secondkillcommodityinformationtableFieldTypeCommentidbigint(20)NOTNULLgoods_idbigint(20)NULLspuIDitem_idbigint(20)NULLskuIDtitlevarchar(100)NULL标题small_picvarchar(150)NULL商品图片pricedecimal(10,2)NULL原价格cost_pricedecimal(10,2)NULL秒杀价格seller_idvarchar(100)NULL商家IDcreate_timedatetimeNULL添加日期check_timedatetimeNULL审核日期statusvarchar(1)NULL审核状态start_timedatetimeNULL开始时间end_timedatetimeNULL结束时间numint(11)NULL秒杀商品数stock_countint(11)NULL剩余库存数introductionvarchar(2000)NULL描述表4-18秒杀订单信息表Table4-18secondkillorderinformationtableFieldTypeCommentidbigint(20)NOTNULL主键seckill_idbigint(20)NULL秒杀商品IDmoneydecimal(10,2)NULL支付金额user_idvarchar(50)NULL用户seller_idvarchar(50)NULL商家create_timedatetimeNULL创建时间pay_timedatetimeNULL支付时间statusvarchar(1)NULL状态receiver_addressvarchar(200)NULL收货人地址receiver_mobilevarchar(20)NULL收货人电话receivervarchar(20)NULL收货人transaction_idvarchar(30)NULL交易流水表4-19规格信息表Table4-19specificationinformationtableFieldTypeCommentidbigint(20)NOTNULL主键spec_namevarchar(255)NULL名称表4-20规格属性信息表Table4-20specificationattributeinformationtableFieldTypeCommentidbigint(20)NOTNULL规格项IDoption_namevarchar(200)NULL规格项名称spec_idbigint(30)NULL规格IDordersint(11)NULL排序值表4-21模板信息表Table4-21templateinformationtableFieldTypeCommentidbigint(11)NOTNULLnamevarchar(80)NULL模板名称spec_idsvarchar(1000)NULL关联规格brand_idsvarchar(1000)NULL关联品牌custom_attribute_itemsvarchar(2000)NULL自定义属性4.4.4Redis数据库Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset:有序集合)。通过分析,用户浏览信息采用列表(list)数据类型,即:history_用户id:[sku_id1,sku_id2,sku_id3],用户购物车信息采用哈希(hash)键值类型,即:cart_用户id:{sku_id1:count,sku_id2:count,sku_id3:count},商品缓存信息采用string(字符串)数据类型,index_page_cache:context={'types':types,'banners':banners,'promotion':promotion,‘cart_count’:‘cart_count}5详细设计系统界面设计,要按照用户的具体需求进行设计,做到界面美观大方,简单易学,容易上手,方便用户的操作。下面将对各个模块进行描述。5.1模块概述5.1.1会员登录流程图图5-1会员登录流程图Figure5-1memberloginflowchart5.1.2购物车流程图图5-2购物车流程图Figure5-2shoppingcartflowchart图5-3购物车流程图2Figure5-3shoppingcartflowcharttwo5.1.3秒杀介绍1.什么是秒杀Secondkill就是一种促销手段,用低价激发人们的购买欲望。2.秒杀实现思路秒杀技术实现核心思想是运用缓存减少mysql数据库瞬间的访问压力!读取商品详细信息时运用缓存,当用户点击抢购时减少缓存中的库存数量,当库存数为0时或活动期结束时,同步到mysql数据库。5.2网站注册界面设计5.2.1注册窗口功能描述注册窗口用于用户进入网站进行购物等行为之前进行的身份确认,用于用户信息的管理和购物信息记录的管理。会员填写注册信息,进行短信验证后方可进入网站进行相关的浏览购物等行为。注册窗口模块功能表如表5-1所示:表5-1注册窗口模块功能表Table5-1RegisterWindowModuleFunctionTable功能编号1.1功能名称用户注册功能描述将用户提供的注册信息进行数据校验,保证数据格式符合系统要求,进行短信验证。输入项用户名,密码,手机号处理描述在手机端收到短信,输入验证码与Redis缓存中验证码校验,成功数据保存。输出项成功:跳转登录页面失败:返回失败原因提示5.2.2注册窗口界面图5-2注册窗口界面Fig5-2Registerwindowinterface图5-3用户短信验证页面图Fig5-3UserMailboxValidationPageDiagram5.3网站登录界面设计5.3.1登录模块功能描述登录窗口用于进入网站进行购物之前进行的身份确认信息。会员,在正确输入用户名和密码后,可以成功进入网站进行除了浏览部分商品除外更多的其他操作。登录窗口模块功能表如表5-2所示:表5-2登录窗口模块功能表Table5-2LoginWindowModuleFunctionTable功能编号1.2功能名称用户登录功能描述将用户输入的个人信息进行数据校验,确认用户是否存在输入项用户名,密码处理描述在后端根据用户名进行查询密码,将账号密码交给springsecurity进行数据校验。输出项成功:跳转到请求页面,如没有跳转到个人中心失败:跳转登录失败页面5.3.2登录窗口界面图5-4登录窗口界面Fig5-4Loginwindowinterface5.4网站用户中心界面设计5.4.1用户中心模块功能描述用户中心窗口中包含用户基本信息,用户订单信息以及收获地址管理,用来进行用户信息展示,订单信息展示和地址管理等。网站用户中心界面模块功能表如表5-3所示:表5-3用户中心窗口模块功能表Table5-1UserCenterWindowModuleFunctionTable功能编号1.3功能名称用户中心信息展示功能描述将返回所有用户信息,包括用户基本信息,最近浏览信息,收货地址信息和订单信息。输入项用户id处理描述在View视图中进行数据获取。输出项成功:返回相应的数据失败:无5.4.2用户中心窗口界面图5-5用户基本信息界面Fig5-5UserBasicInfowindowinterface图5-6个人信息页界面Fig5-6OrderInfowindowinterface图5-7收货地址管理界面Fig5-7ReceptionAddresswindowinterface图5-8订单详情页界面Figure5-8orderdetailspageinterface5.5网站首页界面设计5.5.1首页模块功能描述网站首页为本系统核心界面,该页面中包括商品分类信息,部分商品展示信息(包括文字和图片),轮播商品信息,秒杀活动信息等等。网站首页模块功能表如表5-4所示:表5-4用户中心窗口模块功能表Table5-4UserCenterWindowModuleFunctionTable功能编号1.4功能名称网站首页信息展示功能描述将返回所有商品分类信息,部分商品展示信息(包括文字和图片),轮播商品信息,促销活动信息等等输入项无处理描述在View视图中进行数据获取。输出项成功:返回相应的数据失败:无(未进行相应处理)5.5.2首页窗口界面图5-8网站首页展示界面Fig5-8HomePageDisplayInterface5.5.3商品关键字搜索界面默认搜索小米,可按关键字搜索,属性特征搜索,分页显示,并且可按条件筛选。5.6商品详情页界面设计5.6.1商品详情信息功能描述采用页面静态化技术的商品详情页面包括特定商品的全部信息展示和加入购物车功能,还包括新品商品推荐信息及售后服务留言等信息展示。商品详情页模块功能表如表5-5所示:表5-5商品详情窗口模块功能表Table5-5ProductDetialCenterWindowModuleFunctionTable功能编号1.6功能名称商品详情信息展示功能描述通过商品id,将返回该商品所有信息以及新品推荐信息输入项商品id处理描述在View视图中进行数据获取,将添加到购物车的商品id和count信息进行redis缓存。输出项成功:返回该商品相应的数据和新品推荐数据。失败:无(未进行相应处理)5.6.2商品详情页窗口界面图5-9商品详情页展示界面Fig5-9ProductDetialDisplayInterface5.7商品列表页界面设计5.7.1商品列表页功能描述商品列表页面包括对应于商品分类某一项分类的所有商品信息,而且能够根据商品的人气,价格,默认等方式进行排序。商品列表页模块功能表如表5-6所示:表5-6商品列表页窗口模块功能表Table5-6ProductListWindowModuleFunctionTable功能编号1.7功能名称商品列表展示功能描述通过商品id,将返回该商品所有信息以及新品推荐信息输入项商品分类id处理描述在View视图中进行数据获取。输出项成功:返回该商品相应的数据和新品推荐数据。失败:无(未进行相应处理)5.7.2商品列表页窗口界面图5-10商品列表页展示界面Fig5-10ProductListDisplayInterface5.8购物车界面设计5.8.1购物车界面功能描述购物车页面中展示商品详情页进行添加到购物车的商品信息,而且该页面中能够进行购物车商品数量修改,购物车商品删除,购买商品种类等操作。通过选择可进行批量结算进行订单生成。购物车模块功能表如表5-7所示:表5-7购物车窗口模块功能表Table5-7CartWindowModuleFunctionTable功能编号1.8功能名称购物车功能描述获取redis保存的商品信息,返回相应的商品信息输入项无处理描述在View视图中进行redis数据的获取并且进行相应的计算。输出项成功:返回用户添加购物车里的所有数据。失败:无(未进行相应处理)5.8.2购物车页窗口界面图5-11购物车页展示界面Fig5-11CartDisplayInterface5.9订单页面设计5.9.1订单功能描述订单页面展示用户添加的所有收货地址信息,支付方式选择,和订单的商品列表信息。提交订单按钮创建订单的生成,并且返回到用户订单页面订单模块功能表如表5-8所示:表5-8订单页面窗口模块功能表Table5-8OrderPageWindowModuleFunctionTable功能编号1.9功能名称下订单功能描述通过商品获取信息,包括订单信息,订单商品信息,收货地址等输入项商品id处理描述在View视图中进行数据的获取并且进行相应的计算。成功:返回用户订单页面数据。失败:输出项无(未进行相应处理)5.9.2订单页面界面图5-12订单页展示界面Fig5-10OrderDisplayInterface5.10用户订单支付页面设计5.10.1用户订单支付页面功能描述用户订单支付页面展示用户订单的展示,以及订单状态,通过支付按钮进行支付。用户订单支付模块功能表如表5-9所示:表5-9用户订单支付模块功能表Table5-9UserOrderpayModuleFunctionTable功能编号1.10功能名称订单支付功能描述根据订单id,进行订单支付(目前只支持微信支付)输入项订单id处理描述通过第三方支付手段进行支付输出项成功:返回订单支付成功信息,更新页面订单状态失败:支付失败5.10.2订单支付页面界面图5-13订单支付页展示界面Fig5-13OrderpayDisplayInterface图5-14验证码过期展示界面Figure5-14verificationcodeexpirationdisplayinterface图5-15支付成功展示界面Figure5-15successfuldisplayinterfaceofpayment5.11秒杀活动页面5.11.1秒杀商品显示首先springtask定时任务,实时将秒杀数据更新到Redis缓存,然后当进入秒杀活动页面,加载所有秒杀商品。商品列表页模块功能表如表5-6所示:表5-10秒杀商品列表页窗口模块功能表Table5-10secondskillListWindowModuleFunctionTable功能编号1.11功能名称秒杀商品展示功能描述通过springtask定时任务,实时将秒杀数据更新到Redis缓存,去Redis里查询所有秒杀商品信息输入项无处理描述在View视图中进行数据获取。输出项成功:返回所有秒杀商品展示。失败:无商品图5-16秒杀商品展示界面Picture5-16secondskillcommoditydisplayinterface5.11.2秒杀商品显示点击抢购,去Redis里获取商品信息,使用多线程下单,提高下单效率。商品列表页模块功能表如表5-6所示:表5-11秒杀抢购及支付模块功能表Table5-11secondkillandpaymentmodulefunctiontable功能编号1.11功能名称秒杀商品展示功能描述根据商品ID去Redis里下单生成订单,根据订单id,进行订单支付(目前只支持微信支付)输入项商品ID,订单ID处理描述在View视图中进行数据获取。输出项成功:支付成功页面失败:支付失败页面图5-17秒杀商品抢购及支付界面Figure5-17secondskillshoppingandpaymentinterface5.12商家后台页面1)登录及注册页面修改资料及修改密码添加、管理、申请、上下架商品5.13运营商后台页面登录商家审核及管理商品审核品牌管理及报表导出与导入规格管理模板管理分类管理广告分类管理广告管理秒杀商品审核6编码编码,顾名思义,就是要把已经做好的软件设计结果用某一种语言编写出来。编码是软件工程中的一个阶段,好似是把对软件的设计变得具体化,更加容易的表现出来。所以软件设计是一个程序的框架,而框架决定了一个程序的质量。但是对于编程序的语言的选择与编码的方式也会对最后成品有着非常重要的影响。6.1Java语言的选择Java语言是一种非常“全能”的语言。Java语言它既吸收了C++语言的优点,也对C++语言进行了“去粗取精”,去掉了其多继承、指针等难以理解的抽象概念。具有这些优点的Java语言被广泛应用在计算机的多个领域中,Java的强大功能使编写出来的软件更加完美,实现更多功能。Java语言特点优点有:平台无关性,Java语言经过一次编译后可在任何平台运行,这个特点就解决了关于平台限制的问题。java提供了许多内置的类库,通过这些类库,简化了开发人员的设计工作,同时缩短了项目开发时间,上手快速且含有的大量类库使编写更加简单、容易。提供了对Web应用开发的支持,例如,Applet,Servlet,和JSP可以用来开发Web应用程序,,Socket,RMI可以用来开发分布式应用程序的类库;去除了c++中难以理解,抽象不易懂的特性,如c++中的多继承,头文件,指针,结构,单元,运算符重载,虚拟基础类等,使得程序变得更加严谨,而且容易理解、学习。具有较好的安全性和健壮性。java语言有着非常稳定的特性,经常会运用在网络环境当中,可以增强程序的安全性,使整个程序更加稳定,令用户放心。6.2MySQLServer5.6优点如下1.线程完全是多线程支持多处理器。2.有多个列的种类。3.通过高度优化的类库实现SQL函数库,使其能够实现快速,通常在查询初始化后不会分配存储器。没有内存洞。4.全面支持SQL分组、排序子句,支持各种聚合函数。可以在同一个查询中混合来自其他数据库的表格。5.对应ANSISQL的外部连接和内部连接。6.所有列都有默认值。如果没有指定值的列,则可以在INSERT中插入列表子集。7.MySQL可以在不同的平台上操作。C、C++、Java、Perl、PHP、Python、TCLAPI。MySQL的缺点:1、MySQL的最大缺点是该安全系统,主要不是标准而是复杂,并且仅在调用mysqladmin重读用户权限时发生变更。2、MySQL的另一个主要缺陷之一是没有标准RI(ReferentialIntegrity-RiI)机构。3、MySQL中没有存储过程(StredProcescedure)语言。这是对企业级数据库熟悉的程序员最大的限制。4、MySQL不支持热备份。5、MySQL的价格会根据平台和安装方式而变化。6.3开发环境操作系统:WINDOWS10运行工具:idea数据库:MySQLServer5.66.4编码的特点1)语言简洁、紧凑、使用方便、灵活;2)语法限制不太严格,程序自由度大;3)上手快速且相对来说更容易;4)不抽象,易理解;5)程序执行效率高。6.5源程序清单(见附录C)7测试7.1测试的目标测试的目标就是为了将程序中的错误暴露出来,所以:1)测试的作用是为了将程序中的错误显现出来;2)一个严谨的测试方案是很有可能发现更多其他测试方法无法发现的错误;3)测试是为了将错误暴露出来后被修改,使整个程序更完善。7.2测试的方法测试任何产品都有两种方法:黑盒测试和白盒测试。在清楚产品的功能的情况下,可以用测试的方法来检验每个功能是否正常,这种方法被称为黑盒测试;在清楚产品的内部工作过程的情况下,可以用这种测试的方法来检验产品的内部动作是否按照规格说明书的规定正常进行,而这种方法被叫做白盒测试。图7-1黑盒和白盒测试的区别图Fig7-1TheDifferenceDiagrambetweenBlack-boxandWhite-boxTests7.3测试方案和测试用例设计测试计划是测试阶段的一个关键技术问题。测试计划通常包括:指定要预先测试的特定功能、要输入的测试数据和预期结果。我们通常将测试数据和预期输出作为测试用例。本试验采用黑盒试验方法。7.3.1注册用例测试表7-1注册系统模块测试Tab7-1RegisterUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论不输入任何信息不输入任何信息,直接按注册按钮注册失败,提示为空信息同预期结果测试成功用户名为空用户名为空注册失败,提示用户名为空同预期结果测试成功邮箱格式不正确测试用例:Mr_注册失败,邮箱格式不正确同预期结果测试成功密码为空密码为空注册失败,提示密码为空同预期结果测试成功两次密码不一致确认密码跟密码不一样注册失败,提示两次密码输入不一致同预期结果测试成功输入符合格式的用户名,密码和手机号测试用例:用户名bao密码:121212asas邮箱册成功,给手机号码发送验证码校验同预期结果测试成功7.3.2登录系统用例测试表7-2登录系统模块测试Tab7-2LoginUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论不输入任何信息不输入任何信息,直接按注册按钮登录失败,提示为空信息同预期结果测试成功用户名为空用户名为空登录失败,提示用户名为空同预期结果测试成功7.3.3商品展示系统用例测试表7-3首页商品展示模块测试Tab7-3HomePageProductDisplayUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论不输入任何信息无context={'types':types,'banners':banners,'promotion':promotion,‘cart_count’:cart_count}同预期结果测试成功7.3.4商品详细信息用例测试表7-4商品详细信息展示模块测试Tab7-4ProductDetailUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论不输入任何信息无错误同预期结果测试成功输入商品idSku_id:10返回商品id为10的商品手所有信息同预期结果测试成功7.3.5商品列表用例测试表7-5商品列表展示模块测试Tab7-5ProductListUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论不输入任何信息无错误同预期结果测试成功输入商品类型id,排序类型sorttype_id:1,sort=’price’返回商品id为1的商品手所有信息,并且按照价格进行排序同预期结果测试成功输入商品类型id,排序类型sorttype_id:1,sort=’-sles’返回商品id为1的商品手所有信息,并且按照x销量进行排序同预期结果测试成功7.3.6购物车添加用例测试表7-6购物车添加模块测试Tab7-6AddCartUseCaseTesting测试用例描述操作过程及数据预期结果实际结果结论输入商品id,count为空sku_id:1,count=None{'status':1,'msg':'数据不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论