4.5数据库分析与设计
网上蛋糕销售系统的数据库是具有电子商务相关的数据库,其中的电商交易信息具有很强的专业性。对数据库的设计与创建不仅是为了存储数据,更是为了通过数据来反映业务流程。
4.5.1 系统概念层结构设计
通过需求功能分析以及各个模块的设计,最后将每个模块都进行数据库的设计,并且通过E-R图来进行展示。
基本信息管理模块是对内部员工、客户、供应商的档案进行记录并管理,其中内部员工的信息包括了员工的员工ID、姓名、性别、工号、手机号、生日、身份证号、邮箱、注册日期、备注等,其中工号是系统用户的确定性因素。如图4-9所示。
客户档案的数据存储包括客户的ID、客户来源类型、注册时间、客户性别、手机号、邮箱、会员级别、过期时间、备注等信息,如图4-10所示。
供应商档案的数据存储包括供应商的ID、供应商类型、供货名称、注册时间、营业执照、手机号、邮箱、重要程度、合同过期时间、备注等信息,如图4-11所示。
原料进货管理模块用于管理原料的库存情况。原料档案的数据内容包括了原料ID、原料名称、原料类型、原料供应商ID、供应商名称、原料级别、原料仓库ID、原料仓库位置、负责人、备注,如图4-12所示。
点心出入库管理模块用于管理点心的库存情况。点心档案的数据内容包括了点心ID、点心名称、点心类型、点心供应商ID、供应商名称、点心级别、点心仓库ID、点心仓库位置、负责人、备注,如图4-13所示。
系统的整体E-R图如图4-14所示。
4.5.2 系统逻辑结构设计
本系统重要数据表的主要逻辑结构设计如下文所示。
4.6本章小结
本章节是对网上蛋糕销售系统的设计部分。该章节介绍了系统设计的基本思想以及系统的总体设计,还有各个模块的设计,比如系统的基本信息管理模块、会员管理模块、原料进货管理模块、制作取材管理模块、蛋糕出售管理模块、点心出入库管理模块六个功能模块,并对系统进行了详细设计以及数据库设计。
5系统功能与界面的实现
5.1登陆注册模块的设计和实现
图5-1是网上蛋糕销售系统的的首页,顶部是图片栏,左侧展示了蛋糕的分类情况,底部是蛋糕的折扣促销信息。
系统登陆的核心代码如下所示。
@RequestMapping("toLogin") public String toLogin(Manage manage, HttpServletRequest request){ Manage byEntity = manageService.getByEntity(manage); if(byEntity==null){ return "redirect:/login/mtuichu"; } request.getSession().setAttribute(Consts.MANAGE,byEntity); return "/login/mIndex"; }
5.2会员管理模块的设计和实现
网上蛋糕销售系统是实名制的,用户需要注册登陆后才能进行购买操作。用户点击右上角的登陆按钮,即可跳转到登陆界面,如图5-2所示。
注册完成后,用户可以随时在个人中心模块更改个人信息,如图5-3所示。
管理员可以对用户的信息进行查询,如图5-4所示。
会员管理模块的核心代码如下所示。
public String utoLogin(User u,HttpServletRequest request){ User byEntity = userService.getByEntity(u); if(byEntity==null){ return "redirect:/login/res.action"; }else { request.getSession().setAttribute("role",2); request.getSession().setAttribute(Consts.USERNAME,byEntity.getUserName()); request.getSession().setAttribute(Consts.USERID,byEntity.getId()); return "redirect:/login/uIndex.action"; } }
5.3蛋糕档案管理模块的设计和实现
蛋糕档案管理模块用于处理蛋糕店的蛋糕的信息,对蛋糕的名称、图片等信息进行统计和分析。
在蛋糕管理模块中,管理员可以对蛋糕信息进行增加、删除、修改、编辑、预览图片操作,如图5-5所示。
5.4蛋糕订单管理模块的设计和实现
制作取材管理。这个模块的功能是处理员工从仓库中取出原料的信息,对原料库存信息进行查询,对人员取材信息进行统计分析,如图5-6所示。
蛋糕管理模块的核心代码如下所示。
@RequestMapping("/findBySql") public String findBySql(Model model, Item item){ String sql = "select * from item where isDelete = 0 "; if(!isEmpty(item.getName())){ sql += " and name like '%" + item.getName() + "%' "; } sql += " order by id desc"; Pager<Item> pagers = itemService.findBySqlRerturnEntity(sql); model.addAttribute("pagers",pagers); model.addAttribute("obj",item); return "item/item"; }
5.5我的订单管理模块的设计和实现
蛋糕出售管理。这个模块的功能是处理蛋糕预定信息,对蛋糕预定收据进行打印,依照日期进行入账信息统计,如图5-7所示。
点心出入库管理模块。这个模块的功能是处理点心出入库的相关信息,对点心出库信息进行统计和查询,打印点心出库小票,如图5-8所示。
我的购物车订单模块核心代码如下所示。
public String exAdd(Car car, HttpServletRequest request){ JSONObject js = new JSONObject(); Object attribute = request.getSession().getAttribute(Consts.USERID); if(attribute==null){ js.put(Consts.RES,0); return js.toJSONString(); } //保存到购物车 Integer userId = Integer.valueOf(attribute.toString()); car.setUserId(userId); Item item = itemService.load(car.getItemId()); String price = item.getPrice(); Double valueOf = Double.valueOf(price); car.setPrice(valueOf); if(item.getZk()!=null){ valueOf = valueOf*item.getZk()/10; BigDecimal bg = new BigDecimal(valueOf).setScale(2, RoundingMode.UP); car.setPrice(bg.doubleValue()); valueOf = bg.doubleValue(); } Integer num = car.getNum(); Double t = valueOf*num; BigDecimal bg = new BigDecimal(t).setScale(2, RoundingMode.UP); double doubleValue = bg.doubleValue(); car.setTotal(doubleValue+""); carService.insert(car); js.put(Consts.RES,1); return js.toJSONString(); }
6系统测试
6.1测试目的
在此系统进行初步实现之后,开始对系统进行测试,找出系统中存在的 Bug,通过测试,用提交的Bug 报告来为以后系统的改进提供标准和参考,能够在以后的系统改进中找到依据。
测试后的系统各模块基本功能都可以顺利进行,尽可能的提高软件的健壮性。
6.2测试方法
常用的软件测试方法能按照多种形式进行分类,每种分类方法都有自己单独的标准。下面以最常见的从是否关心软件内部结构和具体实现角度划分的黑盒测试和白盒测试为例进行介绍。
黑盒测试也叫做功能测试,主要测试的是产品功能是否可以实现,不在乎产品内部的结构,只针对产品的功能做出检测评价。黑盒测试是在程序界面处进行测试,它只是检查测试程序是否按照需求规格说明书的规定正常实现,只关心输入和输出的结果。
白盒测试也叫做逻辑驱动测试或结构测试,通过对程序内部结构的分析、检测来寻找问题。研究里面的源代码和程序结构,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。
6.3测试用例
本系统主要采用的是黑盒测试方法。蛋糕销售系统测试的内容主要从下面几个功能模块进行。
- 通过输入不同的测试数据,查看测试的效果是否与预期结果完全相同。
- 使用穷举法,大量测试临界值数据,查看测试的效果是否和预期结果相同。
- 使用等价类划分法,把程序的输入域划分为多个部分,然后从每个部分中选取少许代表性数据作为测试用例,然后查看测试的效果是否和预期结果相同。
7结论与展望
7.1结论
本文提出并设计了网上蛋糕销售系统,从系统整体结构设计出发,提出了网上蛋糕销售系统的六大功能模块。最后实现了网上蛋糕销售系统的开发。
在设计该系统时,主要包括了以下几个工作部分:
在设计的初期,搜集比对大量的国内外文献对网上蛋糕销售系统的现状做了分析,阐述了研究背景和意义,并具体分析了国内外现状的优缺点,同时确立了本次开发所使用的具体技术,阐述了所使用技术的优缺点。
对网上蛋糕销售系统进行系统需求和功能需求等分析,确定了本系统所具备的功能,同时对系统开发进行可行性分析,确定了本次系统开发的可行性,在此基础上完成了数据库的创建。
在编码实现阶段,使用Idea开发工具完成了编码实现,引入Spring Boot框架简化了WEB的开发,在数据层,使用了MyBatis框架、MySQL,并利用Maven进行管理,前端使用VUE框架进行开发。
7.2 展望
本文设计的网上蛋糕销售系统能够有效满足电子商务销售的相关需求,流程合理,操作简单,界面简洁美观,适合蛋糕电商相关人员的使用,但因个人水平的不足及其他因素,研究仍存在许多问题及不足之处,例如:本文所设计的网上蛋糕销售系统使用MySQL对系统产出的数据进行存储,但随着后期信息量的不断加大,在性能方面可能会受一定的影响,后期考虑增加缓存来增强数据存储能力。其次,保障顾客的信息安全也是一重大关键点,蛋糕店人员信息安全性问题也是极其重要的,本文未对信息的安全性问题展开讨论,要完善该系统,还需要对信息安全问题进行深入探讨,并且,由于系统本身并没有链接到实体蛋糕店铺,所以无法进行现有实体蛋糕库存信息的查询。
参考文献
[1]李泉溪,吴硕.ZigBee电子商务系统研究[J].河南科技大学学报(自然科学版).2011(05)
[2]王加梁,姚嘉鑫.3G技术在电子商务系统中的应用研究[J].中国新通信.2013(04)
[3]张琳.基于Android电子商务系统的设计与实现[ D].厦门大学2014
[4]邓佩.基于Android平台的电子商务系统设计与实现[J].电脑编程技巧与维护.2013(12)
[5]李满玲.基于微信的蛋糕行业管理系统设计探讨[J].通讯世界.2015(21)
[6]凌质亿,刘哲星,曹蕾.高并发环境下 Apache与 Nginx的I/O性能比较[J].计算机系统应用.2013(06)
[6]田丽,李颖.基于IPv6线上蛋糕销售管理系统的设计与实现[J].深圳大学学报(理工版),2020,37(S1):165-168.
[7]逢利华,张锦春.基于Hadoop的分布式数据库系统[J].办公自动化.2014(05)
[8]吴智辉.移动个性化推荐系统设计与实现[ D].电子科技大学2012.
[9]薛晶晶,王彦明.基于Spring Boot技术微信平台的校园蛋糕智能管理系统[J]电子世界,2018(14): 193-194.
[10]田苗,张明龙.校园微信蛋糕销售平台在高校食堂的应用探析[J].纳税,2018 (5) : 195.
[11]李泉溪,吴硕.ZigBee无线邮件系统研究[J].河南科技大学学报(自然科学版).2011(05)
[12]王加梁,姚嘉鑫.3G技术在电子邮件系统中的应用研究[J].中国新通信.2013(04)
[13]张琳.基于Android无线邮件系统的设计与实现[ D].厦门大学2014
[14]邓佩.基于Android平台的无线邮件系统设计与实现[J].电脑编程技巧与维护.2013(12)
[15]李满玲.基于微信的邮件行业管理系统设计探讨[J].通讯世界.2015(21)
[16]凌质亿,刘哲星,曹蕾.高并发环境下 Apache与 Nginx的I/O性能比较[J].计算机系统应用.2013(06)
[17]田丽,李颖.基于IPv6电子邮件管理系统的设计与实现[J].深圳大学学报(理工版),2020,37(S1):165-168.
[18]逢利华,张锦春.基于Hadoop的分布式数据库系统[J].办公自动化.2014(05)
[19]吴智辉.移动个性化推荐系统设计与实现[ D].电子科技大学2012.
[20]Cao Fengping; Zhu Lin. Research on Campus Attendance System Based on Face Recognition and Trajectory Tracking [J]. IOP Conference Series: Earth and Environmental Science, Volume 769, Issue 4. 2021.
[21]Donger Zhou. Design of Student Attendance System based on 2.4Ghz RFID Technology[J]. Journal of Physics: Conference Series. Volume 1924, Issue 1. 2021.
结论与展望
今年是我本科学习的最后一年,在这里度过了充实的四年生活。在老师和同学的帮助下,我才能在短短几个月的时间顺利的完成本次毕业设计。在做毕业设计期间,我遇到了许多的困难,但这些困难最终都被化解。在此,我对那些曾经帮助过我的人表示深深的感谢。
其中,最要感谢的人就是我的毕业设计老师,她无论是在设计选题,还是在文献综述的撰写,以及最后项目的开发都给予了我很多实际性的指导建议。在毕业设计撰写过程中,由于自己的粗心,出现了许多不必要的错误。老师总是耐心的一一指点,找到了许多我未曾发现的错误。老师认真负责的态度早已烙印到我的心中,使我受益良多。
如今,我即将大学毕业,将会去一个新的地方深造,我仍会继续努力。临别之际,万般不舍,唯有思念藏心头,努力学习,回报社会。
引用说明:
引用以上内容的用户,必须同意以下内容,否则请勿引用!
- 出于自愿而使用本文,了解引用本文的风险,且同意自己承担引用本文的风险。
- 利用本文内容构建的任何信息内容以及导致的任何版权纠纷和法律争议及后果和作者无关,作者对此不承担任何责任。
- 在任何情况下,对于因引用本文而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),作者概不承担任何责任。
- 必须了解使用本文内容的风险,作者不对其提供二次维护服务,也不提供任何有关资料。