2024秋软工实践 第七组“软工硬做”团队展示与选题报告
作业所属课程 | 2024软件工程 |
---|---|
作业要求 | 软件实践第一次团队作业 |
作业的目标 | 展示软工团队成员以及需求分析 |
团队名称 | 软工硬做 |
团队组长 | 徐婉瑜102202138 |
团队成员 | 林烨102202130 |
团队成员 | 魏雨萱102202150 |
团队成员 | 农晨曦102202114 |
团队成员 | 林彦呈102201228 |
团队成员 | 陈毅052204130 |
团队成员 | 陈妍西102201622 |
团队成员 | 陈亮腾 102201315 |
团队成员 | 朱佳杰012202239 |
团队成员 | 陈高菲041101401 |
2024秋软工实践 “软工硬做”团队展示与选题报告
一.团队展示
团队基本信息
队名:软工硬做
项目名称:福小旅
团队宗旨:宁可多做,不可放过!
具体规划及描述
项目愿景:让每个人都能轻松规划旅行,享受个性化的旅游体验
预计实现功能:
1.AI在手,困难化解:旅行小助手功能,提供实时旅行建议。如行程规划、文案生成、推荐物品清单、识别景点并提供信息。
2.分享欲无限隐藏,即刻释放交流互动:在社区中分享旅行故事和经验。
3.记录心情,畅想未来:记录旅行历史和规划未来旅行。
开发重点:
1.介绍LLM大模型在旅行规划中的应用,如自然语言处理、个性化推荐等。
2.强调如何通过AI技术提升用户体验,如通过用户行为分析提供定制化服务。
技术架构:
1.前端与后端:描述前端与后端的技术选型及架构设计。
2.数据安全:强调用户数据的安全性和隐私保护措施。
队员风采
姓名 | 学号 | 性格 | 擅长技术 | 兴趣爱好 | 希望的软工角色 | 个人宣言 |
---|---|---|---|---|---|---|
徐婉瑜(组长) | 102202138 | 话少文静但情感充沛 | 学习中 | 阅读 | PM | 有时真想死了算了一了百了但是我了不起 |
林烨 | 102202130 | 乐观、可外向可内向,依情况而定 | Python、C、java | 看电影听音乐等 | 前端、后端 | 一天进步一点点,哪里不会补哪里 |
魏雨萱 | 102202150 | 表面平静,内心丰富 | 基本的前端技术、后端语言 | “冲浪”、音乐 | 前、后端 | 代码如诗,我心永恒 |
农晨曦 | 102202114 | 状态好的时候温柔有礼热情细致,通常情况下沉默寡言无表情做世界的旁观者 | 基础的Java、Python、CSS(会设计会排版会捡垃圾) | 喜欢打排球(又菜又爱玩)、听歌唱歌去演唱会、喜欢骑行跑步逛公园 | 前端 | 软工作业是会做完的,这个世界是会完蛋的 |
陈高菲 | 041101401 | istp | 都会一点 | 安排日程并完成 | 前端 | 都可以学 |
林彦呈 | 102201228 | 平易近人、一个好人 | 开发 | 看电影,听歌 | 测试 | 部分之和大于整体 |
陈毅 | 052204130 | infj | C、Python | 听音乐、散步 | 前端、测试 | 行到水穷处,坐看云起时 |
陈妍西 | 102201622 | infp | 所学仅限课内,暂无特长 | 游戏、动画 | 前端 | 要成为一块比昨天更长的短板 |
陈亮腾 | 102201315 | 乐观积极 | 都还行 | 篮球 、台球 | 都可 | 服从安排,积极学习 |
朱佳杰 | 012202239 | 主动 | python、Java、js | 羽毛球,跑步 | 都可以做,会的就做,不会的可以学完做 | ☝🤓 |
团队合照
团队愿景
我们的愿景是打造一个智能、易用的AI旅游小助手,让每个使用者都能轻松规划旅程,享受个性化的旅行体验。我们致力于将我们的技术发挥到极致,不求尽善尽美,但求尽心尽力。通过我们的努力,希望每个使用者都能在旅途中发现自我,拓宽视野,好好吃喝玩乐,美美享受人生。
二.需求文档
1引言
1.1编写目的
本软件需求说明书旨在明确旅游规划AI助手软件的开发需求,确保开发团队、测试团队、用户及相关利益方对软件的功能、性能、用户界面及其他关键特性有共同的理解和期望。预期读者包括软件开发者、测试人员、项目经理、用户代表及所有与项目相关的利益相关者
1.2背景
说明:
a. 待开发的软件系统的名称:福小旅。
b. 本项目的任务提出者:软件工程授课教师
开发者:林烨、魏雨萱、农晨曦、陈高菲、徐婉瑜、林彦呈、陈毅、陈研西、陈亮腾、朱佳杰
用户:
广大旅行者及旅游爱好者实现该软件的计算中心或计算机网络:
c. 该软件系统同其他系统或其他机构的基本的相互来往关系:接入高德地图、ai等辅助实现软件系统功能。
1.3定义
LLM大模型:指大型语言模型,用于自然语言处理、个性化推荐等功能。
个性化推荐:根据用户的偏好、历史行为及实时需求,为用户推荐适合的旅游目的地、活动及行程规划。
旅游社区:用户可以在此分享旅行故事、经验和心情,与其他旅行者进行互动交流。
1.4项目标志
采用了简单的几何图形,一个三角形构成的山峰形状,设计简洁明了,易于识别和记忆。使用了清新的绿色,给人以自然、生态、活力的感觉,与旅游休闲的主题相呼应。整体设计风格简约现代,符合当下的设计趋势,吸引年轻用户群体。
2任务概述
2.1目标
本旅游规划AI助手软件的开发旨在解决旅行者在旅行规划、信息获取及旅行体验分享方面的痛点。通过集成LLM大模型、自然语言处理、个性化推荐等先进技术,为用户提供从行程规划、景点推荐、实时旅行建议到社交分享的一站式服务。目标是打造一个便捷、高效、个性化的旅游规划工具,提升旅行者的旅行体验和满意度。该软件将提供以下核心功能:
1、个性化行程规划:根据用户的兴趣、旅行时间和预算,利用LLM大模型生成个性化的旅行计划。
2、景点推荐:根据用户的偏好和实时数据,推荐热门或个性化的旅游景点。
3、实时旅行建议:提供天气信息、交通状况、文化活动等实时更新,帮助用户做出更好的旅行决策。
4、社交分享:允许用户在旅行社区中分享自己的旅行故事和经验,与其他旅行者交流。
5、旅行前准备:提供天气查询、物品清单推荐和行程规划服务,帮助用户做好充分的旅行前准备。
6、旅途中的分享与交流:用户在旅途中可以轻松分享自己的体验,同时获取其他旅行者的建议和帮助。
7、文案生成:在用户需要在社交媒体上分享旅行体验时,提供文案生成功能,帮助用户表达自己的感受。
8、愿望清单:允许用户记录自己的旅行愿望和计划,方便未来参考和实现。
通过实现这些目标,我们希望“福小旅”软件能够成为旅行者规划和享受旅行的得力助手,让每一次旅行都充满乐趣和回忆。
2.2用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
1.主要为18-25岁年轻群体,每年旅行频率较低(0-3次)。
2.多与朋友或家人同行,通常在出发前1周内规划行程。
3.偏好使用在线平台和自行查找攻略来计划旅行。
4.主要困扰包括信息搜索耗时、线路规划繁琐和不清楚最佳游玩方式,倾向于使用手机APP或小程序,注重个人兴趣和预算因素。希望AI工具能提供个性化行程、实时旅行建议和多语言翻译功能。
5.重视操作简单、规划速度快和结果准确度高。对隐私和数据安全以及软件可靠性有较高关注。
2.3假定和约束
1.为学生项目,预算有限,主要依靠免费或低成本资源
2.需要在有限时间内完成核心功能,可能需要进行优先级排序
3.开发期限约一个月。
3需求规定
3.1对功能的规定
3.1.1、旅行小助手 (LLM大模型)
输入:
用户旅行偏好(如目的地类型、活动偏好、旅行风格等)。
目的地信息(包括具体地点、旅行时间等)。
预算信息(包括交通、住宿、餐饮、活动等预算限制)。
旅行人数和成员构成(如家庭、朋友、独自旅行等)。
处理:
利用LLM大模型分析用户的输入数据,包括偏好、目的地、预算等。
结合实时数据(如天气、当地活动、旅游热点等)进行综合分析。
根据分析结果,生成符合用户需求的个性化旅行建议。
输出:
行程规划:包括每日行程安排、推荐景点、餐饮建议等。
文案生成:为用户的社交媒体分享提供文案建议。
推荐路线清单:提供备选行程和路线,以应对不同情况。
预算概览:根据行程规划提供预算分配和成本估算。
3.1.2、实时天气和旅行建议
输入:
用户当前位置或目的地、旅行日期和时间。
处理:
查询实时天气数据和天气预报并分析天气对旅行计划的潜在影响。
输出:
天气状况:提供旅行期间的天气预报。
旅行建议:根据天气情况提供穿衣、活动等建议。
3.1.3、社交分享和交流平台
输入:
用户的旅行故事、照片、视频等媒体内容。
用户的旅行评价和建议。
处理:
提供内容编辑和美化工具,如文案生成、图片编辑等。可对用户内容进行分类、标签和推荐。
输出:
分享内容:用户可以分享到社交网络或旅行社区。
互动反馈:展示其他用户的评论、点赞和分享。
3.1.4、行程管理和调整
输入:
用户的行程计划。用户对行程的修改请求。
处理:
根据用户请求调整行程安排。
重新计算行程预算和时间安排。
输出:
调整后的行程规划:包括更新后的行程安排和预算。
行程变更通知:通知用户行程变更的详细信息。
3.1.5、智能图像识别
输入:
用户上传的旅行照片。
处理:
使用图像识别技术识别照片中的地标、场景和活动。
输出:
照片标签:为照片自动添加地标和场景标签。
旅行故事增强:根据识别结果提供旅行故事的额外信息。
3.2对性能的规定
3.2.1 精度规定
LLM生成的旅行建议应至少90%符合用户输入的偏好和约束条件。
用户输入的预算信息应精确到元。
3.2.2时间特性要求
说明对于该软件的时间特性要求,如对:
a. 响应时间;、:
●LLM生成旅行建议的响应时间不超过10秒。
●用户进行任何操作后,系统应在2秒内给予反馈。
●搜索和查询功能应在用户输入完成后立即提供结果,延迟不超过2秒。
b. 更新处理时间:
●用户行程或个人资料的更新应在操作完成后即时反映。
●后台数据库的定期更新应在夜间低峰时段完成,不影响白天的用户使用。
c. 数据的转换和传送时间:
●用户上传的图片和视频等内容应在5秒内完成上传。
●系统生成的行程单或推荐路线等数据,应在用户请求后5秒内完成下载。
d. 解题时间等的要求:
●常见问题应提供即时答案或建议。
●复杂查询或个性化问题,系统应在10秒内提供初步答案或建议。
3.2.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a. 操作方式上的变化:应能够快速适应新的用户界面设计趋势,如新的操作系统界面更新或用户交互模式的变化。
b. 运行环境的变化:应能适应不同的网络环境,从低速的3G网络到高速的5G网络,以及离线模式。
c. 同其他软件的接口的变化:软件应提供灵活的API接口,以便与其他旅游相关服务进行集成。
d. 精度和有效时限的变化:对于时效性信息(如天气更新、活动日程等),软件应能够根据信息的有效时限进行实时更新。
e. 计划的变化或改进:能适应不同季节的旅行规划,支持多种旅行类型,并且有反馈机制,让用户可以轻松地提供反馈和建议,以持续改进服务
3.3输入输出要求
用户输入数据类型:支持文本、图片等的输入。
输出数据类型:文本、PDF格式的行程单、可分享的旅行日记等。
3.4数据管理能力要求
1、用户数据存储:
每个用户账户应能存储至少100条旅行记录,每条记录包括行程详情、个人笔记、媒体文件(如照片和视频)。
应为每个用户提供至少1GB的个人存储空间,用于存储媒体文件和其他数据。
2、数据增长估算:
数据库应设计为可水平扩展,以便在数据量增长时,可以通过增加服务器来提高存储容量。
3、数据安全性:
所有用户数据应加密存储,以保护用户隐私和满足相关法律法规的要求。
应实施严格的数据访问控制,确保只有授权用户和系统才能访问数据。
4、数据一致性和完整性:
应实施事务管理,确保数据的一致性和完整性,特别是在用户更新行程或支付信息时。
应定期进行数据完整性检查,及时发现并修复数据错误或丢失。
5、数据迁移能力:
应提供数据迁移方案,以便在更换存储提供商或升级存储系统时,能够无缝迁移用户数据,且不丢失数据。
6、数据报告和分析:
应能够生成用户数据报告,如旅行频率、热门目的地等,以帮助改进服务和进行市场分析。应实施数据分析工具,以挖掘用户行为模式和偏好,为产品决策提供支持。
通过满足这些数据管理能力要求,软件将能够高效、安全地处理和存储大量用户数据,同时为用户提供快速、可靠的数据访问服务。
3.5故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
1.LLM服务中断时,提供基于历史数据和热门推荐的离线推荐
2.网络连接不稳定时,支持数据本地缓存和后续同步
3.6其他专门要求
1.界面设计简洁直观,支持个性化主题设置
2.提供开放API接口,便于与其他旅行服务(如订票、酒店预订)集成
3.实现智能图像识别技术,帮助用户快速标记和整理旅行照片
4.集成社交媒体分享功能,方便用户实时分享旅行体验
4运行环境规定
4.1设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
a. 处理器型号及内存容量;
服务器:普通云服务器,4核CPU,8GB RAM
客户端:支持主流智能手机,2GB RAM以上
b. 外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
服务器:100GB SSD存储
客户端:至少16GB内部存储
c. 输入及输出设备的型号和数量,联机或脱机;
智能手机/平板电脑的触摸屏
d. 数据通信设备的型号和数量;
支持4G/5G移动网络
e. 功能键及其他专用硬件
支持GPS定位
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
服务器:Ubuntu 20.04 LTS
客户端:iOS 13.0+, Android 9.0+, 主流Web浏览器
4.3接口
说明该软件同其他软件之间的接口、数据通信协议等。
RESTful API:用于客户端和服务器通信
第三方API:
地图API(高德地图)
天气API(和风天气)
4.4控制
用户认证:使用JWT
数据安全:使用HTTPS
版本控制:Git
5验收标准:
5.1. 功能验收
5.1.1 旅行小助手 (LLM大模型)
- 能够接收并处理用户的旅行偏好、目的地信息、预算信息和旅行人数等输入
- 生成的行程规划包含每日行程安排、推荐景点和餐饮建议
- 提供文案生成功能,为用户的社交媒体分享提供建议
- 生成推荐路线清单,包含备选行程和路线
- 提供基于行程规划的预算概览和成本估算
5.1.2 实时天气和旅行建议
- 能够根据用户当前位置或目的地提供实时天气数据和天气预报
- 根据天气情况提供穿衣、活动等旅行建议
5.1.3 社交分享和交流平台
- 支持用户上传和分享旅行故事、照片、视频等媒体内容
- 提供内容编辑和美化工具,如文案生成、图片编辑等
- 实现用户间的互动功能,如评论、点赞和分享
5.1.4 行程管理和调整
- 支持用户修改现有行程计划
- 能够根据用户请求重新计算行程预算和时间安排
- 提供行程变更通知,通知用户详细的变更信息
5.1.5 智能图像识别
- 能够识别用户上传的旅行照片中的地标、场景和活动
- 自动为照片添加地标和场景标签
- 根据识别结果提供旅行故事的额外信息
5.2 性能验收
- LLM生成的旅行建议至少90%符合用户输入的偏好和约束条件
- 用户输入的预算信息精确到元
- LLM生成旅行建议的响应时间不超过10秒
- 用户进行任何操作后,系统在2秒内给予反馈
6.流程图及类图
流程图:
类图:
7.迭代记录表格
迭代编号 | 任务 | 负责人 | 状态 | 备注 |
---|---|---|---|---|
Iteration 1 | 初始功能收集 | 徐婉瑜 | 已完成 | 无 |
Iteration 1 | 初始功能确定 | 林烨 | 已完成 | 无 |
Iteration 2 | 系统架构设计 | 徐婉瑜 | 进行中 | 确定技术栈和架构设计 |
Iteration 2 | 原型设计 | 前端 | 进行中 | 确定基本页面及具体功能 |
Iteration 2 | 接入LLM和API及数据库 | 后端 | 进行中 | 实现后端基本功能 |
Iteration 3 | 实现用户界面 | 前端 | 待开始 | 无 |
Iteration 3 | 后端完善 | 后端 | 待开始 | 无 |
Iteration 4 | 数据库优化 | 后端 | 待开始 | 包括索引和查询优化 |
Iteration 4 | 单元测试编写 | 测试组 | 待开始 | 确保代码质量 |