团队作业2-《需求规格说明书》
作业简介
| 这个作业属于哪个课程 | 计科22级1班 |
|---|---|
| 这个作业要求在哪里 | 团队作业2-《需求规格说明书》 |
| 这个作业的目标 | 编写需求规格说明书 |
团队展示及分工
-
队名:FCFJ
-
队员:
| 队员 | 学号 | 分工 |
|---|---|---|
| 韩其锟 | 3122004348 | 后端测试 |
| 范志杰(队长) | 3122004345 | 前端测试 |
| 余海鸿 | 3119006813 | 复审测试 |
| 杨文聪 | 3122004372 | 文档测试 |
GitHub仓库链接:https://github.com/chocohQL/GSDN-Community
需求规格说明书
项目介绍
项目背景
在互联网高度发达的今天,任何人都能通过网络获取大量学习资源,本项目旨在为高校学生以及技术人才提供友好便捷的技术分享社区,主要用于个人分享技术文章、传播技术知识。本项目类似CSDN或稀土掘金,提供发表文章、评论回复、点赞关注等基础功能,同时还提文章搜索、私信聊天、系统通知等高级功能。
用户分析
项目目标用户主要为高校大学生以及任何技术爱好者,与其他技术社区相比,本项目提供聚焦核心、美观界面、流畅交互、无广告、无收费的使用体验,为用户打造沉浸式文章阅读体验,初步用户预计100+。
需求分析
用户鉴权
核心功能:用户注册、用户登录、用户认证。需要为用户提供可靠安全的权限系统,包括用户的账号安全、登录安全、访问现限制等。
- 用户注册:用户填写用户名、邮箱和密码完成注册,并通过邮箱激活账户。
- 用户登录:用户通过邮箱或用户名和密码登录,支持“记住我”功能,确保会话有效。
- 用户认证:确保用户在访问特定资源时已登录,并根据权限控制用户的访问范围,未登录用户会被重定向到登录页面。
- ...
用户管理
核心功能:账号信息管理、个人信息管理、用户关注。用户可以方便管理个人信息,包括用户名、头像、邮箱、个人签名等信息,还提供用户修改密码,身份认证等功能。
- 账号信息管理:用户可修改密码、绑定邮箱等账号信息,确保安全。
- 个人信息管理:用户可编辑头像、昵称、简介等个人资料。
- 用户关注:支持关注其他用户,查看对方动态和更新。
- 密码修改:用户可修改密码,确保账号安全。
- 身份认证:用户可进行身份认证,确保账号真实可靠。
- ...
文章管理
核心功能:发布文章、修改文章、删除文章、文章点赞、文章评论、评论回复、文章收藏。文章管理是社区的核心功能,每个用户都可以创建发布文章,需要提供可管理、可视化的文章编辑管理,文章支持Markdown格式编辑功能,其他用户可在公开文章下进行评论、收藏、点赞等。
全局搜索
核心功能:文章搜索、用户搜索、标签搜索、社区搜索。为了便于用户查找感兴趣的文章或用户,提供顶部全局搜索框,支持根据标题、类型、用户等方式搜索,并提供分页、排序等功能。
- 文章搜索:按关键词查找博客文章,支持模糊搜索。
- 用户搜索:根据用户名查找其他用户,便于关注和互动。
- 标签搜索:按标签筛选文章,快速找到相关内容。
- 社区搜索:在不同社区或小组内查找内容或用户。
拓展功能
核心功能:社区管理、私信聊天、通知管理、AI问答。为增加项目可用性,增加项目特色,在时间允许的情况下尽量丰富项目功能,暂拟订部分拓展功能。
- 社区管理:管理员可创建、编辑和管理社区内容及成员权限。
- 私信聊天:用户可发送私信,支持一对一实时聊天。
- 通知管理:提供新消息、评论、关注等通知,便于用户及时查看动态。
- AI问答:集成AI问答功能,用户可提出问题并获得智能解答。
系统设计
系统架构
系统采用前端分离架构,前端基于react开发,后端基于java开发,使用MySQL关系型数据库存储数据,使用Redis非关系型数据库存储缓存信息。后端使用SpringBoot框架搭建低耦合分层系统,分为控制层、业务层、存储层三大模块,控制层负责与前端进行接口交互,业务层负责处理业务逻辑,存储层负责数据库读写操作。
技术选型
- 前端技术栈:React + JavaScript + AntDesign + axios + react-router6 + ...
- 后端技术栈:SpringBoot + MySQL + MyBatisPlus + Sa-Token + Redis + Junit + ...
- 项目部署:Ubuntu + Nginx + Maven + Docker + ...
真实性可用性与价值所在
- 真实性
用户可以在我们的技术社区进行账号的注册与登录,进而产生发布个人文章的想法。用户也可以通过搜索来寻找自己感兴趣的文章,还可以进行评论与点赞的行为,与生活中网络中的浏览无异。 - 可用性
通过简洁明了的UI与简单的注册登录功能,来实现用户的快速上手。且该系统无任何内购行为,相对应的也简单,适合学生等使用。 - 价值所在
相对于大型的技术社区如CSDN,我们的系统在很多方面都比不上,但是在区域化这一块是有优势的,这个系统一般只适用于周围学生的文章搜寻与发布,具有周围学校学生的特色,更能针对学生的需求。
团队计划
团队项目issue

