基于Android平台的聊天系统设计与实现毕业论文.doc

上传人:豆**** 文档编号:29906270 上传时间:2022-08-02 格式:DOC 页数:67 大小:1.08MB
返回 下载 相关 举报
基于Android平台的聊天系统设计与实现毕业论文.doc_第1页
第1页 / 共67页
基于Android平台的聊天系统设计与实现毕业论文.doc_第2页
第2页 / 共67页
点击查看更多>>
资源描述

《基于Android平台的聊天系统设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Android平台的聊天系统设计与实现毕业论文.doc(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 本科毕业设计(论文)基于Android平台的聊天系统设计与实现学院名称计算机科学与技术专业名称信息安全学生姓名学号指导教师二一三年六月 基于Android平台的聊天系统设计与实现摘要本课题主要研究基于Android的移动聊天系统,以更好的用户体验性为目的开发出界面简洁,用户易操作的移动即时通信聊天工具。该聊天工具的主要功能:用户注册,登录,好友一对一聊天,群组聊天。在该即时通信工具中的数据传输是通过Socket编程实现。客户端之间通过服务器对数据的转发实现相互通信。本文首先概述了IM聊天工具的背景,其次是课题的目的及意义,然后介绍了软件开发的环境和开发工具及其技术,给出了软件的系统架构,各个

2、模块的流程图及用例,然后详细介绍了改即时通信的工具的设计与实现,最后对系统进行简单的测试。关键词:Android,即时通信,多线程,注册,登录,聊天 基于Android平台的聊天系统设计与实现AbstractThe main research topics of the graduation Android-based mobile chat system, according to its architecture and design principles developed interface is simple and easy to operate mobile instant me

3、ssaging chat tools. The main function of the chat tool: user registration, login, friends one-on-one chat, group chat. Data transmission in the real-time communication tools Socket Programming. Communicate with each other on the data forwarding between the client through the server.The paper first o

4、utlines the background of the IM chat tool, followed by the purpose and significance of the issues, and then describes the software development environment and the development of tools and technology, the software system architecture, the flow chart of each module and use cases, and then detailed ch

5、ange instant messaging tool design and implementation, and finally a simple test system.Keywords: Android, instant messaging, multi-threaded, socket, client / server 基于Android平台的聊天系统设计与实现目录第一章 绪论11.1 聊天软件背景11.2 课题目的及意义21.4 设计思想41.5 工作方法4第二章 Android聊天系统需求分析52.1任务概述52.1.1 目标52.1.2 用户特点52.1.3 定义52.1.4假

6、定与约束62.2 需求规定62.2.1 系统功能需求62.2.2用户注册92.2.3 用户登录112.2.4 用户主面板122.2.5用户聊天132.2.6 好友上下线提示152.2.7增加好友152.3对性能的规定152.3.1精度152.3.2时间特性要求162.3.3灵活性162.4输人输出要求:162.5数据管理能力要求162.6其他专门要求162.7运行环境规定162.8支持软件17第三章 基于Android平台的聊天系统设计183.1 定义183.1.1专业术语183.2 总体设计183.2.1运行环境183.3基本设计概念和处理流程193.3.1 系统逻辑构架图(图3.1)193

7、.3.2系统物理架构图 (图3.2)203.3.4顶层系统包图(图3.3)203.3.5 具体处理流程213.4子系统设计243.4.1用户信息:243.4.1.2功能概要:243.4.2用户登录273.4.3 聊天管理283.5接口设计313.5.1 用户接口313.5.2 外部接口323.5.3内部接口323.6运行设计323.6.1运行模块组合323.6.2运行控制333.6.3运行时间333.7系统数据结构设计333.7.1逻辑结构设计333.7.2物理结构设计(图3.14)353.7.3数据结构与程序的关系(图3.15)363.8.系统出错处理363.8.1出错信息363.8.2补救

8、措施37第四章 基于Android平台的聊天系统实现394.1 服务端模块394.2 客户端模块414.2.1 客户端启动界面414.2.2 登录模块434.2.3 注册界面484.2.4 登录成功51第五章 基于Android平台的聊天系统系统测试58“结论”60“致谢”61参考文献6262 基于Android平台的聊天系统设计与实现第一章 绪论随着现代技术的不断输入和信息化的广泛普及,移动网络作为一种新兴事物,在近些年得到了前所未有的普及和深入,移动网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。而现代中小型企业的领导认识到进一步提高企业信息化的必要性。为使

9、企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求加强员工之间的交流和通信能力,尤其是领导和员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。系统开发是一个十分复杂的系统工程。这里对系统开发的基本过程和方法进行介绍,列出相关文档的示例并加以说明。要提高市场竞争力,就要对市场作充分的调查和详细的研究,同时也要有好的客户服务。企业要在复杂的环境下作出对策。员工与员工 员工与领导间的即时交流尤为重要,移动网络在线聊天系统对于企业来说就是一种交流和通信的平台,本系统做到了信息的及时的反馈,即时的处理并作出相应的行动。移动网络通信是网络应用的重要体现方面。移动网上即时通信则是移

10、动网络应用的重要体现方面。本聊天系统主要应用于小型企业,学校或小型局域网内部使用。本应用程序使短距离交流更加快捷和便利,更能高效率的体现现代即时通信的特点。本系统能够满足中小型企业,学校的内部网络即时通信的需要,在内部网络正常环境的运营下,提供即时通信的能力,本系统使用java(Server),Android(Client)开发,本系统能够为中小型企业协同工作,相互间的交流提供了有力的工具,运用在局域网的本系统,能够为企业员工的交流提供帮助,有利于提高工作效率。1.1 聊天软件背景 聊天软件,就是通常我们说的即时聊天工具IM,我们常用的聊天软件有QQ,微信,飞信等。 需要协议支持,传统的soc

11、ket编程并不满足聊天的功能,比如服务器与客服端的双向交互,消息的双向推送。 在移动互联网时代,我们需要基于移动终端开发新型的聊天软件,以满总大众的需求,常用的移动设备终端操作系统ios,android,wp7等等。 目前的聊天软件基本分为2种架构形式,(1)、C/S架构:采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、微信 、微博 、YY、IS、MSN等;(2)、B/S架构:即浏览器/服务端形式,这种形式的即时通讯软件,直接借助互联网为媒介、客户端无需安装任何软件,既可以体验服务器端进行沟通对话,一般运用在电子商务网站的服务商,典型的代表有Websiteli

12、ve 、WebQQ等。1.2 课题目的及意义通常IM服务会在使用者通话清单(类似电话簿)上的某人连上IM时发出讯息通知使用者,使用者便可据此与此人透过互联网开始进行实时的通讯。除了文字外,在频宽充足的前提下,大部分IM服务事实上也提供视讯通讯的能力。实时传讯与电子邮件最大的不同在于不用等候,不需要每隔两分钟就按一次“传送与接收”,只要两个人都同时在线,就能像多媒体电话一样,传送文字、档案、声音、影像给对方,只要有网络,无论对方在天涯海角,或是双方隔得多远都没有距离。现阶段即时通信系统如果仅在PC上已经无法满足人们对信息分享,因此把PC上的即时通信移植到移动设备上必然是即时通信发展的趋势,也是I

13、M系统软件发展的一个重要方向。同时IM的移植成功能够让人们无时无地的更好的交流,文化的互溶,当然交流是最基础的功能,现在很多移动IM系统上同时还增加了支付功能(利用电话,银行等)这样IM也促进了经济的发展。本课题涉及、数据库、构架、设计模式、多线程编程、Android移动应用开发等有关软件技术。1.3主要研究(设计)内容、研究(设计)思想及工作方法或工作流程图1.1 基于Android平台的聊天系统流程图主要研究内容:基于Android平台的聊天系统主要研究内容是系统怎么样对用户信息的封装,传递,怎么对信息类型的区分,怎样实现多用户使用以及Android页面的设计,以下是先关技术。 Java

14、的Scoket网络编程。Java服务端对android端提交的数据进行处理然后发给客户端进行显示。 多线程编程。每一个在线用户占用一个独立的线程与服务器进行交互,用户首先将信息发送到服务器,服务器解析信息,并将信息转发给相应的用户。使用线程可以把占据长时间的程序中的任务放到后台去处理,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度,程序的运行速度可能加快,用户界面可以更加吸引人。 网络编程。Android手机端将组装好的数据包通过无线网络发送到服务器,服务器读取并解析数据包,组装一个相应的回应数据库并返回给Android端,以此达到通信的目的。 Androi

15、d移动应用开发。学习Android开发技术,掌握Android应用架构和开发流程。1.4 设计思想 首先在Activity中注册一个消息处理器,该处理器用来处理接收到的消息,然后将结果显示在Activity中。 发送消息的时候,我们将自己的信息封装成一个消息包进行传输。 将该消息包经过封装使用UDP协议的Scoket网络编程进行封装,传输给接收方进行接收。 接收方收到传输过来的封装的消息包后调用解析控制器,解析控制器通过协议中的一些标示,解码出相应的消息包。 接收方再调用消息处理器,通过响应消息包中的一些标志,来判断调用相应的处理器进行处理,然后得出消息。1.5 工作方法 服务器启动,等待客户

16、端请求到达。 客户端(Android)启动聊天软件,按提示输入相关信息,并将信息封装传递给服务端。 服务端接收客户端封装传输的信息后,提取其中的信息类型判断执行什么功能,执行完功能后,返回相应信息给客户端。 客户端根据返回的信息的类型进行相应处理,并显示信息/跳转相应界面。第二章 Android聊天系统需求分析随着经济全球化的推进以及企业激烈的竞争,改善企业内部及整个供应链各环节的管理、调度资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。需求分析是软件分析中的一个重要步骤。它的基本任务是要准确地分析出系统应用者的需要,以及系统目标必须具备哪些功能。这些功能必须准确地

17、,完整地体现出用户的要求。2.1任务概述2.1.1 目标使用Android和java编程语言及数据库技术相结合,编写一个基于android端的移动聊天系统软件.这个系统提供多个用户及时并发通信的平台.未注册用户可以注册成系统会员,已注册用户可以通过登录进入聊天系统.在系中用户可以选择与某一个用户聊天,系统可以给用户推送某个好友上线或者下线的消息,可以的对自己的好友进行分组管理,同时对好友的增删改查功能。2.1.2 用户特点对用户没有特定的要求有无计算机专业知识都可以使用本系统进行聊天,因此本系统会提供一个友好的用户界面,能实现最基础的文字传输功能2.1.3 定义 SC- Smile Chatt

18、ing System ( 类似QQ的基于android的系统 ) User- 用户 Server- 系统2.1.4假定与约束 服务器方面要求双核CPU 频率大于2.0GHZ,内存大于1G,硬盘空间要求300G级以上,系统建议是Windous7。 客户端必须是Android系统且版本要在2.3的手机,内存1G以上,cpu双核1.3GHZ级以上。2.2 需求规定2.2.1 系统功能需求2.2.1.1功能需求:普通功能:用户申请,用户登录,后台对用户验证,聊天,消息提示,后台运行,快捷方式创建,后台管理 。2.2.1.2具体要求: 用户申请 :用户在申请界面填入相关正确信息后,后台对其进行处理,并返

19、回相应的QQ(随机生成)号码给用户 。 用户登录:用户输入自己的QQ号及密码后,点击登录,后台对其进行验证,以及好友的查找,登录成功后返回该用户的好友界面。 聊天:用户选定聊天对象后,对其发送信息,信息将由后台转发给选定的聊天对象,进行,提示,显示。 后台运行 用户可以退出主界面,将聊天软件在后台运行,当有消息传入时,消息会用广播的形势显示。 快捷方式:当该聊天软件第一次运行时,系统会自动生成快捷方式且显示在设备的主界面上。 后台管理:对用户的管理。SC系统用例图 2.2.1.3 系统静态模型设计:系统静态模型中主要类是聊天系统客户端中的启动类(WelcomActivity);用户登录类(Lo

20、ginActivity),该类中设计了数据传输,以及一些实体以及工具类,因此该类主要依赖如图2.1中的类;用户注册类(RegisterActivity);好友列表界面类(FriendListActivity),该类主要设计页面设计类如图2.1中的ListView类和Adapter类;用户聊天类(ChatActivity),该类重点设计数据传输以及本地数据处理,依赖如图2.1中的类。图2.1 系统静态模型2.2.1.4系统动态模型用户在安装了客户端后,点击启动聊天系统客户端,如果用户没有账户,则点击进入注册界面按提示注册,注册成功后返回登录界面进行登录,登录信息通过系统验证后,提示登录成功且返回

21、好友列表,如果该用户有好友,点击进入聊天界面,聊天数据通过客户端封装后传到服务端进行转发给相应好友接收显示,动态模型时序图如图2.2图 2.2 系统动态模型2.2.2用户注册 描述:输入注册需要的信息,且保证正确 参与者:用户 执行者:用户 前提条件:开启程序,进入注册界面2.2.2.1 注册静态模型注册模块主要实现了用户注册功能,主要类是RegisterActivity,该类中把数据封装成传输数据类中的实体,最后通过Socket将封装的数据传输到服务端进行数据操作如图2.3.图2.3注册静态模型2.2.2.2 注册动态模型用户进入注册界面后按提示输入相关信息,客户端必须进行格式验证,验证成功

22、后再进行注册,注册信息通过服务端处理后返回信息给客户端,提示用户所申请的账户号动态模型时序图如图2.4.图2.4注册动态模型 2.2.3 用户登录 描述:输入正确的QQ号和密码显示登录错误,输入错误显示QQ密码错误 参与者:用户 执行者:用户 前提条件:启动程序,进入登录界面2.2.3.1 用户登录静态模型登录模块主要实现了用户的登录,该模型的主要类是LoginActivity类(主界面),其主要的数据是通过客户端封装后经过客户端socket传输给服务端,服务端应有一个Socket监听程序监听客户端的传输信息,并进行信息验证。该模块主界面类主要依赖相关类如图2.5。图2.5用户登录静态模型2.

23、2.3.2 登录动态模型进入登录界面后,按系统提示输入相关信息(本系统账户号暂为6位数字);输入正确账户和密码格式正确后,数据传输到后台服务器进行验证,并且给客户端输出相应信息,登录动态模型如图2.5。图2.5登录动态模型2.2.4 用户主面板 描述:头像显示,账号号显示,好友列表,分组,好友基本信息,聊天信息显示 前提条件:正确登录账号后2.2.4.1 用户主面板静态模型用户登录成功后进入该模块,该模块主要实现用户好友列表显示,用户最近聊天好友列表显示,好友分组列表显示。主要依赖一系列的界面设计类以及一些适配器类以及数据传输类如图2.6。图2.6用户主面板静态模型事件流:1. 头像的正确显示

24、及即时更新;2. 账号昵称的正确显示及即时更新;3. 账号号的正确显示;4. 好友列表正确显示及好友列表的更新;5. 聊天消息提示;6. 点击头像出现消息框; 7. 能否实现大小头像; 8. 好友上下线提示。2.2.5用户聊天 描述:修改个人信息(昵称,姓名,年龄,头像等); 参与者:用户 执行者:用户 前提条件:正确登录QQ,打开个人信息面板2.2.5.1 用户聊天静态模型该模块主要实现了用户聊天功能,以及消息显示功能,消息的本地存储功能,该模块的主要类及主界面(ChatActivity)主要依赖一些实体类,数据存储类以及数据传输类如图2.7。图2.7用户聊天静态模型2.2.5.2 聊天模块

25、动态模型用户点击好进入聊天界面后,在输入框输入信息,点击发送后信息经过封装后传输到服务器进行转发给相应的好友如图2.8。图2.8聊天模块动态模型2.2.6 好友上下线提示 描述:当用户好友列表中的好友下线时,系统会推送提示信息给用户 参与者:用户 系统 执行者:系统 前提条件:系统运行正常,用户登录到用户界面,且保持在线 事件流:1 用户正常登录,系统运行正常,用户中有好友;2 当用户下线时 ,该用户会改变在线状态码;3 系统获取该状态码,且对该用户中的好友进行查找;4 再把该用户下线的消息通过系统发给每个好友。2.2.7增加好友 描述:增加好友ID 参与者:用户 执行者:用户 前提条件:登录

26、成功进入增加好友界面 事件流:1 必须知道对方ID可直接添加好友;2 添加后,好友列表更新;3 且系统会反馈信息回被加的用户,提示谁加了他。2.3对性能的规定2.3.1精度 在进行输入输出时必须清晰的列出所有输入状况及数据,不能马马虎虎,要考虑到尽可能达到的范围,以使输入输出完整准确。2.3.2时间特性要求 查询服务部分:用户通过电脑提交命令到返回结果不超过5秒钟。 数据管理部分:提交某一数据录入到结果返回不超过5秒钟。2.3.3灵活性 采用现在最流行的触控模式操作。 Android2.3.3系统及以上;服务器运行在windows7上。 精度和有效时限有用户设定。2.4输人输出要求: 符合精度

27、要求。 2.5数据管理能力要求 聊天号信息:聊天号,大小为6个字符,只能为数字。 聊天记录信息:不能存在非法语言 且不能多于200个字符。 用户名信息:不能超过20个字符。 密码信息:不超过20个字符。2.6其他专门要求在程序的开发过程中,应遵循结构化的程序设计原则,精心设立运行日志,从而加强系统的可维护性;另一方面要注重系统的界面友好性、保持各程序模块界面的统一。2.7运行环境规定服务器端: 硬件需求:处理器 双核2.0GHZ级以上 内存 2G级以上 硬盘 300 软件需求:oracle数据库客户端: 硬件需求:android2.3.3级平台,搭载至少单核1.3GHZcpu2.8支持软件 操

28、作系统: windoows7 编译程序:JAVA Android 测试程序:JAVA Android第三章 基于Android平台的聊天系统设计3.1 定义3.1.1专业术语在整个系统设计实现中会涉及的专业术语如(表3.1):表 3.1专业术语SQL结构化查询语言类型JAVAJava面向对象编程语言编程语言HTML超文本标记语言编程语言ORACLEOracle数据库数据库ECLIPSE开放源代码的、基于Java的可扩展开发平台编程软件PL/SQL过程化SQL语言编程语言AndroidAndroid编程语言编程语言ADTAndroid模拟机运行工具3.2 总体设计系统采用流行的C/S结构模式。系

29、统的分析设计采用面向对象的技术,应用Visio等工具进行辅助设计。3.2.1运行环境硬件环境要求:选择支持两路Intel Xeon 2.8GHz 处理器、2GB ECC DDR 内存、500GB SCSI 硬盘以上配置的部门级服务器比较适合。 软件环境要求:可以考虑选择如下方案: 操作系统:Windows8/Windows7/Windows XP 开发平台:Eclipse(juno) Android SDK PL/SQL 开发语言:Java(jak1.7) Android 后台数据:Oracle 运行环境: 服务器端: Oracle+j2ee框架 客户端: Android设备(模拟机)。3.3

30、基本设计概念和处理流程3.3.1 系统逻辑构架图(图3.1)图3.13.3.2系统物理架构图 (图3.2)图3.23.3.4顶层系统包图(图3.3)图3.3类包说明: 业务页面:客户端主界面,主要是Android的Activity。 业务操作:主要控制业务访问的接口和业务流转。 数据处理:提供业务的实现,包括对业务数据的增、删、改、查,信息的转发等操作。 数据实体:业务对象的实体类。 数据接口:提供数据库的访问,传递数据或返回相应数据。 系统辅助:提供了供整个系统辅助的功能。3.3.5 具体处理流程 3.3.5.1 用户申请流程:用户进入注册界面,按照相关提示输入信息,信息经封装后由服务器就收

31、处理,并给用户返回注册的QQ号如图3.4。 图3.4 用户申请流程3.3.5.2 用户登录流程:用户根据界面提示填入相关信息,信息先在客户端进行格式判断后封装传递到服务器进行验证,最后返回相应信息,如图 3.5。图3.5 用户登录流程3.3.5.3 用户聊天流程:用户登录成功后,选择好友进行聊天,服务器对数据进行封装以及转发,如图 3.6。图 3.6 用户聊天流程3.3.5.4 系统后台管理流程:后台服务器接收到不同类型的数据,并对数据进行处理以及根据客户端提出的申请对数据库进行操作,如图 3.7。图 3.7 系统后台管理流程3.4子系统设计3.4.1用户信息:3.4.1.1 用户信息模块总体

32、用例图 图3.8。图3.8 用户信息模块总体用例图3.4.1.2功能概要: 新用户注册概述:新用户注册使用本系统账号,信息按要求填写方可提交。用户注册用例图,图3.9。图3.9用户注册流程图,图3.10:图3.103.4.1.4功能前提条件: 客户端必须处于WIFI联网状态,且服务器必须开启。3.4.1.5注册功能概要 验证填入注册信息格式 验证填入信息完整性 注册成功 存储用户注册信息 给用户创建好友数据表 系统返回给用户QQ号3.4.1.6数据:用户信息数据库表及数据字典定义如下表。字段名数据名数据类型约束条件描述用户ID(QQ)idNumber(6)自动生成,主键,非空唯一标示用户,不可

33、重复用户姓名(昵称)nameVarchar2(20)非空用户昵称用户邮箱emailVarchar2(20)非空注册时间timeVarchar2(30)非空系统自动生成当前时间是否在线IsOnlineNumber(2)非空,10代表不在线,1代表在线判断用户是否在线的唯一标识用户好友数据库表及数据字典定义如下表。字段名数据名数据类型约束条件描述IDIDNumber(6)主键,非空昵称(备注)nameVarchar2(20)非空好友在用户列表中的显示名字是否在线IsOnLineNumber(1)0或者10表示不在线,1表示在线头像imgNumber(3)非空表示头像IDQQQQNumber(6)非

34、空好友QQ分组IDgroupIDNumber(2)非空好友列表中分组ID3.4.1.7 错误:错误情况错误级别错误信息数据格式错误高填写数据格式错误,请重新完善信息密码与确认密码不一致高用户两次输入的密码不一致,请重新输入任意数据填写内容为空高信息未完全填写,请检查未完成的输入项注册可能出现的错误如表3.43.4.2用户登录概述:用户登录功能,使用已注册的账号进行登录,进入本系统进行聊天。3.4.2.1登录用例图,图3.11。图 3.113.4.2.2登录流程图,见3.12。图 3.123.4.2.3 功能前提条件:使用登录功能的前提条件是已经拥有本系统账号的用户,否则将无法正常使用本功能3.

35、4.2.4 登录功能概要 判断输入信息格式 服务器验证输入信息 跳转进入好友列表界面3.4.2.5 数据:用户信息数据库表及数据字典定义如下表。字段名数据名数据类型约束条件描述用户ID(QQ)idNumber(6)自动生成,主键,非空唯一标示用户,不可重复用户姓名(昵称)nameVarchar2(20)非空用户昵称用户邮箱emailVarchar2(20)非空注册时间timeVarchar2(30)非空系统自动生成当前时间是否在线IsOnlineNumber(2)非空,10代表不在线,1代表在线判断用户是否在线的唯一标识3.4.2.6 错误:错误情况错误级别错误信息用户名/密码为空高用户名/密

36、码为空,请检查信息完整性用户名与密码错误高用户名/密码错误,请检查是否开启键盘大小写锁定键并重新输入3.4.3 聊天管理 3.4.3.1 用户聊天模块用例图(图3.13)3.4.3.2用户聊天模块总体流程图(图3.14) 图3.143.4.3.3 功能前提条件:客户端必须处于WIFI联网状态,且服务器必须开启。使用登录功能的前提条件是已经拥有本系统账号的用户,否则将无法正常使用本功能。用户必须有好友且在线。3.4.3.4聊天功能概要 用户点击好友列表中的一个好友时,进入聊天界面 在输入框输入信息,点击发送按钮,发送信息 当用户不在线时,系统提示该用户不在线 好友回复消息是在该聊天页面显示 当有

37、好友发消息过来时,系统会通过Toast提示 当QQ在后台运行时有好友发送消息过来时,系统会通过广播的形势告诉用户 用户聊天后退出聊天界面后,聊天的好友被加入最近聊天界面(聊天信息保留)购物车。3.4.3.5 数据用户信息数据库表及数据字典定义如下表:字段名数据名数据类型约束条件描述用户ID(QQ)idNumber(6)自动生成,主键,非空唯一标示用户,不可重复用户姓名(昵称)nameVarchar2(20)非空用户昵称用户邮箱emailVarchar2(20)非空注册时间timeVarchar2(30)非空系统自动生成当前时间是否在线IsOnlineNumber(2)非空,10代表不在线,1代

38、表在线判断用户是否在线的唯一标识用户好友数据库表及数据字典定义如下表:字段名数据名数据类型约束条件描述IDIDNumber(6)主键,非空昵称(备注)nameVarchar2(20)非空好友在用户列表中的显示名字是否在线IsOnLineNumber(1)0或者10表示不在线,1表示在线头像imgNumber(3)非空表示头像IDQQQQNumber(6)非空好友QQ分组IDgroupIDNumber(2)非空好友列表中分组ID用户聊天信息表(_ID)客户端如下表:字段名数据名数据类型约束条件描述消息ID_idInteger主键记录消息条数好友姓名nametext非空好友头像imgtext非空发

39、送/接收消息时间datetext非空接/收消息isCometext非空1为接收消息消息内容messagetext非空3.4.3.6错误类别发生情况系统输出信息处理方法信息发送当信息输入框为空时,点击发送按钮输出”聊天信息不能为空”提示用户3.5接口设计3.5.1 用户接口基于Android聊天系统属于移动互联网聊天系统,用户只需要使用Android手机适当的操作和输入适当的数据,进过系统验证,就可以享受使用的功能。系统不需要额外的特殊命令和额外的客户端,通过客户端,输入正确地址就可以访问系统。3.5.2 外部接口3.5.2.1 软件接口服务器程序可使用oracle 提供的对SQL 的接口,进行

40、对数据库的所有访问。服务器程序上可使用oracle 的数据库对重要数据进行的备份,防止数据被破坏而无法恢复。在网络软件接口方面,使用SCOKET传输用户信息。3.5.2.2硬件接口在输入方面,通过使用Android手机登录,显示好友列表页面,点击进行聊天,通过socket向服务端传输数据。在输出方面:服务端接受客户端输出数据,通过判断客户端输出数据类型,进行相应的消息反馈。3.5.3内部接口基于Android聊天系统的子系统模块采用面向对象编程的思想,可以实现模块之间通过接口调用,减轻模块间的耦合性。模块间的数据传入是利用接口的调用,参数传递,接口返回值来达到传递数据的目的。模块内部是采用函数

41、调用,参数传递,返回值来实现模块内部的数据传递。3.6运行设计3.6.1运行模块组合客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器。并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块。对信息进行处理。产生相应的输出。服务器程序的接收网络数据模块必须始终处于活动状态.接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。3.6.2运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断

42、,选择正确的运行控制路径。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理,访问数据库后,将返回信息送回客户机,并等待确认。3.6.3运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,当网络负载量大时,对操作反应将受到很大的影响。所以将采用高速WIFI 网络,实现客户机与服务器之间的连接,以减少网络传输上的开销。其次是服务器的性能,这将影响对数据库访问时间即操作时间的长短,影响加大客户机操作的等待时间,所以必须使用高性能的服

43、务器,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。3.7系统数据结构设计3.7.1逻辑结构设计用户数据库表及数据字典定义:当用户申请时,用户信息将被保存进入表3.2中。表3.2用户数据库表字段名数据名数据类型约束条件描述用户ID(QQ)idNumber(6)自动生成,主键,非空唯一标示用户,不可重复用户姓名(昵称)nameVarchar2(20)非空用户昵称用户邮箱emailVarchar2(20)非空注册时间timeVarchar2(30)非空系统自动生成当前时间是否在线IsOnlineNumber(2)非空,0代表不在线,1代表在线判断用户是否在线的唯一标识用户好友数据库表及数据字典定义:当用户注册完成后,系统会自动建立一张表分配给该用户,该用户的好友信息则保存入表3.3中。表 3.3用户好友数据库表字段名数据名数据类型

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