## 需求规格说明书
### 1. 团队成员
陈嘉欣3117004604(队长)
邓镇港3117004608
肖烈涛3117004632
余晓东3117004635
林徳泽3117004620
李 清3117004615
### 2. 需求规格说明书
- 项目名称:精简音乐播放器
**本项目旨在开发一个界面小巧、操作简单、实用的PC端音乐播放器。设计实现的主要功能有:音乐播放、暂停、音量控制、上一曲、下一曲,播放列表、播放顺序,收藏夹。软件界面能清晰地展示正在播放中的音乐、播放列表中的音乐以及播放顺序。**
- 用户分析
该软件主要为爱好听音乐而无对音乐评论、直播等功能需求的离线用户设计。
- 功能需求
播放:点击播放按钮,按顺序播放列表中的音乐,若有被暂停的音乐继续播放。
暂停:点击暂停按钮,暂停正在播放中的音乐。
音量:可拖动水平进度条,调节音量大小。
上一曲:点击上一曲按钮,播放列表中上一曲音乐。
下一曲:点击下一曲按钮,播放列表中下一曲音乐。
添加音乐:点击时,弹出文件选择框(只能选择音乐格式文件),并将用户选择的音乐添加到播放队列队尾。
调节播放顺序:包括“上移”和“下移”功能,点击“上移”或“下移”时,改变音乐在播放队列中的顺序。
收藏夹:用户能添加新的播放队列,并将自己喜欢音乐收藏其中。
- UI设计
![](https://img2018.cnblogs.com/blog/1753074/201911/1753074-20191106003005324-376011337.png)
![](https://img2018.cnblogs.com/blog/1753074/201911/1753074-20191106003009333-82497508.png)
- 数据库:软件需要用户注册登陆,并能记录用户收藏夹,所以应使用数据库。
- 多线程技术:在音乐播放的同时,应能进行其他的操作,所以应采用多线程技术。
- Java开发技术:使用Java语言开发软件,采用Eclipse编译器进行开发。
- 项目管理技术:应用Github Issues等系统进行项目管理。
3. 预期用户量:2000
4. 系统真实性、可用性以及价值所在
- 真实性
爱好听音乐的人很多,但大部分都不需要音乐播放等基本功能,而不需要一些额外的功能,精简的外观设计和简单的操作要求反而能提高用户体验。
- 可用性
软件能提供用户导入大量音乐的功能,并能根据用户喜好更改播放顺序、调节音量,并且能提供用户收藏功能,用户能将喜欢的音乐添加到收藏夹。
- 价值所在
作为一款音乐播放器,软件满足了用户聆听音乐的需求,且没有额外繁杂功能的影响用户,内存占用少,操作简单,让所有用户都能享受音乐的美妙。
5. 码云链接
https://gitee.com/kestrelcjx/Pineapple-beer
6. 码云的团队项目issues截图
![](https://img2018.cnblogs.com/blog/1753074/201911/1753074-20191105211054744-1437323726.png)
![](https://img2018.cnblogs.com/blog/1753074/201911/1753074-20191105211058733-196230192.png)
7. 时间安排表
第8周 |
团队组队、团队博客 |
√ |
- |
团队介绍、成员展示、角色分配、选题确定 |
√ |
- |
制定团队计划安排,团队贡献分的规定 |
√ |
第9周 |
需求规格说明书 |
|
- |
原型设计,队员估计任务难度并学习必要的技术 |
|
- |
编码规范完成、平台环境搭建完成、初步架构搭建 |
|
第10周 |
原型改进(给目标用户展现原型,并进一步理解需求) |
|
- |
架构设计,WBS, 团队成员估计各自任务所需时间 |
|
- |
测试计划 |
|
第11周 |
团队项目Alpha任务分配计划 |
|
- |
连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 |
|
第12周 |
用户反馈+测试计划改进 |
|
- |
团队Alpha阶段个人总结 |
|
- |
团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
|
第13周 |
团队项目Alpha博客:事后分析 |
|
第8周 |
团队组队、团队博客 |
√ |
- |
团队介绍、成员展示、角色分配、选题确定 |
√ |
- |
制定团队计划安排,团队贡献分的规定 |
√ |
第9周 |
需求规格说明书 |
√ |
- |
原型设计,了解开发音乐播发器必要的技术 |
√ |
- |
平台环境搭建完成、初步架构搭建 |
√ |
第10周 |
设计编码规范 |
|
- |
学习Java音乐播放技术以及多线程技术 |
|
- |
学习数据库管理技术 |
|
- |
架构设计,WBS, 团队成员估计各自任务所需时间 |
|
- |
测试计划 |
|
第11周 |
团队项目Alpha任务分配计划 |
|
- |
连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 |
|
第12周 |
用户反馈+测试计划改进 |
|
- |
团队Alpha阶段个人总结 |
|
- |
团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 |
|
第13周 |
团队项目Alpha博客:事后分析 |
|
- 矫正计算方法
细化原有安排中学习必要技术的计划,将其分为学习java音乐播放技术、多线程技术以及数据库管理技术。且由于未能完成设计编码规范任务,将任务推至第10周。
8. 团队分工及进度
负责人和协作者 |
任务内容 |
任务开始时间 |
任务截至时间 |
任务进度 |
陈嘉欣 |
设计编码规范 |
2019-11-05 |
2019-11-09 |
进行中 |
邓镇港 |
UI设计 |
2019-11-05 |
2019-11-09 |
进行中 |
肖烈涛 |
数据库设计 |
2019-11-06 |
2019-11-11 |
进行中 |
林德泽 |
设计测试计划 |
2019-11-06 |
2019-11-16 |
进行中 |
余晓东 |
用户注册登陆验证模块 |
2019-11-11 |
2019-11-13 |
等待 |
陈嘉欣 余晓东 林德泽 |
开发音乐播放等功能 |
2019-11-11 |
2019-11-18 |
等待 |
邓镇港 肖烈涛 李清 |
开发播放队列和收藏夹等功能 |
2019-11-11 |
2019-11-18 |
等待 |
9. 个人感想
陈嘉欣:了解了团队项目在开发前需要做很多准备工作,并学习了如何完成这些工作、如何进行需求和用户分析,并学习了如何组织团队、进行分工合作和安排项目计划。
邓镇港:通过这一次的团队合作,我体会到了团队开发的乐趣以及高效性,分工明确效率就会提高。在完成自己的任务过程中,也学习到了很多知识。希望在接下来继续和大家共同学习,一起进步。
肖烈涛:第一次做团队合作的项目,我对此充满好奇与激情,做为参与开发的一份子,期望在此次合作的过程中提高自身能力,学到不少东西,也期望把这个产品的功能做到满足用户的需求。
余晓东:通过这次团队项目的作业,也学到了更多东西,也体会到真正入手一个团队项目的不容易,也希望在接下来的进度中,能为团队做出贡献。
林徳泽:团队项目考验成员之间的沟通和协调能力,积极参与沟通更利于团队项目的推进,期待通过这次的团队合作项目,可以提高自己的能力,要努力加油。
李 清:虽然为团队项目付出自己的多心血,但还是对自己的表现感到失望,看到自己身上的诸多不足,希望在以后能够吸取经验教训,不断提高和改善。