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.流程图及类图

流程图:

类图:

classDiagram class User { -userID -username -password -phone +login() +register() +resetPassword() } class Post { -postID -author -content -images -comments +createPost() +viewPost() +addComment() } class TravelHistory { -cityHistory -spotHistory +getVisitedCities() +getVisitedSpots() } class TravelWishList { -wishlistCities -wishlistSpots +addCityWish() +addSpotWish() } class TravelAssistant { +spotAnalysis +weatherReminder +safetyRecommendations +packingSuggestions +generateTripPlan() +getSpotAnalysis() +getWeatherReminder() +getSafetyTips() +getPackingAdvice() } class Settings { +pushSettings +privacySettings +accountSecurity +changePushSettings() +changePrivacySettings() +changeAccountSecurity() } class AIRecommendation { -userHistoryData +recommendSpots() +recommendRoutes() } class Comment { -commentID -author -content +postComment() } class Wishlist { -user -destinations +addDestination() +removeDestination() } User "1" *-- "1" TravelHistory : owns User "1" *-- "1" TravelWishList : owns User "1" *-- "1" TravelAssistant : uses User "1" *-- "1" Settings : manages User "1" *-- "1" AIRecommendation : receives recommendations from Post "1" o-- "*" Comment : contains User "1" -- "*" Post : creates User "1" *-- "1" Wishlist : has

7.迭代记录表格

迭代编号 任务 负责人 状态 备注
Iteration 1 初始功能收集 徐婉瑜 已完成
Iteration 1 初始功能确定 林烨 已完成
Iteration 2 系统架构设计 徐婉瑜 进行中 确定技术栈和架构设计
Iteration 2 原型设计 前端 进行中 确定基本页面及具体功能
Iteration 2 接入LLM和API及数据库 后端 进行中 实现后端基本功能
Iteration 3 实现用户界面 前端 待开始
Iteration 3 后端完善 后端 待开始
Iteration 4 数据库优化 后端 待开始 包括索引和查询优化
Iteration 4 单元测试编写 测试组 待开始 确保代码质量
posted @ 2024-10-23 20:55  Mysterious-x  阅读(53)  评论(0编辑  收藏  举报