团队作业2-《需求规格说明书》
团队作业2-《需求规格说明书》
这个作业属于哪个课程 | 计科2班 |
---|---|
这个作业的要求在哪里 | 团队作业2-《需求规格说明书》 |
作业目标 | 确认选题,形成策划 |
需求规格说明书
音乐播放 App
1. 引言
1.1 目的
该文档详细说明音乐播放器的功能与设计目标。
1.2 文档结构
文档包括项目背景与目标、功能需求、性能需求、数据需求及系统设计等内容,以便读者了解系统需求的全面信息。
2.项目概述
2.1 背景
音乐播放器旨在为用户提供一个可以进行音乐媒体文件等播放的一个平台,优化用户体验,给用户给予自定义的音乐播放的环境。
2.2 项目范围
系统主要功能音乐播放、音乐查询、歌单查询及其歌曲播放等模块。
3. 需求分析
3.1 功能需求
- 音乐播放:用户可以指定某音乐进行播放。
- 音乐查询:用户可以查询网络中含有的歌曲。
- 歌单查询:用户可以查询对应分类的歌单。
3.2 性能需求
- 响应时间:用户操作的相应必须在5s内,否则将会出现 ANR。
- 界面流程:各组件之间的跳转必须流畅自然。
4. 系统设计
4.1 系统架构
基于 Google 官方推荐的 MVVM 架构进行开发,使用 Java、Kotlin 等语言进行开发。
4.2 功能模块设计
- 音乐播放模块:使用 Service & Notification 进行后台音乐播放和控制。
- 音乐查询模块:使用网络请求获取查询信息并展示。
- 歌单查询模块:使用网络请求获取查询信息并展示。
5. 业务规则
- 组件分离规则:各 Acitvity、Fragment 间使用包进行隔绝,避免文件杂乱。
6. 非功能需求
- 可扩展性:系统设计应具备易于维护和扩展的结构,方便后续模块的添加。
7. 用户数量
预期用户初期可达 3000 人左右,远期可达 5 - 6 万人。
8. 真实性、可用性及价值所在
真实性:旨在为用户提供一个真实可用的音乐播放器,具有更多可自定义的功能弥补用户需求上的缺失。
可用性:用户可以通过该软件进行音乐播放、查询以及其他操作,满足不同用户的需要。
价值所在:通过该软件,用户可以体验到更加简洁、方便的音乐播放,满足用户需求。
9. 团队仓库
https://github.com/fightForJessica/timi-music.git
issue 截图(后续还会扩充):
10. 团队计划
原团队计划
周数 | 任务内容 |
---|---|
第9周 | |
团队组队、团队博客 | 团队组队完成,创建团队博客 |
团队介绍、角色分配、选题确定 | 展示团队成员,确定好选题 |
制定团队计划安排,团队贡献规定 | 制定好计划和贡献规定 |
第10周 | |
需求规格说明 | 编写需求规格说明,确定用户需求 |
原型设计与任务难度估计 | 各成员确定自己的任务量及其难度 |
确定规范以及环境搭建 | 代码规范及其环境搭建 |
第11周 | |
原型改进 | 根据反馈改进项目痛点 |
架构设计与任务分解 | 完成架构设计,各成员估计各自任务所需时间 |
测试计划 | 测试成员对项目进行各类测试 |
第12、13周 | |
团队项目Alpha任务分配计划 | PM开始分工分发任务 |
Alpha 敏捷冲刺 | 连续 7 天的 Alpha 阶段敏捷冲刺,每日 Scrum Meeting,撰写 7 篇每日 Scrum 博客,提交代码 |
第14周 | |
用户反馈与测试改进 | 根据用户反馈改进项目,同时对测试计划进行调整和改进。 |
Alpha 阶段总结 | 各成员撰写 Alpha 阶段个人总结,反思个人表现。 |
Alpha 阶段博客 | 发布 Alpha 阶段博客,包括发布说明、测试报告、展示博客和项目管理总结。 |
第15周 | |
Alpha 阶段事后分析 | 对 Alpha 阶段进行事后分析,评估进度、协作和用户反馈,准备进入下一阶段 |
改进后团队计划:
第 9 周 | 团队组队、团队博客 |
---|---|
团队介绍、成员展示、角色分配、选题确定 | |
制定团队计划安排,团队贡献分的规定 | |
第 10 周 | 需求规格说明书 |
原型设计,队员估计任务难度并学习必要的技术 | |
编码规范完成、平台环境搭建完成、初步架构搭建 | |
第 11 周 | 根据功能需求,进一步确定需求文档 |
前端队员和UI确定好页面设计 | |
第 12周 | 团队项目Alpha任务分配 |
开发队员和UI确定好页面样式,实现页面开发。 | |
根据功能的实现进度,准备Alpha敏捷冲刺 | |
第 13 周 | 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 |
第 14 周 | 用户反馈+测试计划改进 |
团队Alpha阶段个人总结 | |
团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第 15 周 | 团队项目Alpha博客:事后分析 |
计算方法:
- 根据任务了和实际情况安排时间
- 细化任务分配
11. 团队分工
内容 | 负责人 | 工作内容 |
---|---|---|
PM | 肖商 | 负责项目规划、团队管理,协调沟通与合作 |
QR | 蔡家显、陈祥意 | 负责 App 功能性测试,查找 Bug,观察 App 运行情况 |
开发 | 陈大铠、徐嘉炜 | 进行 App 开发,基于 Java & Kotlin 语言,以 MVVM 框架开发 |
UI | 林楦 | 负责图像和空间布局的设计 |
文档撰写 | 陈祖民 | 编写博客内容,整理项目文档 |
12. 感想
- 陈大锴:通过项目的开发不断提高自己的编程能力,能激发我对编程学习的兴趣。
- 陈祥意:项目整挺好的,大伙费老劲给整完善了哈哈。
- 蔡家显:通过这次的团队协作,让我意识到了个人工作与团队之间的差别,受益匪浅。
- 肖商:在项目中能锻炼我组织人员的能力,能极大地提高团队协作和沟通的能力。
- 林楦:参与项目的开发过程,让我更深入了解项目的挑战性,也更意识到自身技术掌握的不足,让我掌握了更多的新技术。
- 陈祖民:参加项目,让我感受到了团队协作能发挥出强大的能力,提高了自己的协作能力。
- 徐嘉炜:在开发中可以不断锻炼自己,获得实践的经验。