团队作业2-《需求规格说明书》
这个作业属于哪个课程 | 计科22级34班 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 完成团队作业需求规格说明书的编写 |
前言
- 本篇博客是团队作业的第2篇,主要目的是针对本次团队作业编写需求规格说明书,包括系统的面向用户分析、功能性需求、技术需求等。
需求规格说明书
项目简介
- 本次团队项目我们团队决定做一个流浪动物领养网站,主要目的是为发现流浪动物或希望领养流浪动物的人提供交流的平台。用户可以发布流浪动物的信息帖子,也可以选择领养他人帖子中的流浪动物。本网站的出发点是关爱动物,流浪动物的生活普遍非常凄惨,我们希望能尽自己的一份力改善这一状况。
面向用户分析
- 本次团队作业主要面向我校学生中的爱动物人群,设计的出发点已在项目简介中阐述,此处不再赘述。初步预计用户量500人,后续视系统的稳定性可适当提升。
功能性需求
- 用户角色
- 管理员:
- 仅1个账户,由程序员设置。
- 可以审核用户希望发布的帖子,决定流浪动物的领养归属。
- 用户:
- 发布、浏览帖子,申请领养流浪动物,编辑个人资料。
- 登录与注册
- 注册:在登录页面输入一个新的账号时自动注册(账号唯一)
- 登录:输入已注册的账号以及其对应的密码后可以使用网站其他功能
- 帖子管理
- 发布帖子:用户可以编写帖子并发布,经过管理员审核后该帖子可被其他用户浏览
- 浏览帖子:用户可以在网站上浏览所有经过审核的帖子
- 帖子功能
- 评论:帖子末尾有评论功能,可以对本帖子发布评论
- 领养动物:用户可以在帖子中点击“领养”申请领养,由管理员决定领养权的归属
- 每日推荐:在网站主页每日随机帖子以帮助各帖子被更多用户看到
- 定位功能:帖子中带有地图可以帮助用户确定当前帖子中流浪动物的位置
技术需求
- 后台
- springboot:
- 后台的开发框架,拥有优秀的功能:IOC 和 AOP。IOC 可以帮助我们管理对象的依赖关系,减少对象的耦合性;而 AOP 的切面编程功能可以更方便地使用动态代理来实现各种动态方法功能(如事务、缓存、日志等)。
- 用于构建后台功能
- Mybatis:
- 一个开源的持久层框架,它提供了一种简单且强大的方式来与关系型数据库进行交互。MyBatis为用户提供了使用XML或注解来定义数据库操作的功能,并可以通过原生的SQL查询语句与数据库进行交互。
- 用于与MySQL交互,简化开发
- MySQL:
- 一种客户端/服务器模式的关系型数据库管理系统,具有高效、可靠、稳定的数据存储和管理服务。
- 用于账号密码管理、帖子管理等
- 前端
- Vue3:
- 当前主流前端框架之一,用于构建交互式的Web应用程序。可调用多个第三方库,使得代码量减少,加速开发。
- 用于编写用户交互页面
计划、进度及感想
- 原计划
第9周 | 1.团队组队、团队博客 |
---|---|
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第 10 周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
第 11 周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.测试计划 | |
第 12、13 周 | 1.团队项目Alpha任务分配计划 |
2.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第 14 周 | 1.用户反馈+测试计划改进 |
2.团队Alpha阶段个人总结 | |
3.团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第 15 周 | 1.团队项目Alpha博客:事后分析 |
- 现计划
根据队员的情况微调了计划
第9周 | 1.团队组队、团队博客 |
---|---|
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第 10 周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3. 平台环境搭建完成、初步架构搭建 | |
第 11 周 | 1.编码规范完成 |
2.原型改进(给目标用户展现原型,并进一步理解需求) | |
3.架构设计,WBS, 团队成员估计各自任务所需时间 | |
4.测试计划 | |
第 12、13 周 | 1.团队项目Alpha任务分配计划 |
2.连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第 14 周 | 1.用户反馈+测试计划改进 |
2.团队Alpha阶段个人总结 | |
3.团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第 15 周 | 1.团队项目Alpha博客:事后分析 |
3.码云Issues截图
4.分工
姓名 | 分工 |
---|---|
艾彬 | 负责设计计划、需求分析、撰写博客、监督组员的任务进度、调动组员积极性 |
陆宇星 | 负责前端页面开发,前后端交互及页面测试 |
范圣林 | 负责后端主体开发 |
郑玮源 | 负责测试,部分后端业务开发 |
王佳伟 | 负责后端接口实现、性能优化 |
- 当前进度
姓名 | 进度 |
---|---|
艾彬 | 改进计划、撰写《需求规格说明书》博客 |
陆宇星 | 进行了基本页面路由的搭建、地图api的调用准备 |
范圣林 | 设计出了后端原型框架和数据库模型,为业务设计做准备 |
郑玮源 | 协助后端开发,进行功能测试 |
王佳伟 | 规划并开始学习springboot、mysql |
- 感想
姓名 | 感想 |
---|---|
艾彬 | 团队合作需要互相的理解和配合 |
陆宇星 | 这次开发我运用以前的项目知识,快速搭建了基础页面,但也有界面设计的问题,也通过与团队成员的讨论,不断推进前端设计 |
范圣林 | 利用以往的项目经验很成功地设计出了后端原型框架和数据库模型,并与组内队友协商进行分工,丰富了开发经验 |
郑玮源 | 通过与团队核心协作,了解了项目框架的建立和数据库的设计,学习到很多开发技能 |
王佳伟 | 后端中间件比较多,学好学精需要很大功夫 |