【《健康饮食系统的设计与实现》10000字】_第1页
【《健康饮食系统的设计与实现》10000字】_第2页
【《健康饮食系统的设计与实现》10000字】_第3页
【《健康饮食系统的设计与实现》10000字】_第4页
【《健康饮食系统的设计与实现》10000字】_第5页
已阅读5页,还剩26页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

第第4章数据库设计我们计算机信息系统是以数据库为基础的,在数据库管理系统中,包含着各种信息的收集、整理、存储、检索、更新、处理、统计以及发布。数据库是计算机系统的最关键以及最核心的部分。这个健康饮食系统的质量和速度直接受所用的数据库开发的质量。4.1数据库设计原则在概念设计中,通常用自底部向上、混合策略、逐渐扩张和自顶部向下这四种方法。在物理结构设计阶段要分步走,第一步要确定MYSQL数据库的存储结构和存取方法,第二步要对物理结构进行时间空间效率的评价。我们要在聚簇存取、HASH存取方法和存储索引方法中选取相对正确的方法。4.2数据库概念设计数据库的概念设计是以用户作为切入点然后对视图进行开发,是从低往高对整个健康饮食系统的数据库结构框架进行设计,然后合成视图,获取到最后的结果。我们采用采用实体-关系模型进行开发数据模型,以实体、关系以及属性属性构成E-R模型。按常规来说,系统工作环境中所设计的相关事务的提示要用E-R图来表示,E-R图中实体的特征,它所描述是属性。设计概念是以反映用户的组织信息所需数据库的概念结构为最基础的出发点的,言简意赅的来说就是概念模式。它并不不依附于数据库的逻辑结构,是独立于计算机操作系统之外的。4.3数据库E-R图设计我们基于需求分析来设计概念模型,采用E-R模型来显现出各个数据之间的联系,从来反映出用户的各种信息需求,从而对数据库系统进行处理操作。E-R模型支持系统用户的有关联的应用,左后转变为数据库系统逻辑模式,从而更加方便用户进行理解。我们用户可以参与进来,给出自己的意见与建议,使我们研发的属于系统满足绝大部分用户的需求。本健康饮食系统E-R图如下:(1)用户信息实体E-R图,如图4-1所示:图4-1用户信息实体图(2)营养配餐信息实体E-R图,如图4-2所示:图4-2营养配餐信息实体图(3)饮食记录信息实体E-R图,如图4-3所示:图4-3饮食记录信息实体图(4)健康饮食系统总E-R图,如图4-4所示:图4-4饮食系统总实体图4.4数据库表设计健康饮食系统的数据存储是依附于MYSQL上的,所以我们要建立独立的数据库,下面列出了各个模块的信息表。表4-1用户信息表列名数据类型长度是否可空注释idbigint20否编号usernamevarchar20是昵称passwordvarchar20是密码sexchar1是性别heightbigint20是身高weightbigint20是体重agebigint20是年龄namevarchar20是姓名telvarchar20是电话hdxsvarchar10是活动系数表4-2营养配餐信息表列名数据类型长度是否可空注释idbigint20否编号pcnamevarchar50是配餐名useridbigint20是用户编号表4-3饮食记录信息表列名数据类型长度是否可空注释idbigint20否编号foodnamevarchar50是食物名称timedatetime20是日期useridbigint20是用户编号第5章系统界面设计5.1登录界面用户可以通过账号,密码进行注册和登录,其界面如图5-1所示。图5-1登录界面5.2用户主界面系统的主要模块有登陆注册模块、用户基本信息模块、营养摄入标准模块、每日的摄入营养评估模块、用户营养配餐模块、饮食记录模块、饮食推荐模块。健康饮食系统的界面如图5-2所示。图5-2用户主界面关键代码:publicResponseVOlogin(@RequestParam("username")Stringusername,@RequestParam("password")Stringpassword){QueryWrapper<UserEntity>wrapper=newQueryWrapper<>();wrapper.lambda().eq(UserEntity::getNickname,username).or().eq(UserEntity::getName,username).eq(UserEntity::getPassword,password);UserEntityuserEntity=userService.getOne(wrapper);if(userEntity==null){returnnewResponseVO(RtnResultEnum.USER_NOT_FOUND);}returnnewResponseVO(RtnResultEnum.SUCCESS,userEntity);}5.2.1用户信息管理界面系统用户登录进入之后可以管理系统中的各种信息,用户可以进行修改、添加和删除操作,列表展示用户的详细信息,主要展示身高,体重以及姓名等信息。其界面如图5-3所示。图5-3用户信息管理界面5.2.2饮食记录管理界面用户可以管理自己的饮食记录信息,可以实时录入自己的饮食信息,列表展示食物名称以及日期等信息。其界面如图5-4所示。图5-4饮食记录管理界面关键代码:publicResponseVOsave(@RequestBody@ValidatedPcfoodEntitypcfood){QueryWrapper<FoodEntity>wrapper=newQueryWrapper();wrapper.lambda().eq(FoodEntity::getFoodname,pcfood.getFoodname());List<FoodEntity>list=foodService.list(wrapper);StringjsonResult="";if(list.size()>0){jsonResult=list.get(0).getYy();}else{FoodEntityfoodEntity=newFoodEntity();foodEntity.setFoodname(pcfood.getFoodname());StringhttpUrl="/txapi/nutrient/index?key="+key+"&word="+pcfood.getFoodname()+"&mode=0";jsonResult=request(httpUrl);foodEntity.setYy(jsonResult);foodService.save(foodEntity);}pcfood.setYy(jsonResult);pcfoodService.save(pcfood);returnnewResponseVO(RtnResultEnum.CREATED);}5.2.3饮食推荐管理界面用户可以查看饮食推荐信息,可以查看各个食物的营养列表信息。其界面如图5-5所示。图5-5饮食推荐管理界面关键代码:publicResponseVOtuijianlist(){QueryWrapper<UserEntity>wrapper=newQueryWrapper<>();wrapper.lambda().eq(UserEntity::getNickname,"admin");UserEntityuserEntity=userService.getOne(wrapper);QueryWrapper<UserpcEntity>wrapper1=newQueryWrapper<>();wrapper1.lambda().eq(UserpcEntity::getUserid,userEntity.getUserid());List<UserpcEntity>list=userpcService.list(wrapper1);List<TuijianEntity>tuijianEntities=newArrayList<>();list.forEach(UserpcEntity->{TuijianEntitytuijianEntity=newTuijianEntity();tuijianEntity.setId(UserpcEntity.getId());tuijianEntity.setName(UserpcEntity.getName());QueryWrapper<PcfoodEntity>wrapper2=newQueryWrapper<>();wrapper2.lambda().eq(PcfoodEntity::getUserpcid,UserpcEntity.getId());List<PcfoodEntity>pcfoods=pcfoodService.list(wrapper2);tuijianEntity.setList(pcfoods);tuijianEntities.add(tuijianEntity);});returnnewResponseVO(RtnResultEnum.SUCCESS,tuijianEntities);}5.2.4食物营养查看界面用户可以查看食物的营列表,选择食物行,点击查看营养按钮即可查看。其界面如图5-6所示。图5-6食物营养查看界面5.2.5今日营养总量查看界面用户可以查看自己当天的营养总量信息,如果营养出现偏差,系统会进行提示,可以进行适量的补充或是减少营养摄入。其界面如图5-7所示。图5-7今日营养总量查看界面关键代码:publicResponseVOinfo(@PathVariable("id")Stringid){EatfoodEntityeatfood=eatfoodService.getById(id);returnnewResponseVO(RtnResultEnum.SUCCESS,eatfood);}@PostMapping("/save")@ApiOperation(value="保存",notes="保存",httpMethod="POST")publicResponseVOsave(@RequestBody@ValidatedEatfoodEntityeatfood){QueryWrapper<FoodEntity>wrapper=newQueryWrapper();wrapper.lambda().eq(FoodEntity::getFoodname,eatfood.getFoodname());List<FoodEntity>list=foodService.list(wrapper);Stringid=UUID.randomUUID().toString().replace("-","");eatfood.setId(id);eatfood.setYy(jsonResult);System.out.println(jsonResult);eatfoodService.save(eatfood);returnnewResponseVO(RtnResultEnum.CREATED);}5.2.6营养膳食计算界面用户可以录入自己的身高,体重等信息,点击计算按钮,下方会自动展示需要的营养膳食。其界面如图5-8所示。图5-8营养膳食计算界面关键代码:publicResponseVOlist(@RequestBodyMap<String,Object>params){PageUtilspage=foodyyService.queryPage(params);returnnewResponseVO(RtnResultEnum.SUCCESS,page);}publicResponseVOinfo(@PathVariable("id")Integerid){FoodyyEntityfoodyy=foodyyService.getById(id);returnnewResponseVO(RtnResultEnum.SUCCESS,foodyy);}第6章系统测试6.1测试的意义软件要进行正式的应用前,一定要经过许多次的测试,主要测试软件的内容是否和最初的设计符合,目前所有的功能是否好用,信息的展示是否正确,页面的展示是否美观,系统的操作是否简便,是否符合用户操作网站的习惯。如果系统无法通过测试,则该系统无法进行应用,系统可以经过测试,测试出许多的缺陷,从而进行完善,让系统更加的具有使用价值。6.2测试方法单元测试:为了弄清楚系统模块是否与所要求的相符合,需要按健康饮食系统的模块进行一个模块一个模块测试。

