一、整体分析
从项目规模和团队组成 分析项目整体的 复杂度 、系统性强度(系统性强度包括:使用到什么层次的框架、兼容性、稳定性,其中包括设备硬件性能的考虑、系统资源占用率等)。
二、场景分析
- 用户:面向的用户群体,和群体特征
- 功能
- 基础功能
- 扩展功能
以一个音视频播放器项目为例,基础功能就包括播放、暂停、seek 到任意位置播放。扩展功能包括切换音轨、增加字幕。
三、架构设计
原则:将复杂问题简单化、将简单问题条理化
根据功能划分模块
四、整理 类图设计
五、风险评估与部分测试用例
- 风险评估:是否有足够的设备测试兼容性、测试是否覆盖了不同平台的不同芯片架构,排除兼容性问题。
- 性能评估:性能包括 CPU 消耗、内存占用、耗电量与发热量。比如上面提及的音视频播放项目,可以规划硬件解码方案来替代软件解码,评估是否需要在第一期完成。
- 测试用例:
- 输入模块,包括协议层(网络资源、本地资源)、封装格式(FLV、MP4、MOV、AVI 等等)、编码格式(H264、AAC、WAV)等。
- 音视频同步模块,应该在低网速的条件下观看网络资源的对齐程度,同时也要考虑蓝牙耳机的对齐程度,一些蓝牙耳机输出的 Buffer 很大。
- 输出模块,测试要覆盖 iOS 系统以及 Android 系统的大部分版本,保证应用运行的兼容性,在 Top50 的设备中音频与视频能够成功播放出来。











网友评论