“御膳房”——智能营养管家APP
龙安忠 王绍龙 刘泽垚 冯熠 文羽
生成PDF 清样下载 引用

复制成功

导出题录

参考文献( GB/T 7714-2015 ) 复制

龙安忠 王绍龙 刘泽垚 冯熠 文羽,. “御膳房”——智能营养管家APP[J]. 中国食品与营养,20248. DOI:10.12721/ccn.2024.157073.
摘要: 在软件设计的早期阶段,需求分析是开发前期最重要的一个步骤,对产品有一个明确的需求并进行定位,可以让开发起到事半功倍的效果。所以,在结合背景来确定本项目的设计目标之后,利用市场调研的方法,以面向对象的不同为依据,明确推荐软件所需要的具体功能,并提出系统设计的功能需求和非功能需求。
关键词: 饮食推荐;智能管家;营养均衡
DOI:10.12721/ccn.2024.157073
基金资助:基金项目:2022年兴义民族师范学院大学生创新创业训练计划项目“'御膳房'——智能营养管家APP”(项目编号:S202210666029),指导教师岳丹丹。

一、“御膳房”App需求分析

(一)功能需求分析

1.普通用户

鉴于目前尚无精确定量的定量指标可供参照,本项目拟开发针对我国4-60岁群体膳食结构特点的软件体系。在对目前市面上已经存在的美食网站和手机软件展开了研究,并对它们展开了分析,得出了移动客户端的主要功能。

2.系统管理员

系统管理员的责任包括:系统参数调整,系统功能维护,数据信息管理,数据信息分析。该项目采用网络浏览器的方式实现了对该项目的支持,并在此基础上对该项目的管理系统进行了详细的分析。

(二)非功能需求分析

1.界面设计

由于手机的主要目标人群为4-60岁之间的一般人群,所以在对手机的 UI界面进行设计时,必须遵守“导航的易用性、操作的可记忆性和相关信息的可获得性”三个基本原则。接口的设计达到了清晰明了,结构连贯,美观大方的目的。

2.性能需求

(1)稳定性:在发展的时候,要确保对资源的合理利用,防止用户在使用的时候,出现布局混乱,按键失灵,数据报错,系统瘫痪等情况。

(2)安全性:大多数服务器每天都要受到各种未知来源的网络攻击,常见的有:结构式询问语言(SQL)注入,跨域攻击(CSRF),跨站脚本攻击(XSS)等等。为了保证网络服务的安全、可靠,服务器端必须有一套完善的网络防御系统。

二、总体方案设计

(一)交互展现层

移动客户端的主要内容是为用户提供与推荐软件之间的功能互动,在网页的设计中,主要内容有:身份验证、菜品查询和饮食推荐。后台管理端面对的是系统管理员,它的主要功能是对用户数据进行分析,以及对日常数据进行管理与维护,在页面设计中,主要包含了数据分析、数据信息管理、意见反馈处理等内容。

(二)业务逻辑层

在此基础上,提出了一种基于业务逻辑的新概念,并对其进行了深入研究。在接收到了使用者的动作指示之后,会分析这个请求,然后从资料服务层获得所需的资料,最终,经过处理的资料会以 JS对象简谱 JavaScript Object Notation (JSON)的格式,经由 Ajax将资料传回至前端 UI,并进行网页呈现。

(三)数据服务层

以数据服务层为核心,以用户界面为接口,实现了与数据库的直接互动,为用户界面的设计和实现奠定了坚实的技术基础。数据的增加,修改,删除,以及查询都必须通过这一层。

三、“御膳房”App软件各模块设计

(一)数据库设计

数据库概念模型是用实体-关系(E-R)模型来表示的。管理员—用户—菜品—食材的数据库E-R模型具体表现在图3.1中,管理员与用户、管理员与菜品之间都是一对多的关系,用户与菜品、菜品与食材之间都是多对多的关系。以E-R图为基础,构建了该模型的数据库表格。

33.png 

图3.1 “御膳房”App数据库E-R图

(二)基础功能模块设计与实现

1.移动客户端

(1)身份验证模块

用户账户的身份验证是进入系统的首要步骤,它包括注册、登录和密码获取三个部分。如果是首次登陆,那么首先要进行注册,然后按照一定的格式,完成相关的登记,然后按照自己的电话号码,使用 getVerificationCode ()来获得四个数字的短消息验证代码,这个代码中包含了阿里云的短消息服务 API,当完成之后,如果没有任何错误,那么就可以使用 addUser ()来保存这些消息,然后进入到一个新的登陆页面。如果是新注册的,或者是很久没有登陆的,那么就必须要输入自己的账户密码,以及可以用来防止恶意登陆的随机验证码。账户可以是用户的手机号或账号名。在点击登陆之后,会调用 getUser ()方法来获得相应的用户信息,并展开验证。如果被批准,那么就会进入到客户端 APP的页面,如果没有被批准,那么就会将错误信息发送到客户端并弹出 toast提醒。如果一个用户忘记了自己的密码,那么就必须以他在注册时填写的手机号为基础,收到四位短信验证码,对其进行确认。如果经过确认,并且重新设置密码的格式都是对的,那么就会呼叫 updateUserPassword ()方式,对数据库进行更新,从而完成密码的重新设置,然后进入到用户登陆页面。

(2)菜品搜索模块

在对菜肴的模糊搜索中,采用了采用规则表示式的搜索算法。比如在搜索栏中键入“豆腐”两个字,就会在“鱼香豆腐”和“青菜豆腐汤”两个字中找到自己想要的菜,然后在每一次搜索中,都会使用 AddSearchHistory ()这个函数,将自己想要的东西保存在自己的数据库中。

2.后台管理端

(1)数据统计模块

当管理员进入系统时,可以直接查看用户数,菜品数,食材数,昨天登陆的用户数等等。此外,该模块还利用 Vue中的v-charts工具,实现了对部分数据的可视化。使用ve-pie标签,用饼图的形式,将菜系、用户性别和年龄段的分布进行了展示,使用ve-histogram标签,用柱状图形式,将菜品的历史评分榜和收藏热度榜进行了展示。

(2)反馈处理模块

这一模块与 APP上的评论反馈功能相匹配,主要是为系统管理人员提供评论反馈的功能。当管理者在进入到反馈处理界面的时候,他将会调用 getUserOpinion ()方法来获得全部用户的意见反馈信息,可以利用下拉菜单来过滤意见的反馈类型和反馈状态,还可以利用 updateCommentState ()方法来对意见信息的状态进行修改。其状态主要有未阅览、已阅览和已处理三种,此外还可调用 deleteComment ()方法来对意见进行删除。。

四、总结

目前市面上针对公众的饮食建议应用程序较少,且大部分应用程序都是基于盈利的,缺乏对使用者个人饮食偏好、情境信息对其饮食决策的作用和个性化的个人饮食习惯的研究。针对这一现状,本课题拟开发一款以健康膳食为基础的个性化膳食推荐应用,旨在为使用者提供一种满足个体不同口味偏好、且精准、科学的膳食建议。

参考文献

[1] 张斌, 齐佳敏. 个性化推荐的健康饮食手机应用[J]. 今日湖北(下旬刊), 2014, 000(007):50-50.
作者简介:龙安忠(2000年3月22日),男,苗族,贵州榕江,本科,学生,兴义民族师范学院,java工程师。