事后诸葛亮分析

一、设想和目标

1. 软件要解决的问题是否清晰

Noteforces 旨在解决学生与教师在日常学习、教学过程中“记录零散、设备割裂、同步不便”的问题。目标用户主要为校内学生、教师及具备一定技术背景的开发者,典型使用场景包括课堂笔记记录、实验文档整理、学习资料积累与分享等。

在项目初期,我们对核心问题的定义较为清晰:
提供一个轻量、支持 Markdown、可多端同步的在线笔记系统,而非复杂的知识管理平台。这一定位在后续开发中基本保持稳定。

2. 是否有充足的时间做计划

在 Alpha 阶段,团队有明确的时间节点和阶段目标,但总体计划偏向“功能导向”,对开发风险和实现难度的评估不够充分,尤其低估了前后端联调、权限控制和分享机制的复杂度。

3. 计划阶段如何解决分歧

对于功能取舍上的分歧,团队主要采用讨论 + PM 拍板的方式。对于“是否加入复杂协作功能”“是否支持全文搜索”等问题,最终遵循“先完成最小可用系统(MVP)”的原则,将部分需求延后。

4. 用户量与预期对比

预期初期用户量为 1000+ 校内用户。Alpha 阶段仅完成核心功能验证,尚未进行大规模推广,实际用户量与预期存在差距,但系统功能完整度已为后续推广奠定基础。

5. 经验与反思

如果重新来一次,我们会:

  • 更早进行原型设计与功能拆分
  • 明确区分“必须实现”和“可以延后”的需求
  • 在设计阶段就引入权限与分享的完整流程图

二、计划

1. 原计划是否完成

用户管理、笔记管理、Markdown 支持、分享链接机制等核心功能基本完成;
高级协作功能、性能优化与日志分析仅完成基础实现,未达到理想状态。

2. 是否做了低价值工作

在早期界面细节与样式调整上投入了相对过多时间,后期发现部分 UI 优化对 Alpha 阶段的验证价值有限。

3. 任务是否有清晰交付件

功能级任务交付较清晰,但部分技术性任务(如“安全性增强”“系统日志完善”)缺乏可量化指标,导致完成度评估困难。

4. 是否严格按计划推进

整体方向一致,但在后期出现任务集中、时间压力增大的情况,说明计划缓冲不足。

5. 缓冲区设置

计划中预留的缓冲时间有限,实际开发中缓冲区作用不明显。

6. 改进计划

未来计划将:

  • 明确里程碑与验收标准
  • 为联调、测试阶段预留更充足时间
  • 使用任务看板进行进度可视化

三、资源

1. 资源是否充足

在人力上,团队规模能够支撑项目目标;技术资源(Flask、Vue、SQLite)选型合理,学习成本可控。

2. 时间与资源估计精度

对后端接口实现的估计较准确,但对前后端交互、调试与 Bug 修复时间明显低估。

3. 测试资源

测试主要依赖人工测试,缺乏自动化测试工具,对边界情况覆盖不足。

4. 分工效率

部分开发任务集中在个别成员身上,说明任务拆分仍可进一步细化。

5. 经验总结

后续应引入:

  • 更明确的角色边界
  • 基础自动化测试
  • 更合理的任务负载分配

四、变更管理

1. 变更通知

变更主要通过即时沟通工具同步,整体及时,但缺乏正式记录。

2. 功能取舍方式

采用“影响核心目标优先”的原则,推迟非关键功能。

3. 出口条件

“功能能跑起来”是主要标准,对性能、安全性考虑不足。

4. 应急计划

对需求变更的应对偏被动,缺少预案。

5. 改进方向

未来应:

  • 明确 Exit Criteria
  • 建立需求变更记录
  • 引入简单评审机制

五、设计与实现

1. 设计时机与人员

系统整体设计由开发成员共同完成,PM 参与功能边界与流程设计,时间点基本合理。

2. 模糊问题的解决

通过讨论与查阅资料解决,例如分享链接的生命周期与权限控制。

3. 设计工具使用情况

未系统使用 UML、TDD,仅进行简单模块划分,设计规范性不足。

4. Bug 分布

Bug 主要集中在:

  • 笔记权限校验
  • 分享链接失效逻辑
  • 前后端数据格式不一致

5. Code Review

代码复审主要依靠人工互看,规范执行不够严格。

6. 经验反思

后续应加强:

  • 接口文档规范
  • 代码审查流程
  • 单元测试意识

六、测试与发布

1. 测试计划

存在简单测试清单,但未形成正式文档。

2. 验收测试

Alpha 阶段以功能演示为主,未进行系统化验收。

3. 测试工具

未使用专门测试工具,主要依赖人工操作。

4. 性能与稳定性评估

仅做基本功能验证,未进行并发与压力测试。

5. 发布问题

发布过程中发现权限判断遗漏、部分异常未捕获的问题。

6. 改进方向

后续将引入:

  • 基本自动化测试
  • 更完整的异常处理
  • 发布前检查清单

七、总结:团队角色、管理与合作

1. 角色分配

角色划分清晰,基本做到人尽其才。

2. 团队协作

成员间互相支持,在进度紧张阶段主动补位。

3. 问题解决方式

通过讨论与协商解决,未出现严重冲突。

4. 成员互相感谢

  • 感谢成员在测试阶段反复验证边界情况,显著降低了 Bug 数量。

5. 工程能力提升

团队成员在 Web 架构、前后端协作、需求拆分等方面均有明显提升。

6. CMMI 水平

目前团队大致处于 CMMI 2~3 级之间

7. 团队阶段

处于 规范阶段向创造阶段过渡

8. 相比前一里程碑的改进

在需求理解、协作效率和系统完整性方面均有提升。

9. 最需改进的方面

最需要改进的是 计划的可执行性与测试体系的系统化


团队成员贡献表(Alpha 阶段)

成员 学号 分工 团队贡献分 可验证的贡献
欧俊希 3123002980 前端开发、文档 25 前后端联调、实现前端主要页面、项目文档与事后分析报告撰写
梁展榕 3123002977 后端开发 23 密码修改模块、用户管理模块实现(注册、登录、权限控制)
郭靖扬 3123004655 后端开发、PM 21 需求分析与任务拆分、后端总体架构设计、项目进度控制与阶段汇报
王耀廷 3123000586 后端开发 19 笔记管理核心逻辑(增删改查、分类/标签)、接口调试支持
廖家健 3123000613 前端开发 17 UI 设计、基础交互与样式优化
许敬忠 3123004201 测试与质量保障 15 功能测试、Bug 复现与记录、回归测试与质量检查
posted @ 2025-12-24 23:41  ikachan  阅读(7)  评论(0)    收藏  举报