第二次团队作业
一、作业基本信息
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/14580 |
| 这个作业的目标 | 在第一次作业需求分析的基础上,完成 LifeFlow 项目的原型设计与概要设计 |
| 团队名称 | 我真没招了 |
| 小组成员与学号 | 052303140陈琨辉 102301614肖铭昊 102301619梅宇杰 102301616 王汉森 102301615吴同堃 |
二、原型设计
https://modao.cc/proto/MMfjqv9t5kfepAINkOgxr/sharing?view_mode=device #LifeFlow-分享
快速预览链接:
https://sureyoung86-byte.github.io/LifeFlow0/
原型整体包含以下主要模块:
| 模块 | 功能简介 |
|---|---|
| 登录 / 注册页 | 模拟用户身份切换与本地存储登录状态 |
| 会话页 | 作为“多机器人入口”,支持上传文件、粘贴文本、生成摘要 |
| 任务计划页 | 展示任务卡片,支持新增、编辑、导入、导出、DOD 勾选 |
| 专注模式页 | 番茄钟倒计时,任务联动与专注完成统计 |
| ESP32 配置区 | 预留设备联动接口,模拟 LED 控制 |
2.2 登录 / 注册页
- 提供登录与注册 Tab 切换;
- 模拟用户系统(localStorage 缓存),支持“记住我”选项;
- 登录成功后进入主工作区,右上角显示用户名。


2.3 会话页面(信息提要)
- 左侧侧边栏显示功能菜单与历史会话;
- 主区包含输入区与消息气泡区,模拟人机对话;
- 上传功能支持多文件进度显示;
- 顶部可切换不同机器人(信息提要 / 任务化 / 分析);

2.4 任务计划页面(任务化生成)
- 从会话提要导入要点自动生成任务;
- 每个任务含子任务、优先级、DOD 状态;
- 支持任务导入 / 导出 / 编辑 / 删除。

2.5 专注模式页面(番茄钟)

三、概要设计
3.1 系统整体架构概述
本项目采用「前端 SPA + 后端 REST API + 外部 LLM Provider + 可选硬件设备」的整体架构。前端使用 Vue3 实现会话、任务、专注和复盘等页面;后端使用 FastAPI/Node 提供总结生成、任务化、专注会话和设备同步等接口;数据库用于持久化会话、文档、任务和专注记录;ESP32 设备用于显示专注进度。
3.2 UML 设计
3.2.1 用例图

- 主要参与者:普通用户、ESP32 设备、LLM Provider;
- 主要用例:信息提要、任务化生成、专注模式、会话与隐私管理、复盘与导出、Provider 配置等。
3.2.2 活动图(业务流程)

活动图从「选择会话 → 上传文本/文件 → 生成提要 → 一键任务化 → 进入专注 → 导出/清空」的主流程描述了用户在 LifeFlow 中的一次完整使用过程。
3.2.3 类图(系统结构)

- User / Session / Document / Summary / KeyPoint / Task / FocusSession / Device 等实体类;
- DocumentService / SummaryService / TaskService / FocusService / ProviderRouter 等服务类。
3.2.4 时序图(关键场景)




- Provider 路由调用 LLM 的时序图。
- 文件上传与总结;
- 任务管理与回顾视图;
- 开始专注会话与设备同步的时序图;
3.2.5 协作图(对象协作)

协作图展示了 User、前端、后端、Provider 路由、LLM Provider、设备之间的消息交互关系,突出消息编号和对象依赖。
3.3 数据库设计
3.3.1 ER 图

3.3.2 关系数据模型

3.3.3 对象关系映射(ORM)

四、团队协作记录
4.1 开发计划时间安排
说明:从上周开始统计,把本次第二次团队作业(11.20 截止)前后的工作,以及后续正式编码阶段都写在同一张规划表中。
| 周次 | 时间范围 | 主要任务 | 里程碑 / 产出 |
|---|---|---|---|
| 第1周 | 2025-11-11 ~ 2025-11-17 | - 回顾第一次团队作业的需求分析文档; - 对 LifeFlow 的核心场景进行细化(信息提要、任务化、专注模式、复盘); - 确定整体技术栈方案(前端 Vue3 + Vite,后端框架、数据库、ESP32 方案等); - 画出原型的低保真草图,确定主要页面和信息结构 |
- 统一的需求清单 & 使用场景列表; - 低保真原型草稿; - 明确每个人大致分工方向 |
| 第2周 | 2025-11-18 ~ 2025-11-24 | - 重点完成本次作业要求的原型设计和概要设计; · 11.18–11.20:完善墨刀/HTML 原型、UML 图(用例/活动/类/时序/协作)、系统设计说明书、数据库设计说明书、博客; · 11.20 前完成第二次团队作业提交; - 11.21 之后开始搭建前后端代码骨架(创建仓库、基础路由、接口占位) |
- 第二次团队作业按时提交(原型 + 概要设计 + 博客); - GitHub 仓库初始化,GitHub Pages 展示原型; - 前后端项目基本骨架搭好 |
| 第3周 | 2025-11-25 ~ 2025-12-01 | - 前端实现核心页面:会话页、任务计划页、专注模式页的基础交互; - 实现从前端到后端的基础 REST 接口调用(例如 /summarize 的 Mock 版本); - 按照设计说明书逐步把 UML 中的类和接口落到代码结构里 |
- 能在浏览器中完整跑通“上传文本/文件 → 返回假数据提要 → 生成任务”的前端 Demo; - 前后端接口风格基本稳定 |
| 第4周 | 2025-12-02 ~ 2025-12-08 | - 后端对接实际 LLM Provider / MCP 路由; - 实现任务生成、专注会话记录、会话持久化/不落盘模式等核心业务逻辑; - 按数据库设计说明书接入真正的数据库读写; - 编写基础单元测试与接口测试脚本 |
- 可以从前端真实调用后端完成“提要 + 任务化 + 专注记录”闭环; - 关键表结构落库并通过测试 |
| 第5周 | 2025-12-09 ~ 2025-12-15 | - ESP32 设备联调(LED/进度显示); - 前后端 + 硬件一体化联调、修复 Bug; - 补充日志、异常处理与性能优化; - 整理最终演示版本和说明文档 |
- 能演示“Web 专注模式 ↔ ESP32 设备同步进度”; - 系统达到可演示 / 可验收状态,准备后续答辩材料 |
4.2 分工安排
说明:下面先用“成员1~成员5”占位,人名你直接改成 “学号-姓名” 即可。
| 成员 | 角色 | 负责模块 | 主要工作内容 |
|---|---|---|---|
| 陈琨辉 | 队长 / PM | 整体把控 & 对外沟通 | 负责与老师/助教对接作业要求;拆解任务并分配给各成员;把需求文档、系统设计说明书、数据库设计说明书和 UML 统一整合;把最终文档和原型链接整理到 GitHub 仓库和博客中。 |
| 肖铭昊 | 前端负责人 | 前端原型 & 页面实现 | 负责墨刀/Axure 前台原型绘制(会话页、任务看板、专注页、复盘页);搭建 Vue3 项目骨架;实现主要页面的前端交互(上传文件、任务拖拽、番茄钟 UI、复盘展示等)。 |
| 梅宇杰 | 后端负责人 | API 设计 & 核心业务 | 负责后端技术选型和项目初始化;设计并实现核心接口(summarize、任务化、专注会话、导出等);对接多 Provider 路由和 LLM 调用;与前端对接口协议,保证联调顺畅。 |
| 吴同堃 | UML & 文档 | 架构设计 & 设计说明书 | 负责整理需求并抽象出用例图、活动图、类图、时序图、协作图;撰写《系统设计说明书》和《数据库设计说明书》初稿;在博客中补充概要设计章节的文字说明和 UML 图配图说明。 |
| 王汉森 | 硬件 & 测试 | ESP32 & 测试用例 | 负责 ESP32 设备方案(进度显示)、简单原型搭建和接线设计图;联调专注模式与设备同步接口;设计并执行基础测试用例(上传→提要→任务化→专注→导出全流程),在博客中记录测试结果和问题反馈。 |
4.3 协作过程记录

