[软工团队作业2] 《需求规格说明书》
[软工团队作业2] 《需求规格说明书》
目录
一、需求规格说明书
1.1 引言
1.1.1编写目的
为明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档。
1.1.2产品说明
- 产品名称:记忆卡片
- 产品类型:app
- 界面语言:简体中文
- 使用人群:学生和方便使用手机的需要并记忆知识的人
- 产品功能:帮助需要记忆零碎的人,并提供一个共享知识的平台
1.2 项目阐述
产品功能
用户通过输入问题回答的卡片集合形成一个卡包,通过内置算法推荐每日背诵的卡片,帮助用户记忆知识点;同时为了提升卡包的利用率,用户可以设置是否共享供其他用户使用。
预期用户量
APP面向学生群体,APP预取用户量为1000。
真实性
学生群体有各种大大小小的考试,记忆知识点的需求真实存在。
可用性
本产品面向广大的年轻用户群体而开发,早已熟悉QQ,微信,微博等各类社交应用,因此这些用户对本产品的学习成本很低。而且该群体在生活的过程中容易受到来自学习、生活、工作等各方面压力的影响,一个简约的倾诉平台更利于用户接受。
产品价值
生活中各种我们需要记忆的零散的知识点,卡片记录下问题答案并通过卡包形式将卡片有机地结合再一起,可以更有效地帮助用户记忆知识点,一个卡包也可以通过分享实现其知识复用的价值。
“让记忆更简单,让知识无边界”,是对本产品价值的最好的阐述。
1.3 面向用户分析
1.3.1 用户画像分析
- 需要记忆零散知识
- 零碎学习时间多
- 学生群体(考研群体)
1.3.2 用户需求分析
- 知识零碎需要系统整理复习
- 复习时间不定导致的记忆不劳
- 知识零碎可以用他人造过的“轮子”组织起来
1.4 功能需求分析
1.4.1功能结构图

1.4.2具体功能列表
| 功能 | 详细描述 |
|---|---|
| 登录注册 | 注册账号,登录账号 |
| 用户信息管理 | 更改用户信息,用于展示卡包作者简略信息 |
| 创建卡包 | 创建时输入名字,描述和上传图片 |
| 更新卡包 | 对卡片的操作都是更新卡包 |
| 卡包内容 | 多张卡片的集合 |
| 删除卡包 | 删除卡包,若卡包被共享则本地化 |
| 共享卡包 | 使其可以被搜索和关联 |
| 卡片内容 | 一问一答形式 |
| 创建卡片 | 输入问题和回答 |
| 更新卡片 | 对卡片的问题或者回答进行更改 |
| 删除卡片 | |
| 推荐背诵卡片算法 | 算法简单解析 |
1.5 技术需求分析
1.5.1 APP技术选型
| 技术项 | 具体技术 |
|---|---|
| 编程语言 | Java |
| 开发框架 | Java |
| 代码版本控制 | git |
| 运行环境 | Android |
1.5.2 后端技术选型
| 技术项 | 具体技术 |
|---|---|
| 编程语言 | Java |
| 通信协议 | HTTP |
| JDK版本 | 1.8 |
| 数据库 | MySQL 8.0,Redis 6.0.8 |
| 代码版本控制 | git |
| web服务器 | Tomcat 9.0.29 , |
| 服务器技术 | docker |
| 技术框架 | springboot 2.2.2,mybatis-plus 3.3.2,Maven 3 |
二、团队计划和分工
2.1 团队Github仓库
2.1.1 仓库地址
https://github.com/LoveLifeEveryday/NotEasyNews/issues
2.1.2 issue

