团队作业3--需求改进&系统设计
| 这个作业属于哪个课程 | 计科23级12班 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 需求改进&系统设计 |
一、需求与原型改进
1. 课堂讨论反馈及修改
问题1:用户反馈笔记协作不够直观
修改1: 在原有的分享模块基础上增加协作实时标识功能,用户可在笔记中看到他人正在编辑的位置,避免冲突。
问题2:Markdown 编辑器对初学者操作复杂
修改2: 增加可视化工具栏(加粗、斜体、插入图片/代码块),并提供实时预览,降低学习成本。
问题3:笔记分类与标签管理不灵活
修改3: 支持多标签、多层级分类,并增加搜索过滤功能,实现快速查找。
问题4:用户隐私与权限不够细化
修改4: 在原有权限管理基础上,增加笔记级别权限(仅自己可见、团队可见、公开链接可访问),并提供访问日志功能。
加分部分:用户原型测试
我们在实验室展示了系统原型给目标用户(学生、教师、开发者),通过问卷和访谈记录用户操作习惯及痛点。
发现的主要痛点:
- 学生希望课堂笔记能快速同步并且易于搜索;
- 教师希望能够对共享笔记进行版本控制;
- 开发者希望笔记可插入代码块并保持格式化。
用户场景(User Story)示例:
学生 Alice 在课堂上快速记录笔记,通过可视化 Markdown 编辑器插入公式和代码块;系统自动保存并同步至云端。课后,她通过搜索功能找到前两节课的笔记,并分享给小组成员协作修改作业方案。团队成员 Bob 实时修改笔记,Alice 收到更新通知,完成多人协作。
2. 需求规格说明书改进
上周不足:
- 功能描述缺少协作编辑细节;
- 用户权限划分不够细化;
- 原型缺乏操作流程演示。
改进措施:
- 增加实时协作标识和编辑冲突提示功能;
- 增加笔记级别权限和访问日志;
- 原型中加入用户操作路径示意图,便于理解使用流程。
3. 功能分析四象限
| 重要性 / 紧急性 | 高 | 低 |
|---|---|---|
| 高 | 核心笔记管理、实时同步、权限控制 | Markdown 可视化工具栏 |
| 低 | 统计分析、笔记标签推荐 | 个性化主题、皮肤 |
4. WBS及项目进度调整
根据功能优先级和依赖关系,我们对原有 WBS 进行调整,优先开发笔记管理、实时同步和权限模块,保证 Alpha 阶段核心功能可用。具体计划见甘特图)。
二、系统设计
1. 架构设计
采用 前后端分离 + 分层式架构,主要分为以下层次:
-
表示层(Front-end)
- 技术:React + Vue
- 功能:用户界面、Markdown 编辑器、笔记展示、协作标识
- 与后端交互通过 RESTful API 和 WebSocket
-
业务逻辑层(Back-end)
- 技术:Python + Flask
- 功能:用户管理、笔记管理、权限控制、协作同步、日志管理
- 分模块设计:用户模块、笔记模块、协作模块、系统设置模块
-
数据持久层(Database)
- 技术:MySQL / PostgreSQL
- 功能:用户数据、笔记数据、权限配置、版本历史
- 使用外键、索引优化查询性能
-
实时同步层(WebSocket)
- 功能:协作编辑、变更推送、在线状态管理
- 与业务逻辑层紧密结合,保证多端数据一致性
设计特点:
- 模块清晰,职责单一,便于团队分工;
- API 接口标准化,前后端开发可并行;
- 支持扩展(未来增加统计分析、插件系统)。
2. 系统接口示意
POST /api/user/login— 用户登录POST /api/notes— 创建笔记GET /api/notes/:id— 获取笔记内容PATCH /api/notes/:id— 更新笔记POST /api/notes/:id/share— 生成分享链接- WebSocket
/ws/notes— 实时同步笔记内容
三、Alpha 任务分配计划
1. 功能模块选择(Product Backlog)
Alpha 阶段优先实现核心模块:
- 用户管理模块
- 笔记管理模块
- 实时同步模块
- 权限控制模块
2. 任务分解(Sprint Backlog)
每个功能进一步拆分为 1~10 小时任务,例如:
- 用户管理模块:登录(3h)、注册(2h)、权限管理(5h)
- 笔记模块:创建/编辑/删除(6h)、搜索与标签(4h)、Markdown 渲染(5h)
- 实时同步模块:WebSocket 服务(8h)、多端同步(6h)
- 权限模块:笔记级别权限(5h)、访问日志(3h)
3. 甘特图示意

四、测试计划
测试原则:开发同步进行,边开发边测试,保证质量。
1. 测试内容
- 功能测试:笔记新增、编辑、删除、分享、协作
- 界面与交互测试:Markdown 渲染、可视化编辑、响应速度
- 性能测试:多用户协作同步、数据库查询效率
- 安全测试:权限控制、数据访问日志、登录认证
2. 测试时间安排
| 阶段 | 时间 | 测试内容 | 负责人 |
|---|---|---|---|
| Alpha 开发中 | 每天 | 单元测试、接口测试 | 各模块开发人员 |
| Alpha 结束 | 1 天 | 集成测试、性能测试 | 测试人员 |
3. 测试资源
- 硬件:多台 PC、移动端设备
- 软件:Postman、浏览器开发者工具、JMeter(性能测试)
- 数据库:测试数据集,包含多用户笔记与协作场景
总结:
本次随笔通过用户反馈改进需求和原型,明确 Alpha 阶段核心功能及任务分工,设计了分层式架构以支持多人开发和实时协作,同时制定了同步进行的测试计划,为下一阶段 Sprint 提供了清晰路线。通过这种方式,系统开发更加可控,团队协作更高效,能够真正落地为可用的在线笔记平台。

浙公网安备 33010602011771号