Skip to content

Lyunzh/outsidelife

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

需求规约文档

1. 介绍

1.1 项目目的

outside life 是一个面向户外活动的网页端应用,旨在为用户提供骑行、登山等活动的导航和社交功能。该软件基于地点展开,支持用户注册、登录、存储地点、查看和参与路线活动,提供社交、导航、活动管理等功能。通过集成高德地图 API,本应用为用户提供精确的地点和路线数据,帮助用户规划和管理活动。

1.2 项目范围

该项目将主要实现以下功能:

  • 用户注册、登录和管理。
  • 地点浏览和路线管理,包括骑行和登山地点。
  • 用户可以创建、加入和管理组团活动。
  • 提供社交功能,用户可以查看和参与其他用户的活动。
  • 集成AI推荐系统,为用户推荐活动地点和组团。

项目的主要限制:

  • 仅支持电脑手机网页端版本、后续开发移动应用
  • 初期版本以骑行和登山为主要活动类型,后续可以扩展到更多户外活动类型。

2. 整体描述

2.1 项目特点

  • 社交与活动功能结合:结合社交功能与活动组织,用户不仅可以参与活动,还可以与志同道合的朋友组团。
  • 路线导航与实时定位:集成高德地图 API,实现精确的路线规划。
  • 用户自定义活动:用户可以创建自定义的活动路线和地点,支持修改活动细节和设置。
  • AI推荐系统:基于用户历史行为和活动偏好,推荐最适合的活动地点、路线和组团活动。

2.2 项目运行环境

  • 前端:Web前端,使用React/Vue等现代Web开发框架。
  • 后端:Java(Spring Boot)作为后端服务,处理用户请求、活动管理、路线存储等。
  • 数据库:MySQ数据库存储用户信息、活动数据等。
  • 地图服务:集成高德地图API提供地图显示、地点定位、路径规划等功能。
  • 服务器:部署在云服务器上,支持高并发请求处理和实时数据更新。

3. 系统与其他系统的接口

3.1 高德地图 API

系统将与高德地图 API 进行集成,主要提供以下功能:

  • 地点搜索和展示:通过高德地图 API 获取并展示活动地点信息。
  • 路径规划:为用户提供骑行、步行和登山路线的实时路径规划。

3.2 用户管理系统

系统需要与用户认证和管理系统进行集成,主要提供以下功能:

  • 注册与登录:用户通过手机号、邮箱等方式注册账号,支持密码找回、验证码登录等功能。
  • 个人信息管理:用户可以查看和编辑个人资料,如昵称、头像等。

3.3 AI推荐系统

系统将集成一个基于用户数据的AI推荐模块,主要用于以下功能:

  • 活动地点推荐:根据用户的历史活动数据推荐合适的活动地点。
  • 活动组团推荐:根据用户的兴趣和活动偏好,推荐合适的活动组团。

4. 主要功能需求描述

4.1用户用例

用户用例图.drawio

4.1.1:用户查看地点及推荐

1. 用例名称

用户查看地点及推荐

2. 参与者
  • 主要参与者:用户
  • 次要参与者:地图服务、AI服务
3. 前置条件
  • 用户已完成登录。
  • 系统中已有地点和路线数据。
4. 后置条件
  • 用户成功查看地点详情(包括地点节点、路线)。
  • 系统根据用户查询行为记录访问数据,用于推荐算法优化。
5. 基本事件流
  1. 用户登录后选择“查看地点”。
  2. 系统调用地图服务,展示地点列表。
  3. 用户选择某一地点查看详情。
  4. 系统调用地图服务,显示该地点的详细信息,包括地点节点和相关路线。
  5. 系统调用AI服务,推荐与该地点相关的其他地点或活动。
  6. 用户查看推荐信息,结束用例。
6. 分支事件流
  • 6.1 用户使用筛选功能
    1. 用户在地点列表页面选择筛选条件(如类型:骑行、登山)。
    2. 系统调用地图服务,返回筛选后的地点列表。
    3. 用户选择某地点并查看详情,流程与基本事件流一致。
7. 异常事件流
  • 7.1 系统无法加载地点信息
    1. 系统调用地图服务失败,显示错误信息“地点数据加载失败,请稍后重试”。
    2. 用户返回上一页面或重试。

4.1.2:用户创建路线及活动

1. 用例名称

用户创建路线及活动

2. 参与者
  • 主要参与者:用户
  • 次要参与者:地图服务
3. 前置条件
  • 用户已完成登录。
4. 后置条件
  • 路线及活动信息成功保存至系统数据库。
5. 基本事件流
  1. 用户选择“创建路线及活动”功能。
  2. 系统调用地图服务,展示地图界面,用户可以选择起点、途经点和终点。
  3. 用户输入路线名称和描述,并确认路线节点。
  4. 用户选择“添加活动”功能,为路线创建相关活动。
  5. 用户输入活动名称、时间、参与人数限制等信息。
  6. 系统保存路线及活动数据,结束用例。
6. 分支事件流
  • 6.1 用户保存未完成的路线
    1. 用户在选择完部分节点后选择“保存草稿”。
    2. 系统将路线数据保存为未完成状态。
    3. 用户可以稍后继续编辑该路线。
7. 异常事件流
  • 7.1 系统无法保存数据
    1. 系统因网络或数据库故障导致保存失败,提示“保存失败,请稍后重试”。
    2. 用户可以选择重新保存或退出编辑模式。

4.1.3:用户参与组团活动

1. 用例名称

用户参与组团活动

2. 参与者
  • 主要参与者:用户
  • 次要参与者:地图服务、活动创建者
