收藏 分销(赏)

概要设计基于安卓手持设备的语音通讯系统.doc

上传人:w****g 文档编号:2487641 上传时间:2024-05-30 格式:DOC 页数:19 大小:402.50KB
下载 相关 举报
概要设计基于安卓手持设备的语音通讯系统.doc_第1页
第1页 / 共19页
概要设计基于安卓手持设备的语音通讯系统.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述
基于安卓手持设备的语音通讯系统 概要设计 总页数 正文 附录 生效日期 编制 批准 南昌航空大学东软班 概要设计 修 改 履 历 修改编号 日期 修改人 版本号 修改内容 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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服