第五组(65)需求分析报告
队长的博客链接:https://www.cnblogs.com/axx4136/p/13897207.html
1、整体计划安排:
第一阶段(Alpha版本)APP界面初步实现,手动输入运动状态参数实现歌曲推荐,实现基本的音乐播放功能,音频处理获取bpm等特征值,音频数据压缩,模型训练,数据结果还原,音乐数据库建立,调取音乐播放,用户信息库建立,算法接入app。
第二阶段(Beta版本)扩大测试范围,优化模型参数,从生物传感器,手机运动程序获取心率和步频,用户注册。
第三阶段(Final版本)实现用户反馈自行拟合模型,同风格音乐remix功能,界面UI美化,项目包装。
项目的Alpha版本实现以下功能:
1.APP界面的实现:app界面模型,按钮功能接入算法模块,从数据库调取音频文件实现播放功能
2.数据库建立:音乐曲库获取和搭建,构建用户信息数据。
3.算法模型的初步实现:音频处理获取特征,数据格式化导入模型,上传用户数据库和输出推荐的歌曲文件。
2、团队分工:
组类 | 分工 | 姓名 |
---|---|---|
APP开发 | Android和python的对接 | 金昌鸿 |
APP功能的数据库调用和上传 | 高菲 | |
APP界面设计实现 | 郭畅 | |
数据库建立 | 用户信息数据库建立 | 柯圳浩 |
音乐曲库信息数据库建立 | 林坤贤 | |
算法 | 音频处理数据提取 | 郑烜 |
基于歌曲的协同过滤 | 苏镜泽 | |
基于音乐标签的推荐 | 白霖 | |
构建用户画像模型 | 马向超 | |
资料收集 | APP开发工具,云端数据库建立使用方法 | 杨泽远 |
音乐标签的分类方法和音乐分类,用户操作历史的数据类型 | 杨锋夏 |
3、思维导图和燃尽图
4、贡献比例
姓名 | 贡献描述 | 贡献比例(%) |
---|---|---|
郑烜 | 团队分工、计划安排、验证验收标准 | 10 |
白霖 | UML图设计 | 9 |
高菲 | 功能描述、LOGO制作 | 9.5 |
郭畅 | 类图、数据辞典、文档格式修改 | 8 |
金昌鸿 | PPT制作 | 9.5 |
柯圳浩 | 界面原型、视频录制、文档审核 | 13 |
林坤贤 | 博客编写 | 7 |
马向超 | 答辩人、视频制作 | 10 |
苏镜泽 | UML图设计、LOGO设计 | 9 |
杨锋夏 | 报告整合 | 7 |
杨泽远 | 思维导图、燃尽图 | 8 |
5、UML
(1)用户部分
负责人:金昌鸿,高菲,郭畅
描述:用户界面部分包含登录界面和操作界面,主要包含了用户注册登录,查看修改个人信息,歌单管理,运动模式等功能
该部分面临的问题:alpha版本实现的用户界面和信息存储存在人数的限制,暂未接入服务器。
解决的问题:在个人电脑上实现开发组内部成员使用软件的数据库的增删改查等功能。
(2)数据库部分
负责人:林坤贤,柯圳浩
描述:数据库部分包含音乐库,用户库等,为应用程序提供数据存储支持
该部分面临的问题:如何保证用户信息不泄露,提高数据库安全性
解决的问题:对数据库进行数据加密,选择安全性高的加密技术
(3)蓝牙API部分
负责人:郑烜
描述:蓝牙API部分负责将运动手环或者手机上的运动数据获取到数据库中
该部分面临的问题:运动设备API的对接以及数据获取
解决的问题:应用了手环自带的API,通过申请权限,解决对接和数据获取问题
(4)推荐算法部分
负责人:苏镜泽,白霖,马向超,郑烜
描述:据获取的运动数据以及用户的歌曲风格选择,推荐适合于用户当前使用环境的音乐
该部分面临的问题:音频处理数据提取,当用户首次使用时如何推荐适合其风格的音乐
解决的问题:应用python处理音频信号解决音频数据的特征提取、应用协同过滤解决用户首次使用时的音乐推荐以及应用机器学习解决用户的后续使用时的音乐推荐
6、UML设计工具的选择、选择的理由和使用后对工具的评价
UML设计工具选择了 Astah UML
选择理由:简单易上手,强大
使用后对工具的评价:对初学者友好,但是难以破解
7、遇到的困难及解决方法
歌曲的版权问题
通过网络查阅有关版权的规定、查看多种音乐APP的相关信息以及小组讨论
已解决
更加明确我们首先针对小部分群体进行设计开发的前提,先做好我们熟悉的年龄段的用户群体,后续再逐步扩大
8、学习进度条
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
1 | 0 | 0 | 10 | 10 | 试验网络上已有的智能推歌应用的效果、查阅部分与运动音乐相关的资料 |
2 | 0 | 0 | 12 | 22 | 查阅更多与运动音乐相关的资料、确定团队的开发目标、学习了如何使用Axure |
3 | 0 | 0 | 15 | 37 | 通过大量的查阅资料与小组讨论,初步确定开发软件的功能以及实现方式 |
4 | 0 | 0 | 25 | 62 | 学习了如何制作NABCD分析以及如何制作好一个LOGO、明确了开发软件中的许多细节 |
5 | 0 | 0 | 34 | 96 | 熟练掌握了Axure的用法、学习了思维导图与燃尽图的制作、学习了UML图的制作 |