营养健康管理系统(附件)
随着我国经济建设的发展,人民的生活水平提高,人们需要高品质的生活,所以对自身的营养健康也变得越来越重视。再加上网络技术的飞速发展,将服务放于网络上已是大势所趋。营养健康管理系统旨在为用户提供一个营养和热量的管理平台为,用户每天的营养健康提供一个量化的参考。本设计采用面向对象的方法并根据用户需求进行了系统设计,运用JSP及MySQL数据库等开发技术,为用户提供食物管理、家庭成员管理、营养计算参考、营养补充参考、热量计算等功能,同时管理员对食物所含营养和个人每天所需的标准营养进行维护操作。目前系统以实现较为完备的功能。关键字JSP;食物管理;营养参考;热量计算Nutrition and health management systemNetwork Engineering Student JiaoJian Tutor XueWeiAbstract: With the development of Chinas economic development, peoples living standard has improved, people need to live with high quality, so their nutrition and health have become more and more attention. Coupled with the rapid development of network technology, the service on the network is the trend. The nutrition and health management system is designed to provide users with a nutrition and heat management platform for users to provide a quantitative reference to the daily nutrition and health. This design adopts the object-oriented method and according to the needs of the users of the *好棒文|www.hbsrm.com +Q: ^351916072^
system design, using JSP and MySQL database development technology, food management, family management, nutrition, nutritional supplement, calculation of reference reference heat calculation functions for users, the standard management of food and nutrition with nutritional and personal needs every day the maintenance operation. The current system to achieve a more complete function.1 绪论1.1 选题背景及意义随着人们生活水平的提高,大家对个人营养健康也越来越重视。人体需要的各种营养素都需通过饮食获得,因此必须科学地安排每日膳食以提供数量及质量适宜的营养素[1]。在人体所需的各种营养元素中,铁,钙,维生素 A,维生素B1,维生素 B2等,都发挥着重要的作用[2]。由于人体每天所需的营养物质的量有国际标准,但是大家对自己每天所摄入的营养物质的量是否达到标准,并没有一个可比较的参考值。并且现在人们也很注重自己的体重,总有减肥的声音传到我们的耳朵里,但没有人知道自己今天吃的食物总共有多少热量。在这个注重健康的时代有一个可以解决用户这类问题的系统,将会得到广泛的运用。营养健康管理是运用现代化的信息技术,把个人对自身的营养健康管理通过整合形成一个简洁、便利、完善的服务程序,本管理系统的目的就是通过每天所食用的食物的营养的含量与标准的每天营养摄入量的含量的对比给予用户一个个人的营养健康的量化的参考,以便用户对自己每天摄入营养健康的管理。并对食物的热量进行计算,给予用户一个量化的值作为参考,为用户保持健康提供帮助。1.2 国内外研究状况国内有关健康管理系统的研究在近几年已经取得了一些进展,但大多主要是针对特殊的人群和特殊的健康问题对其进行管理,与我所设计的对个人营养健康进行管理的信息统有类似但也有一些区别。1.3 研究的目的和内容1.3.1 研究目的本管理系统基于WEB平台,主要实现以下功能面向用户实现WEB端登陆对今日所吃食物以及家庭成员的的管理。面向用户对所吃食物营养的相关操作和对家庭成员每日营养的管理操作。面向管理员WEB端登陆,对食物、营养、标准营养进行维护。1.3.2 研究内容个人每天所需营养的研究通过上网和查看相关书籍了解人体每日营养的标准数据,对人体所需营养及所需热量的量化信息的相关搜集。后台管理的数据库设计用户对个人信息及所吃食物等存储。管理员对标准营养等后台维护。基于JSP的WEB管理系统的开发服务器技术设计与客户端交互的服务器端程序。Spring MVC与MyBatis的整合框架掌握网站开发中Spring MVC与MyBatis结合的开发模式。JSP的界面设计通过需求分析,利用JSP网页开发技术对本管理系统进行界面布局的设计,满足相应用户需求的功能。管理员与用户的登陆与注册设计。1.4 技术路线 本系统使用WEB应用服务器Tomcat,基于B/S架构,运用JSP动态网页技术,通过JavaScript实现具体功能模块,连接MySQL数据库实现后台维护功能等等。并实现用户与系统之间的交互,使用户能够管理自己一天的营养。(1)详细设计用户可以通过添加食物,计算出用户今日所摄入的各种营养与标准营养进行对比,给用户健康营养的参考。同时也可以管理家庭成员为他们添加所吃食物,计算家庭成员所摄入的营养并与标准营养进行对比。(2)数据库设计数据库运用MySQL来设计,主要数据表有个人信息表、家庭成员表、食物营养含量表、标准营养表、食物表、管理员表、消息表等。(3)整合将完成的各模块整合到一起,形成完整的营养健康管理系统。(4)测试修改对开发系统进行测试并修改,尽可能发现系统中存在的bug及不足,并对发现的bug进行修正,对不足的地方进行重新编写和测试。1.5 论文组织结构第一章 绪论。本章主要介绍所设计的营养健康管理系统课题实现的研究背景及意义,并分析国内外的研究概况,明确了本课题的研究目标、研究内容以及技术路线,并给出了本次论文的组织结构。 第二章 相关技术理论。本章主要介绍系统在实际开发过程中所用到的一些关键技术与理论,有WEB、B/S架构、JavaScript、Spring MVC框架和MyBatis模式等。 第三章 系统需求分析。本章论述了营养健康管理系统要实现的功能,对系统的需求分析采用的是面向对象的需求分析方法。第四章 系统的设计。本章论述了本系统数据库的结构设计,使用时序图对具体功能进行设计。 第五章 系统的实现。本章主要介绍了系统各个主要功能模块的实现过程以及主要实现算法和功能类 第六章 系统的测试。通过WEB端的用户和管理员入口对程序进行调试,修正错误,完善程序。 第七章 总结与展望。通过对开发结果和开发过程进行分析,总结其中所遇到的问题与解决办法,并通过经验总结,提升自我能力。2 营养健康管理系统的相关技术理论2.1 WEB技术概述WEB是World Wide WEB的简写,其中文名是环球信息网或着叫万维网。它是一个基于Internet的、全球连接的、分布的、动态的、多平台的交互式超媒体信息系统[3].。WEB 应用服务的关键技术可分为前端展现与交互技术、后端服务构建技术和应用层网络协议[4]。WEB服务器传递HTML文件使用的是HTTP协议,在浏览器端再次使用HTTP协议可以将HTML文件检索。当WEB服务器在检索到信息时,WEB浏览器就能以静态和交互式显示所有图像,在此过程中HTTP协议用来定义合法的请求和应答。总的来说万维网是用来访问Internet的成千上万的连接文档的一种结构化的框架[5]。2.2 B/S的优点B/S结构是典型的三层结构,分别是表示层、处理层和数据层。它最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护[6]。另外B/S结构的系统扩展比较容易,系统的维护和升级方式也较为简单,并且由于B/S结构对系统的性能和配置要求低,所以他可以节约成本。2.3 JavaScript介绍 JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言[7]。它和其他编程语言一样,拥有自己的基本数据类型、表达式、算术用算符和基本程序框架。其被嵌入在HTML的文件中使用,用来增强HTML功能。它具有跨平台的特性,在大多数的浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。和其他语言不一样的是在运行JavaScript文件时不需要对其先进行编译,当程序运行过程中JavaScript被逐行地解释[8]。2.4 Spring MVC框架介绍 MVC是一个以设计界面应用程序为基础的设计模式。这种设计模式主要是通过分离模型、视图以及控制器在程序中的角色将业务逻辑从界面中解祸[9]。而Spring MVC模式是在Spring架构里构建了WEB应用程序的全功能MVC模块,它在开发过程中模型是由pojo对象组成,其视图是使用JSP编写的模板,控制器部分是由Dispatcher Servlet负责[10]。Spring MVC视图的作用就是显示结果,Spring MVC 支持许多不同类型的视图实现技术,如 JSP、JSTL 等,并且提供了丰富的视图解析器,通过这些视图解析器就可以生成所需要类型的视图[11]。2.5 MyBatis介绍MyBatis是一个高级映射和存储过程的多层框架,而且支持普通的SQL查询。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索[12]。MyBatis在运用时使用的是 XML或注解用来配置和原始映射,它将所用到的接口映射成数据库中的相应的记录。其主要的功能架构分为三层(1)API接口层为外部提供使用的接口API,系统开发人员使用这些API来操作数据库。(2) 数据处理层这一层主要负责具体的SQL查找、解析、执行和结果映射等。(3) 基础支撑层其主要负责基础的功能支撑,如连接管理、事务管理、配置加载、缓存处理等。 2.6 JSP介绍 JSP是一种动态网页技术,它与ASP技术类似。其主要特点一方面是从 WEB 页面的业务逻辑中,能够把HTML编码很好地分离出来,这样就可以采用 JSP 访问的可重用组件,其包括诸如servlet、Java Bean 等组件[13]。另一方面JSP 还强力支持在将 Java 代码嵌入到 WEB 页面中,因此此时就可以使用两种非常简单的方法访问 JSP 文件,分别是使用浏览器发送 JSP 文件请求,另一种是将请求发送至 Servlet[14]。3 系统需求分析3.1 用户需求分析作为个人营养健康的管理系统,使用户根据自己今天所吃食物得到今天所摄入营养是最主要的功能,并且用户在管理家庭成员的同时也能对家庭成员今天所吃食物的营养进行测算并与标准营养进行对比用柱状图的形式表示出来,另外用户可以跟据营养得到应该吃那些食物来补充某种营养。在生活中人们对每天吸收的卡路里的量也是极为重视,如果长时间食用的卡路里过多,极容易造成肥胖,在本系统中也给予了计算,并且可以通过用户的绿色出行数据计算出用户今天消耗了多少卡路里。 3.2 管理员需求分析管理员作为后台数据的维护者,要对食物数据、食物的营养数据、标准营养数据、以及个人信息进行实时的更新、删除、添加和查找等操作。3.3 系统功能需求分析3.3.1 用户食用食物管理功能需求食物管理功能主要实现用户今天所食用食物的管理,通过此功能用户可以对所吃的食物进行添加和删除。其具体用例图如下图1所示/图 1 食物管理用例图食物管理用例基本事件流用户登录系统,用例开始;用户请求管理食用食物;系统进入食物管理页面,显示食用食物信息;用户请求添加食物;系统进入食物添加页面用户添加食用食物信息保存添加食物信息系统提示添加成功用户请求删除食物系统进入食物管理页面用户点击相关食物后的删除按钮;删除食物信息;用例结束;3.3.2 营养管理功能需求 营养管理功能主要是根据用户每天食用的食物,对每日营养、一周营养进行统计,为用户提供营养参考值帮助用户提高的营养健康程度。同时根据用户绿色出行的数据对用户的减脂情况进行统计,用户还可以根据要补充的营养查询包含该营养的食物。其具体用例图如下图2所示/图 2 营养管理用例图营养管理用例基本事件流用户登陆系统,用例开始;用户请求每日营养;系统显示每日营养页面,并显示用户每日营养信息与标准营养构成的柱状图表; 用户请求具体日期的每日营养;系统显示相应日期的每日营养信息与标准营养构成的柱状图表;用户请求一周营养;系统显示一周营养页面;用户对其中的某种营养进行选择,并点击查询按钮;系统显示这种种营养7天内的数据折线图;用户请求绿色减脂;系统显示绿色减脂页面;用户输入个人绿色出行数据;系统显示用户摄入总热量与绿色出行减脂热量;用户请求营养补充;系统显示营养补充页面;用户用户选择营养;系统显示包含该营养的相关食物的图片信息;用例结束;3.3.3 个人信息管理功能需求个人信息管理主要是对用户的个人信息进行管理,可以查看用户的信息、修改个人的信息和修改用户的登陆密码。其具体用例如下图3所示/图 3 个人信息管理用例图个人信息管理用例基本事件流用户登录系统,用例开始;用户请求个人信息查看;系统显示个人信息页面,显示个人信息;用户请求个人信息修改;系统显示个人信息修改页面;用户输入相关的个人信息,点击保存按钮;保存个人信息;系统显示修改后的个人信息;用户请求修改登录密码;系统显示密码修改页面;用户输入新密码和旧密码;判断原始密码是否与数据库中的密码匹配,并判断新密码两次是否相同;保存新密码;系统显示密码修改成功;用例结束;3.3.4 家庭成员管理功能需求 家庭成员管理对家庭成员进行管理,可以为家庭成员添加或删除食物,根据这些添加的食物统计出该家庭成员的今日营养健康状况生成柱状图,使用户掌握该家庭成员的营养健康状况为其提供营养参考帮助。 其用例图如下图4所示 /图 4 家庭成员管理用例图家庭成员管理用例基本事件流用户登录系统,用例开始;用户请求添加家庭成员;系统显示家庭成员添加页面;用户输入家庭成员信息,点击添加;保存家庭成员信息;系统显示添加成员后的家庭成员信息表;用户点击删除按钮,请求删除家庭成员;删除相应家庭成员信息;系统显示删除后的家庭成员信息表;用户请求添加某位家庭成员的食物;系统显示相应家庭成员食物添加页面;用户添加家庭成员食物;保存食物信息;用户请求删除某位家庭成员的食物,点击删除食物按钮;系统显示删除后的该家庭成员的食物信息;用户请求家庭成员每日营养;系统显示该家庭成员的每日营养信息与标准营养的构成的柱状图;用例结束;3.3.5 用户消息意见管理功能需求用户消息意见管理主要是对用户的消息进行查看与删除管理,并可以向管理员提交对本系统的意见反馈。其具体用例图如下图5所示/图 5 用户消息意见管理用例图用户消息意见管理用例图基本事件流用户登陆系统,用例开始;用户请求查看我的消息;系统显示我的消息页面;用户请求删除某条消息,点击删除按钮;删除该条消息;系统显示删除后的消息表;用户请求反馈意见;系统显示意见反馈页面;用户输入相关意见内容,点击提交按钮;保存用户意见信息;系统显示感谢您提供宝贵意见;用例结束;3.3.6 食物管理功能需求食物管理主要是让管理员对基础食物数据进行添加、删除等维护操作。其用例图如下图6所示/图 6 食物管理用例图食物管理用例基本事件流管理员登录系统,用例开始;管理员请求食物管理;系统显示食物管理页面;管理员请求添加食物,点击添加按钮;系统显示食物添加页面;管理员输入食物名称上传食物图片等信息,点击确定;保存食物信息;系统显示添加食物成功;管理员请求删除食物,点击删除按钮;删除相应食物信息;系统显示删除后的食物信息表;用例结束;3.3.7 食物营养管理功能需求食物营养管理是管理员对食物所含营养进行添加删除等操作。用例图时序图如下图7所示/ 图 7 食物营养管理用例图食物营养管理用例基本事件流管理员登陆系统,用例开始;管理员请求添加食物营养,点击添加营养按钮;系统显示营养添加页面;管理员输入相关食物的营养信息,点击确定按钮;、保存食物营养信息;系统提示食物营养添加成功;管理员请求删除食物营养信息,点击删除按钮;删除该条食物营养信息;系统显示删除后的食物营养信息表;用例结束;3.3.8 标准营养管理功能需求标准营养管理是管理员对后台标准营养的添加、更新等管理操作,用例图如下图8所示/图 8 标准营养用管理例图标准营养管理用例基本事件流管理员登陆系统,用例开始;管理员请求添加标准营养;系统显示标准营养添加页面;管理员输入标准营养信息,点击确定按钮;保存标准营养信息;系统提示添加成功;管理员请求更新标准营养信息;系统显示标准营养更新页面;管理员输入新的标准营养信息 点击确定按钮;保存新的标准营养信息;系统显示更新后的标准营养信息表;用例结束;3.3.9 管理员信息管理功能需求管理员信息管理主要是对管理员信息进行维护操作。其用例图如下图9所示/图 9 管理员信息管理用例图管理员信息管理用例基本事件流管理员登陆系统,用例开始;管理员请求查看管理员信息;系统显示管理员信息页面及管理员信息;管理员请求修改管理员信息;系统显示管理员信息修改页面;管理员修改个人信息,点击确定按钮;保存新的管理员信息;系统显示修改后的管理员信息;用例结束;3.3.10 管理员意见管理功能需求管理员消息意见管理主要对用户提交的反馈意见进行维护,并且回复用户相关意见。其用例图如下图10所示/图 10 管理员意见管理用例图管理员意见管理用例基本事件流管理员登陆系统,用例开始;管理员请求查看用户意见;系统显示用户意见列表;管理员请求删除某条意见,点击删除按钮;删除该意见信息;系统显示删除后的用户意见表;管理员请求意见回复;系统显示意见回复页面;管理员输入意见回复信息,点击确定按钮;保存管理员意见回复信息,系统提示回复成功;用例结束;3.4系统非功能性需求 在我们分析完成系统功能性需求的时候,我们同时也要去考虑系统的非功能性需求,这方面对管理系统的正常运行同样非常重要。系统的非功能性需求大致可以分为以下几点 3.4.1系统操作灵活 当系统在实现功能的前提下,要尽量简化操作步骤,为用户提供方便的操作。用户能够快捷地添,提交投诉单和维修单,并且能够方便的看到后勤管理者的回复信息。管理员用户要能够方便快捷的进行筛选操作,方便的查看学生用户提交的信息,同时进行回复的操作。 3.4.2可扩展性 系统要具有良好的扩展性,要能够方便地添加新的模块,同时在增添模块的时候最好能做到减少用户的更新操作,提升用户的使用体验,进而保障整个管理系统的良好运行。 3.4.3安全性 营养健康管理系统有一些操作涉及到用户的个人信息,因此管理员要严格保障用户信息不能泄露,所以系统的安全性就显得尤为重要。管理员要时常去更换自己的管理员密码,保证除自己之外别人不能登陆系统,严格保证信息的安全性。4 系统设计4.1 系统体系结构营养健康管理系统要实现的主要功能用户端有用户食用食物管理、摄入营养管理、个人信息管理、家庭成员管理、用户消息意见管理,管理员端有食物管理、食物营养管理、管理员信息管理、管理员消息意见管理。其中各个功能都有几个功能模块,整个系统的功能设计结构图如下图11所示图 11 系统功能设计结构图4.2 系统功能设计4.2.1 用户食用食物管理功能设计用户可以在用户食物管理界面对食用食物进行添加、删除管理。用户食用食物时序图如下图12所示/图 12 用户食用食物管理时序图4.2.2 营养管理管理功能设计用户可以对自己每日营养、一周营养查看,对所要补充营养食物进行查询,并可计算今日减脂状况。用户营养管理时序图如下图13所示图 13 营养管理时序图4.2.3 个人信息管理功能设计用户可以对个人信息进行修改、查看、并可修改登录密码。个人信息管理时序图如下图14所示/图 14 个人信息管理时序图4.2.4 家庭成员管理功能设计用户对家庭成员进行添加、删除等,并对家庭成员的食物进行添加删除管理,得到家庭成员营养状况。家庭成员管理时序图如下图15所示/图 15 家庭成员管理时序图4.2.5 用户消息意见管理功能设计用户对个人消息查看、删除等,并可把对系统的意见反馈给管理员。用户消息意见管理时序图如下图16所示/图 16 用户消息意见时序图4.2.6 食物管理功能设计管理员对后台基础食物数据进行维护操作,用以支持用户食用食物管理。食物管理时序图如下图17所示/图 17 食物管理时序图4.2.7 食物营养管理功能设计管理员对食物的营养进行添加、删除等维护操作,为用户提供食物营养数据支持。食物营养管理时序图如下图18所示/图 18 食物营养管理时序图4.2.8 标准营养管理功能设计管理员对标准进行更新、添加等维护操作,此标准营养与用户摄入营养进行对比为用户提供营养参考值。标准营养管理时序图如下图19所示/图 19 标准营养管理时序图4.2.9 管理员信息管理管理员对自己信息查看与维护,对个人信息进行管理。管理员信息管理时序图如下图20所示/图 20 管理员信息管理时序图4.2.10 管理员意见管理管理员对用户反馈的意见进行查看,并进行删除管理,同时可以回复用户意见反馈。管理员意见管理时序图如下图21 所示/图 21 管理员意见管理时序图4.3 数据库设计4.3.1 数据库设计流程数据库设计与实现的方法与流程主要分为以下六个步骤需求分析对用户的需求进行分析;概念结构设计主要采用E-R模型进行设计,包括画E-R图;逻辑结构设计把相对应的E-R图转化成相应的表;数据库物理结构设计主要是为所设计的数据库选择合适的存储结构和存储路径[15]; (5)数据库的实施包括编程、测试和试运行;(6)数据库的运行与维护系统的运行与数据库的日常维护。4.3.2 数据库的概念结构设计对数据库的概念结构设计采用的是E-R图,E-R 图体现了实体、属性和关系之间的联系,是用来描述某一组织(单位)的概念模型[16]。实体、关系和属性是构成 E-R 图的基本要素。实体是指可以相互区分并且客观存在的事物;关系指实体与实体之间的联系;属性指实体所具有的每一个特性[17]。根据需求分析,提取了出用户、食物、营养、标准营养、家庭、摄入营养、摄入食物、家人食物、管理员、消息、意见等实体,其总的E-R 图如下图22所示/图 22 系统E-R图5 营养健康管理系统的具体实现系统的具体实现按照上面所设计的管理系统应具有的具体功能来具体实现该系统,尽量完善系统的每一个要求,做到精益求精。5.1 用户注册功能实现用户注册需要输入用户名、两次密码、邮箱和手机号,其中邮箱用来找回密码时使用。当用户名在数据库中不存在,并且两次密码相同,邮箱、手机号不为空用户可注册成功。用户注册活动图如下图23所示:/图 23 用户注册活动图5.2 用户登录功能实现用户通过用户名和密码登陆管理系统,如果用户名或密码正确就进入主页界面否则会在登陆页面上显示用户名或密码错误。用户登陆活动图如下图24所示:/图 24 用户登陆活动图5.3 忘记密码功能实现当用户点击忘记密码连接会进入密码找回界面,通过用户在注册时所填的邮箱使用JavaMail把密码发送到用户的邮箱中,如果用户名和邮箱不匹配会提示输入正确的邮箱,如果发送成功则提示:邮件已发送请查收。用户找回密码活动图如图25所示/图 25 用户找回密码活动图5.4 记住密码功能实现当用户点击记住密码,当用户登陆成功就利用cookie把用户名和密码存储在浏览器中,并设置时效,当用户下次登陆是可直接登陆。用户记住密码活动图如图26所示./图 26 记住密码功能活动图5.5 家庭成员管理功能的实现家庭页面主要是对家庭成员信息的管理操作如添加、删除,并且可以管理某个成员的每日营养状况,通过添加今日所吃食物,点击每日营养后可生成家庭成员今日营养状况和标准营养的对照图。家庭成员管理的活动图如下图27所示/图 27 家庭成员管理活动图5.6 食物管理功能实现食物管理用来显示用户今日所吃食物的列表,同时用户可以添加、删除今天所吃的食物。食物管理的活动图如下图28所示/图 28 食物管理活动图5.7 每日营养功能实现通过今天的食物计算今天的营养含量并与标准营养进行对照,让用户清楚的了解自己今天与标准营养之间的差距,使用户量化的了解自己今天的营养状况,为明天的改善做参考。右上角还可以查询过去的某一天的营养状况,为用户提供更多的营养状况数据。每日营养活动图如下图29所示/图29 每日营养活动图5.8 一周营养查询功能实现可以查询某一营养元素在过去7天内的变化情况,可以让用户了解自己营养的一周营养变化,帮助用户调整食谱,保持健康。一周营养活动图如下图30所示/图 30 一周营养活动图5.9 绿色减脂功能实现通过今天用户绿色出行的数据计算出用户今天消耗的热量,并在下方的通知栏显示,右上方可以查询过去某天的热量消耗,促进用户绿色出行的积极性,提高用户的健康水平。绿色减脂活动图如下图31所示/图 31 绿色减脂活动图5.10 营养补充功能实现用户可以通过营养名,查询含有该营养的所有食物,帮助用户调整食谱,达到营养健康的目标。营养补充活动图如下图 32所示/图 32 营养补充活动图6 营养健康管理系统的测试6.1 测试目的测试用户端与管理员端各个功能的稳定性、是否有设计错误和明显的设计缺陷。6.2 测试过程注册一个用户账号,并用新账号测试所有的设计功能,查看登陆、记住密码、忘记密码、家庭成员管理、增添和删除食物、计算营养热量等等功能的稳定性。6.3 测试结果7 总结与展望7.1 总结当我在完成该毕业设计的时候,它不仅仅是对我技术方面的考验也是对我在大学所学到的知识的回顾。在这一困难的过程中我的开发能力得到了进一步的提高。对使用到的相关开发技术,我也有了深入的认识并能达到熟练的运用,这些宝贵的经验为我进入社会打下了良好的基础。但整个系统设计实现过程中,也发现了许多问题。比如说对一些JSP 的基本知识和基本原理的不是很熟悉,造成一些问题耽搁了很长时间才能解决。另外还有算法和框架的不熟悉,导致了一些代码的重复编写,增加的代码的冗余。 7.2 展望本系统由于个人能力有限,部分功能需要完善,一部分新功能需要添加,还有部分功能性能需要优化,现将仍可扩展的功能及问题归纳如下(1)浏览器缓存的安全问题Cookie技术可以将信息存放在浏览器中,但浏览器缓存信息被窃取,用户信息安全得不到保障。Session也可以将信息存储在浏览器中但和Cookie也有类似的安全问题。(2)Form表单的重复提交问题在Form表单提交过后刷新该页面表单内容会被重复提交。(3)由于各种营养之间的量的大小相差较大图表同时显示量级较大的数据会存在相应问题。致谢 参考文献[1] 谢胜才.国人营养摄入量新标准[J].中国保健食品,2002(5):41-42.[2] 罗中云,孙燕燕.中国人患上营养不良综合征[J].今日科苑, 2007(9):114-118.[3] 马荣邦. WEB技术发展的三个阶段综述[J].煤炭技术, 2003, 22(9):128-128.[4] 梅再霞.新一代移动WEB技术与应用前景[J].中国新通信, 2013(5):42-43.[5] 曲亚东.WEB设计与开发指南[M].北京:机械工业出版社,1998:20-25.[6] 李云云.浅析B/S和C/S体系结构[J].科学之友,2011(2):6-8.[7] 房体盈.基于JavaScript技术的WEBGIS设计与实现[D].大连:大连理工大学,2008:34-35.[8] Crockford D. Javascript: the good parts[J]. Oreilly Media, 2008:142-154.[9] 徐雯,高建华.基于Spring MVC及MyBatis的WEB应用框架研究[J].微型电脑应用, 2012, 28(7):1-4.[10] 朱慧栋.基于Spring MVC框架的电子商务系统的设计与实现[D].长沙:湖南大学, 2016:23-24.[11] 张瑞青,李铁柱.基于Spring MVC的用户登录系统的设计与实现[J].科技信息, 2012(10):246-247.[12] 时月梅.基于Spring MVC及MyBatis实现数据分页显示处理[J].信息技术与信息化, 2015(7):203-206.[13] 郭静.基于JSP的动态网页开发技术[J].科技展望, 2016, 26(3):23-24.[14] Yao Lihua, Yu Guangzhou. Development of WEB application software based on dynamic JSP technology[J]. Information and computer theory edition, 2013 (3): 57-58.[15] 段远志.数据库设计方法[J].南昌教育学院学报, 2005, 20(4):84-86.[16] 丁智斌,石浩磊.关系数据库设计与规范化[J].计算机与数字工程, 2005, 33(2):114-116.[17] 李博湘.数据库设计技巧[J].科技情报开发与经济, 2006, 16(19):237-238.
目录
摘要 1
关键字 1
Abstract 1
Key words 1
1 绪论 1
1.1 选题背景及意义 1
1.2 国内外研究状况 2
1.3 研究的目的和内容 2
1.3.1 研究目的 2
1.3.2 研究内容 2
1.4 技术路线 2
1.5 论文组织结构 3
2 营养健康管理系统的相关技术理论 3
2.1 WEB技术概述 3
2.2 B/S的优点 3
2.3 JavaScrit技术介绍 3
2.4 Spring MVC框架介绍 3
2.5 MyBatis介绍 4
2.6 JSP介绍 4
3 系统需求分析 4
3.1 用户需求分析 4
3.2 管理员需求分析 4
3.3 系统功能需求分析 4
3.3.1 用户食用食物管理功能需求 4
3.3.2 营养管理功能需求 5
3.3.3 个人信息管理功能需求 6
3.3.4 家庭成员管理功能需求 6
3.3.5 用户消息意见管理功能需求 7
3.3.6 食物管理功能需求 8
3.3.7 食物营养管理功能需求 8
3.3.8 标准营养管理功能需求 9
3.3.9 管理员信息管理功能需求 9
3.3.10 管理员意见管理功能需求 10
3.4系统非功能性需求 10
3.4.1系统操作灵活 10
3.4.2可扩展性 10
3.4.3安全性 10
4 系统设计 11
4.1 系统体系结构 11
4.2 系统功能设计 11
4.2.1 用户食用食物管理功能设计 11
4.2.2 营养管理管理功能设计 12
4.2.3 个人信息管理功能设计 12
4.2.4 家庭成员管理功能设计 13
4.2.5 用户消息意见管理功能设计 13
4.2.6 食物管理功能设计 14
4.2.7 食物营养管理功能设计 14
4.2.8 标准营养管理功能设计 14
4.2.9 管理员信息管理 15
4.2.10 管理员意见管理 15
4.3 数据库设计 15
4.3.1 数据库设计流程 15
4.3.2 数据库的概念结构设计 15
5 营养健康管理系统的具体实现 16
5.1 用户注册功能实现 16
5.2 用户登录功能实现 17
5.3 忘记密码功能实现 17
5.4 记住密码功能实现 18
5.5 家庭成员管理功能的实现 18
5.6 食物管理功能实现 19
5.7 每日营养功能实现 19
5.8 一周营养查询功能实现 20
5.9 绿色减脂功能实现 20
5.10 营养补充功能实现 21
6 营养健康管理系统的测试 21
6.1 测试目的 21
6.2 测试过程 21
6.3 测试结果 21
7 总结与展望 21
7.1 总结 21
7.2 展望 22
致谢 22
参考文献 22
营养健康管理系统
引言
system design, using JSP and MySQL database development technology, food management, family management, nutrition, nutritional supplement, calculation of reference reference heat calculation functions for users, the standard management of food and nutrition with nutritional and personal needs every day the maintenance operation. The current system to achieve a more complete function.1 绪论1.1 选题背景及意义随着人们生活水平的提高,大家对个人营养健康也越来越重视。人体需要的各种营养素都需通过饮食获得,因此必须科学地安排每日膳食以提供数量及质量适宜的营养素[1]。在人体所需的各种营养元素中,铁,钙,维生素 A,维生素B1,维生素 B2等,都发挥着重要的作用[2]。由于人体每天所需的营养物质的量有国际标准,但是大家对自己每天所摄入的营养物质的量是否达到标准,并没有一个可比较的参考值。并且现在人们也很注重自己的体重,总有减肥的声音传到我们的耳朵里,但没有人知道自己今天吃的食物总共有多少热量。在这个注重健康的时代有一个可以解决用户这类问题的系统,将会得到广泛的运用。营养健康管理是运用现代化的信息技术,把个人对自身的营养健康管理通过整合形成一个简洁、便利、完善的服务程序,本管理系统的目的就是通过每天所食用的食物的营养的含量与标准的每天营养摄入量的含量的对比给予用户一个个人的营养健康的量化的参考,以便用户对自己每天摄入营养健康的管理。并对食物的热量进行计算,给予用户一个量化的值作为参考,为用户保持健康提供帮助。1.2 国内外研究状况国内有关健康管理系统的研究在近几年已经取得了一些进展,但大多主要是针对特殊的人群和特殊的健康问题对其进行管理,与我所设计的对个人营养健康进行管理的信息统有类似但也有一些区别。1.3 研究的目的和内容1.3.1 研究目的本管理系统基于WEB平台,主要实现以下功能面向用户实现WEB端登陆对今日所吃食物以及家庭成员的的管理。面向用户对所吃食物营养的相关操作和对家庭成员每日营养的管理操作。面向管理员WEB端登陆,对食物、营养、标准营养进行维护。1.3.2 研究内容个人每天所需营养的研究通过上网和查看相关书籍了解人体每日营养的标准数据,对人体所需营养及所需热量的量化信息的相关搜集。后台管理的数据库设计用户对个人信息及所吃食物等存储。管理员对标准营养等后台维护。基于JSP的WEB管理系统的开发服务器技术设计与客户端交互的服务器端程序。Spring MVC与MyBatis的整合框架掌握网站开发中Spring MVC与MyBatis结合的开发模式。JSP的界面设计通过需求分析,利用JSP网页开发技术对本管理系统进行界面布局的设计,满足相应用户需求的功能。管理员与用户的登陆与注册设计。1.4 技术路线 本系统使用WEB应用服务器Tomcat,基于B/S架构,运用JSP动态网页技术,通过JavaScript实现具体功能模块,连接MySQL数据库实现后台维护功能等等。并实现用户与系统之间的交互,使用户能够管理自己一天的营养。(1)详细设计用户可以通过添加食物,计算出用户今日所摄入的各种营养与标准营养进行对比,给用户健康营养的参考。同时也可以管理家庭成员为他们添加所吃食物,计算家庭成员所摄入的营养并与标准营养进行对比。(2)数据库设计数据库运用MySQL来设计,主要数据表有个人信息表、家庭成员表、食物营养含量表、标准营养表、食物表、管理员表、消息表等。(3)整合将完成的各模块整合到一起,形成完整的营养健康管理系统。(4)测试修改对开发系统进行测试并修改,尽可能发现系统中存在的bug及不足,并对发现的bug进行修正,对不足的地方进行重新编写和测试。1.5 论文组织结构第一章 绪论。本章主要介绍所设计的营养健康管理系统课题实现的研究背景及意义,并分析国内外的研究概况,明确了本课题的研究目标、研究内容以及技术路线,并给出了本次论文的组织结构。 第二章 相关技术理论。本章主要介绍系统在实际开发过程中所用到的一些关键技术与理论,有WEB、B/S架构、JavaScript、Spring MVC框架和MyBatis模式等。 第三章 系统需求分析。本章论述了营养健康管理系统要实现的功能,对系统的需求分析采用的是面向对象的需求分析方法。第四章 系统的设计。本章论述了本系统数据库的结构设计,使用时序图对具体功能进行设计。 第五章 系统的实现。本章主要介绍了系统各个主要功能模块的实现过程以及主要实现算法和功能类 第六章 系统的测试。通过WEB端的用户和管理员入口对程序进行调试,修正错误,完善程序。 第七章 总结与展望。通过对开发结果和开发过程进行分析,总结其中所遇到的问题与解决办法,并通过经验总结,提升自我能力。2 营养健康管理系统的相关技术理论2.1 WEB技术概述WEB是World Wide WEB的简写,其中文名是环球信息网或着叫万维网。它是一个基于Internet的、全球连接的、分布的、动态的、多平台的交互式超媒体信息系统[3].。WEB 应用服务的关键技术可分为前端展现与交互技术、后端服务构建技术和应用层网络协议[4]。WEB服务器传递HTML文件使用的是HTTP协议,在浏览器端再次使用HTTP协议可以将HTML文件检索。当WEB服务器在检索到信息时,WEB浏览器就能以静态和交互式显示所有图像,在此过程中HTTP协议用来定义合法的请求和应答。总的来说万维网是用来访问Internet的成千上万的连接文档的一种结构化的框架[5]。2.2 B/S的优点B/S结构是典型的三层结构,分别是表示层、处理层和数据层。它最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零维护[6]。另外B/S结构的系统扩展比较容易,系统的维护和升级方式也较为简单,并且由于B/S结构对系统的性能和配置要求低,所以他可以节约成本。2.3 JavaScript介绍 JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言[7]。它和其他编程语言一样,拥有自己的基本数据类型、表达式、算术用算符和基本程序框架。其被嵌入在HTML的文件中使用,用来增强HTML功能。它具有跨平台的特性,在大多数的浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。和其他语言不一样的是在运行JavaScript文件时不需要对其先进行编译,当程序运行过程中JavaScript被逐行地解释[8]。2.4 Spring MVC框架介绍 MVC是一个以设计界面应用程序为基础的设计模式。这种设计模式主要是通过分离模型、视图以及控制器在程序中的角色将业务逻辑从界面中解祸[9]。而Spring MVC模式是在Spring架构里构建了WEB应用程序的全功能MVC模块,它在开发过程中模型是由pojo对象组成,其视图是使用JSP编写的模板,控制器部分是由Dispatcher Servlet负责[10]。Spring MVC视图的作用就是显示结果,Spring MVC 支持许多不同类型的视图实现技术,如 JSP、JSTL 等,并且提供了丰富的视图解析器,通过这些视图解析器就可以生成所需要类型的视图[11]。2.5 MyBatis介绍MyBatis是一个高级映射和存储过程的多层框架,而且支持普通的SQL查询。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索[12]。MyBatis在运用时使用的是 XML或注解用来配置和原始映射,它将所用到的接口映射成数据库中的相应的记录。其主要的功能架构分为三层(1)API接口层为外部提供使用的接口API,系统开发人员使用这些API来操作数据库。(2) 数据处理层这一层主要负责具体的SQL查找、解析、执行和结果映射等。(3) 基础支撑层其主要负责基础的功能支撑,如连接管理、事务管理、配置加载、缓存处理等。 2.6 JSP介绍 JSP是一种动态网页技术,它与ASP技术类似。其主要特点一方面是从 WEB 页面的业务逻辑中,能够把HTML编码很好地分离出来,这样就可以采用 JSP 访问的可重用组件,其包括诸如servlet、Java Bean 等组件[13]。另一方面JSP 还强力支持在将 Java 代码嵌入到 WEB 页面中,因此此时就可以使用两种非常简单的方法访问 JSP 文件,分别是使用浏览器发送 JSP 文件请求,另一种是将请求发送至 Servlet[14]。3 系统需求分析3.1 用户需求分析作为个人营养健康的管理系统,使用户根据自己今天所吃食物得到今天所摄入营养是最主要的功能,并且用户在管理家庭成员的同时也能对家庭成员今天所吃食物的营养进行测算并与标准营养进行对比用柱状图的形式表示出来,另外用户可以跟据营养得到应该吃那些食物来补充某种营养。在生活中人们对每天吸收的卡路里的量也是极为重视,如果长时间食用的卡路里过多,极容易造成肥胖,在本系统中也给予了计算,并且可以通过用户的绿色出行数据计算出用户今天消耗了多少卡路里。 3.2 管理员需求分析管理员作为后台数据的维护者,要对食物数据、食物的营养数据、标准营养数据、以及个人信息进行实时的更新、删除、添加和查找等操作。3.3 系统功能需求分析3.3.1 用户食用食物管理功能需求食物管理功能主要实现用户今天所食用食物的管理,通过此功能用户可以对所吃的食物进行添加和删除。其具体用例图如下图1所示/图 1 食物管理用例图食物管理用例基本事件流用户登录系统,用例开始;用户请求管理食用食物;系统进入食物管理页面,显示食用食物信息;用户请求添加食物;系统进入食物添加页面用户添加食用食物信息保存添加食物信息系统提示添加成功用户请求删除食物系统进入食物管理页面用户点击相关食物后的删除按钮;删除食物信息;用例结束;3.3.2 营养管理功能需求 营养管理功能主要是根据用户每天食用的食物,对每日营养、一周营养进行统计,为用户提供营养参考值帮助用户提高的营养健康程度。同时根据用户绿色出行的数据对用户的减脂情况进行统计,用户还可以根据要补充的营养查询包含该营养的食物。其具体用例图如下图2所示/图 2 营养管理用例图营养管理用例基本事件流用户登陆系统,用例开始;用户请求每日营养;系统显示每日营养页面,并显示用户每日营养信息与标准营养构成的柱状图表; 用户请求具体日期的每日营养;系统显示相应日期的每日营养信息与标准营养构成的柱状图表;用户请求一周营养;系统显示一周营养页面;用户对其中的某种营养进行选择,并点击查询按钮;系统显示这种种营养7天内的数据折线图;用户请求绿色减脂;系统显示绿色减脂页面;用户输入个人绿色出行数据;系统显示用户摄入总热量与绿色出行减脂热量;用户请求营养补充;系统显示营养补充页面;用户用户选择营养;系统显示包含该营养的相关食物的图片信息;用例结束;3.3.3 个人信息管理功能需求个人信息管理主要是对用户的个人信息进行管理,可以查看用户的信息、修改个人的信息和修改用户的登陆密码。其具体用例如下图3所示/图 3 个人信息管理用例图个人信息管理用例基本事件流用户登录系统,用例开始;用户请求个人信息查看;系统显示个人信息页面,显示个人信息;用户请求个人信息修改;系统显示个人信息修改页面;用户输入相关的个人信息,点击保存按钮;保存个人信息;系统显示修改后的个人信息;用户请求修改登录密码;系统显示密码修改页面;用户输入新密码和旧密码;判断原始密码是否与数据库中的密码匹配,并判断新密码两次是否相同;保存新密码;系统显示密码修改成功;用例结束;3.3.4 家庭成员管理功能需求 家庭成员管理对家庭成员进行管理,可以为家庭成员添加或删除食物,根据这些添加的食物统计出该家庭成员的今日营养健康状况生成柱状图,使用户掌握该家庭成员的营养健康状况为其提供营养参考帮助。 其用例图如下图4所示 /图 4 家庭成员管理用例图家庭成员管理用例基本事件流用户登录系统,用例开始;用户请求添加家庭成员;系统显示家庭成员添加页面;用户输入家庭成员信息,点击添加;保存家庭成员信息;系统显示添加成员后的家庭成员信息表;用户点击删除按钮,请求删除家庭成员;删除相应家庭成员信息;系统显示删除后的家庭成员信息表;用户请求添加某位家庭成员的食物;系统显示相应家庭成员食物添加页面;用户添加家庭成员食物;保存食物信息;用户请求删除某位家庭成员的食物,点击删除食物按钮;系统显示删除后的该家庭成员的食物信息;用户请求家庭成员每日营养;系统显示该家庭成员的每日营养信息与标准营养的构成的柱状图;用例结束;3.3.5 用户消息意见管理功能需求用户消息意见管理主要是对用户的消息进行查看与删除管理,并可以向管理员提交对本系统的意见反馈。其具体用例图如下图5所示/图 5 用户消息意见管理用例图用户消息意见管理用例图基本事件流用户登陆系统,用例开始;用户请求查看我的消息;系统显示我的消息页面;用户请求删除某条消息,点击删除按钮;删除该条消息;系统显示删除后的消息表;用户请求反馈意见;系统显示意见反馈页面;用户输入相关意见内容,点击提交按钮;保存用户意见信息;系统显示感谢您提供宝贵意见;用例结束;3.3.6 食物管理功能需求食物管理主要是让管理员对基础食物数据进行添加、删除等维护操作。其用例图如下图6所示/图 6 食物管理用例图食物管理用例基本事件流管理员登录系统,用例开始;管理员请求食物管理;系统显示食物管理页面;管理员请求添加食物,点击添加按钮;系统显示食物添加页面;管理员输入食物名称上传食物图片等信息,点击确定;保存食物信息;系统显示添加食物成功;管理员请求删除食物,点击删除按钮;删除相应食物信息;系统显示删除后的食物信息表;用例结束;3.3.7 食物营养管理功能需求食物营养管理是管理员对食物所含营养进行添加删除等操作。用例图时序图如下图7所示/ 图 7 食物营养管理用例图食物营养管理用例基本事件流管理员登陆系统,用例开始;管理员请求添加食物营养,点击添加营养按钮;系统显示营养添加页面;管理员输入相关食物的营养信息,点击确定按钮;、保存食物营养信息;系统提示食物营养添加成功;管理员请求删除食物营养信息,点击删除按钮;删除该条食物营养信息;系统显示删除后的食物营养信息表;用例结束;3.3.8 标准营养管理功能需求标准营养管理是管理员对后台标准营养的添加、更新等管理操作,用例图如下图8所示/图 8 标准营养用管理例图标准营养管理用例基本事件流管理员登陆系统,用例开始;管理员请求添加标准营养;系统显示标准营养添加页面;管理员输入标准营养信息,点击确定按钮;保存标准营养信息;系统提示添加成功;管理员请求更新标准营养信息;系统显示标准营养更新页面;管理员输入新的标准营养信息 点击确定按钮;保存新的标准营养信息;系统显示更新后的标准营养信息表;用例结束;3.3.9 管理员信息管理功能需求管理员信息管理主要是对管理员信息进行维护操作。其用例图如下图9所示/图 9 管理员信息管理用例图管理员信息管理用例基本事件流管理员登陆系统,用例开始;管理员请求查看管理员信息;系统显示管理员信息页面及管理员信息;管理员请求修改管理员信息;系统显示管理员信息修改页面;管理员修改个人信息,点击确定按钮;保存新的管理员信息;系统显示修改后的管理员信息;用例结束;3.3.10 管理员意见管理功能需求管理员消息意见管理主要对用户提交的反馈意见进行维护,并且回复用户相关意见。其用例图如下图10所示/图 10 管理员意见管理用例图管理员意见管理用例基本事件流管理员登陆系统,用例开始;管理员请求查看用户意见;系统显示用户意见列表;管理员请求删除某条意见,点击删除按钮;删除该意见信息;系统显示删除后的用户意见表;管理员请求意见回复;系统显示意见回复页面;管理员输入意见回复信息,点击确定按钮;保存管理员意见回复信息,系统提示回复成功;用例结束;3.4系统非功能性需求 在我们分析完成系统功能性需求的时候,我们同时也要去考虑系统的非功能性需求,这方面对管理系统的正常运行同样非常重要。系统的非功能性需求大致可以分为以下几点 3.4.1系统操作灵活 当系统在实现功能的前提下,要尽量简化操作步骤,为用户提供方便的操作。用户能够快捷地添,提交投诉单和维修单,并且能够方便的看到后勤管理者的回复信息。管理员用户要能够方便快捷的进行筛选操作,方便的查看学生用户提交的信息,同时进行回复的操作。 3.4.2可扩展性 系统要具有良好的扩展性,要能够方便地添加新的模块,同时在增添模块的时候最好能做到减少用户的更新操作,提升用户的使用体验,进而保障整个管理系统的良好运行。 3.4.3安全性 营养健康管理系统有一些操作涉及到用户的个人信息,因此管理员要严格保障用户信息不能泄露,所以系统的安全性就显得尤为重要。管理员要时常去更换自己的管理员密码,保证除自己之外别人不能登陆系统,严格保证信息的安全性。4 系统设计4.1 系统体系结构营养健康管理系统要实现的主要功能用户端有用户食用食物管理、摄入营养管理、个人信息管理、家庭成员管理、用户消息意见管理,管理员端有食物管理、食物营养管理、管理员信息管理、管理员消息意见管理。其中各个功能都有几个功能模块,整个系统的功能设计结构图如下图11所示图 11 系统功能设计结构图4.2 系统功能设计4.2.1 用户食用食物管理功能设计用户可以在用户食物管理界面对食用食物进行添加、删除管理。用户食用食物时序图如下图12所示/图 12 用户食用食物管理时序图4.2.2 营养管理管理功能设计用户可以对自己每日营养、一周营养查看,对所要补充营养食物进行查询,并可计算今日减脂状况。用户营养管理时序图如下图13所示图 13 营养管理时序图4.2.3 个人信息管理功能设计用户可以对个人信息进行修改、查看、并可修改登录密码。个人信息管理时序图如下图14所示/图 14 个人信息管理时序图4.2.4 家庭成员管理功能设计用户对家庭成员进行添加、删除等,并对家庭成员的食物进行添加删除管理,得到家庭成员营养状况。家庭成员管理时序图如下图15所示/图 15 家庭成员管理时序图4.2.5 用户消息意见管理功能设计用户对个人消息查看、删除等,并可把对系统的意见反馈给管理员。用户消息意见管理时序图如下图16所示/图 16 用户消息意见时序图4.2.6 食物管理功能设计管理员对后台基础食物数据进行维护操作,用以支持用户食用食物管理。食物管理时序图如下图17所示/图 17 食物管理时序图4.2.7 食物营养管理功能设计管理员对食物的营养进行添加、删除等维护操作,为用户提供食物营养数据支持。食物营养管理时序图如下图18所示/图 18 食物营养管理时序图4.2.8 标准营养管理功能设计管理员对标准进行更新、添加等维护操作,此标准营养与用户摄入营养进行对比为用户提供营养参考值。标准营养管理时序图如下图19所示/图 19 标准营养管理时序图4.2.9 管理员信息管理管理员对自己信息查看与维护,对个人信息进行管理。管理员信息管理时序图如下图20所示/图 20 管理员信息管理时序图4.2.10 管理员意见管理管理员对用户反馈的意见进行查看,并进行删除管理,同时可以回复用户意见反馈。管理员意见管理时序图如下图21 所示/图 21 管理员意见管理时序图4.3 数据库设计4.3.1 数据库设计流程数据库设计与实现的方法与流程主要分为以下六个步骤需求分析对用户的需求进行分析;概念结构设计主要采用E-R模型进行设计,包括画E-R图;逻辑结构设计把相对应的E-R图转化成相应的表;数据库物理结构设计主要是为所设计的数据库选择合适的存储结构和存储路径[15]; (5)数据库的实施包括编程、测试和试运行;(6)数据库的运行与维护系统的运行与数据库的日常维护。4.3.2 数据库的概念结构设计对数据库的概念结构设计采用的是E-R图,E-R 图体现了实体、属性和关系之间的联系,是用来描述某一组织(单位)的概念模型[16]。实体、关系和属性是构成 E-R 图的基本要素。实体是指可以相互区分并且客观存在的事物;关系指实体与实体之间的联系;属性指实体所具有的每一个特性[17]。根据需求分析,提取了出用户、食物、营养、标准营养、家庭、摄入营养、摄入食物、家人食物、管理员、消息、意见等实体,其总的E-R 图如下图22所示/图 22 系统E-R图5 营养健康管理系统的具体实现系统的具体实现按照上面所设计的管理系统应具有的具体功能来具体实现该系统,尽量完善系统的每一个要求,做到精益求精。5.1 用户注册功能实现用户注册需要输入用户名、两次密码、邮箱和手机号,其中邮箱用来找回密码时使用。当用户名在数据库中不存在,并且两次密码相同,邮箱、手机号不为空用户可注册成功。用户注册活动图如下图23所示:/图 23 用户注册活动图5.2 用户登录功能实现用户通过用户名和密码登陆管理系统,如果用户名或密码正确就进入主页界面否则会在登陆页面上显示用户名或密码错误。用户登陆活动图如下图24所示:/图 24 用户登陆活动图5.3 忘记密码功能实现当用户点击忘记密码连接会进入密码找回界面,通过用户在注册时所填的邮箱使用JavaMail把密码发送到用户的邮箱中,如果用户名和邮箱不匹配会提示输入正确的邮箱,如果发送成功则提示:邮件已发送请查收。用户找回密码活动图如图25所示/图 25 用户找回密码活动图5.4 记住密码功能实现当用户点击记住密码,当用户登陆成功就利用cookie把用户名和密码存储在浏览器中,并设置时效,当用户下次登陆是可直接登陆。用户记住密码活动图如图26所示./图 26 记住密码功能活动图5.5 家庭成员管理功能的实现家庭页面主要是对家庭成员信息的管理操作如添加、删除,并且可以管理某个成员的每日营养状况,通过添加今日所吃食物,点击每日营养后可生成家庭成员今日营养状况和标准营养的对照图。家庭成员管理的活动图如下图27所示/图 27 家庭成员管理活动图5.6 食物管理功能实现食物管理用来显示用户今日所吃食物的列表,同时用户可以添加、删除今天所吃的食物。食物管理的活动图如下图28所示/图 28 食物管理活动图5.7 每日营养功能实现通过今天的食物计算今天的营养含量并与标准营养进行对照,让用户清楚的了解自己今天与标准营养之间的差距,使用户量化的了解自己今天的营养状况,为明天的改善做参考。右上角还可以查询过去的某一天的营养状况,为用户提供更多的营养状况数据。每日营养活动图如下图29所示/图29 每日营养活动图5.8 一周营养查询功能实现可以查询某一营养元素在过去7天内的变化情况,可以让用户了解自己营养的一周营养变化,帮助用户调整食谱,保持健康。一周营养活动图如下图30所示/图 30 一周营养活动图5.9 绿色减脂功能实现通过今天用户绿色出行的数据计算出用户今天消耗的热量,并在下方的通知栏显示,右上方可以查询过去某天的热量消耗,促进用户绿色出行的积极性,提高用户的健康水平。绿色减脂活动图如下图31所示/图 31 绿色减脂活动图5.10 营养补充功能实现用户可以通过营养名,查询含有该营养的所有食物,帮助用户调整食谱,达到营养健康的目标。营养补充活动图如下图 32所示/图 32 营养补充活动图6 营养健康管理系统的测试6.1 测试目的测试用户端与管理员端各个功能的稳定性、是否有设计错误和明显的设计缺陷。6.2 测试过程注册一个用户账号,并用新账号测试所有的设计功能,查看登陆、记住密码、忘记密码、家庭成员管理、增添和删除食物、计算营养热量等等功能的稳定性。6.3 测试结果7 总结与展望7.1 总结当我在完成该毕业设计的时候,它不仅仅是对我技术方面的考验也是对我在大学所学到的知识的回顾。在这一困难的过程中我的开发能力得到了进一步的提高。对使用到的相关开发技术,我也有了深入的认识并能达到熟练的运用,这些宝贵的经验为我进入社会打下了良好的基础。但整个系统设计实现过程中,也发现了许多问题。比如说对一些JSP 的基本知识和基本原理的不是很熟悉,造成一些问题耽搁了很长时间才能解决。另外还有算法和框架的不熟悉,导致了一些代码的重复编写,增加的代码的冗余。 7.2 展望本系统由于个人能力有限,部分功能需要完善,一部分新功能需要添加,还有部分功能性能需要优化,现将仍可扩展的功能及问题归纳如下(1)浏览器缓存的安全问题Cookie技术可以将信息存放在浏览器中,但浏览器缓存信息被窃取,用户信息安全得不到保障。Session也可以将信息存储在浏览器中但和Cookie也有类似的安全问题。(2)Form表单的重复提交问题在Form表单提交过后刷新该页面表单内容会被重复提交。(3)由于各种营养之间的量的大小相差较大图表同时显示量级较大的数据会存在相应问题。致谢 参考文献[1] 谢胜才.国人营养摄入量新标准[J].中国保健食品,2002(5):41-42.[2] 罗中云,孙燕燕.中国人患上营养不良综合征[J].今日科苑, 2007(9):114-118.[3] 马荣邦. WEB技术发展的三个阶段综述[J].煤炭技术, 2003, 22(9):128-128.[4] 梅再霞.新一代移动WEB技术与应用前景[J].中国新通信, 2013(5):42-43.[5] 曲亚东.WEB设计与开发指南[M].北京:机械工业出版社,1998:20-25.[6] 李云云.浅析B/S和C/S体系结构[J].科学之友,2011(2):6-8.[7] 房体盈.基于JavaScript技术的WEBGIS设计与实现[D].大连:大连理工大学,2008:34-35.[8] Crockford D. Javascript: the good parts[J]. Oreilly Media, 2008:142-154.[9] 徐雯,高建华.基于Spring MVC及MyBatis的WEB应用框架研究[J].微型电脑应用, 2012, 28(7):1-4.[10] 朱慧栋.基于Spring MVC框架的电子商务系统的设计与实现[D].长沙:湖南大学, 2016:23-24.[11] 张瑞青,李铁柱.基于Spring MVC的用户登录系统的设计与实现[J].科技信息, 2012(10):246-247.[12] 时月梅.基于Spring MVC及MyBatis实现数据分页显示处理[J].信息技术与信息化, 2015(7):203-206.[13] 郭静.基于JSP的动态网页开发技术[J].科技展望, 2016, 26(3):23-24.[14] Yao Lihua, Yu Guangzhou. Development of WEB application software based on dynamic JSP technology[J]. Information and computer theory edition, 2013 (3): 57-58.[15] 段远志.数据库设计方法[J].南昌教育学院学报, 2005, 20(4):84-86.[16] 丁智斌,石浩磊.关系数据库设计与规范化[J].计算机与数字工程, 2005, 33(2):114-116.[17] 李博湘.数据库设计技巧[J].科技情报开发与经济, 2006, 16(19):237-238.
目录
摘要 1
关键字 1
Abstract 1
Key words 1
1 绪论 1
1.1 选题背景及意义 1
1.2 国内外研究状况 2
1.3 研究的目的和内容 2
1.3.1 研究目的 2
1.3.2 研究内容 2
1.4 技术路线 2
1.5 论文组织结构 3
2 营养健康管理系统的相关技术理论 3
2.1 WEB技术概述 3
2.2 B/S的优点 3
2.3 JavaScrit技术介绍 3
2.4 Spring MVC框架介绍 3
2.5 MyBatis介绍 4
2.6 JSP介绍 4
3 系统需求分析 4
3.1 用户需求分析 4
3.2 管理员需求分析 4
3.3 系统功能需求分析 4
3.3.1 用户食用食物管理功能需求 4
3.3.2 营养管理功能需求 5
3.3.3 个人信息管理功能需求 6
3.3.4 家庭成员管理功能需求 6
3.3.5 用户消息意见管理功能需求 7
3.3.6 食物管理功能需求 8
3.3.7 食物营养管理功能需求 8
3.3.8 标准营养管理功能需求 9
3.3.9 管理员信息管理功能需求 9
3.3.10 管理员意见管理功能需求 10
3.4系统非功能性需求 10
3.4.1系统操作灵活 10
3.4.2可扩展性 10
3.4.3安全性 10
4 系统设计 11
4.1 系统体系结构 11
4.2 系统功能设计 11
4.2.1 用户食用食物管理功能设计 11
4.2.2 营养管理管理功能设计 12
4.2.3 个人信息管理功能设计 12
4.2.4 家庭成员管理功能设计 13
4.2.5 用户消息意见管理功能设计 13
4.2.6 食物管理功能设计 14
4.2.7 食物营养管理功能设计 14
4.2.8 标准营养管理功能设计 14
4.2.9 管理员信息管理 15
4.2.10 管理员意见管理 15
4.3 数据库设计 15
4.3.1 数据库设计流程 15
4.3.2 数据库的概念结构设计 15
5 营养健康管理系统的具体实现 16
5.1 用户注册功能实现 16
5.2 用户登录功能实现 17
5.3 忘记密码功能实现 17
5.4 记住密码功能实现 18
5.5 家庭成员管理功能的实现 18
5.6 食物管理功能实现 19
5.7 每日营养功能实现 19
5.8 一周营养查询功能实现 20
5.9 绿色减脂功能实现 20
5.10 营养补充功能实现 21
6 营养健康管理系统的测试 21
6.1 测试目的 21
6.2 测试过程 21
6.3 测试结果 21
7 总结与展望 21
7.1 总结 21
7.2 展望 22
致谢 22
参考文献 22
营养健康管理系统
引言
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/438.html