




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
B2C网上购物系统 订单模块设计与实现 摘 要:本系统以眼镜代为虚拟商品(后面商品就以各种眼镜代替),开发了一个B2C的网络电子商城系统。基本实现了如用户注册、用户登录、商品购买、商品搜索、管理员登录、商品的管理、订单管理、用户管理等功能。 客户和销售者是网上商城系统的主要使用者:对于客户来说,其需求功能主要是浏览商品,存放商品,订单生成;对于销售者来说,需要对客户的信息,商品的信息,以及订单的信息进行管理。 关键词:购物车;订单管理;网上商城 Abstract:This system took the glasses virtual goods (goods on the back instead of a variety of glasses), has developed a network of B2C electronic mall system. Basically achieved, such as user registration, user login, merchandise purchase, product search, administrators log in to manage merchandise, order management, user management, and other functions. Customers and sales are the primary users of the online store system: For customers, its main function is to browse commodities demand, storage of goods, order generation; for the seller, the information, the information needs of customers goods, and orders the information management. Keywords:shopping cart;order management;online store 随着信息技术的不断发展,我们现在已经步入了一个信息化的时代,而信息时代的代表便是网络技术的日渐成熟,现在网络已经和我们的生活紧密联系起来了,我们不敢想象没有网络我们的生活会像怎么样,也许就像食物中没有调料,现在的生活离开了网络会变得索然无味。通过网络我们可以足不出户地做许多事情。休闲,娱乐,学习,购物,交友等等许多我们数之不尽的事情。在此背景下,网上购物和网上销售逐步发展和普及。通过一种简洁高效的购物和销售模式可以满足一些消费者和销售商的需求,而在线B2C网络商城可以节约客户的消费时间,并且价格公开合理。对于销售者来说,市场更加广阔,可以避免商品库存的积压,也能更合理的调节商品以适应市场的需求。1 引言1.1 发展现状和前景随着社会的高速发展,中国经济呈现出澎湃生机的大好现象。虽然近年来全球经济危机袭来,又加上今年的中小企业倒闭潮的到来,给中国经济雪上加霜,但是我们依然相信,在中国新一代企业家的努力下,中国的经济腾飞指日可待。其中,以B2C网络商城的迅速崛起为主要标志。下面详细介绍B2C网上商城的现状和未来发展前景。2011年阿里巴巴将旗下淘宝商城正式更名为天猫商城,目的很明显,那就是将原淘宝商城和淘宝区分开来运营。淘宝属于C2C网上商城,而天猫则是 B2C网上商城。天猫在国内B2C网上商城市场上一直占据着绝对的领先地位,直到最新的CNZZ数据才让人们意识到,京东、苏宁等B2C商城已经慢慢地逼近了天猫。有人预计,2020年前,中国的网民将超6亿。这是什么概念?相当于如果你是一个商家,你每销售一件商品可以盈利10元;那么在一年内,如果这6亿网民中只有一千万用户可以成为你的客户,那你一年的利润就是1个亿。因此,从消费方式来说,电子商务的营销策略是一个企业必须涉足的领域。中国是个大国,中国本身就是个大市场,怎样才能在这么大的市场、这么多的客源当中找到自己的立足之地,这是一门学问,同时也是一个挑战。随着社会经济体制的不断完善,市场经济的不断发展、重组、再发展,不创新你就失去竞争力,不前进你就会退后。B2C网络商城的出现,给互联网充实了许多,同时也给电子商务划了完美的一笔,是枭雄还是兵卒,我们都心中有数。1.2 网上购物的优点 网络商城能够发展的如此迅速,这是因为网络商城发展具有相当多的优势,与传统商店经营模式相比,网络商城有诸多优势。首先,网络商城能大幅降低经营成本。网络商城正逐步演变为电子商务的主流形式,借助信息技术的应用,节约了传统模式下的店面、库存等费用。网络商城的运营者一次性投入的固定费用较多,而后期的变动费用较少;对经销商而言,网络商城对流动资金的需求比传统卖场低的多,库存只是虚拟库存,随时可以调配,没有装修费用、进店费用。因此,网络商城的主流产品比传统卖场要低,赢得了价格优势,这是网络商城商城运营模式决定的,不是恶意的价格战。其次,网络商城能满足消费者便捷个性化购物的需求。对消费者而言,购物需要货比多家,精心挑选。传统店铺购物模式下,因信息来源和地理环境所限,消费者不可能完全理性的规范自己的消费行为。网络商城的建立使消费者不受营业时间的限制,足不出户可以在家通过网络寻求自己所需的商品,并可以通过网络直接进行商品交易,这种交易避开了某些传统的商业流通环节,因而更加直接,更加自由。另外,通过网络商城方式,消费者可以向商家主动表达自己对某种产品的欲望,商家可以根据消费者的特殊需要,提供一对一的定制服务,满足消费者的个性化需求。再者,网络商城能短期迅速实现规模扩张。网络商城不受物理空间局限,可以凭借自身的品牌优势,吸引众多厂家加盟,扩大产品经营范围;而消费者也不受地理空间的影响,可以方便的进入商城浏览。在过去的网购市场上,淘宝网一直都是最大的赢家,一直都是最大的主角。而如今,随着行业发展的不断的深入,随着各个B2C电商平台的出现和崛起,大有要取淘宝而代之做主角的势头。这个时期,建立属于自己的B2C电商平台,将无疑是个good idea。1.3 系统软硬件配置要求本服务器端建议用户的计算机使用以下配置(或更高): (1)CPU:Intel (2)硬盘:7200转/分,剩余空间100M (3)内存:建议512MB或更多 (4)Windows 7 或以上 (5)JDK6 和Tomcat5 (6)Oracle 10.0客户端推荐配置(或更高):(1)B/S模式,客户端要求不高(2)显示卡:GT710 或以上(3)IE8 以上或者兼容版本12 系统需求分析与流程分析2.1 系统总体需求分析随在零售业竞争激烈的今天,只有不断地创新,丰富渠道,实事求是,才能成功。电子商务网站也和传统的商业模式一样,首先要确定好商业策略和企业规划,之后就可以开始网站的建设了。 电子商务网站一般由前台和后台系统组成。前台系统为顾客提供浏览界面,顾客可以在这里浏览商品、购物、支付等;后台系统为维护者提供网站管理和维护的工具。做出一个成功的电子商务网站,就要做好网站的要素分析。要素分析分为顾客分析和商务分析。对于顾客分析,哪些阶级层次的人会以网络购物为主要购物方式,他们有什么样的购物习惯。若要事半功倍,就要事先了解消费者心里以及消费习惯。对于客户,电子商务网站必须给浏览者很强烈的美好的第一印象。首次浏览的客户,他们一般关心的事是否简洁明了,是否方便购买,成交一笔交易要付出多少?再次购买的客户,客户需要提交多少信息?等等。在网页的顶端,要放置商城的主要连接以及查找方法,方便顾客访问网页。在网页各个显著突出的地方也要放置热卖的商品和推荐商品。在首页显示网站的新闻和有关商品的最新商品专题,以便顾客随时了解网站的最新动态。对于商务的分析,就是商品的展示、购买、支付、送货渠道等等。对商品分类,大类下面又有若干子类,提供两种方法供顾客浏览,一种是分类浏览;一种就是通过关键词进行查找。2.2 功能需求B2C网上购物系统订单管理后台管理订购商品查询订单用户管理商品管理图2-1 系统功能需求分析前台用户注册登录查商品对于本系统来说,其使用者是用户和管理者,就用户而言,实现的功能包括查询浏览商品,购物车管理,产生订单等;就管理者而言,需要对客户信息,商品信息,以及订单信息进行管理(如图2-1)客户端功能概括如下:商品信息查询模块:根据商品类型查询、关键字查询、模糊查询;用户信息管理模块:用户注册、登录;购物车模块:可以添加和取消要买的商品;订单模块:购物车产生订单,客户可查询订单状态,用户提醒发货。后台功能概括如下:用户管理:查询、修改用户信息;商品管理:增、删、改、查商品信息以及查询销售的情况;订单管理:处理客户的订单,查询订单;3 系统总体设计 在需求分析阶段,搞清楚了系统“做什么”的问题,形成了目标系统的逻辑模型。现在所要做的就是要把系统“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现系统功能的需求2。3.1 系统概要设计系统的概要设计中最重要的就是系统的模块化。模块化是解决一个复杂问题时自顶向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其它模块的联系最少而且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础3。由上章得需求分析,可以设计出本系统的总体结构包括2个子系统:管理员模块、用户模块。系统用例图如下所示。图3-1 系统总用例图3.2 数据库结构设计 (1)用户信息表(userinfo):记录用户的相关信息4,如表3.1所示。 表3.1 用户信息表名称类型可为空USER_IDNUMBERUSERNAMEVARCHAR2(16)PASSWORDVARCHAR2(16)(2)帐户信息表(account):存放用户余额信息相关的信息数据,如表3.2所示。名称类型可为空ACCOUNT_IDNUMBER(6)USER_IDNUMBER(6)BALANCENUMBER(6,2)表3.2 帐户信息表 (3)订单信息表(trade):存放用户订单相关信息,如表3.3所示。表3.3 订单信息表名称类型可为空TRADE_IDNUMBER(6)USER_IDNUMBER(6)CREAE_TIMEDATEHAS_PAYMENTVARCHAR2(1)STATUSVARCHAR2(1)HAS_DELIVERYVARCHAR2(1)TOTALNUMBER(6)(4)地址信息表(address):存放用户地址相关信息,如表3.4所示。 表3.4 地址信息表名称类型可为空ADDRESS_IDNUMBER(6)PROVINCEVARCHAR2(6)CITYVARCHAR2(6)COUNTRYVARCHAR2(6)DETAILVARCHAR2(50)RECEIVE_NAMEVARCHAR2(6)TELEPHONEVARCHAR2(11)USER_IDNUMBER(6) (5)商品信息表(products):存放商品相关信息,如表3.5所示。表3.5 商品信息表 名称类型可为空PRODYCT_IDNUMBER(6)NAMEVARCHAR2(10)CATEGORYVARCHAR2(2)BRANDVARCHAR2(10)MARKET_PRICENUMBER(6,2)MALL_PRICENUMBER(6,2)HAS_NEWVARCHAR2(2)HAS_PROMOTIONALVARCHAR2(2)SELLINGVARCHAR2(500)STOCKNUMBERNUMBER(6)TOTALSALESNUMBER(6)(6)商品项信息表(items):存放订单子项相关信息,如表3.6所示。表3.6 商品项信息表名称类型可为空ITEM_IDNUMBER(6)PRODUCT_IDNUMBER(6)QUANTITYNUMBER(6)TRADE_IDNUMBER(6)(7)图片信息表(images):存放商品图片信息相关的信息数据。表3.7 图片信息表名称类型可为空IMAGE_IDNUMBER(6)PRODUCT_IDNUMBER(6)NAMEVARCHAR2(50)URLVARCHAR2(180)HAS_PRIMARYVARCHAR2(1)3.3 系统详细设计用户下单功能是B2C网上购物系统不可缺少的部分,此部分是在用户注册并登陆成功之后,需完成以下功能:经用户浏览商品确定货品是否充足、创建订单、查询订单子项、生成订单、查询已下订单的相关商品、当余额充足时可以付款、余额不足时将订单改为未付款状态。该部分为B2C网上商城的重要组成部分。根据以上分析,对应的时序图如下:图3-3 用户下单时序图 4 系统功能实现在网上购物系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。4.1 购物车功能模块4.1.1 商品添加1. 描述:用户登录后,查看商品详情,点击加入购物车,购物车会显示加入的商品,若用户未登录会跳转到登录界面;若商品库存不足会给出相应提示5。 2.程序运行效果图如图所示:图4-1-1 商品添加运行效果(1)图4-1-2 商品添加运行效果(2)图4-1-3 商品添加运行效果4.1.2 商品删除1. 描述:当用户把商品成功加入购物车后,不想购买该商品可将该商品删除,删除后会提示用户删除成功。2.程序效果图如图所示图4-1-4 商品删除运行效果4.1.3 关键代码/增加商品,到购物车public String add() if(sessionMap.get(mall_userinfo) = null)try inputStream = new ByteArrayInputStream(3.getBytes(UTF-8); catch (UnsupportedEncodingException e) / TODO Auto-generated catch blocke.printStackTrace();return add;try /购物车ShopCart shopCart = (ShopCart) sessionMap.get(shopCartMany);if (shopCart = null) shopCart = new ShopCart();sessionMap.put(shopCartMany, shopCart);/shopCart.addProduct(item);System.out.println(para.get(buyNumber)0);int buyNumber = Integer.valueOf(para.get(buyNumber)0);int id = Integer.valueOf(para.get(productId)0);Products products = indexService.getEntity(id);if (products.getStocknumber() = 0 | (buyNumber products.getStocknumber() inputStream = new ByteArrayInputStream(4.getBytes(UTF-8);return add;Items item = new Items();item.setProducts(products);item.setQuantity(buyNumber);System.out.println(shopCart.getProducts();/返回增加结果if (shopCart.hasContant(id) shopCart.addProduct(item);inputStream = new ByteArrayInputStream(2.getBytes(UTF-8); else shopCart.addProduct(item);inputStream = new ByteArrayInputStream(1.getBytes(UTF-8);System.out.println(add success); catch (Exception e) e.printStackTrace();try inputStream = new ByteArrayInputStream(0.getBytes(UTF-8); catch (UnsupportedEncodingException e1) e1.printStackTrace();return add;/从购物车中删除商品public String delete() throws UnsupportedEncodingExceptionif(sessionMap.get(mall_userinfo) = null)inputStream = new ByteArrayInputStream(3.getBytes(UTF-8);return add;System.out.println(delette);try /int id = Integer.valueOf(para.get(productId)0);/System.out.println(model.getProductId();ShopCart cart = (ShopCart) sessionMap.get(shopCartMany);System.out.println(model.getProductId() + model Id);cart.remove(model.getProductId();/ 返回删除结果inputStream = new ByteArrayInputStream(1.getBytes(UTF-8);System.out.println(delete);System.out.println(cart.getProducts(); catch (UnsupportedEncodingException e) inputStream = new ByteArrayInputStream(0.getBytes(UTF-8);e.printStackTrace();return delete;4.2 支付功能模块4.2.1 成功付款1. 描述:当用户需要付款的商品总价小于用户帐户余额时,用户点击付款按钮,可成功生成已付款订单2. 程序效果图如图所示:图4-2-1 待付款运行效果图4-2-2 付款成功运行效果4.2.2 付款失败1.描述:当用户需要付款的商品总价大于用户帐户余额时,用户点击付款按钮,会提示余额不足,并生成未付款订单2.程序效果图如下图所示:图4-2-3 待付款运行效果图4-2-4 付款失败运行效果4.2.3 关键代码/ 购物车结账public String payShopCart() if(sessionMap.get(mall_userinfo) = null)return user_login;ShopCart shopCart = (ShopCart) sessionMap.get(shopCartMany);if (shopCart = null) return input;sessionMap.put(shopCart, shopCart);return payshopcart;/ 购买商品public String buysingle()/判断用户是否登陆 不是的让用户去登陆if(sessionMap.get(mall_userinfo) = null)return user_login;if (this.model.getProductId() != null) this.model = indexService.getEntity(model.getProductId();/获得购物所需的参数String buy = para.get(buyNumber)0;System.out.println(para.get(buyNumber)0);int buyNumber = Integer.valueOf(buy);Items item = new Items();item.setProducts(model);item.setQuantity(buyNumber);ShopCart cart = new ShopCart();cart.addProduct(item);/放到shopcart中, 结账的时候统一从shopcart中取出sessionMap.put(shopCart, cart);return buysingle;/ 支付订单public String pay () if(sessionMap.get(mall_userinfo) = null)return user_login;ShopCart shopCart = (ShopCart) sessionMap.get(shopCart);Userinfo userinfo = (Userinfo) sessionMap.get(mall_userinfo);/ 创建订单 String result = service.createTrade(userinfo, shopCart); if(accountout.equals(result) request.put(has_payment,false); else request.put(has_payment, true); return accountout;4.3 提醒发货功能模块4.3.1 提醒发货1.描述:当订单已显示成功付款但未发货时,用户可以点击提醒发货按钮,提醒发货,此时管理员收到发货提醒。2.程序效果图如下图所示:图4-3 提醒发货运行效果4.3.2 关键代码/ 提醒发货public String status() System.out.println(trade + para.get(tradeId);String tradeIdstr = para.get(tradeId)0;Integer tradeId = Integer.valueOf(tradeIdstr);try / 设置为已提醒发货service.status(tradeId);inputStream = new ByteArrayInputStream(1.getBytes(UTF-8); catch (UnsupportedEncodingException e) / TODO Auto-generated catch blocke.printStackTrace();return status;65 系统测试5.1 系统测试目的与意义系统测试是系统开发周期中一个十分重要而漫长的的阶段。其重要性体现在他是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计和系统实现的最终审查。系统测试的任务是尽可能彻底的检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统“做得怎样”。这这阶段又可以分为三个步骤:模块测试,测试每个模块的程序是否正确;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。测试发现问题之后要经过调试找出错误原因和位置,然后进行改正7。基于系统整体需求说明书的黑盒测试,应覆盖系统随偶联合的部件,系统测试是对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出需求规格不符合或与之矛盾的地方。5.2 测试过程在测试之初,由于数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。5.3 购物车和订单支付模块测试(一)购物车模块测试流程: 1.用户不登陆状态下,点击加入购物车 2.确定 3.用户登陆状态下,点击加入购物车 4.确定 5.测试结果表 5.1模块名称测试用例预期结果实际结果是否通过购物车模块用户登陆弹出“增加到购物车成功”弹出“增加到购物车成功”通过购物车模块用户未登陆返回到登陆界面返回到登陆界面通过 2.订单支付模块测试流程: 1.选择订单金额大于帐户余额 2.付款 3.选择订单金额小于帐户余额 4.付款 5.测试结果表 5.2模块名称测试用例预期结果实际结果是否通过订单支付模块300切换到“付款失败,余额不足”界面切换到“付款失败,余额不足”界面通过订单支付模块10切换到“付款成功”界面切换到“付款成功”界面通过5.4 其他错误在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国手压旋转拖把行业市场全景分析及前景机遇研判报告
- 煤矿采矿工程扩建项目节能评估报告
- 中医妇科基础试题及答案
- 离婚协议中明确共同债务分担与房产处理
- 离婚协议财产分割补充协议签订
- 高强度铝合金制品生产制造项目商业计划书
- 离婚申请书样本与婚姻解除及财产分割及子女抚养协议
- xx市污水处理厂工程项目规划设计方案
- 水库扩建工程规划设计方案
- 高效设施农业园项目可行性研究报告
- 疾控中心检验科个人实习总结
- 国企总经理竞聘面试题8套和专业题22问及答案
- 乡镇避孕药具知识培训
- 酒店室内装饰工程施工组织设计方案
- 西学中考试题库及答案
- 广东省佛山市南海区石门实验学校2025届数学七上期末经典模拟试题含解析
- 学校食堂诺如病毒防控培训
- 学堂在线 如何写好科研论文 章节测试答案
- GB/T 45808-2025眼科光学接触镜和接触镜护理产品基于接触镜结合接触镜护理液评价其相互作用的细胞毒性试验
- CJ/T 340-2016绿化种植土壤
- T/CADBM 63-2022建筑室内窗饰产品百叶帘
评论
0/150
提交评论