2、统开发时采用的开发环境为MyEclipse,采用的数据库为MySQL。【关键词】校园二手书交易;B/S系统;数据库;MVC框架盐城师范学院毕业设计DesignandImplementationofCampusUsedBooksTradingPlatformAbstractTheexistenceoftraditionalsecond-handbooksdealhasmanyproblems.BuyingbooksOnlineisbetterthanit,andgraduallybecomesfashionable.Thepurposeof
3、designingcampususedbookstradingplatformis:recyclingofbooksoncampusandreducingthecostofpurchasingbooks.Themostprominentadvantageofcampususedbookstradingplatformis:whencollegestudentswanttobuybooks,theperiodofbuyingbookshasnotberestricted,itcansavetime.Ca
4、mpususedbookstradingplatformisaninformationexchangeplatform,thesysteminterfaceissimple,elegant,andeasytouse.Themainmodulesinclude:loginmanagement,booksinformationmanagement,shoppingcartmanagement,shoppingmanagement,orderinformationmanagement,financialinformationmanagemen
5、t,messageinformationmanagementandnoticeinformationmanagement.Couplingbetweenthevariousmodulesislow,eachmoduleisrapiddeploymentandeaseofmaintenance.ThesystemusesB/SstructureandMVCframework.MVCframeworkincludesthreelayers,threelayersseparatefromeachother,andcarry
11、架。通过采用Hibernate+Struts+Spring框架技术,不单能够提高系统的可扩展性,并且还能够提高系统的可维护性;这对程序员来说是一个十分好的消息,因为这样可以大大减轻程序员开发时候的工作压力。Hibernate技术主要用来:对数据库操作进行封装;Struts技术主要用来:维护和保障前台和后台之间的交互工作;Spring框架的主要作用是:业务的流转。其中,在Struts框架中,包含模型层、视图层和控制层,这三层都很重要,每个层次之间由不同的组件和技术形成,各个层次之间负责着不同的任务。2.3课题研究内容校园二手书交易平台为校园内书籍的循环利用和降低书籍的购买成本提供了平台。该平台
14、减轻开发人员的工作量。MyEclipse支持很多的语言和技术。后来MyEclipse8.5出现了,因为MyEclipse8.5用起来很舒服、很方便。所以,很多开发人员都开始用MyEclipse8.5。MyEclipse8.5作为目前比较流行的编程工具,不仅提升了团队之间合作开发的意识,而且能够很好的对开发周期进行部署和管理,更重要的是,这一版本能够对Hibernate和Spring进行更好的支持。所以,校园二手书交易平台的开发环境选择的是MyEclipse8.5。3.1.2MySQL目前,关系型数据库还是很流行的,许多开发人员还是愿意选择关系型数据库进行系统开发。MySQL就是关
17、ts可扩展性好;三、Struts可以模块化。四、Struts具有高度可重用性。Spring框架目前是十分流行的。使用Spring框架不仅可以降低系统的开发成本,还可以减轻程序员的工作量,因此受到许多企业、公司的普遍使用。Spring主要是对JavaBean的生命周期进行管理。用Spring的好处是能够让对象之间的关系更方便的组合在一起,能够大大降低校园二手书交易平台系统各个组件之间的耦合度。Spring框架还能够提供很多资源解决方案(比如:关于JavaEE应用方面的)。Spring的闪光点主要有:(1)Spring可以提供很多服务。(2)Spring是一个开源框架。(3)Spring具有很低
19、P、HTML、CSS、JavaScript等,后台主要用到的技术有:Hibernate技术、Struts技术、Spring技术等。这些均为该系统的实现提供了技术方面的支持。同时,这些技术不仅提高了系统的开发效率,降低了校园二手书交易平台系统的耦合度,而且使得系统更易于维护。所以校园二手书交易平台具有技术可行性。4.2经济可行性分析校园二手书交易平台的设计过程中,一旦遇到任何问题都是通过上网找资料、到图书馆借书查阅或者向老师请教,系统实现成本较低。所以校园二手书交易平台具有经济可行性。4.3操作可行性分析校园二手书交易平台设计人性化,界面简洁大方,使用方便,操作简单。校园二手书交易平台在整个设
25、g框架实现了MVC三层架构的思想,该框架的好处是:能够大大减少系统开发人员的工作量,非常人性化;该框架使得数据的交互主要集中在服务器端上,大大减少了客户机端的工作量。6.2系统总体结构图校园二手书交易平台系统分为三个基本角色:管理员、非会员、会员。实现了权限拦截,使得系统更加安全,从而给各个角色带来更好的体验。校园二手书交易平台的总体结构如图6-1所示。图6-1系统功能图6.3数据库设计要想成功设计出校园二手书交易平台系统,需要建立一个好的数据库。一个好的数据库能够使系统功能具有更好的稳定性和可扩展性,能够大大减轻管理和维护数据库的负担;良好的数据库设计还能够大大提高系统的查询效率,从
26、而给用户带来更好的操作体验。对数据库进行逻辑设计,数据库表主要包含5个字段。根据上节对校园二手书交易平台的需求分析,可得出数据库需要设计成8张表:(1)t_goods(书籍信息表),用于存放校园二手书交易平台的全部书籍信息,如表6-1所示:表6-1t_goods表字段名称字段类型字段说明是否主键可否为空goods_idbigint(30)书籍id是否goods_catelog_idbigint(5)书籍种类id否否goods_namevarchar(150)书籍名称否否goods_miaoshuvarchar(500)书籍描述否否goods_picvarchar(50)书籍图片否否g
27、oods_shichangjiaint(10)市场价否否goods_tejiaint(10)特价否否goods_isnottejiavarchar(10)普通价书籍否否goods_kucunint(10)库存量否否goods_Delvarchar(20)书籍操作否否(2)t_catelog(书籍类别信息表),用于存放校园二手书交易平台的全部书籍类别信息,如表6-2所示:表6-2t_catelog表字段名称字段类型字段说明是否主键可否为空catelog_idbigint(30)书籍种类id是否catelog_namevarchar(5)种类名称否否catelog_delvarchar(
28、20)种类操作否否(3)t_admin(管理员信息表),用于存放系统管理员基本信息,如表6-3所示:表6-3t_admin表字段名称字段类型字段说明是否主键可否为空User_Idbigint(30)管理员id是否User_Namevarchar(20)管理员名称否否User_Pwvarchar(150)管理员密码否否(4)t_user(会员信息表),用于存放会员注册时的信息,如表6-4所示:表6-4t_user表字段名称字段类型字段说明是否主键可否为空user_idbigint(30)会员id是否user_namevarchar(20)会员名否否user_pwvarchar(150)会员
31、gint(10)消费总金额否否order_songhuodizhivarchar(200)送货地址否否order_fukuangfangshivarchar(5)付款方式否否(7)t_orderitem(订单明细信息表),用于存放会员购买书籍后生成的订单明细信息,如表6-7所示:表6-7t_orderitem表字段名称字段类型字段说明是否主键可否为空orderItem_idbigint(30)订单明细id是否order_idbigint(30)订单id否否goods_idbigint(30)书籍id否否goods_quantitybigint(10)购买数量否否(8)t_liuyan(留言
36、意的书籍、清空购物车。该部分使用了Map集合。(1)添加购物车:把书籍数据添加到Map集合中。publicvoidaddGoods(IntegergoodsId,TOrderItemorderItem)if(items.containsKey(goodsId)TOrderItem_orderitem=items.get(goodsId);_orderitem.setGoodsQuantity(_orderitem.getGoodsQuantity()+orderItem.getGoodsQuantity();/如果购买图书重复,则加上数量items.put(good
37、sId,_orderitem);elseitems.put(goodsId,orderItem);(2)删除购物车:把书籍数据从Map集合中删除。publicvoiddelGoods(IntegergoodsId)items.remove(goodsId);(3)更新购物车的数量:调用增加或删除购物车功能来实现更新购物车的数量。publicvoidupdateCart(IntegergoodsId,intquantity)TOrderItemorderItem=items.get(goodsId);orderItem.setGoodsQuantity(q
38、uantity);items.put(goodsId,orderItem);7.3.4会员购买书籍系统的会员购买书籍设计,如下图所示:图7-6会员购买书籍图7-7会员购书成功publicStringmyCart()/获取我的购物车returnActionSupport.SUCCESS;publicStringorderQueren()/确认提交订单Maprequest=(Map)ServletActionContext.getContext().get(request);returnActionSupport.SUCCESS;7.3.5留言管理系统
39、的留言管理设计,如图7-8所示:图7-8留言管理publicStringliuyanAdd()TLiuyanliuyan=newTLiuyan();/实例化留言类liuyan.setLiuyanContent(liuyanContent);/设置留言的内容liuyan.setLiuyanTitle(liuyanTitle);/设置留言的标题liuyan.setLiuyanDate(newDate().toLocaleString();/设置留言的日期Mapsession=ActionContext.getContext().getSession();/获取
43、数据预期结果1.添加成功2.修改成功3.删除成功4.查找成功实际结果与预期结果一致表8-3购物车管理测试用例用例名称购物车管理测试用例编号TradingPlatform-003测试目的测试能否把书籍添加到购物车、能否修改购物车中的书籍数量、能否删除购物车中的书籍、能否清空购物车测试步骤1.在购物车中添加书籍2.修改购物车中的书籍数量3.删除购物车中的书籍4.清空购物车输入数据页面相应的数据预期结果1.添加成功2.修改成功3.删除成功4.清空购物车成功实际结果与预期结果一致表8-4购书管理测试用例用例名称购书管理测试用例编号TradingPlatform-004测试目的测试会员是否能够成
44、功购买书籍测试步骤会员从购物车中选择一本书籍购买输入数据页面相应的数据预期结果会员购买成功实际结果与预期结果一致表8-5订单管理测试用例用例名称订单管理测试用例编号TradingPlatform-005测试目的测试会员购买书籍之后能否成功查看生成的订单,以及测试管理员能否查看订单、修改订单、删除订单测试步骤1.会员成功购买一本书籍之后,查看订单生成情况2.管理员查看此订单3.管理员修改此订单4.管理员删除此订单输入数据页面相应的数据预期结果1.订单生成成功,会员可以查看2.管理员能够查看此订单3.管理员修改此订单成功4.管理员删除此订单成功实际结果与预期结果一致表8-6财务管理测试用例