3. 前置条件
  • 用户已完成登录。
  • 系统中存在有效的组团活动。
4. 后置条件
  • 用户成功加入活动,并显示在活动参与者列表中。
5. 基本事件流
  1. 用户选择“查看活动”功能。
  2. 系统展示当前地点相关的活动列表。
  3. 用户选择一个活动,进入活动详情页面。
  4. 用户点击“加入活动”按钮。
  5. 系统将用户添加至该活动的参与者列表,并返回加入成功的提示。
6. 分支事件流
  • 6.1 活动参与人数已满
    1. 用户尝试加入活动时,系统检测到参与人数已达到上限。
    2. 系统提示“活动参与人数已满,请选择其他活动”。
7. 异常事件流
  • 7.1 用户未登录
    1. 用户尝试加入活动时,系统检测到未登录状态。
    2. 系统跳转到登录页面,提示用户完成登录后再操作。

4.2管理员用例管理员用例图.drawio

4.2.1:封禁/解封用户

1. 用例名称

封禁/解封用户

2. 参与者
  • 主要参与者:管理员
  • 次要参与者:用户
3. 前置条件
  • 管理员已登录并具备相应的操作权限。
  • 系统中存在用户账户信息。
4. 后置条件
  • 用户状态被更新为“封禁”或“解封”,并记录在系统日志中。
5. 基本事件流
  1. 管理员登录系统后,选择“用户管理”功能。
  2. 系统显示所有用户的账户信息列表。
  3. 管理员选择目标用户,点击“封禁”或“解封”按钮。
  4. 系统更新用户状态(封禁或解封),并提示操作成功。
  5. 操作记录被保存到系统日志中。
6. 分支事件流
  • 6.1 管理员搜索特定用户
    1. 管理员在用户管理界面输入用户名或用户ID进行搜索。
    2. 系统返回符合搜索条件的用户列表,管理员选择目标用户并执行封禁/解封操作。
7. 异常事件流
  • 7.1 用户不存在
    1. 管理员尝试操作时,系统检测到目标用户不存在或已被删除。
    2. 系统提示“用户不存在,请检查用户信息”。

4.2.2:删除/审核路线

1. 用例名称

删除/审核路线

2. 参与者
  • 主要参与者:管理员
  • 次要参与者:用户
3. 前置条件
  • 管理员已登录并具备相应的操作权限。
  • 系统中存在用户创建的路线数据。
4. 后置条件
  • 目标路线被删除或审核通过,系统日志记录相关操作。
5. 基本事件流
  1. 管理员选择“地点管理”功能。
  2. 系统显示所有待审核或已存在的路线信息列表。
  3. 管理员选择目标路线,点击“删除”或“审核通过”按钮。
  4. 系统执行相应操作,并提示管理员操作成功。
  5. 操作记录保存到系统日志中。
6. 分支事件流
  • 6.1 管理员筛选待审核路线
    1. 管理员在路线管理界面选择筛选条件(如待审核、举报次数等)。
    2. 系统返回符合筛选条件的路线列表,管理员选择目标路线并执行操作。
7. 异常事件流
  • 7.1 路线已被删除
    1. 管理员尝试删除路线时,系统检测到目标路线已被其他管理员删除或不存在。
    2. 系统提示“该路线已被删除,请刷新页面后重试”。

4.2.3:删除/审核活动

1. 用例名称

删除/审核活动

2. 参与者
  • 主要参与者:管理员
  • 次要参与者:用户

3. 前置条件

  • 管理员已登录并具备相应的操作权限。
  • 系统中存在用户创建的活动数据。
4. 后置条件
  • 目标活动被删除或审核通过,操作记录保存到系统日志中。
5. 基本事件流
  1. 管理员选择“地点管理”功能。
  2. 系统显示所有与地点相关的活动列表(待审核或已创建的活动)。
  3. 管理员选择目标活动,点击“删除”或“审核通过”按钮。
  4. 系统执行相应操作,并提示管理员操作成功。
  5. 操作记录保存到系统日志中。
6. 分支事件流
  • 6.1 管理员查看活动详情
    1. 管理员点击活动名称,进入活动详情页面查看活动信息。
    2. 管理员在详情页面执行“删除”或“审核通过”操作。
7. 异常事件流
  • 7.1 活动不存在
    1. 管理员尝试删除活动时,系统检测到目标活动已被删除或不存在。
    2. 系统提示“该活动已被删除,请刷新页面后重试”。

5. 非功能需求描述

5.1 性能需求

  • 响应时间:系统应能够在1秒内响应用户的基本请求,地图加载和路径规划应不超过5秒。
  • 并发用户支持:系统应支持至少5000名用户同时在线,能够应对高并发请求。

5.2 安全需求

  • 数据保护:用户数据(如位置信息、个人信息等)应加密存储,确保数据安全。
  • 身份验证:系统应使用HTTPS协议,所有用户登录和数据传输应通过加密通道进行。

5.3 可用性需求

  • 用户界面:系统界面应简洁直观,支持多种设备屏幕(如PC、手机等)并适配不同操作系统。
  • 容错性:系统应具备容错能力,如发生系统崩溃时,能够提供友好的错误提示。

5.4 可维护性需求

  • 模块化设计:系统的各个功能模块应独立,便于后续功能扩展和维护。
  • 文档支持:开发过程应有详细的文档说明,帮助后期的系统维护和功能拓展。

6. 其他需求

  • 移动端适配:虽然项目初期仅为Web端应用,但应考虑后期的移动端适配需求。
  • 扩展性:系统设计应考虑到未来增加其他活动类型(如滑雪、跑步等)的扩展需求。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages