EchoLogic第二次团队作业——原型设计+概要设计
| 作业所属课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/14580 |
| 作业的目标 | 一、完成原型设计、概要设计 二、撰写系统设计说明书和数据库设计说明书 三、落实并记录团队协作 |
| 团队名称 | EchoLogic |
| 团队成员学号-名字 | 102300213-陈宇,102301311-张艺宝,102301316-余睿康,102301328-林昊,102301336-何顺康,102301337-郭泽凯,102301338-郭砚康,102301340-范智杰,102301631-贾子康,102301635-傅世杰,102301642-鲍宇轩 |
原型设计

概要设计
UML设计
用例图



活动图


类图

时序图


协作图


数据库设计
ER图

关系数据模型
1. 记录表(Record)
| 字段名 | 数据类型 | 主键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|
| recordId | INT | √ | √ | 记录唯一标识(自增),主键 |
| content | TEXT | 记录的文本内容(用户输入或拖拽的文本),可选(允许纯媒体记录) | ||
| draftContent | TEXT | 草稿内容,系统每 5 秒自动保存(派生属性draftSaveTime据此更新),可选 | ||
| contentType | JSON | 复合属性,标识记录包含的内容类型(如{"text":true, "web":true, "video":true}),用于判断是否生成摘要 / 快照,可选 | ||
| status | VARCHAR(20) | √ | 记录状态:draft(草稿)/saved(已保存)/edited(已编辑),非空 | |
| similarity | DECIMAL(5,2) | 与现有记录的相似度(%),当≥85% 时触发重复提醒,可选 | ||
| createTime | DATETIME | √ | 记录创建时间,非空 | |
| lastEditTime | DATETIME | 最后编辑时间(记录编辑功能新增),可选 | ||
| draftSaveTime | DATETIME | 派生属性,草稿最后保存时间(由系统每 5 秒自动更新),可选 |
2. 媒体表(Media)
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|---|
| mediaId | INT | √ | √ | 媒体唯一标识(自增),主键 | |
| recordId | INT | Record.recordId | √ | 关联的记录 ID(联系属性),外键 | |
| fileName | VARCHAR(200) | √ | 媒体文件名(如 “笔记图片.png”),非空 | ||
| filePath | VARCHAR(500) | √ | 媒体存储路径(本地路径),非空 | ||
| fileType | VARCHAR(50) | √ | 媒体类型:text(文本)/link(链接)/image(图片)/video(视频)/audio(音频)/document(文档)/web(网页),非空 | ||
| fileSize | DECIMAL(10,2) | √ | 媒体大小(单位:MB),非空,且≤30MB(符合 “支持拖拽的文件大小不超过 30MB” 规则) | ||
| uploadTime | DATETIME | √ | 媒体上传时间,非空 |
3. 标签表(Tag)
| 字段名 | 数据类型 | 主键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|
| tagId | INT | √ | √ | 标签唯一标识(自增),主键 |
| tagName | VARCHAR(50) | √ | 标签名称(如 “高频考点”),非空且唯一(同一名称不重复创建) | |
| generateType | VARCHAR(20) | √ | 生成类型:auto(系统自动推荐)/manual(用户手动创建),非空 | |
| createTime | DATETIME | √ | 标签创建时间,非空 | |
| lastUsedTime | DATETIME | 标签最近使用时间(用于 “最近使用的标签作为候选项”),可选 |
4. 记录标签关联表(RecordTagRelation)
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|---|
| relationId | INT | √ | √ | 关联唯一标识(自增),主键 | |
| recordId | INT | Record.recordId | √ | 关联的记录 ID(联系属性),外键 | |
| tagId | INT | Tag.tagId | √ | 关联的标签 ID(联系属性),外键 | |
| 约束 | 联合唯一索引(recordId, tagId) | 确保一条记录不会重复关联同一标签 |
5. 摘要表(Summary)
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|---|
| summaryId | INT | √ | √ | 摘要唯一标识(自增),主键 | |
| recordId | INT | Record.recordId | √ | 关联的记录 ID(联系属性),外键且唯一(确保 1:1 关系) | |
| content | TEXT | √ | 自动生成的摘要内容,非空 | ||
| metadata | JSON | √ | 复合属性,存储内容元数据(如{"title":"XXX","cover":"path","duration":120,"author":"XXX"}),非空(即使无法访问内容也保存可用元数据) | ||
| generateTime | DATETIME | √ | 摘要生成时间,非空 |
6. 网页快照表(WebSnapshot)
| 字段名 | 数据类型 | 主键 | 外键 | 非空 | 说明与业务规则映射 |
|---|---|---|---|---|---|
| snapshotId | INT | √ | √ | 快照唯一标识(自增),主键 | |
| recordId | INT | Record.recordId | √ | 关联的记录 ID(联系属性),外键且唯一(确保 1:1 关系) | |
| imagePath | VARCHAR(500) | √ | 网页快照图片存储路径,非空 | ||
| generateTime | DATETIME | √ | 快照生成时间,非空(仅当记录含网页时生成) |
团队协作记录
预期开发计划时间安排
| 阶段 | 学期周数 | 核心任务 | 里程碑 | 具体产出物 |
|---|---|---|---|---|
| 需求梳理与设计阶段 | 第 11 周 | 1. 细化需求文档,确认功能边界与非功能性要求;2. 完成前端 UI 原型定稿、后端接口文档编写;3. 数据库表结构落地(SQLite 脚本编写);4. 搭建前后端开发环境(Electron+Vue3+Spring Boot); | 开发环境就绪 + 设计定稿 | 1. 需求规格说明书;2. UI 原型稿(Figma 文件);3. 后端 API 接口文档;4. 数据库建表 SQL 脚本;5. 开发环境配置手册;6. 任务分配清单 |
| 核心功能开发阶段 | 第 12 周 | 1. 前端:实现记录编辑、拖拽上传、标签选择器等基础组件;2. 后端:开发记录管理、标签管理、本地文件管理核心接口;3. 前后端联调:基础组件与接口对接(记录保存 / 查询、标签添加 / 删除);4. 实现草稿自动保存、重复内容检测功能 | 基础功能闭环 | 1. 前端基础组件库(记录编辑、拖拽、标签组件);2. 后端核心接口(记录 / 标签 / 文件管理);3. 前后端联调通过的基础功能(标签关联);4. 草稿自动保存 + 重复检测功能演示版本 |
| 进阶功能开发阶段 | 第 13 周 | 1. 前端:实现 AI 对话窗、摘要展示、资料夹管理组件;2. 后端:开发智能解析、AI 摘要生成、AI 对话孵化接口;3. 联调 LLM API 调用(加密配置、超时重试);4. 实现网页快照生成、向量检索功能;5. 开发成长感知模块基础统计功能 | 进阶功能落地 | 1. 前端进阶组件(AI 对话窗、摘要展示、资料夹管理);2. 后端 AI 相关接口(摘要生成、对话孵化);3. LLM API 调用封装模块(含加密与容错);4. 网页快照 + 向量检索功能;5. 成长感知模块统计接口 |
| 测试优化与上线准备阶段 | 第 14 周 | 1. 全面功能测试(功能点覆盖、边界条件、离线场景、异常处理);2. 性能优化4. 编写用户手册、运维部署文档;5. 打包最终版本(Windows exe 安装包) | 产品正式上线 | 1. 测试报告(含 Bug 清单与修复记录);2. 优化后的最终代码库(Git 提交记录);3. Windows 桌面端安装包(exe 文件);4. 用户操作手册(含离线使用说明) |
预期开发计划分工安排
| 成员 | 分工 |
|---|---|
| 102301642-鲍宇轩 | 项目经理 |
| 102301328-林昊 | 需求经理 |
| 102301316-余睿康 | 前端 |
| 102301338-郭砚康 | 前端 |
| 102301635-傅世杰 | 前端 |
| 102301311-张艺宝 | 后端 |
| 102301336-何顺康 | 后端 |
| 102301337-郭泽凯 | 后端 |
| 102301340-范智杰 | 后端 |
| 102301631-贾子康 | 后端 |
| 102300213-陈宇 | 后端 |
本次作业团队的协作过程记录



附录
- github团队仓库链接 https://github.com/b-yx/EchoLogic
- EchoLogic_系统设计说明书.pdf https://github.com/b-yx/EchoLogic/blob/main/EchoLogic_系统设计说明书.pdf
- EchoLogic_数据库设计说明书.pdf https://github.com/b-yx/EchoLogic/blob/main/EchoLogic_数据库设计说明书.pdf
- 原型在线预览链接 https://www.figma.com/design/ZDzBMW6qQHpqkVh1Yv3ynb/Prototype?node-id=173012-73667&t=i1rhvTU6mSmoVUbe-1

浙公网安备 33010602011771号