东北大学毕业设计(论文) 第3章 系统分析
续表3.7 添加参与者用例
前置条件
进入主界面 参与者动作
基本事件流
1.用户点击添加按钮
3.用户添加参与者相关信息,点击确定按钮 无 参与者动作
4.1.1.1若未添加IP地址 4.1.2.1若未添加端口号
4.2.1.1若输入IP地址格式不正确 4.2.2.1若输入端口号格式不正确
后置条件
成功添加新的参与者
系统响应
4.1.1.2系统提示“必须添加IP地址” 4.1.2.2系统提示“必须添加端口号” 4.2.1.2系统提示“IP地址格式不正确” 4.2.2.2系统提示“端口号格式不正确” 系统响应
2.系统进入添加参与者界面
4.系统判断用户的输入是否合法,若合法,返回主界面,若不合法:输入信息为空,则进入4.1;输入信息格式不正确,则进入4.2
其它事件流 异常事件流
Android端修改参与者用例主要功能是修改参与者。点击修改按钮来修改参与者的相关信息,然后点击保存。修改参与者用例规约如表3.8所示。
表3.8修改参与者用例
用例名称 用例ID 角色 用例说明 前置条件
修改参与者 UseCase8
视频通话Android端参与者
该用例主要功能是完成Android端修改参与者功能 进入主界面 参与者动作
系统响应
2.系统弹出会话参与者候选列表 4.系统选定该参与者,回到主界面 6.系统进入修改参与者界面
8. 系统判断用户的输入是否合法,若合法,返回主界面,提示修改成功,若不合法:输入信息为空,则进入8.1;输入信息格式不正确,则进入8.2
基本事件流
1.用户点击下拉列表按钮 3.用户选择参与者 5.用户点击修改按钮
7.用户修改参与者相关信息
其它事件流 异常事件流
无 参与者动作
8.1.1.1若未添加IP地址 8.1.2.1若未添加端口号
8.2.1.1若输入IP地址格式不正确 8.2.2.1若输入端口号格式不正确
系统响应
8.1.1.2系统提示“必须添加IP地址” 8.1.2.1系统提示“必须添加端口号” 8.2.1.2系统提示“IP地址格式不正确” 8.2.2.2系统提示“端口号格式不正确”
后置条件
修改参与者成功
-18-
东北大学毕业设计(论文) 第3章 系统分析
Android端删除参与者用例主要功能是删除指定参与者。选定参与者,然后点击删除。删除参与者用例如表3.9所示。
表3.9 删除参与者用例
用例名称 用例ID 角色 用例说明 前置条件
删除参与者 UseCase9
视频通话Android端参与者
该用例主要功能是完成Android端删除参与者功能 进入主界面 参与者动作
基本事件流
1.用户点击下拉列表按钮 3.用户选择参与者 5.用户点击删除按钮 无 无
参与者删除成功
系统响应
2.系统弹出会话参与者候选列表 4.系统选定该参与者 6.系统提示删除成功,返回系统主界面
其它事件流 异常事件流 后置条件
3.2 系统运行环境与开发环境
3.2.1 运行环境
PC端运行环境如表3.10。
表3.10 PC端运行环境
CPU 内存 硬盘 网卡 操作系统 不低于Pentium III 1GHz 不低于256M 80G 100M Windows XP、Windows Vista、Windows 7 Android端运行环境如表3.11。
表3.11 Android端运行环境
CPU 内存 操作系统 不低于300MHz 不低于128M Android 2.3
-19-
东北大学毕业设计(论文) 第3章 系统分析
3.2.3 开发环境
系统开发硬件环境如表3.12。
表3.12 系统开发硬件环境
CPU 内存 硬盘 网卡 操作系统 不低于Pentium III 1GHz 不低于256M 80G 100M Windows XP、Windows Vista、Windows 7 系统开发软件环境如表3.13。
表3.13 系统开发软件环境
软件产品 Eclipse Android SDK Android NDK Cygwin Microsoft visual studio 版本描述 Indigo Service Release 1 16.0 8.0 1.7.5 2010 承担功能 编程工具 开发包 开发包 Linux平台 编程工具 3.3 系统可行性分析
3.3.1 技术可行性
本系统采用C/S架构,分为两个客户端,运行在两个不同的操作系统上——Windows和Android。因此采用不同的技术来实现。
PC端采用成熟的Java多媒体框架JMF。该核心框架支持不同媒体(如:音频输出和视频输出)间的时钟同步。它是一个标准的扩展框架,允许用户制作纯音频流和视频流。JMF技术提供了先进的媒体处理能力和编码支持,如M-JPFEG、H.263、MP3、RTP/RTSP(实时传送协议和实时流转协议)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等[8]。JMF 2.1.1还支持广受欢迎的媒体类型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1软件中包括了一个开放的媒体架构,可使开发人员灵活采用各种媒体回放、捕获组件,或采用他们自己的定制的内插组件。JMF提供了四种不同的专用版本,满足专业开发人员的各类需求,第一个是一个轻便型版本,它完全采用Java语言编写,适用于任何Java兼容系统。此外,开发人
-20-
东北大学毕业设计(论文) 第3章 系统分析
员还可选择分别适用于Solaris、Windows或Linux等操作系统的性能最优化软件包,以提高性能和能力。JMF框架从发布至今经历了好几代版本的更新,如今已近趋于稳定。应用JMF来进行多媒体开发能够使软件开发人员很容易、快速的为已有的各种程序和客户端Java小程序增添丰富的媒体功能,如流式视频、影像处理等各种应用领域。依托Java平台固有的优势,将“编写一次,处处运行”的能力扩展到了图像、影像和数字媒体等各种领域,从而大大缩减了开发时间和降低了开发成本。
Android端主要采用FFmpeg开源框架来实现视频的编解码。FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。FFmpeg是一个集视频录制、转换和音视频编解码功能于一体的开源C代码库。FFmpeg最初的开发是基于Linux操作系统,但是经过编译和移植后也可以在人多数操作系统中使用。FFmpeg包含了丰富的视频编解码库,支持MPEG、DivX、MPEG-4、AC3、DV、FLV等40多种编码以及AVI、MPEG、OGG、Matroska、ASF等90多种解码。依赖FFmpeg开源库能够高效快速的实现编解码[9]。
3.4 本章小结
本章对系统的原始需求进行了详细的描述,并将原始需求用UML中的用例图的方式描述出来,对每个用例进行了详细的介绍。接着介绍了系统的开发环境以及对系统可行性进行了分析。
-21-
东北大学毕业设计(论文) 第4章 系统设计
第4章 系统设计
本章在第三章对基于Android的视频通话系统详细明确的需求分析的基础上,重点明确系统的具体设计工作,包括框架设计,模块设计,功能设计,数据库的设计等。在系统设计方面主要通过框架图、类图、时序图以及表格来进行详细的描述。
4.1 概要设计
4.1.1 系统软件体系结构的设计
本系统在软件体系结构设计上主要分为多媒体I/O层、多媒体处理层、传输层、网络层等四个层次,如图4.1所示。
多媒体IO层视频系统多媒体对象处理层视频模块媒体采集编码传输音频模块媒体采集编码传输传输层RTP控制RTCP控制网络层UDP协议IP物理层
图4.1 软件体系结构
多媒体IO层:包含系统人机交互模块,主要提供各种媒体特定语义的输入输出、应用实体系统交互功能。
多媒体对象处理层:主要包含音、视频的处理模块,位于客户端,可以直接访问本地资源,如摄像头和麦克风。主要完成分布式多媒体处理功能的对象化封装,提供系统所需的编解码和各种媒体之间的同步控制等。
传输层:含RTP控制模块和RTCP控制模块,本层提供压缩媒体流的组包、解包、发送、接收功能,同时向下屏蔽网络资源,向上提供媒体传输接口[10]。
-22-