2.2 团队计划
2.2.1 修正前团队计划
| 周次 | 开发内容 |
|---|---|
| 6 | 确定团队成员,各成员自由选题 |
| 7 | 1.团队开会确定选题,完成团队介绍博客 |
| 2.进行需求分析,写需求文档 | |
| 3.原型设计,设计第一版UI,队员估计任务难度并学习必要的技术 | |
| 4.确定编码规范、平台环境搭建完成、初步架构搭建 | |
| 5.确定前后端接口文档 | |
| 8 | 1.查看原型是否要进行改进 |
| 2.前后端继续编程,继续完善功能 | |
| 3.制订测试计划 | |
| 9、10 | 1. 团队项目Alpha任务分配计划 |
| 2.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
| 11 | 1.用户反馈+测试计划改进 |
| 2. 团队Alpha阶段个人总结 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
2.2.2 修正后团队计划
| 周次 | 开发内容 |
|---|---|
| 6 | 确定团队成员,各成员自由选题 |
| 7 | 1.团队开会确定选题,完成团队介绍博客 |
| 2.进行需求分析,需求文档 | |
| 3.原型设计,设计第一版UI,队员估计任务难度并学习必要的技术 | |
| 4.确定编码规范、平台环境搭建完成、初步架构搭建 | |
| 5.确定前后端接口文档 | |
| 8 | 1.团队协作交流,学习git知识 |
| 2.根据功能需求,进一步确定需求文档 | |
| 3.设计登录界面、主界面和创建卡包界面UI | |
| 4.安卓对UI画面进行代码实现 | |
| 5.后端实现登录注册接口 | |
| 6.进行卡包数据库设计 | |
| 9 | 1.UI设计其他页面,安卓完成对上传更新等页面的实现 |
| 2.后端完成卡包上传、更新、删除和卡片上传更新的功能实现 | |
| 3.根据实现进度,对功能进行增删,对需求再次分析,优先处理核心需求,生成一份新的需求文档 | |
| 10 | 1. 团队项目Alpha任务分配计划 |
| 2.根据上周的需求文档,进行工作分配,进行为期7天的敏捷开发 | |
| 3.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
| 11 | 1.用户反馈+测试计划改进 |
| 2. 团队Alpha阶段个人总结 | |
| 3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
2.2.3 矫正计算方法
- 根据“先核心再次要,先易后难”的原则,把项目每周的任务分配进行了细化,让项目的工作分配显得更加合理。
三、本周进展和总结
3.1 本周分工情况
| 任务 | 关键内容 | 负责人 |
|---|---|---|
| git相关知识学习 | 学会代码的提交和下载 | 全体成员 |
| UI设计 | 登录界面样式,主页面和创建卡包界面设置 | 刘烷婷 |
| APP实现 | 根据已经确定的页面样式进行基本的代码实现 | 徐潮淞,许灿友 |
| 接口和数据库设计 | 根据业务理解设计接口和数据库 | 古春波 |
| 接口的测试 | 测试已经写好的接口 | 丘美珠 |
| 构建APP逻辑 | 分析APP内在逻辑 | 胡星昱 |
| 博客 | 需求规格说明书博客 | 胡星昱 |
| 完成与感想汇报 | 汇报这周的完成情况 | 全体成员 |
3.2 上周工作感想
| 成员名称 | 本周感想 |
|---|---|
| 古春波 | 第一次进行团队合作完成编程项目,我主要工作是负责项目的统筹规划以及部分代码的编写,相信在这次合作的过程中我们都会有自己的收获。 |
| 胡星昱 | 虽然这个团队项目挑战不小,但是我还是会尽自己所能,发挥最好,与团队一起完成这荐任务! |
| 许灿友 | 第一次进行团队项目,虽然很不熟悉,但我还是会尽自己努力把它完成。 |
| 徐潮淞 | 这次的团队项目是我第一次团队合作完成项目,虽然很难,但是我们组内都很积极,也十分认真的完成自己负责的内容,希望经过这次团队项目,我能进一步提高自己的能力 |
| 丘美珠 | 本次团队项目前期准备基本理想完成,在这一周的时间里,我们小组进行了多次讨论最终确定好了具体实施方案,并进行了团队分工。人多力量大,大家各尽其职,积极完成项目工作,体验到了一个产品孵化的不易 |
| 刘烷婷 | 这次团队合作很开心,团队分工明确,交流顺畅。 |

浙公网安备 33010602011771号