循环测试:将单元测试后的内容,运用不同的形式,进行第二步的测试。

集成测试:将健康饮食系统按照各个业务的联通一起进行最后的集成测试,测试数据的流通是否正确。6.3测试用例表6-1用户登录模块测试用例用例编号测试用例的描述操作过程及数据预期结果测试结果N101输入正确的用户名密码填写数据库中注册过的用户名(gxy12138)和正确的密码(xinxinaiziji1)然后点击“立即登录”开始登录系统。成功登录健康饮食系统系统,跳转到系统主页通过N102输入错误的用户密码填写数据库中注册过的用户名(gxy12138)和错误的密码(xinxinaiziji2)后点击“立即登录”开始登录系统系统提示登录失败,并进入错误提示通过N103不输入用户名密码填写空的用户名和空的密码后点击“立即登录”开始登录系统系统提示登录失败,并进入错误提示通过表6-2饮食记录管理模块测试用例用例编号测试用例描述操作过程及数据预期结果测试结果F101录入饮食记录信息点击添加按钮,填写饮食记录信息,点击确定按钮提示录入成功通过F102修改饮食记录信息在列表操作栏中的找到修改链接,改动信息后,点击确定按钮提示修改成功,饮食记录信息变化通过F103删除饮食记录信息在列表操作栏中的点击删除链接提示删除成功,列表刷新通过表6-3用户管理模块测试用例用例编号测试用例描述操作过程及数据预期结果测试结果T101点击新增,填写正确的用户信息根据用户的个人情况,填写性别、体重、身高、活动系数等信息后点击确定提示保存成功,用户的信息保存到数据库通过T102点击修改,修改用户变化的信息根据用户的个人情况,将用户随时间改变或者写错的信息填写,然后点击确定提示保存成功,用户的信息保存到数据库通过T103点击删除,选择要删除的用户信息按照系统流程选择要删除的信息,点击删除提示删除成功,用户在数据库中的信息删除成功通过6.4测试总结本健康饮食系统,用户登录之后的用户管理模块、营养摄入标准模块、饮食记录模块、营养评估模块、饮食推荐模块的测试都不存在问题。用户能够轻而易举的查询到之前的信息,也能通过食物的营养成分信息进行配餐,数据有效而且同步,整个系统流程都非常流畅。结论本健康饮食系统从两个方面,也就是软件和硬件层面突出表明了研发健康饮食系统的必要性。本健康饮食系统是用MYSQL数据库和JAVA相融合从而构建起来的,由于在此之前对于java知识没有深入了解,我在研发这个健康饮食系统的过程中起初遇到了很多很复杂的困难,起初制作的系统页面粗糙不美观,不符合大多数人的视觉审美。而且在数据库的连接上也出现了各种运行不起来的因素,使得程序运行不起来数据参数传递实现不了,而且食物的营养参数无法自动调用,每天摄入的食物质量忘记添加等等问题。但是后来通过在图书馆查阅资料、向已经毕业的学长研究生请教、咨询指导老师包老师,最后在大家的帮助下我终于解决了各种各样的问题。在研发健康饮食系统过程中,我不但学到了很多编程方面的知识,也大大提高自身遇事处理问题我的能力,其中最重要的是学会了如何与人交流和如何在大量的信息中找寻对自己有用的信息。同时通过本次对健康饮食系统的研发过程,我明白了虽然我们各种材料书上的知识点都是有用的有价值的,但是我们每个人的编程习惯大相径庭,我在实践中找寻到了适合我自身的思维范式和处理习惯,这是我积累到的深刻的经验,我们一定要通过实践来找寻解决问题的更好的方法。在这次毕业设计的研发过程中,我通过学习积累了宝贵的经验,也不断地提高了自身的能力,这些在我以后在社会上生存一定会起到举足轻重的作用的。 在研发健康饮食系统的过程中,我借鉴了很多相似的例子,通过这些例子给了我很大的设计灵感,我借鉴吸取了这些系统的优点,对这些系统没有涉及到的层面加以修改,一步一个脚印,对自己的健康饮食系统进行完善。即便如此,由于实践紧迫,我设计的这个健康饮食系统也存在着一些的不足之处,还需要往后进一步通过自身学习来改进完善。我觉我的这次的毕业设计对我而言是一次相当好的经历,我在这四五个月中学到了许多很宝贵的经验,我在指导老师包老师、学长学姐多方面的协助之下,在规定时间内研发出了健康饮食系统。这经历给了我极大的信心,对我也起到了很大的鼓舞,让我明白了“众人拾柴火焰高”的道理,毕业之后我会进一步的融入到社会之中,在工作中自我学习自我提高。参考文献李璇.基于java网络订餐平台的设计与实现[J].吉林:吉林大学,2014.黄瑞钰.图书在传统销售与互联网销售中的区别与转换[J].食品安全导刊,2016,9(27):101周雨薇,李玉红.“互联网+”模式下图书网络营销策略究[J].商场现代化,2016,9(12):36-37.陈实.“互联网+”背景下我国电子商务发展现状、问题和对策[D].武汉:华中师范大学,2016.王玉珂.图书交易领域电子商务模式O2O应用研究[D].武汉:华中师范大学,2015.王卉.基于java的高校生活服务

温馨提示

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

评论

0/150

提交评论