资源描述
基于安卓手持设备的语音通讯系统
概要设计
总页数
正文
附录
生效日期
编制
批准
南昌航空大学东软班 概要设计
修 改 履 历
修改编号
日期
修改人
版本号
修改内容
1
VER0.1.0
初始做成
2
3
目 录
1 文档概述 5
1.1 文档目的和范围 5
1.2 术语/缩略语 5
1.3 参考文档 5
2 模块概述 6
2.1 模块功能定义 6
2.2 模块结构 6
2.3 模块动作时序 9
3 接口说明 9
3.1 数据结构定义 9
3.2 函数 9
3.2.1 模块间接口函数 11
3.2.2 模块内接口函数 11
1 文档概述
1.1 文档目的和范围
本设计的目标为运用可视化程序设计和数据库产品开发一个基于安卓手持设备的语音通讯系统。
1.2 术语/缩略语
序号
术语/缩略语
说明
1
Android
安卓操作系统
2
Mysql
Mysql开源数据库
1.3 参考文档
序号
文档名
作者
时间
版本
1
Java程序设计实用教程[M]
耿祥义, 张跃平
2010年4月
人民邮电出版社
2
Android开发应用从入门到精通[M]
朱桂英
2011年
第1版. 中国铁道出版社
3
Android开发从入门到精通[M]
扶松柏,于秀青
2012年
北京希望电子出版社
4
Android移动应用开发从入门到精通[M]
ShaneConder
2010年
人民邮电出版社
5
Thinking in java[M]
埃克尔
2007年
机械工业出版社
6
Java入门经典[M]
Cadenhead R
2012年
人民邮电出版社
7
软件工程导论[M]
张海藩
2008年2月
清华大学出版社
2 模块概述
根据系统的主要功能分类,语音通讯系统可以分为用户信息管理模块、语音通信模块和文本通信模块三大模块。其中用户信息管理模块负责管理用户的个人信息和用户的好友;语音通信模块用于使用户间能够自由进行语音聊天;文本通信模块完成用户间的文字聊天功能。系统将根据这三个模块组织代码结构。
2.1 模块功能定义
序号
功能点
功能点详细内容
1
Login登录
控制用户登录相关操作
2
Regedit注册
控制注册相关界面操作
3
添加好友
添加以为好友
4
删除好友
删除一位好友
5
语音采集
调用安卓MediaRecorder录制声音
6
语音传送
将采集到的语音发送出去
7
语音接受
接受发来的语音消息
8
文字采集
接受文字消息
9
文字传送
发送文字消息
10
文字接受
接受文字消息
11
Connect服务器
通过HttpConnect类链接服务器进行操作
12
数据库操作
对数据库的数据进行增删改操作
2.2 模块结构
2.2.1 子系统/模块说明
根据功能的不同,可以把语音通讯系统划分为三大模块——用户信息管理模块、语音通信模块、文本通信模块。三大功能模块构成整个语音通讯系统,使之正常运行。图2-1为用户信息模块功能结构图。
图2-1用户信息管理功能结构图
第一次使用系统的用户需要注册账号,注册账号后才可登录系统与好友通讯。
用户登录系统后可以修改自己的个人信息,也可以对好友进行管理,包括添加、删除好友。添加的好友只能是已经注册的并且已经在局域网内的。点击某个好友可以查看其详细信息。如果用户觉得账号不安全,可以修改自己的密码,增加账号安全性。
图2-1为语音通信模块功能结构图。
图2-2 语音通信功能结构图
系统检测为有权限的用户方可与好友进行通讯。在聊天界面,用户可以选择语音聊天也可以选择文字通讯。若用户选择语音聊天,用户的amdroid客户端将录制下用户的声音文件,声音文件流发送到服务器端。服务器将检测对方用户是否在线,如果对方在线,即解析出流对象,根据流对象中的内容将文件流发送到指定IP与端口号的其他安卓的客户端,然后在指定的手机客户端解析传递过来的声音文件,转化成音频文件,调用客户端相关硬件播放出来。
图2-3为文本通信功能结构图。
图2-3文本通信功能结构图
文本通信模块的运行原理与语音通信模块类似,若用户选择文字通讯,用户的amdroid客户端将接收用户的文字信息,然后将其发送到服务器端。服务器将检测对方用户是否在线,如果对方在线,即解析出字节流对象,根据流对象中的内容将流对象通过TCP/IP协议发送到指定IP与端口号的其他安卓的客户端,然后在指定的手机客户端解析传递过来的字节流,转化成文字显示到客户端。若对方不在线,则将消息缓存在服务器,当对方下次上线被服务器检测到时再将消息推送过去。但文字通讯没有对音频的解析过程,相对来说更简单一些。
2.2.2 功能需求描述
系统以C/S模式实现。图2-4为客户端系统功能结构图。
图2-4 系统功能结构图
服务器端与数据库相连,主要负责保存用户信息和用户聊天信息并且分析数据包将其发送到相应IP端口。
客户端系统功能结构如上图所示,用户必须先注册为系统用户后才能使用系统进行通讯。注册为用户后可以对自己的信息进行管理,也可以开始搜索局域网内好友(好友必须为注册用户),有好友后可以进行语音文字通信。出于某些原因也可以删除不需要的好友,好友将从好友列表消失。
模块名称
模块类型
概要说明
LoginActivity
接口
控制用户登录操作
RegisterActivity
接口
控制注册界面注册操作
Record
内部模块
采集、发送、接受语音消息
VoiceChatChatActivity
内部模块
接受、发送、采集文字消息
2.3 模块动作时序
3.2.1 语音通信模块功能流程图
图3-1通信模块功能流程图
3.2.2 文本通信模块功能流程图
图3-2文本通信模块功能流程图
3.2.3 用户信息管理功能流程图
图3-3用户信息管理功能流程图
3 接口说明
3.1 数据结构定义
3.1.1
用户信息数据结构
public class User {
private String userName; // 用户名
private String alias; // 别名(若为pc,则是登录名)
private String groupName; // 组名
private String ip; // ip地址
private String hostName; // 主机名
private String mac; // MAC地址
private int msgCount; // 未接收消息数
}
消息数据结构
public class ChatMessage {
private String senderIp; // 消息发送者的ip
private String senderName; // 消息发送者的名字
// private String reciverIp; //消息接收者的ip
private String msg; // 信息内容
private Date time; // 发送时间 :格式:
private boolean selfMsg; // 是否自己发送
}
3.1.2
public interface MIsym {
// String SEVERIP = "192.168.1.100";
//String SEVERIP = "171.34.115.178";
//String SEVERIP = "192.168.1.105";
String SEVERIP = "192.168.43.102";
//String SEVERIP = "192.168.42.229";
//String SEVERIP = "10.0.2.2"; // 服务器IP地址应该是本地才对
// String SEVERIP = "10.16.25.171"; //服务器IP地址
int SEVERPORT = 30001; // 服务器端口号
int PROTOCOL_LEN = 2; // 字符串长度
String MSG_MI = "╔ ╗"; // 标识聊天信息
String NAME_REP = "┠ ┨"; // 表示用户名重复
String LOGIN_SUCESS = "卐Ψ"; // 标识登录成功
String USER_LOG = "§∮"; // 表示用户登录
String USER_REG = "ξω"; // 表示用户注册
String PSD_WRONG = "⊙●"; // 表示密码错误
String USER_NO = "★☆"; // 表示用户名不存在
String dOWN_MI = "〓≡"; // 表示文件下载请求
String Reg_Fail = "reg_fail";// /注册失败
String update_info = "update_info";// /用户修改个人信息
String update_info_success = "update_info_success";// /修改信息成功
String update_info_fail = "update_info_fail";// /修改信息失败
String getinfo_byUserName = "getinfo_byUserName";// /在修改个人信息时,要根据名字得到所有信息
String back_userInfo = "back_userInfo";// /返回用户的个人信息
String update_password = "update_password";
String update_password_success = "update_password_success";
String update_password_fail = "update_password_fail";
String update_password_fail_OldPwdErr = "update_password_fail_OldPwdErr";// /原来的密码输入有误
}
3.1.3
/*
* 一些用到的常量
*
*/
public class UsedConst {
public static final int FILESENDSUCCESS = 0xFF; // 文件发送成功
public static final int FILERECEIVEINFO = 0xFE; // 接收文件,包含文件信息
public static final int FILERECEIVESUCCESS = 0xFD; // 接收文件成功,包含文件信息
public static final int FILERECEIVEVOICE = 0xFC; // 接收语音文件
public static final int FILERECEIVESENTVOICE = 0xFB; // 发送语音文件
}
3.2 函数
3.2.1 模块间接口函数
3.2.1.1 onCancelled()
函数名
onCancelled
文件名
LoginActivity.Java
功能概要
取消登录
记述形式
protected void onCancelled()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
取消登录
使用注意事项
3.2.1.2 onLogin(final Boolean success)
函数名
onLogin
文件名
LoginActivity.Java
功能概要
登录
记述形式
protected void onLogin (final Boolean success)
参数
类型
变量名
I/O
说明
Boolean
success
I
数据正确
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户登录
使用注意事项
3.2.1.3 onCancelled()
函数名
onCancelled
文件名
RegisterActivity.java
功能概要
取消注册
记述形式
protected void onCancelled()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户取消注册
使用注意事项
3.2.1.4 onRegister (final Boolean success)
函数名
onRegister
文件名
RegisterActivity.java
功能概要
注册
记述形式
protected void onRegister (final Boolean success)
参数
类型
变量名
I/O
说明
Boolean
success
I
数据是否正确
返回值
类型
-
说明
值
-
-
-
-
详细说明
用户注册
使用注意事项
3.2.2 模块内接口函数
3.2.2.1 onRecord()
函数名
onRecord
文件名
Record.java
功能概要
采集语音
记述形式
public void onRecord()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
开始采集语音信息
使用注意事项
3.2.2.2 StopRecord()
函数名
StopRecord
文件名
Record.java
功能概要
停止采集语音
记述形式
public void StopRecord()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
结束采集语音信息
使用注意事项
3.2.2.3 getPath()
函数名
getPath
文件名
Record.java
功能概要
获取语音信息路径
记述形式
public String getPath()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
获取语音信息路径,以供消息发送
使用注意事项
3.2.2.4 sendAndAddMessage()
函数名
sendAndAddMessage
文件名
VoiceChatChatActivity.java
功能概要
发送消息
记述形式
private void sendAndAddMessage()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
将消息发送出去
使用注意事项
3.2.2.5 receive(ChatMessage msg)
函数名
receive
文件名
VoiceChatChatActivity.java
功能概要
接受消息
记述形式
public boolean receive(ChatMessage msg)
参数
类型
变量名
I/O
说明
ChatMessage
msg
I
消息的数据结构
返回值
类型
boolean
说明
值
TRUE
接受成功
FALSE
接受失败
详细说明
接受其他用户或系统消息
使用注意事项
3.2.2.6 finish()
函数名
finish
文件名
VoiceChatChatActivity.java
功能概要
消息发送完成
记述形式
public void finish()
参数
类型
变量名
I/O
说明
-
-
-
-
返回值
类型
-
说明
值
-
-
-
-
详细说明
消息发送完毕后,清理一些不必要的数据
使用注意事项
目 录
第1章 总 论 3
1.1. 项目背景与概况 3
1.2. 主要技术经济指标 7
1.3. 问题与建议 8
第2章 项目投资环境与市场研究 9
2.1. 投资环境分析 9
2.2. 区域房地产市场分析 11
2.3. 销售预测 15
2.4. 营销策略 19
第3章 建设规模与项目开发条件 21
3.1. 建设规模 21
3.2. 项目概况现状 21
3.3. 项目建设条件 22
第4章 建筑方案 26
4.1. 设计依据 26
4.2. 项目设计主题和开发理念 26
4.3. 项目总体规划方案 27
4.4. 建筑设计 28
4.5. 结构设计 29
4.6. 给排水设计 30
第5章 节能节水措施 32
5.1. 设计依据 32
5.2. 建筑部分节能设计 32
第6章 环境影响评价 33
6.1. 编制依据 33
6.2. 环境现状 33
6.3. 项目建设对环境的影响 34
6.4. 环境保护措施 34
第7章 劳动卫生与消防 35
7.1. 指导思想 35
7.2. 职业安全卫生健康对策与措施 35
7.3. 消防设计 36
第8章 组织机构与人力资源配置 38
8.1. 组织机构 38
8.2. 人力资源配置 38
第9章 项目实施进度 39
9.1. 项目开发期 39
9.2. 项目实施进度安排 39
9.3. 项目实施过程控制措施 39
第10章 项目招投标 41
10.1. 工程项目招标投标概述 41
10.2. 工程项目招标投标因素分析 42
10.3. 招标依据 44
10.4. 招标范围 44
10.5. 招标方式 44
第11章 投资估算与资金筹措 45
11.1. 投资估算 45
11.2. 资金筹措 45
第12章 财务评价 47
12.1. 项目评估依据 47
12.2. 财务评价基础数据的选择 47
12.3. 财务评价 47
12.4. 不确定性分析 48
第13章 社会评价 49
13.1. 项目对社会的影响分析 49
13.2. 风险分析 50
13.3. 社会评价结论 51
第14章 研究结论与建议 52
14.1. 可行性研究结论 52
14.2. 建议 52
展开阅读全文