团队项目第一次作业
| 作业所属课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13559 |
| 作业的目标 | 团队项目需求文档编写以及团队介绍 |
| 团队名称 | YOROZUYA |
| 团队成员学号-名字 | 102301323吴金超 102301413余思衡 102301420吴限 102301421翁思铖 102301317余佳兴 082300141吴昕昀 102301325王浩楠 102301433李响 102301423魏昀 102301415叶禹瞳 102301422翁俊龙 |
YOROZUYA 团队介绍
队名:YORZUYA(万事屋)
源自《银魂》中的万事屋
项目规划
由于我们开发的项目在市场上已有一些成熟的对标产品(如知乎、稀土掘金等),产品功能需求相对明确且稳定。基于这一特点,团队决定采用瀑布模型作为核心开发方法,该模型的线性顺序和阶段划分能够确保开发过程的有序性和质量可控性。具体开发流程如下:

其中,第 10 - 12 周过程中,前后端根据拟编写的接口文档同步开发,后端开发同时编写对应的单元测试,拟定在第 12 周进行最终的前后端对接。
在项目管理方面,我们团队将采用以下工具确保协作效率:
- 任务分配与协作:使用飞书进行任务分发、进度跟踪和团队沟通,确保每位成员职责清晰、目标明确
- 接口管理与调试:采用 Apifox 进行API接口的设计、调试与文档管理,保障前后端开发规范统一、协作顺畅
队员风采
|
|
吴金超学号:102301323 职责:后端开发 & PM 🌟 技能与兴趣
|
|
|
吴限学号:102301420 职责:前端开发 🌟 技能与兴趣
|
|
|
余思衡学号:102301413 职责:后端开发 🌟 技能与兴趣
|
|
|
李响学号:102301433 职责:PM 🌟 技能与兴趣
|
|
|
王浩楠学号:102301325 职责:后端开发 🌟 技能与兴趣
|
|
|
叶禹瞳学号:102301415 职责:后端开发 🌟 技能与兴趣
|
|
|
余佳兴学号:102301317 职责:后端开发 🌟 技能与兴趣
|
|
|
翁俊龙学号:102301422 职责:前端开发 🌟 技能与兴趣
|
|
|
翁思铖学号:102301421 职责:前端开发 🌟 技能与兴趣
|
|
|
魏昀学号:102301423 职责:前端开发 🌟 技能与兴趣
|
|
|
吴昕昀学号:082300141 职责:前端开发 🌟 技能与兴趣
|
团队的首次合照
下图是我们团队第一次线下讨论的合照
项目愿景
我们的团队愿景是:通过本次项目,全体成员不仅能系统巩固软件工程基础知识(如瀑布模型),更将深入实践CI/CD自动化部署与支付系统构建等现代技术。最终目标是打造一个公益性的知识分享平台,致力于促进用户间的友好交流,帮助 CS 学生更好的学习和就业,并通过持续迭代完善平台功能,实现技术成长与社会价值的双赢。
AwesomeCS 软件需求规格文档
1 引言
1.1 目的
本文档旨在定义计算机专业职业发展平台的功能性需求与非功能性需求。本规格说明书面向的读者包括项目管理人员、开发团队、测试团队以及相关利益相关者。通过本文档,各方可对软件产品的功能、性能、设计约束以及验收标准达成共识。本需求规格说明书的编制遵循GB/T 9385-2008国家标准。
1.2 项目范围
本项目旨在开发一个面向计算机专业学生和技术求职者的全方位职业发展支持平台。平台核心功能包括博客系统、AI学习路径推荐、模拟面试及付费咨询服务。项目范围涵盖前端用户界面、后端业务逻辑、数据库设计以及AI集成,但不包括第三方支付系统的自主开发,将采用经过认证的第三方支付接口实现支付功能。
1.3 定义、首字母缩写词和缩略语
- SRS: 软件需求规格说明(Software Requirements Specification)
- AI: 人工智能(Artificial Intelligence)
- API: 应用程序编程接口(Application Programming Interface)
- UI: 用户界面(User Interface)
- UX: 用户体验(User Experience)
- GB/T: 国家推荐标准(GuoBiao/TuiJian)
2 总体描述
2.1 产品背景
随着计算机专业学生数量快速增长(2024年全国招生约43.5万人)以及就业形势日益严峻,求职者面临学习路径不清晰、缺乏职业指导和面试准备不足等挑战。现有平台如知乎、知识星球、牛客和稀土掘金等均无法全面满足计算机专业学生的职业发展需求,存在内容分散、互动性弱或专业性不足等问题。
2.2 产品功能
本平台将采用模块化设计,主要功能模块包括:
- 用户认证与账户管理模块
- 博客与内容管理模块
- AI学习路径推荐模块
- 模拟面试与反馈模块
- 付费咨询与交易模块
2.3 用户特征
本平台主要面向三类用户群体:
- 计算机专业学生(主要用户):需要清晰的学习路径和面试准备指导,缺乏实战经验。
- 技术求职者(核心用户):希望提升技能、获取面试反馈并建立专业人脉。
- 已就业专业人士(内容贡献者):可提供付费咨询、分享经验,需要便捷的内容创作工具。
3 具体需求
3.1 功能需求
3.1.1 用户认证与账户管理模块
| 需求标识 | 需求描述 | 优先级 | 前端交互描述 | 后端实现逻辑 |
|---|---|---|---|---|
| AUTH-001 | 用户应能通过邮箱/手机号注册账户 | 高 | 提供输入框以及获取验证码选项。 | 提供注册、登录、发送验证码接口,并具备基本的校验功能。 |
| AUTH-002 | 系统应提供密码重置功能,通过邮箱或手机验证码实现。 | 高 | 提供“忘记密码”入口,引导至验证身份(邮箱/手机)和设置新密码的页面。需输入新密码并确认11。 | 1. 验证用户提交的验证码是否正确且有效。 2. 验证新密码是否符合安全规则。 3. 验证两次输入的密码是否一致。 4. 更新数据库中对应用户的密码字段。 |
| AUTH-003 | 用户应能编辑个人资料(姓名、职业目标、技能标签等)。 | 中 | 提供个人资料编辑页面,包含表单和提交按钮。支持实时预览头像上传效果。技能标签可采用输入框添加并展示为标签样式。 | 1. 提供用户信息查询接口。 2. 提供用户信息更新接口,处理表单数据。 3. 头像图片上传至对象存储服务(如OSS)并返回链接 |
3.1.2 博客与内容管理模块
| 需求标识 | 需求描述 | 优先级 | 前端交互描述 | 后端实现逻辑 |
|---|---|---|---|---|
| BLOG-001 | 用户应能使用支持markdown的编辑器创建、编辑和删除博客文章。 | 高 | 集成Markdown编辑器(如Vditor、TOAST UI Editor),提供编辑和预览模式。 | 1. 提供文章的增、删、改、查接口。 2. 文章内容以原始Markdown文本形式存储,便于编辑和展示。 |
| BLOG-002 | 系统应支持文章标签及全文检索功能。 | 高 | 页面顶部提供搜索框,支持输入关键词后实时显示搜索结果列表或跳转到搜索结果页。 | 后端数据库中文档应有标签和分类两个字段来对博客进行分类 |
| BLOG-003 | 用户应能对他人文章进行评论、点赞。 | 中 | 在文章详情页底部显示评论列表和评论框。为点赞和收藏按钮设计点击后的状态变化(如颜色改变)。 | 1. 提供评论的增删接口(删除权限需校验)。 2. 提供点赞/取消点赞,需处理重复提交问题。 3. 提供获取用户点赞/收藏列表的接口。 |
3.1.3 AI模块
| 需求标识 | 需求描述 | 优先级 | 前端交互描述 | 后端实现逻辑 |
|---|---|---|---|---|
| AI-001 | 系统应能通过AI聊天框与用户交互,分析学习需求。 | 高 | 设计类聊天软件的界面,包含对话框和消息输入区。 | 1. 封装与大型语言模型(LLM)的对话接口。 2. 可能需要维护对话上下文会话(Session)以支持多轮对话。 |
| AI-002 | 系统应根据用户目标、技能评估结果生成个性化学习路径。 | 高 | 支持实时显示AI回复过程中的打字机效果(流式输出)。 | 后端应能使用 MCP 等工具获取用户的喜好和目标岗位等信息,来定制化地为用户生成学习路线信息。 |
| INTERVIEW-001 | 系统应提供多种面试模式(技术面试、压力面试等)。 | 高 | 提供面试模式选择界面。在面试时应提供麦克风访问,同时前端应输出 AI 返回的语音消息。 | 根据建立不同类型面试的类型建立不同的 LLM。 后端应集成语音合成,对话,语音识别等 AI 技术 后端应与前端保持 WebSocket 通信 |
3.1.5 付费咨询与交易模块
| 需求标识 | 需求描述 | 优先级 | 前端交互描述 | 后端实现逻辑 |
|---|---|---|---|---|
| PAY-001 | 专家用户应能自主设置咨询服务价格及可咨询领域。 | 高 | 在“专家个人中心”提供表单,用于编辑和设置咨询价格、可咨询的时间段、擅长领域标签等。 | 提供专家服务信息的新增、修改和查询接口。 |
| PAY-002 | 普通用户可浏览专家资料与咨询价格,并直接发起即时付费咨询。 | 高 | 1. 提供专家列表和详情页,展示资料、评价和价格。 2. 提供“立即咨询”按钮,点击后引导用户完成支付并启动咨询(如跳转至实时聊天或视频通话界面)。 |
1. 创建订单时需预扣款或生成待支付订单。 2. 支付成功后,更新订单状态,并建立用户与专家间的连接(如创建一对一聊天室)。 3. 设计订单状态机(待支付、已支付、咨询中、已完成、已取消等)。 |
| PAY-003 | 系统应集成微信支付等第三方支付接口。 | 高 | 根据后端返回的支付参数,调用支付SDK发起支付。监听支付结果并通知后端。 | 1. 封装与支付宝、微信支付等平台的对接逻辑,生成支付参数。 2. 提供支付结果异步通知(Callback)接口,用于验证支付结果并更新业务数据(如订单状态)。 3. 支付相关接口需进行签名验证,防止重放攻击。 |
3.2 非功能需求
3.2.1 性能需求
- 响应时间:页面加载时间不超过3秒,AI对话响应时间不超过3秒
- 并发支持:系统应支持至少5000用户同时在线,核心功能支持100并发访问
- 数据精度:用户数据录入准确率应达到99.9%,支付交易准确率100%
3.2.2 安全性需求
- 数据加密:用户密码、支付信息等敏感数据需加密存储
- 漏洞防护:定期进行安全扫描,防范SQL注入、DDos 等常见攻击
3.2.3 可扩展性需求
-
API设计:采用RESTful架构,便于第三方系统集成
-
前后端通信格式:前后端响应 Body 必须遵循如下格式,统一开发规范
{ "code": 0, "info": "", "data": "type" } -
API接口格式:后端提供的 API 接口统一以
/api开头,方便对接
3.3 外部接口需求
3.3.1 用户界面
- 采用响应式Web设计,支持Chrome、Firefox、Safari等主流浏览器
- 色彩设计:主色调为蓝色,体现科技感与专业性
3.3.2 硬件接口
- 支持云端部署,适配主流云服务平台(阿里云、腾讯云)
3.3.3 软件接口
- 支付接口:支付宝API v2、微信支付API v3
- AI服务:MiniMax语音生成, DeepSeek,DeepSpeech
- 数据库:MySQL 8.0(主数据库)、Redis 6.0(缓存)
3.3.4 通信接口
- 采用HTTPS协议进行数据传输,确保通信安全
- 支持WebSocket实现实时聊天和面试功能
3.4 验收标准
-
所有功能模块按需求规格实现并通过单元测试
-
用户界面在浏览器上显示正常
-
系统响应时间符合性能指标(页面加载<3秒,AI响应<3秒)
-
安全测试通过,无高危漏洞
-
完成100人次的用户验收测试,满意度达90%以上
-
文档齐全(包括接口文档、技术文档)
4 附录
4.1 迭代记录表格
| 迭代版本 | 起止时间 | 主要功能 | 负责人 | 状态 |
|---|---|---|---|---|
| V1.0 | 第 10 周 | 用户认证、博客系统 | MADAO | WIP |
| V1.5 | 第 11 周 | AI学习路径推荐、基础UI优化 | 未开始 | |
| V2.0 | 第 12 周 | 模拟面试、付费咨询 | 未开始 | |
| V2.5 | 第 13 周 | 性能优化、部署 | 未开始 |
4.2 思维导图
下图为我们团队项目初期拟定的思维导图。

4.3 ER图

4.4 类图

浙公网安备 33010602011771号