光影音乐(Shadow music)小程序
光影音乐(Shadow music)小程序
1. 引言
1.1 目的
编写本需求规格说明书目的是为了以系统建设要求为指导,结合对需求收集,及基本需求的分析汇总,形成调研阶段的分析结果。
本文档是对功能模块的基本需求功能特性的描述,用于定义项目范围,明确开发需求,并为后期的分析设计、代码实现和测试提供指导。
- 分析设计,以本需求规格说明书为标准完成总体设计和详细设计;
- 代码实现,以本需求规格说明书为标准,并结合总体设计、详细设计完成代码编写;
- 测试,以本需求规格说明书为标准,结合分析设计完成单元测试用例和系统测试用例编写和测试。
1.2 文档范围
本需求规格说明书对小程序功能模块的功能定义、UI设计、以及其他研发约束条件等研发需求做了详细定义。
1.3 读者对象
- 项目经理:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项目管理。
- 设计人员:对需求进行分析,并设计出系统。
- 开发人员:配合《详细设计说明书》,了解系统功能,进行系统编码设计。
- 测试人员:根据本文档编写测试用例,并对软件产品进行功能性测试和非功能性测试。
- 用户:了解预期产品的功能和性能,并与分析人员一起对整个需求进行讨论和协商。
2. 项目概述
2.1 产品概述
"光影音乐(Shadow music)"小程序,实现了不用选择并下载各大音乐app,而是在微信app就可以享受音乐的用户需求。
2.2 产品功能
很多时候我们在生活中很少结识到同好,主要原因便是大部分的爱好都具有隐藏性,大家通常不是因为爱好结识朋友,而是在结识朋友后才了解到他的爱好。这样一个平台可以让大家互相了解之间的爱好,促进在同好之间的交流。
大部分的时候我们缺乏在不同领域的了解方法,听取网络上的言论总是“远水救不了近火”,更多的时候我们还需要一个附近的人引导我们迈入跨领域的第一步,该软件方便了我们在生活中遇到的诸多困难。
2.3 用户特点
本软件的用户主要是广大爱好音乐、喜欢音乐的青少年,打造一款青春、充满活力的音乐微信小程序,贴近青少年的风格和面貌。
2.4 一般约束
进行本软件开发工作的约束条件如下:
-
开发周期短:两个月的开发时间需要开发者合理规划时间,做到多项任务并发。
-
采用的方法与技术有限:项目团队成员的技术水平不够成熟,需要在开发中并发学习多种技术和能力。
2.5 假设与依据
本项目是否能够成功实施,主要取决于以下的条件:
-
团队成员的积极合作配合,为了项目的开发和实施,对个人时间进行合理规划同时为团队做出合理牺牲,配合队友完成任务。
-
团队掌握先进的能够适用于该项目的技术,这是系统的性能是否优化和项目能否成功的保证。
#### **2.6 对应页面浏览**
3.1功能模块说明
3.1.1 主页
- Banner轮播图
- 图标导航区域
- 推荐歌曲模块
- 需要实现动态模块效果
- 排行榜模块
- 排行榜分类类目有0-20共21种
3.1.2视频video页
- 头部搜索区域
- 点击跳转搜索页面
- 导航模块
- 动态获取数据
- 点击动态切换视频列表数据,对应下边框动态切换,且有过渡效果
- 视频列表模块
- 用户没有登录直接跳转登录页面
- 用户登录后,动态获取数据
- 需要用户cookie身份验证
- 视频播放
- 图片替代video标签性能优化
- 分享功能
3.1.3个人中心页
- 头部模块
- 用户未登录显示默认头像图片和游客姓名
- 用户未登录时可跳转登陆页面,登陆后点击不跳转
- 最近播放模块
- 用户登录后显示用户最近播放记录
- 需要实现动态滑动模块
- 内容区模块
- 手指滑动内容区跟随移动,仅向下移动
3.1.4Tab bar模块
- 主页,视频页,个人中心页可通过TabBar实现,可以实现点击切换
- TabBar置底
3.1.5登录界面
- 个人中心,video视频也课题点击跳转登陆页面
- 网易云音乐真实接口(手机号 + 密码登录)
- 前端验证
- 验证手机号是否合法
- 后端验证
- 登录成功后将用户信息存入至本地
- 登录成功后跳转个人中心页
3.1.6每日推荐页
- 头部模块
- 显示当前日期
- 歌曲列表模块
- 显示推荐歌曲列表
- 同详细播放页进行交互
3.1.7歌曲详细页
- C3动画功能
- 根据音乐播放状态动态控制摇杆磁盘进行动画
- 音乐播放功能
- 根据点击控制音乐播放和暂停
- 根据点击系统控制音乐播放器按钮控制音乐播放/暂停/停止
- 正确显示音乐的播放状态(页面后退再进入)
- 切换歌曲功能
- 点击切换按钮切换歌曲
- 进度条根据音乐播放进度正确显示
- 进度条控制模块
- 显示音乐的总时长和实时播放时长
- 进度条根据音乐的播放进度正确显示
3.1.8 搜索页面
- 页面数据动态显示
- 需要访问对应的接口
- 搜索功能
- 根据用户输入的数据进行模糊匹配动态显示数据
- 历史记录模块
- 根据用户搜索内容显示用户的搜索记录
- 数据需要存入本地storage
3.2 属性
3.2.1 可用性
- 易操作,易理解。界面设计简洁易用。
- 稳定性:系统会更新增加功能,不断修复bug,使系统更加稳定。
- 容错能力:系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行。
- 并发性:能够保证一定量的用户同时在线使用。
3.2.2 安全性
-
重要数据加密
对一些重要的数据利用可靠的加密技术进行加密。
-
记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。
-
故障处理
正常使用时不应出错,若运行时出现不可恢复的系统错误,也必须保证数据库完好。
3.2.3 可维护性
- 保留系统对应的版本的源代码。
- 代码一定要有注释,特别是关于if else,每个条件到底意味着什么,一定要有清晰的描述。
- 清晰的系统结构和命名规范,界面规范,提示和帮助信息规范以及友好的错误消息信息可以帮助用户找出原因并维护自己的系统。
- 项目启动后,需要执行完整的系统配置管理。 维护配置仍然需要在项目结束之前不断更新系统配置信息。 根据模块,将系统分为配置项,并记录系统的各项维护工作,以备将来检查。
4.验证验收标准
4.1 文档验收标准
- 项目开发计划
- 软件需求说明书
- 各阶段项目开发进度汇总报告
- 项目总结报告
4.2 软件验收标准
测试功能 | 操作 | 检验点 | 预期结果 |
---|---|---|---|
登陆、注册、忘记密码功能 | 注册账号1、登陆账号1、然后退出点击忘记密码 | 用户名和密码、重置密码检查 | 符合格式,输入正确进入;不正确重新输入;忘记密码,重置密码 |
播放、分享音乐功能 | 登陆账号1后播放一首音乐、把一首音乐分享给微信好友 | 播放和分享 | 播放成功、分享成功 |
发布音乐圈动态功能 | 进入账号1的音乐圈界面发布一条动态 | 发布动态 | 动态发布成功 |
点赞好友、添加、删除好友功能 | 创建账号2,并添加账号1,点赞账号1的动态、删除账号1好友 | 加、删好友、点赞 | 添加好友成功、删除好友成功、点赞好友音乐圈成功 |