2024秋软工实践 “银河护胃队”团队展示与选题报告
作业所属课程 | |
---|---|
作业要求 | |
作业的目标 | 团结队伍,任务分配,建立合作体系,调研、需求分析 |
团队名称 | 银河护胃队 |
团队成员学号-名字 | 072208130-曹星才(组长) 052205144-张诗悦 102201120-陈康培 102201342-潘宇晴 102202108-王露洁 102202111-刘哲睿 102202128-林子豪 102202142-黄悦佳 102202149-詹镇壕 102202153-来再提·叶鲁别克 |
一、团队展示
(一)队伍基本介绍
-
队名:银河护胃队
-
口号:美食不将就,健康不妥协!
-
团队愿景:希望大家能从这次团队作业中,感受到团队的热情,与每一个人成为好朋友,在合作的过程中,增强交流能力,学到更多的专业知识,耐心、细心、认真的完成每一次的任务。最终做成一款能真正的改善饮食的小程序,解决吃饭困扰与更好的规划健康饮食。
-
队徽及项目logo:
(二)项目基本介绍
- 小程序名字:养食记
- 呈现形式:小程序
- 项目简介:一款能帮你安排健康饮食、解决你吃饭困扰的小程序,内置多种健康食谱推荐,还有食物餐厅及价格、食物营养数据供您查询!旨在让用户更加了解食物的营养价值,更加健康、合理的饮食!
- 项目规划:
- 在接下来的原型设计中,分组完成各个部分的页面设计。
- 在编码实现过程中,一部分人做前端,另一部分人做后端,测试组当小组长。使用微信开发者工具进行小程序的页面开发,后端调用AI接口完成相应的算法,整理好各个字段变量做成数据库,编写接口给前端调用。相应的收集数据存储到数据库中。
- 冲刺阶段对项目做最后的调试,解决所有bug。
- 最后部署到云服务器上,方便用户使用。
(三)项目安排
1.总任务规划
2.总任务规划时间安排甘特图
3.详细任务规划
4.按特定要求分组
按重要程度进行分组:
按状态进行分组:
按负责人进行分组:
5.详细任务时间规划
6.会议记录
(四)队员风采
团队合照:
🍱曹星才
- 学号:072208130
- 成员姓名:曹星才
- 成员性格:活泼、开朗、耐心、上进、enfj(虽然表现得像个i人)
- 擅长的技术:我也不知道我擅长啥,就是啥都有搞一点(擅长与人交流不知道算不算🤔),AI、大数据、前端
- 最不擅长:获取美味蟹黄包的秘方
- 兴趣爱好:打排球(热爱)、音乐、尤克里里(吉他吃灰版)、旅游、散步、古诗、交朋友、聚会、做自己喜欢的事
- 希望的软工角色:PM
- 思考🧐:大数据的全称是不是叫数据科学与软件技术呢
🍔张诗悦
- 学号:052205144
- 姓名:张诗悦
- 个性:爱谁谁,那咋了
- 兴趣爱好:喜羊羊、游戏、kpop
- 希望的软工角色:后端
🍿陈康培
- 学号:102201120
- 成员姓名:陈康培
- 成员性格:佛,比较随性
- 擅长的技术:稍微了解过前端
- 兴趣爱好:羽毛球、游泳、卡牌策略
- 希望的软工角色:测试,前端,现学现卖(都不会啊= = 要不现场学测试算了)
🥞潘宇晴
- 学号:102201342
- 姓名:潘宇晴
- 成员性格:古道热肠,风风火火,不计较,社恐与社牛、宅与现充自由切换
- 擅长的技术:制作界面相关
- 不擅长的技术:复杂的代码,后端相关
- 兴趣爱好:睡觉,旅游,看小说,剪视频(某站剪辑博主),吃瓜
- 希望的软工角色:前端、测试(不是后端都行 哭泣.jpg)
- 一句话:你准备好成为软件工程传奇了吗?
🌮王露洁
- 学号:102202108
- 姓名:王露洁(bushiwanglujie)
- 个性:佛(懒),随和(懒得做决定),宽容(懒得计较)
- 优点:说话省,顾前不顾后,三分钟热度,花钱大手大脚
- 缺点:善良,天真
- 擅长的技术:构建和美化用户界面(如果一定要说的话)
- 擅不长的技术:写代码和修改bug(don’t push me(一定要的话push也行))
- 兴趣爱好:《ONEPIECE》(大秘宝),睡觉(认真脸),自由(极其热爱),庆祝和惊喜(谁不爱),不刺激的运动(刺激的也行)
- 希望的软工角色:前端(如果是其他的那哪一个都可以)
- 对未来:继续当学生(考研),为了以后不当程序员而努力!
🍲刘哲睿
- 学号:102202111
- 姓名:刘哲睿
- 成员性格:佛佛佛,阿弥陀佛,又i又e
- 擅长的技术:制作美化界面,AI
- 不擅长的技术:后端
- 兴趣爱好:esports gaming,健身,刷视频
- 希望的软工角色:前端,测试
- 一句话:软工虐我千百遍,我也就不待软工如初恋
🌯林子豪
- 学号:102202128
- 姓名:林子豪
- 成员性格:开朗,随性
- 擅长的技术:python
- 不擅长的技术:复杂的代码。
- 兴趣爱好:抖音,小红书常客、爱打王者,经常跑步、偶尔打乒乓球。
- 希望的软工角色:前端,后端(最好前端啦)
🍥黄悦佳
- 学号:102202142
- 姓名:黄悦佳
- 成员性格:积极主动,被压力才有动力
- 擅长的技术:python ,java,sql(学,都可以学)
- 兴趣爱好:乒乓球,瓦洛兰特启动,看小说(被我们组某小说仙人影响)
- 希望的软工角色:后端(没人搞后端就我来吧)
🍜詹镇壕
- 学号:102202149
- 姓名:詹镇壕
- 成员性格:慵懒,喜欢在舒适的环境中写作业和思考。更喜欢宅着,而不是频繁地参与社交活动。
- 擅长的技术:啥都会一点(在python上比较深入)。
- 不擅长的技术:啥都只会一点(对java比较陌生)。
- 兴趣爱好:Bilibili爱好者、抖音常客、小说迷,偶尔跑步、打乒乓球。
- 希望的软工角色:后端(AI接口),测试
- 口号:代码可以慢慢写,但茶一定要趁热喝。
🥗来再提·叶鲁别克
- 学号:102202153
- 成员姓名:来再提
- 成员性格:热情开朗、善于沟通、乐于倾听
- 擅长的技术:javascript、html
- 兴趣爱好:摄影、旅游、听音乐
- 希望的软工角色:前端、测试
二、需求分析文档
(一)迭代记录表格
迭代编号 | 开始日期 | 结束日期 | 迭代目标 | 完成的功能 | 遇到的问题 | 解决方案 | 下一个步骤 |
---|---|---|---|---|---|---|---|
1 | 2024/10/16 | 2024/10/19 | 调研与需求分析 | 项目选题与功能模块的制定 | 无 | 无 | 原型设计 |
(二)介绍
智能健康饮食推荐系统是一个基于AI大数据模型接口的人工智能技术平台,旨在帮助用户根据其身体情况和健康目标获取个性化的饮食建议和外卖推荐。通过结合食物营养数据库和外卖商品信息数据库,系统能够智能匹配最适合用户的食谱,并推荐附近外卖商家和食物名称,同时也提供随机的商品推荐。
(三)项目标志
本系统的项目标志旨在通过全面、智能的健康管理与个性化饮食推荐功能,帮助用户不仅满足日常饮食需求,还能根据其身体状况、生活习惯及健康目标,实现更加精准的健康饮食管理。结合大数据分析和AI推荐技术,系统可实时调整建议内容,并通过用户反馈功能持续优化推荐模型,从而提升用户的整体健康管理体验。
(四)思维导图
(五)类图
(六)功能描述
-
用户管理模块
-
用户注册
-
手机号注册
-
密码设置
-
身份验证(验证码)
-
-
用户登录
-
手机号登录
-
忘记密码功能
-
-
用户信息管理
-
查看编辑个人基本信息:
-
修改密码
-
身体数据填写与更新
-
-
-
身体信息数据管理模块
- 个人信息填写存储(部分信息可选填)
必填:(没有的填无)
- 个人基本身体信息:体重,性别,年龄,身高
- 过敏食物
- 近期用药记录
选填
- 既往病史
- 身体检测记录(血糖,血压等)
- 饮食习惯(喜欢,讨厌的食物)
- 运动习惯 (运动类型,大致频次)
-
健康目标选择模块
-
健康目标选择
-
控制体重(增加,减少,保持)
-
健身目标 (增肌,减脂,保持体型)
-
特定健康情况 (控制血糖,降低胆固醇等)
-
-
-
推荐功能模块(通过大语言模型实现)
-
日常推荐:基于用户信息生成合理的健康均衡饮食推荐(结合季节时令)
-
偏好推荐:基于菜系,口味,特定食材推荐
-
随机推荐:分为健康随机和全随机
-
-
菜品信息管理模块(利用大语言模型提取信息标记分类菜品)
-
菜品数据库:添加,删除,修改菜品详细信息(图片,食材,口味,菜系,营养成分,过敏成分,价格,商家,位置)
-
菜品搜索(根据名称,食材等信息搜索)
-
菜品界面 (用户可查看菜品详细信息,并评价)
-
-
反馈功能模块
-
菜品品尝反馈
-
新菜品提交(系统判断是否重复)
-
-
系统管理模块
-
数据库管理
- 用户信息,菜品信息,反馈记录等存储管理
-
系统监控
- 保证系统稳定性:响应速度,用户访问量等
-
安全管理
-
用户账户安全
-
个人隐私信息保护
-
(七)数据需求与用户体验分析
1.用户需求
调查结果分析
1.1 目标用户群体(大学生)
年轻群体:18-24岁用户占绝大多数,即平台的主要潜在用户群体。
1.2 用户需求
选择困难:88.31%的用户在决定饮食时感到困难。
功能需求:87.01%的用户期望平台帮助解决选择困难。
1.3 用户偏好
个性化推荐:84.42%的用户偏好基于个人口味和历史订单的推荐。
价格敏感:66.23%的用户希望根据价格范围选择饮食。
健康关注:66.23%的用户需要营养信息和健康提醒。
饮食限制:49.35%的用户需要设置饮食限制和过敏要求。
1.4 健康意识
减肥趋势:59.74%的用户遵循减肥饮食,显示健康饮食的高需求。
1.5 技术接受度
个性化推荐使用:35.06%的用户偶尔使用,28.57%的用户听说过但未使用,说明了有一定的推广空间。
数据分享意愿:74.02%的用户愿意分享健康数据以获得个性化推荐。
1.6 系统改进
营养匹配:76.62%的用户希望系统提供更准确的营养匹配。
食物多样性:68.83%的用户寻求更多样化的食物选择。
1.7 推荐接受度
个性化饮食推荐:87.02%的用户愿意接收基于健康状态的个性化饮食推荐。
1.8 用户推荐
平台认可: 80.52%的用户愿意推荐该系统给朋友或家人。
1.9 额外建议
1.饮食计划:用户希望系统能提供一周或一个月的饮食计划。
2.商家黑名单:用户建议提供商家黑名单功能,避免重复订购不满意的商家。
3.个性化推荐设置:用户希望有更多控制推荐算法的选项,如基于历史订单或新菜品的推荐。
4.推荐算法优化:用户建议根据下单频率优化推荐算法。
5.评分参考:用户建议将评分纳入推荐考量。
6.食量推荐:用户希望系统能推荐适合个人食量的餐点。
7.图片质量:用户希望推荐饭菜的图片更加精美。
8.热量和营养计算:用户希望系统能自动计算热量和营养成分,搭配出完美的一餐。
2.数据需求
2.1 食物数据
2.1.1 营养成分
指标:能量(卡路里)、蛋白质、碳水化合物、脂肪、膳食纤维、维生素、矿物质、水分、糖、胆固醇。
评分系统:将食物的营养成分分为5个等级,依据用户的需求,使用智能推荐算法进行推荐。(根据每100克食物中的含量)
用户定制:允许用户根据自己的营养需求,对营养成分的评分标准进行个性化调整。
2.1.2 口味
多维度评价:总体口味评分,辣度、甜度、油腻度等细分维度的评价。
实时更新:通过用户反馈和平台更新,进行数据更新。
初始数据:可以从现有的餐饮评价平台导入数据。
2.1.3 食品安全和卫生标准
认证信息:包括食品来源的认证标签,如有机食品、无公害食品等。
2.1.4 价格
价格区间:提供不同选项的价格区间。
优惠活动:提供商家的优惠活动信息,如折扣、满减、套餐优惠等。
价格更新:设置一个价格更新机制,以确保价格信息的准确性和时效性。
2.1.5 地点
地图集成:在地图上标注食物供应地点,考虑提供导航功能。
配送选项:对于外卖选项,提供外卖链接。
针对性:地点数据针对福州大学(旗山校区)的日常点餐,包括校园食堂、学生街(周边美食)、外卖(饿了吗、美团)。
2.2 用户数据
2.2.1 用户偏好
用户标签:运行用户设置自己的资料,包括忌口等。
智能学习:通过用户的点餐历史和反馈,智能学习用户的偏好。
社交共享:允许用户分享自己的饮食计划和偏好设置。
2.2.1 反馈机制
评价系统:用户可以对推荐的食物和小程序的功能进行评价。
改进建议:提供用户提交改进建议的渠道。
2.3 数据来源
2.3.1 食物数据
平台获取或手动收集:获取校园食堂、外卖平台和周边小吃店的信息。
用户上传:允许用户上传食物图片和相关信息。
2.3.2 用户数据
注册信息:收集基本信息,如年龄、性别、饮食习惯等。
行为分析:分析用户在小程序内的行为。
2.4 补充内容
2.4.1 健康建议
营养建议:提供专业的饮食建议。
健康资讯:提供最新的健康饮食资讯和研究。
2.4.2 法律合规
隐私政策:制定明确的隐私政策。
用户协议:制定用户协议,明确权利和义务。
(八)技术需求
- 个性化推荐算法
- 技术核心: 协同过滤、深度学习、图卷积网络等机器学习技术。
- 实现原理:
- 协同过滤****: 通过分析用户历史行为和相似用户群体,发现用户之间的相似性,从而进行推荐。
- 深度学习****: 利用神经网络模型,学习用户特征和菜品特征之间的复杂关系,并进行个性化推荐。例如,模型可以学习到用户对低热量、高蛋白菜品的偏好,从而推荐类似的菜品。
- 图卷积网络****: 将用户、菜品和关系(如用户之间的相似度、菜品之间的关联性)构建成图,并利用图卷积网络学习图上的特征,进行个性化推荐。
- 应用场景: 根据用户的身体信息、病史、生活习惯、健康目标以及饮食偏好,推荐符合其需求的个性化饮食方案,例如减肥餐、增肌餐、低糖餐等。
- 健康数据集成与分析
- 技术核心: 大数据分析、医疗知识图谱等技术。
- 实现原理:
- 大数据分析****: 对用户输入的健康数据(如BMI、血糖、血压等)进行分析,并结合医疗知识图谱,生成个性化的健康建议。例如,根据用户的BMI值,推荐相应的饮食方案或运动计划。
- 医疗知识图谱: 建立包含医学知识、疾病信息、药物信息等知识的图谱,为用户提供更全面、准确的医疗信息和建议。
- 应用场景: 根据用户的健康数据,提供更科学、准确的饮食建议,帮助用户进行健康管理,例如控制血糖、血压、体重等。
- 实时数据处理与多源数据融合
- 技术核心: 大数据平台、消息队列(如Kafka)等技术。
- 实现原理:
- 大数据平台: 收集和存储来自外卖平台、食堂管理系统等外部服务的数据,并进行实时处理和分析。
- 消息队列****: 实现数据的异步传输和处理,提高系统性能和可靠性。
- 应用场景: 为用户提供最新的菜品信息,并根据用户的地理位置和价格需求推荐合适的餐品。
- 自然语言处理与用户交互
- 技术核心: 自然语言处理(NLP)技术。
- 实现原理:
- NLP****: 解析用户的文本或语音输入,提取关键信息,并实现用户与系统的交互。例如,用户可以通过语音输入查询菜品信息或进行菜品评价。
- 应用场景: 提升用户体验,方便用户与系统进行交互,例如通过语音输入查询菜品信息、进行菜品评价等。
- 深度学习与健康饮食匹配
- 技术核心: 深度学习模型(如图卷积网络、RNN等)。
- 实现原理:
- 深度学习****模型: 对用户的健康信息、饮食习惯、历史选择进行深度分析,从而生成个性化饮食计划。例如,模型可以学习到用户对低热量、高蛋白菜品的偏好,从而推荐类似的菜品。
- 应用场景: 提供更精准、个性化的饮食推荐,例如根据用户的运动情况推荐合适的餐品。
- 跨平台协同与数据安全
- 技术核心: 加密、身份验证、隐私保护协议(如GDPR、HIPAA等)等技术。
- 实现原理:
- 加密、身份验证: 保障用户数据的安全性和隐私性。
- 隐私保护协议: 确保数据合规性,例如符合GDPR、HIPAA等法规。
- 应用场景: 为用户提供安全、可靠的饮食推荐服务,例如在多个平台上使用相同的账号进行登录,并保障用户数据的安全。
- AI驱动的健康建议生成与动态优化
- 技术核心: 强化学习等AI技术。
- 实现原理:
- 强化学习****: 根据用户的反馈不断调整推荐策略,达到更加个性化和准确的推荐效果。例如,如果用户对推荐的菜品不满意,系统会根据用户的反馈调整推荐策略,推荐更符合用户需求的菜品。
- 应用场景: 提升推荐内容的精准性和个性化,例如根据用户的评价和反馈调整推荐策略。
- 食品营养数据库与健康关联
- 技术核心: 食品营养数据库。
- 实现原理:
- 食品营养数据库: 包含大量食品的营养成分信息,例如热量、蛋白质、脂肪、碳水化合物等。
- 应用场景: 根据用户的健康需求和目标,推荐符合其营养需求的菜品,例如低盐、低糖、高蛋白等。
- 跨平台兼容与响应式设计
- 技术核心: 响应式设计、跨平台开发框架(如Flutter、React Native等)。
- 实现原理:
- 响应式设计: 确保系统在不同设备和屏幕尺寸下的用户体验一致性。
- 跨平台开发框架: 实现系统在不同平台上的开发和部署。
- 应用场景: 为用户提供一致的用户体验,例如在Web、移动应用、小程序等平台上使用相同的系统。
- 用户粘性的维持
- 技术核心: 数据分析与用户行为建模、游戏化元素等技术。
- 实现原理:
- 数据分析与用户行为建模: 分析用户的饮食行为和偏好,并设计个性化的健康管理方案。
- 游戏化元素: 例如成就系统、健康打卡等,提高用户的参与度和粘性。
- 应用场景: 提升用户粘性,例如通过游戏化元素激励用户进行健康饮食和运动。
(九)验收标准
- 用户注册与登录模块
-
功能描述:用户通过手机号、密码进行注册和登录。注册时需填写基本信息(姓名、性别、年龄等),并可通过短信验证码进行身份验证。
-
验收标准:
-
用户可以成功注册并接收验证码。
-
用户能够通过正确的手机号和密码登录系统。
-
登录后,系统自动显示用户的基本信息和健康状况。
-
- 个人身体信息管理模块
-
功能描述:用户需填写并定期更新身体状况信息,如身高、体重、病史、检查数据等。系统根据用户输入的身体数据动态计算BMI,并提供健康建议。
-
验收标准:
-
用户可以输入和保存身体基本信息。
-
系统根据身高和体重计算BMI并提供合理的健康建议。
-
用户可以随时更新身体信息,系统能保存并反映最新数据。
-
- 病史与药物管理模块
-
功能描述:用户可以填写自己的病史(如高血压、糖尿病)及当前服用药物,系统根据病史和药物情况推荐适合的饮食并过滤不宜食用的食材。
-
验收标准:
-
用户能够成功输入并保存病史和药物信息。
-
系统根据用户病史和药物使用情况给出相应的饮食建议。
-
系统过滤含有用户过敏或禁忌成分的菜品。
-
- 生活习惯与运动记录模块
-
功能描述:用户可填写吸烟、饮酒史和每周运动情况,系统根据用户的生活习惯和运动频率推荐适合的健康饮食。
-
验收标准:
-
用户能够成功填写并保存吸烟、饮酒史以及运动记录。
-
系统根据用户的运动强度(如有氧或力量训练)推荐适合的饮食方案。
-
- 个性化饮食推荐模块
-
功能描述:根据用户的身体信息、病史、生活习惯和健康目标,系统提供个性化饮食推荐。用户可以通过选择菜系、口味和价格区间自定义推荐。
-
验收标准:
-
系统能够根据用户的基本信息和目标提供合理的饮食建议。
-
用户能够自定义推荐参数,并获得符合要求的个性化餐品推荐。
-
推荐内容与用户的身体状况和目标(如增重、减脂等)相匹配。
-
- 健康目标管理模块
-
功能描述:用户可以设定和调整健康目标(如控制体重、增肌、减脂),系统会根据目标调整推荐的饮食结构和菜品。
-
验收标准:
-
用户可以成功设置和修改健康目标。
-
系统根据不同健康目标(如减肥、增肌)动态调整饮食推荐内容。
-
- 饮食偏好与过敏食物管理模块
-
功能描述:用户可以填写自己的饮食偏好(喜欢或不喜欢的食物)以及过敏食物,系统将根据用户偏好优化推荐,避免含有过敏成分的菜品。
-
验收标准:
-
用户可以成功保存饮食偏好和过敏食物信息。
-
系统在推荐过程中严格过滤含有用户过敏成分的菜品。
-
饮食推荐符合用户的口味和偏好。
-
- 推荐模式模块
-
功能描述:系统提供多种推荐模式,包括日常推荐、偏好推荐、随机推荐等。用户可以选择符合当前需求的推荐模式。
-
验收标准:
-
用户可以成功选择不同的推荐模式。
-
日常推荐提供健康均衡的饮食;偏好推荐根据用户喜好筛选菜品;随机推荐根据用户选择健康或全随机提供推荐。
-
- 反馈与评价模块
-
功能描述:用户可以对推荐的菜品进行评价,系统根据用户的反馈优化未来的推荐精度。用户也可提交新菜品,系统根据相似度判断是否添加至数据库。
-
验收标准:
-
用户可以成功提交菜品评价,系统根据评分和反馈信息进行调整。
-
系统可以检测并判断新提交的菜品是否重复,并决定是否将其加入数据库。
-
- 数据来源与合作商家管理模块
-
功能描述:系统与学校食堂及外卖平台的商家合作,实时获取菜品信息,并根据用户的地理位置和价格需求推荐合适的餐品。
-
验收标准:
-
系统能够从合作商家处获取最新的菜品数据。
-
推荐的菜品能够在价格区间和地理位置范围内满足用户需求。
-