diff --git a/Assignment6——需求工程/软件需求规格说明书.docx b/Assignment6——需求工程/软件需求规格说明书.docx new file mode 100644 index 0000000..df0ddad Binary files /dev/null and b/Assignment6——需求工程/软件需求规格说明书.docx differ diff --git a/Assignment6——需求工程/需求获取说明书.md b/Assignment6——需求工程/需求获取说明书.md new file mode 100644 index 0000000..c2eb07e --- /dev/null +++ b/Assignment6——需求工程/需求获取说明书.md @@ -0,0 +1,160 @@ +# 《需求获取说明书》 + +## 1. 引言 + +### 1.1 背景介绍 + +本项目旨在开发一个个人和小型组织的任务与目标管理系统,融合目标拆解、任务执行、社交互动和资源共享等功能,帮助用户实现学习和成长的闭环。项目基于 Web 平台开发,提供清晰的目标规划、任务追踪、成就系统与社交化激励机制。 + +随着远程办公、自主学习的普及,用户对于目标设定、任务管理的需求逐渐上升。市面现有工具(如Todoist、Notion)缺乏社交与成长路径引导功能,无法满足“目标驱动-社交激励-资源协作”的完整成长需求。 + +### 1.2 欲解决问题 + +- 用户目标设定缺乏清晰引导,难以持续推进。 +- 任务管理割裂,缺乏目标驱动与反馈机制。 +- 缺乏成长过程记录与激励,难以坚持。 +- 学习资源零散,无法在好友圈内共享与推荐。 + +### 1.3 软件创意 + +- “目标拆解智能助手”辅助用户为目标生成可行的子目标与任务。 +- 融合社交功能(如好友圈、附近的人、资源分享等),形成成长型社交平台。 +- 引入“成长路径”系统,以时间轴形式记录用户成就、任务完成、目标达成等关键节点。 +- 使用 Redis GEO 实现“附近的人”模块,Redis Stream 结合规则引擎处理成就判断逻辑,提升性能与扩展性。 + + +--- + +## 2. 系统的组成和部署 + +### 2.1 系统部署图 + +(略,可用 PlantUML 或 draw.io 绘制) + +### 2.2 组成部分描述 + +| 组件 | 描述 | +| ------- | ----------------------------------------------------- | +| Web 客户端 | 使用 Vue 3 + Vite构建,目标看板、朋友圈、资源中心、成长时间轴等 UI 展示。 | +| 后端服务 | 基于 Spring Boot 3 构建,使用 MyBatis + Redis + MySQL 处理业务逻辑 | +| 数据库 | MySQL 存储用户、目标、任务、成就、资源等核心数据;Redis 用于 GEO 位置数据、事件流缓存等。 | +| 其他 | 使用 Jenkins 实现自动化部署,运行于 CentOS 7 环境下。 | + +--- + +## 3. 软件系统的功能描述 + +### 3.1 软件功能分析 + +#### 典型用户识别及分析 + +| 角色 | 理由 | +| ----------- | ------------------------------------- | +| 个人用户(自我成长者) | 他们是目标设定和任务管理的直接使用者,注重效率和成长反馈。 | +| 学生用户 | 有清晰的阶段性目标(如考试、论文),对“资源推荐”、“成就鼓励”功能敏感。 | +| 社群管理员/导师 | 希望组织成员高效协作,关注团队目标进度和激励反馈。 | + +#### Use Case 模型图 + +(略,推荐使用 UML 工具绘制) + +#### 典型用户需求表格 + +| 用户角色 | 需求/行为 | +| ---- | ---------------------- | +| 个人用户 | 创建目标与任务、查看进度、完成任务、查看成就 | +| 学生用户 | 获取任务建议、推荐学习资源、分享完成状态 | +| 导师 | 查看组员目标、发布资源、点赞评论 | + +--- + +### 3.2 软件功能列表 + +| 编号 | 功能名 | 功能描述 | 优先级 | 重要性 | 工作量 | +| --- | ------ | ------------------- | --- | --- | --- | +| F1 | 目标管理 | 创建、编辑、拆解目标,支持父子关系 | 高 | 高 | 中 | +| F2 | 任务管理 | 创建、编辑、完成任务,关联目标 | 高 | 高 | 中 | +| F2 | 资源分享 | 分享/推荐学习资源、点赞评论 | 中 | 高 | 中 | +| F3 | 成就系统 | 自动记录用户成长事件,展示时间轴 | 中 | 中 | 高 | +| F4 | 智能任务生成 | 使用 AI 接口协助用户拆解目标 | 中 | 中 | 高 | +| F5 | 好友系统 | 添加好友、查看好友进度 | 中 | 中 | 中 | +| F6 | 附近的人 | 使用 Redis GEO 显示附近用户 | 低 | 中 | 中 | +| F7 | 资源分享 | 分享/推荐学习资源、点赞评论 | 中 | 中 | 中 | +| F8 | 通知与提醒 | 成就解锁、任务提醒等通知机制 | 中 | 高 | 低 | + +--- + +## 4. 需求获取方法与过程 + +### 4.1 方法一:问卷调查 + +#### 选择理由: + +便于广泛获取潜在用户的行为习惯和功能偏好,适合进行初期功能收敛。 + +#### 实施过程: + +- 设计调查问卷,涵盖任务使用习惯、目标设定频率、是否期望社交互动等。 + +#### 原始数据 + +(见附录A) + +#### 分析方法: + +使用统计分析(频数、柱状图),筛选高频提及的功能与痛点。 + +#### 得出结论: + +本研究表明,CoSphere 的核心用户群体为**在校学生**,他们普遍存在 **目标管理需求但执行力较弱**,因而 需要 **进度跟踪、社交激励及资源共享** 等功能来提高学习效率。移动端应用最受青睐,同时 PC 端仍有一 定用户需求。 +为满足用户需求,CoSphere 应重点开发 **目标管理、数据可视化、社交互动及学习资源共享** 等核心功 能,并结合 AI 智能推荐优化用户体验。未来可通过持续优化功能设计及交互体验,提升用户活跃度,使 CoSphere 成为高效的学习与目标管理平台 + + +### 4.2 方法二:用户访谈 + +#### 选择理由: + +适合深入理解用户使用流程、情绪痛点和功能期望,发现问卷无法捕捉的深层需求。 + +#### 实施过程: + +- 选择 6 名来自高校、自学圈、远程团队的用户进行半结构化访谈。 + +- 提问范围包括过往工具使用经验、功能需求、期望界面等。 + +#### 分析方法: + +采用扎根理论初步编码,归纳出功能主题与用户情绪词汇。 + +#### 得出结论: + +- 成就反馈能有效增强持续使用意愿; + +- 用户希望看到好友的进度形成正反馈; + +- 社区内容需与任务/目标强绑定,避免娱乐化。 + + +--- + +## 5. 功能优先级排序与理由 + +|功能编号|优先级理由| +|---|---| +|F1 / F2|系统核心功能,必须优先完成以支撑后续模块| +|F3|提升用户留存与反馈感,建议优先建设| +|F5|社交基础设施,支撑好友动态、资源分享等| +|F4|创新亮点功能,能提升吸引力与差异化,但需后期集成以降低初期风险| +|F6 / F7|附加价值功能,适合稳定期迭代上线| +|F8|提高用户活跃度与交互性,适中优先级| + +--- + +## 附录 + +### 附录A:问卷数据 + + +![[调查问卷1.png]] +![[调查问卷2.png]] +![[调查问卷3.png]] \ No newline at end of file diff --git a/Assignment6——需求工程/需求获取说明书.pdf b/Assignment6——需求工程/需求获取说明书.pdf new file mode 100644 index 0000000..a61a831 Binary files /dev/null and b/Assignment6——需求工程/需求获取说明书.pdf differ diff --git a/Assignment6——需求工程/验收测试计划书.md b/Assignment6——需求工程/验收测试计划书.md new file mode 100644 index 0000000..5e8d845 --- /dev/null +++ b/Assignment6——需求工程/验收测试计划书.md @@ -0,0 +1,145 @@ +## 一、文档修订记录 + +| 版本 | 日期 | 修订人 | 修订说明 | +| --- | ---------- | --- | ---- | +| 1.0 | 2025-04-11 | 冯官晟 | 初稿编写 | + +--- + +## 二、项目概述 + +**项目名称**:圈(CoSphere) +**项目简介**:圈是一款集目标管理、任务管理、社交互动与资源分享为一体的成长类 Web 平台,旨在通过目标拆解、进度跟踪、好友激励和成就系统,帮助用户更好地规划并完成个人成长目标。 + +--- + +## 三、验收测试目标 + +1. 验证系统各核心模块功能是否符合《需求规格说明书》。 + +2. 检查系统在正常使用场景下的稳定性、性能与安全性。 + +3. 验证用户体验是否符合设计预期,页面是否美观易用。 + +4. 确保数据交互准确,状态变更及时,接口功能完整。 + +5. 评估系统是否满足上线标准,具备交付条件。 + + +--- + +## 四、测试范围 + +### 4.1 功能测试模块 + +| 模块 | 功能项 | +| ------- | ------------------------- | +| 目标管理模块 | 创建目标、编辑目标、目标拆解、子目标管理、进度统计 | +| 任务管理模块 | 创建任务、周期任务支持、标记完成 | +| 好友互动模块 | 添加好友、好友列表、查看好友动态、点赞评论 | +| 资源分享模块 | 添加学习资源、资源分类、资源详情查看、评论功能 | +| 成就系统 | 成就触发、成长时间轴展示 | +| 通知与消息模块 | 智能任务创建完成提醒 | +| 用户系统 | 注册登录、修改资料 | +| 地理定位功能 | Redis GEO 实现“附近的人”功能与定位展示 | + +### 4.2 非功能测试范围 + +- 接口性能与并发响应能力 + +- 权限控制与数据安全性 + +- 多端兼容性(PC端主流浏览器适配) + +- 页面渲染速度与交互响应流畅性 + + +--- + +## 五、测试方法与策略 + +- **黑盒测试**:基于功能需求,从用户角度验证每项操作。 + +- **白盒测试(部分模块)**:由开发辅助参与核心逻辑分支测试。 + +- **用户场景测试**:设计典型用户行为流程,验证是否符合真实使用。 + +- **接口测试**:使用 Postman / Swagger 验证后端接口参数和返回值。 + +- **性能测试**:使用 Apache JMeter 测试任务高并发创建和资源浏览。 + +- **安全性测试**:验证越权访问、CSRF、XSS、数据加密等安全点。 + + +--- + +## 六、测试环境 + +| 项目 | 说明 | +| ---- | -------------------- | +| 系统环境 | CentOS 7、Ubuntu22.04 | +| 浏览器 | Chrome、Edge、Firefox | +| 数据库 | MySQL | +| 中间件 | Redis、Nginx、Jenkins | +| 后端技术 | Spring Boot,MyBatis | +| 前端技术 | Vue 3,Vite | +| 测试工具 | Postman | + +--- + +## 七、测试用例说明 + +测试用例将覆盖如下关键流程: + +- 用户注册与登录流程 + +- 目标创建 → 拆分 → 任务分配 → 完成 → 目标进度达成 + +- 添加好友 → 查看好友动态 → 点赞评论互动 + +- 发布学习资源 → 查看 → 资源搜索与推荐 + +- 首次完成任务触发成就 → 展示成长路径 + +- 附近的人列表加载 → 好友推荐基于定位展示 + +--- + +## 八、缺陷管理 + +- 使用 飞书文档 进行缺陷记录与分类。 + +- 每个缺陷包含优先级、复现步骤、截图、状态等字段。 + +- 缺陷等级分为:致命(阻断使用)、严重、一般、建议。 + +- 每日更新缺陷处理状态,必要时召开问题专项评审。 + + +--- + +## 九、通过准则 + +- 所有“致命”与“严重”缺陷必须关闭。 + +- 功能覆盖率 ≥ 95%,用例通过率 ≥ 98%。 + +- 用户场景测试全部通过,界面无重大交互体验问题。 + +- 非功能指标如性能、安全达到预期要求。 + +- 产品负责人与主要干系人签署《用户验收确认书》。 + + +--- + +## 十、风险与应对措施 + +| 风险点 | 风险说明 | 应对策略 | +| ----------- | ---------- | ------------------------ | +| 需求修改频繁 | 影响测试用例稳定性 | 锁定需求版本,设立需求变更审核流程 | +| 任务密集开发测试周期短 | 测试时间不足 | 提前介入测试、自动化优先覆盖重复任务 | +| 部分功能需第三方支持 | 可能接口延迟或不稳定 | 采用 Mock 数据先行测试,异步补测对接 | +| 成就系统规则复杂 | 测试路径不易覆盖全面 | 使用 Redis Stream 事件追踪辅助验证 | + + diff --git a/Assignment6——需求工程/验收测试计划书.pdf b/Assignment6——需求工程/验收测试计划书.pdf new file mode 100644 index 0000000..2036fde Binary files /dev/null and b/Assignment6——需求工程/验收测试计划书.pdf differ