时间安排表
改前
| 第9周 | 1.团队组队、团队博客 | 预估耗时(分钟) |
|---|---|---|
| 2.团队介绍、成员展示、角色分配、选题确定 | 60 | |
| 3.制定团队计划安排,团队贡献分的规定 | 40 | |
| 第10周 | 1.需求规格说明书 | 30 |
| 2.原型设计,队员估计任务难度并学习必要的技术 | 50 | |
| 3.编码规范完成、平台环境搭建完成、初步架构搭建 | 50 | |
| 第11周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) | 200 |
| 2.架构设计,WBS, 团队成员估计各自任务所需时间 | 500 | |
| 3.测试计划 | 60 | |
| 第12、13周 | 1. 团队项目Alpha任务分配计划 | 60 |
| 2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | 1800 | |
| 第14周 | 1.用户反馈+测试计划改进 | 160 |
| 2. 团队Alpha阶段个人总结 | 60 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | 200 | |
| 第15周 | 1. 团队项目Alpha博客:事后分析 | 60 |
改后
| 第9周 | 1.团队组队、团队博客 | 预估耗时(分钟) |
|---|---|---|
| 2.团队介绍、成员展示、角色分配、选题确定 | 60 | |
| 3.制定团队计划安排,团队贡献分的规定 | 40 | |
| 第10周 | 1.需求规格说明书 | 30 |
| 2.原型设计,队员估计任务难度并学习必要的技术 | 50 | |
| 3.编码规范完成、平台环境搭建完成、初步架构搭建 | 50 | |
| 第11周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) | 200 |
| 2.架构设计,WBS, 团队成员估计各自任务所需时间 | 500 | |
| 3.测试计划 | 60 | |
| 4.得到测试数据后,完善各自模块 | 60 | |
| 第12、13周 | 1. 尝试进行前后端的联调 | 60 |
| 2. 团队项目Alpha任务分配计划 | 60 | |
| 3. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | 1800 | |
| 4. 规范完善并基本完成代码 | 100 | |
| 第14周 | 1.用户反馈+测试计划改进 | 160 |
| 2. 团队Alpha阶段个人总结 | 60 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | 200 | |
| 第15周 | 1. 团队项目Alpha博客:事后分析 | 60 |
矫正计算方法
根据个人的能力及风格联想更加细致的任务
完成情况及感想
| 队员 | 任务 | 完成情况 | 感想 |
|---|---|---|---|
| 韩其锟 | 搭建平台,初步架构 | 已经初步完成平台的搭建与架构 | 团队提供了不同人员的不同视角,搭建与架构让我学到许多,期待未来的合作 |
| 范志杰 | 需求规格说明书及设计 | 完成了需求规格说明书,并与组员讨论 | 共同完成需求规格说明书让我们对项目目标有了更清晰的认识,感谢我的团队 |
| 余海鸿 | 复审说明书和测试 | 已对过多次规格说明书并作出一些修改 | 未来的开发中,团队协作至关重要。通过对总体的复审与沟通,可以发现一些我们难以注意的问题。 |
| 杨文聪 | 编写对应设计书及测试 | 整合组员的想法,提供资料来完成说明书 | 和这些极具潜力的编程爱好者合作,让我受益匪浅 |
浙公网安备 33010602011771号