五、后端设计展示
5.1 后端整体模块图

图 5-1 LifeFlow 后端模块设计图说明:
-
APIController(接口入口)
- 统一接收前端和设备发来的 HTTP 请求;
- 负责参数校验、调用 AuthService 做鉴权;
- 根据路径分发到 DocumentService、SummaryService、TaskService、FocusService、DeviceService 等业务服务。
-
AuthService(用户 & 设备鉴权)
- 校验用户 token 和设备 token;
- 控制只有合法用户/设备才能访问敏感接口(如清空会话、推送进度等)。
-
DocumentService(文档处理)
- 负责保存上传文档的元数据和内容;
- 对 PDF/Word/TXT 做文本抽取,为后续提要生成提供输入;
- 根据需要访问数据库和缓存(如对重复上传的文件命中缓存结果)。
-
SummaryService(提要生成)
- 接收 DocumentService 或前端发来的文本内容;
- 调用 ProviderRouter 选择合适的 LLM(如 DeepSeek、Kimi 等),生成“主旨 + 要点 + 置信度”;
- 将摘要结果写入数据库/缓存,供前端展示和任务化使用。
-
TaskService(任务化生成)
- 根据摘要中的 KeyPoint 自动生成 Task(包含 title、priority、deps、DOD);
- 计算并推荐“今日三件事”和时间块(startAt/endAt);
- 提供任务列表查询、状态更新(完成/未完成)等接口。
-
FocusService(专注会话)
- 管理每一次番茄钟专注会话:开始、暂停、恢复、结束;
- 按时间片记录专注进度,为前端和设备查询提供数据;
- 当绑定了设备时,会通过 DeviceService 同步当前进度。
-
DeviceService(设备管理与进度推送)
- 管理 ESP32 设备的注册、绑定用户/会话;
- 提供查询设备在线状态的接口;
- 接收 FocusService 的进度更新请求,将 0–100% 进度推送到设备端(例如通过 HTTP/MQTT)。
-
ProviderRouter(多模型路由)
- 维护可用 LLM Provider 列表(DeepSeek/Kimi/文心 等);
- 根据配置或策略(优先级、负载均衡)选择具体的 Provider;
- 封装不同 Provider 的调用细节,对上统一暴露
generateSummary等接口。
-
CacheService / Redis(缓存层)
- 对高频读写的数据(如摘要结果、任务列表)进行缓存;
- 对重复文档的提要请求做结果复用,减少 LLM 调用次数和费用。
-
数据库(MySQL 等)
- 按照《数据库设计说明书》中的 ER 图和关系模型,持久化存储 User、Session、Document、Summary、KeyPoint、Task、FocusSession、Device 等实体;
- 支持按用户→会话→任务/专注记录的查询路径,用于前端界面展示与复盘统计。
六、仓库链接
6.1 仓库与文档链接
-
GitHub 团队仓库链接:
https://github.com/Kortice/LifeFlow -
团队名称_系统设计说明书.pdf:
通过网盘分享的文件:我没招了_系统设计说明书.pdf
链接: https://pan.baidu.com/s/1c5UFt20fVwB1AF945ubp0w?pwd=myf7 提取码: myf7 -
团队名称_数据库设计说明书.pdf:
通过网盘分享的文件:我真没招了_数据库设计说明书.pdf
链接: https://pan.baidu.com/s/10SCPUUBv3OX9qVYjWgw7dA?pwd=rh6f 提取码: rh6f -
原型在线预览链接:
link1:https://sureyoung86-byte.github.io/LifeFlow0/
https://modao.cc/proto/MMfjqv9t5kfepAINkOgxr/sharing?view_mode=device #LifeFlow-分享
通过百度网盘分享的文件:LifeFlow本地原型.html
链接:https://pan.baidu.com/s/1BO1p9oARPkC3LNdMPGnBwg?pwd=8np2
提取码:8np2
posted on 2025-11-20 22:01 SureyoungOuO 阅读(6) 评论(0) 收藏 举报
浙公网安备 33010602011771号