版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1研究背景面对信息化时代的来临,计算机技术不断地融入到了各行各业中,为各行各业的用户提供了更为周到和便捷的服务。要设计并开发好一个专用系统对每一个个人健康食谱推荐系统的发展都是十分重要的。近年来,随着健康食谱信息的不断增加及计算机技术的快速发展,尤其是数据库技术被广泛的应用,向各位用户提供的服务将变得地越来越丰富,越来越具有人性化。个人健康食谱推荐系统,利用计算机对健康食谱指南相关信息进行管理,用户可以在线实时查看健康食谱信息,有着与传统的健康食谱指南方式所无法比拟的优点。比如计算检索速度特别快、查找便利、保密性好、运行成本低等。这些优点能够极大地提高信息查询和搜索的效率,也是计算机让个人健康食谱推荐系统的管理变得的更科学化、正规化与世界接轨的重要条件。随着我国经济的快速发展,网络信息管理模式逐渐走向了成熟,所以各大商家也快速推出了各种健康食谱系统。由于互联网使用户对实时、准确、高效有了更多需求,所以传统的健康管理方式发生根本上的改变,实时查看食谱的健康指标成为发展趋势。1.2开发意义为了提高健康食谱管理的工作效率,减少不必要的开支,以及方便管理人员全面地掌握健康食谱管理的基本情况。因此,设计开发一套专用的个人健康食谱推荐系统是十分重要的。然而,系统的具体设计与实现将针对每一个健康食谱的管理情况具体进行开展。系统的开发首先要了解现有系统的缺点,为开发新的系统提供一个较为方便的解决方案,使管理人员在日常管理工作过程中,工作效率得以提高,并使健康食谱管理资源得以更有效配置,从而提高健康食谱管理水平,也让健康食谱管理内部更好的为用户服务提供的便利。根据健康食谱管理目前的实际情况,开发人员利用个人所拥有的计算机硬件设备和软件条件,开发一套个人健康食谱推荐系统来实现一些健康食谱管理的基本信息的添加、删除和修改。为减少管理人员的负担,我们应该从根本上解决用手工操作工作量大且容易出错的问题,同时,这也是健康食谱管理领域以后发展的必然趋势。1.3国内外发展现状对于华新[1]提出的科学食谱,孟佩[2]基于由系统根据用户的基本输入信息分析用户的营养成分,给出营养建议,继而从海量的食物库中自动匹配满足营养需求的食物组合。叶伟聪[3]在传统食谱APP的研究基础之上,结合运动营养学相关理论知识,通过分析用户的身体数据及自身需求,得出用户每天需要摄入的热量、碳水化合物等要素,帮助人们合理制订饮食计划、关注饮食细节,系统采用基于约束的推荐算法,通过与用户的友好交互,为用户推荐既符合个人营养健康标准又满足个人口味的食谱。田健友[4]涉及到了食物的管理、菜肴的制作、食谱的管理,架构上使用了C/S、B/S的混合模式结构,基于面向对象的程序设计思想,利用了UML相关图对各个模块的对象、流程、功能以及数据库进行了详细的设计.仲亮靓[5]利用美食网站用户的食谱数据构建了用户-食谱偏好数据集。对饮食知识图谱数据进行预处理,提出了结合知识图谱的个性化推荐模型,使用贝叶斯个性化排序方法建模,验证模型的有效性,设计并实现了基于饮食知识图谱的食谱推荐系统。陈红[6]通过食谱推荐系统,使学生通过系统快速查找所需食物,满足学生喜好,同时兼顾营养健康与便利快捷,提高学生身体质量。实验结果表示,系统操作简单,各项功能完备,拥有实用价值。王振[7]基于大数据技术背景的线上线下Java程序设计创新实践课程模式,讲述Java程序设计语言。汪淼[8]等总结数据驱动的图像处理方法的优势在于,能够充分利用图像库中隐含的知识来指导处理输入图像,并得到更满意的效果。总的来说,健康的饮食方式,科学的食谱分析已渐渐成为主流,更高的生活水平更科学更快捷的食谱推荐更能满足人们的日常需要。因而,个人健康食谱推荐系统更契合我们的日常生活。1.4本文的组织结构本个人健康食谱推荐系统的开发和设计根据用户的实际情况出发,然后通过对系统各方面进行了详细的分析之后,确保该系统在任何方面都是可以实行的,因此开发设计了该系统,最后对系统进行测试使得系统可以正常稳定的运行,并且所有的功能都能实现,形成一个非常完善的个人健康食谱推荐系统。在进行该系统的开发之前,首先对开发该系统所用到的所有开发工具以及相关的技术进行了详细的了解,将系统的整体框架设计出来,然后根据实际的需求进行每一个功能模块的设计,将系统中所有的功能结果一一列举出来,然后进行需求分析,最后对所有的功能模块进行编码,最后完成系统的整体测试,实现系统的正常运行,确保系统的完整性以及可操作性。第一章是绪论,本文章的开头部分,对本题目的研究背景和研究意义等一些做文字性的描述。第二章是系统分析部分,包括系统总体需求描述、功能性角度分析系统需求、非功能性等各个方面分析系统是否可以实现。第三章是系统设计部分,本文章的重要部分,提供了系统架构的详细设计和一些主要功能模块的设计说明。第四章是系统的具体实现,介绍系统的各个模块的具体实现。第五章在前几章的基础上对系统进行测试和运行。最后对系统进行了认真的总结,以此对未来有一个新的展望。第2章健康食谱系统分析2.1可行性分析本次设计基于B/S模式下,运用Java技术采用的是MySQL数据库和eclipse实现。Java语言自从1996年正式发布,目前已经成长为IT领域必不可少的主流编程语言。Java语言中具有面向对象的优势、安全、跨平台、直接支持分布式的网络中的应用、效率等。Java语言是非常简单且高效的,它使编程时间缩短,却使功能增强,让编程人员接手起来也更加简单,方便。它提供了良好的机制,让每个层次允许与之相对的服务器、组件运行,使得系统的搭建稳定可用、开发高效、维护方便[9][10]。B/S程序架构支持任何的浏览器,不需要额外安装特定的软件来使用。这一点在实际操作中是非常方便的,开发者在选择承载工具的问题上会很省心,用户也可以在任何时候、任何地点,只要有网络的前提下对该系统进行使用,真正意义上的打破了时间和空间的束缚。B/S结构的最主要的特点就是与浏览器相互配合为软件开发带来了极大的便利,不仅能够减少开发成本,还能够不断加强系统的软件功能,层层相互独立和展现层是该B/S结构完成相互连接的主要特性。B/S(Browser/Server)比前身架构更为省事的架构。它借助Webserver完成数据的传递交流。只需要下载浏览器作为客户端,那么工作就达到“瘦身”效果,不需要考虑不停装软件的问题[11]。Tomact软件是在一个开放的、参与式的环境中开发的。它可以独立的被应用,却不适用于并发访问较高的情况。它是一个小型的服务连接器,程序员用它来测试服务器页面。Tomact服务器的性能稳定、容易上手、不需要消费即可获得等,这些益处抓住开发者的眼球,使用者擢发难数。总体的可行性共分为以下三个方面。2.1.1技术可行性分析(1)硬件可行性分析本个人健康食谱推荐系统在硬件要求方面不存在特殊的要求,只需要在普通的硬件配置就能够轻松的实现,只是需要确保个人健康食谱推荐系统的正常工作即可。以目前普遍的个人计算机的配置而言,这是十分容易实现的。因此,个人健康食谱推荐系统的开发在硬件方面是可行的。硬件:中央处理器(CPU):P4以上的处理器;硬盘:80GB以上硬盘;内存:512MB;操作系统:WindowsXP,Windows7,Windows10;关系数据库:MySQL(2)软件可行性分析个人健康食谱推荐系统主要采用Java技术,基于B/S结构,MySQL数据库,对于应用程序的开发要求具备完整功能,使用简单的特点,并建立一个数据完整安全稳定的数据库。个人健康食谱推荐系统的开发技术具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。2.1.2操作可行性分析本系统实现功能的操作很简单,普通电脑的常见配置就可以运行本软件。电脑具备连接互联网的能力,并且可以正常访问系统,只需了解业务流程,并且按照专业知识进行正确操作即可,所以个人健康食谱推荐系统具备操作可行性。2.2功能需求分析在系统开发设计前,应该对功能做初步设想,清楚这个管理系统有什么板块,每个板块有什么功能,整体的设计是否满足使用者的需求,接着对所开发的系统功能进行的详细分析总结,从而设计出完整的系统并将其实现。用户和开发人员的交流分析,使其达到最佳理解程度,使系统功能达到最佳。系统管理员用例图如下所示。图2.1系统管理员用例图商家用例图如下所示。图2.2商家用例图用户用例图如下所示。图2.3用户用例图营养师用例图如下所示。图2.4营养师用例图第3章健康食谱网站系统的设计3.1系统功能结构系统设计的目的是分析系统包括的所有功能结构,为开发人员设计开发和实现系统做好准备工作。经过前期的需求调查、分析和整理之后,确定的总体需求主要包括多个模块,本系统包含两大模块,系统功能结构图如下图所示。图3.1系统功能结构图3.2表单字段校验处理设计1.出错信息类型出错信息类型包括:A未输入必填项;B应输入合法字符或数字却输入非法字符或数字;C对空数据表进行更改或删除操作;D向要求唯一值的关键字段添加重复值。2.出错处理对策对于错误A,系统要求用户输入非空值。对于错误B,系统要求用户输入合法字符。对于错误C,系统提示数据表无记录可更改或删除。对于错误D,系统要求用户输入非重复值。3.3系统维护设计个人健康食谱推荐系统是个现代化的高度集成的综合信息系统,系统主要服务对象为用户,最大化在页面中提供多的信息,因此在系统维护上,数据量较大,整体的维护设计如下:(1)代码的维护:部署在云服务器上或本地服务器,通过SVN或FTP保持版本更新迭代。(2)功能增加:功能升级在必要的前提下。(3)数据维护:根据安全性等需求,定期对数据库进行人工备份。3.4数据库设计MySQL是一个多用户、多线程的服务器,采用SQL的数据库,数据库管理系统是基于SQL的客户以及服务器模式的关系,它的优点有强大的功能、操作简单、管理方便、可靠安全、运行较快、多线程、跨平台性、完全网络化、稳定性等,非常适合Web站点或者其他应用软件,在数据库后端的开发。此外,利用许多语言,会员可以编写和访问MySQL数据库的程序。MySQL数据库也是开放源代码的,开发者越来越喜欢使用MySQL关系数据库,应用范围也被推而广之。这是由于速度快和易用性,Web站点或应用软件的数据库后端的开发也都在使用它。科技的进步,给日常带来许多便利:教室的投影器用到了虚拟成像技术,数码相机用到了光电检测技术,超市货物进出库的记录需要一个信息仓库。这个信息仓库就是数据库,而这次的健康食谱信息管理系统也需要这项技术的支持[12]。MySQL的代码是公开的,而且允许别人二次编译升级。这个特点能够降低使用者的成本,再搭配合适的软件后形成一个良好的网站系统。虽然它有缺点,但是综合各方面来说,它是使用者的主流运用的对象[13]。从目前来看MySQL数据库在运行过程当中也是比较简单,而且操作也比较简单的。3.4.1概念模型对于一个要开发的系统来说,E-R图可以让别人能更快更轻松的了解此系统的事务及它们之间的关系。根据系统分析阶段所得出的结论确定了在个人健康食谱推荐系统中存在着多个实体。系统E-R图如下图所示。(1)管理员管理实体E-R图如图3.2所示:图3.2管理员管理实体图(2)分享内容管理实体E-R图如图3.3所示:图3.3分享内容实体图(3)公告信息实体E-R图如图3.4所示:图3.4公告信息实体图(4)商家信息实体E-R图如图3.5所示:图3.5商家信息实体图(5)睡眠情况实体E-R图如图3.6所示:图3.6睡眠情况实体图3.4.2数据表数据库逻辑结构就是将E-R图在数据库中用具体的字段进行描述。用字段和数据类型描述来使对象特征实体化,最后形成具有一定逻辑关系的数据库表结构。个人健康食谱推荐系统所需要的部分数据结构表如下表所示。表3.1admins管理员信息表列名数据类型长度主键允许空说明idint10是否主键编号usernamevarchar50否否账号pwdvarchar50否否密码addtimetimestamp否否添加时间表3.2fenxiangneirong分享内容信息表列名数据类型长度主键允许空说明idint10是否主键编号fenxiangbianhaovarchar50否否分享编号fenxiangbiaotivarchar50否否分享标题fenxiangtupianvarchar255否否分享图片fenxiangriqivarchar25否否分享日期fenxiangneironglongtext否否分享内容fenxiangrenvarchar50否否分享人addtimetimestamp否否添加时间表3.3gonggaoxinxi公告信息表列名数据类型长度主键允许空说明idint10否否主键编号gonggaobianhaovarchar50否否公告编号gonggaobiaotivarchar50否否公告标题leixingvarchar255否否类型gonggaotupianvarchar255否否公告图片liulanliangint11否否浏览量faburenvarchar50否否发布人gonggaoneironglongtext否否公告内容addtimetimestamp否否添加时间表3.4shangjiaxinxi商家信息表列名数据类型长度主键允许空说明idint10否否主键编号shangjiazhanghaovarchar50否否商家账号mimavarchar50否否密码shangjiamingchengvarchar255否否商家名称shangjiadizhivarchar50否否商家地址shangjiafuzerenvarchar50否否商家负责人lianxifangshivarchar50否否联系方式shangjiatupianvarchar255否否商家图片addtimetimestamp否否添加时间表3.5shuimianqingkuang睡眠情况信息表列名数据类型长度主键允许空说明idint10否否主键编号shuimianzhiliangvarchar255否否睡眠质量shuimianshijianvarchar25否否睡眠时间qichuangshijianvarchar25否否起床时间riqivarchar25否否日期tianjiarenvarchar50否否添加人第4章健康食谱网站系统的实现4.1管理员功能模块的实现4.1.1系统登录界面用户进入系统首先看到用户登录界面,用户可以输入账号、密码后点击登录,便进入到相应的主界面。编程实现:if(ac.equals("login")){Stringusername=request.getParameter("username");Stringpassword=request.getParameter("pwd");Stringutype=request.getParameter("cx");Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");Stringrandom=(String)request.getSession().getAttribute("random");if(!pagerandom.equals(random)&&request.getParameter("a")!=null){request.setAttribute("error","验证码错误");go("index.jsp",request,response);}else{Stringsql1="";if(utype.equals("会员用户")){sql1="select*fromhuiyuanyonghuwhereyonghuming='"+username+"'andmima='"+password+"'";}HashMapmap=dao.find(sql1);if(!map.isEmpty()){Iteratoriter=map.keySet().iterator();request.getSession().setAttribute("username",username);request.getSession().setAttribute("login",utype);request.getSession().setAttribute("cx",utype);while(iter.hasNext()){Stringkey=(String)iter.next();Stringval=(String)map.get(key);request.getSession().setAttribute(key,val);}gor("index.jsp",request,response);}else{request.setAttribute("error","账号或密码错误");go("index.jsp",request,response);}}登录界面展示如图4.1所示。图4.1系统登录界面图4.1.2账号管理界面管理员登录后,可以添加、删除、修改以及查看账号信息。编程实现:if(ac.equals("adminlogin")){Stringusername=request.getParameter("username");Stringpassword=request.getParameter("pwd");Stringutype=request.getParameter("cx");Stringpagerandom=request.getParameter("pagerandom")==null?"":request.getParameter("pagerandom");Stringrandom=(String)request.getSession().getAttribute("random");if(!pagerandom.equals(random)&&request.getParameter("a")!=null){request.setAttribute("error","验证码错误");go("login.jsp",request,response);}else{Stringsql1="";if(utype.equals("管理员")){sql1="select*fromadminswhereusername='"+username+"'andpwd='"+password+"'";}HashMapmap=dao.find(sql1);if(!map.isEmpty()){Iteratoriter=map.keySet().iterator();request.getSession().setAttribute("username",username);request.getSession().setAttribute("cx",utype);request.getSession().setAttribute("login",utype);while(iter.hasNext()){Stringkey=(String)iter.next();Stringval=(String)map.get(key);request.getSession().setAttribute(key,val);}gor("main.jsp",request,response);}else{request.setAttribute("error","账号或密码错误");go("login.jsp",request,response);}}其界面展示如图4.2所示。图4.2账号管理界面图4.1.3管理员管理界面管理员登录后可对个人健康档案信息进行查询,可对饮食情况信息进行查询,可对食谱信息进行添加以及查询,可对套餐类型信息进行添加以及查询,可对套餐商品信息进行添加以及查询,可对商品订单信息进行查询,可对公告信息进行添加以及查询。图4.3个人健康档案信息查询图图4.4食谱信息进行添加以及查询图图4.5套餐商品信息进行添加以及查询图4.2用户功能模块的实现用户进入系统可对健康档案信息进行添加以及查询等操作,可对运动情况信息进行添加以及查询等操作,可对饮食情况信息进行添加以及查询等操作,可对睡眠情况信息进行添加以及查询等操作,可对每日打卡信息进行查询等操作,可对分享内容、好友发布信息进行添加以及查询等操作,可对购物车信息进行查询等操作,可对商品订单信息进行查询等操作。图4.6睡眠情况信息进行添加以及查询图图4.7商品订单信息进行查询图4.3营养师功能模块的实现营养师进入系统可对食谱信息进行添加以及查询等操作,可进行修改个人资料、修改密码、留言管理等操作。图4.8营养师进入系统界面图第5章网站系统测试5.1测试目的系统开发完成之后必须要进行系统的测试,通过系统测试才能发现并且找出系统中存在的一些问题,并且可以及时的进行解决和修复,确保系统能够正常稳定的运行,而且系统测试环节在系统的开发过程中占据一半的时间,因此系统测试是系统开发中非常重要的一个环节。5.2性能测试性能测试主要是通过模拟网站运行环境,测试网站性能是否符合客户的需求。性能测试的重要技术指标是:网站的运行速度、网络响应的时间和支持并发节点数。(1)系统运行速度:把系统在不同配置的电脑上运行,在不同的系统上运行,没有发现任何停顿、迟滞现象。(2)系统响应时间:系统响应时间主要包括三个方面第一、系统最小响应时间;第二、系统平均响应时间;第三、系统最大响应时间这三个参数。经过测试,在正常情况下下,局域网内响应时间的三个数值分别为:2/3/5s,速度非常快,用户满意。(3)支持并发节点数:支持并发节点数,就是在访问量增大时,系统是否有延迟,经过测试,当数据超过5000时,访问有些延迟。5.3测试过程在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。登录测试用例表如下所示。表5.1登录测试用例测试性能用户或操作员登录系统用例目的测试用户或操作员登录系统时功能是否正常前提条件进入用户登录页面或操作员登录页面输入条件预期输出实际情况各项信息不予填写,直接点击登陆按钮不允许登录,提示填写账号相关信息一致填写错误的登录名或密码后点击登录系统提示用户名或密码错误,要求重新填写进行登录一致填写与验证码信息不一致的信息系统显示出提示信息,表明验证码错误,要求重新填写一致健康食谱管理测试用例表如下所示。表5.2健康食谱管理测试用例测试性能健康食谱相关信息管理功能用例目的测试系统后台操作员对健康食谱相关信息进行管理的功能是否正常前提条件登录系统后台进入相关管理页面输入条件预期输出实际情况普通操作员登录,点击进入健康食谱相关信息管理的页面提示健康食谱未添加,无法进入相关页面一致超级操作员登入,删除某个健康食谱提示该健康食谱删除失败一致点击增加健康食谱按钮页面正常跳转一致增加健康食谱是,填写已存在的健康食谱编号提示该编号已存在一致5.4测试结果经过对此系统的测试,得出该系统足以满足健康食谱管理日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。总结与展望通过个人健康食谱推荐系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,前期做了很多的准备,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,但在具体的实现过程中仍然走了不少弯路,但付出总会有回报,经过我潜心设计,我的设计作品总算是成功。对于我的设计我进行了两方面的总结。首先,好的方面是在设计中本系统采用的是B/S模式开发,设计了一个简洁高效的界面,提高了用户的操作效率。整个设计布局合理,色彩选用能够让用户欢快愉悦的基调。在设计后期我还对系统的部分界面进行了优化,让整个设计看上去更加的简单、直观。在进行这些设计的同时,使我的知识含量更加丰富,之前学习的知识点也逐渐地融汇贯通起来。设计培养了我独立工作的能力,提高了我的信心,让我对自己的真实水平有了足够的把握。这些都是我在毕业之际获得的宝贵财富。其次,系统基本完成用户所需,但仍有一些不足和小问题,在一些细节上上不够完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病毒物理试题及答案
- 金山区2025-2026学年第二学期期末考试七年级数学学试卷及答案(上海新教材沪教版)
- 流脑防治指南
- 消防安全主题火锅绘画
- 医疗人工智能研究中心
- 外科入院须知指南
- HTML实现人工智能教程
- 小学三年级科学《天气对生活的影响》单元整体教学设计
- 安全知识竞赛试卷100题含答案解析2026年
- 质量事故处理协议书
- 2025年首都博物馆合同制用工人员招聘17人笔试参考题库附带答案详解(10套)
- 2025年广东省中学生天文知识竞赛试题(及答案)
- 超声引导阴部神经阻滞技术
- 海洋弧菌护理查房
- 房建工程质量标准化实施手册(2025版)
- 安徽省合肥市包河区2023-2024学年七年级下学期期末语文试题(含答案)
- 2025届河南省郑州市名校联考英语八年级第二学期期末复习检测试题含答案
- 2024-2025湘科版小学科学四年级下册期末考试卷及答案
- 航线工卡检查规范
- 《金属防腐涂料及其应用》课件
- 依法执业相关法律法规培训
评论
0/150
提交评论