作业6——需求工程

main
Vks 4 weeks ago
parent f692450329
commit b1b179e216

@ -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]]

@ -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 BootMyBatis |
| 前端技术 | Vue 3Vite |
| 测试工具 | Postman |
---
## 七、测试用例说明
测试用例将覆盖如下关键流程:
- 用户注册与登录流程
- 目标创建 → 拆分 → 任务分配 → 完成 → 目标进度达成
- 添加好友 → 查看好友动态 → 点赞评论互动
- 发布学习资源 → 查看 → 资源搜索与推荐
- 首次完成任务触发成就 → 展示成长路径
- 附近的人列表加载 → 好友推荐基于定位展示
---
## 八、缺陷管理
- 使用 飞书文档 进行缺陷记录与分类。
- 每个缺陷包含优先级、复现步骤、截图、状态等字段。
- 缺陷等级分为:致命(阻断使用)、严重、一般、建议。
- 每日更新缺陷处理状态,必要时召开问题专项评审。
---
## 九、通过准则
- 所有“致命”与“严重”缺陷必须关闭。
- 功能覆盖率 ≥ 95%,用例通过率 ≥ 98%。
- 用户场景测试全部通过,界面无重大交互体验问题。
- 非功能指标如性能、安全达到预期要求。
- 产品负责人与主要干系人签署《用户验收确认书》。
---
## 十、风险与应对措施
| 风险点 | 风险说明 | 应对策略 |
| ----------- | ---------- | ------------------------ |
| 需求修改频繁 | 影响测试用例稳定性 | 锁定需求版本,设立需求变更审核流程 |
| 任务密集开发测试周期短 | 测试时间不足 | 提前介入测试、自动化优先覆盖重复任务 |
| 部分功能需第三方支持 | 可能接口延迟或不稳定 | 采用 Mock 数据先行测试,异步补测对接 |
| 成就系统规则复杂 | 测试路径不易覆盖全面 | 使用 Redis Stream 事件追踪辅助验证 |
Loading…
Cancel
Save