聊天系统_需求分析[1]

上传人:第*** 文档编号:34282801 上传时间:2018-02-22 格式:DOC 页数:36 大小:219KB
返回 下载 相关 举报
聊天系统_需求分析[1]_第1页
第1页 / 共36页
聊天系统_需求分析[1]_第2页
第2页 / 共36页
聊天系统_需求分析[1]_第3页
第3页 / 共36页
聊天系统_需求分析[1]_第4页
第4页 / 共36页
聊天系统_需求分析[1]_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《聊天系统_需求分析[1]》由会员分享,可在线阅读,更多相关《聊天系统_需求分析[1](36页珍藏版)》请在金锄头文库上搜索。

1、目录系统分析与设计 .02.1 需求分析 .102.2 系统总体框架 .122.2.1 总体设计 .122.2.2 功能模块 .132.3 系统详细设计 .242.3.1 多线程设计 .242.3.2 数据库设计 .252.3.3 服务器的设计 .252.3.4 客户端的设计 .262.3.5 消息通信的设计 .26 绪论 1.1 选题背景1.1.1 即时消息系统的研究现状 即时消息系统 1(Instant Messenger,IM)是一种在后 PC 时代兴起的,以 Internet 网络为基础的,允许交互双方即时地传送文字、语音、视频等信息,能够跟踪网络用户在线状态的网络应用软件。即时消息系

2、统产生有着深刻的社会原因:人们都有渴望社交,获得社会尊重、实现自我的需求,这正是即时消息软件风行的原动力,而物质文明的日益发达所带来副作用,又使得人们习惯与周围的人保持距离,以致人们更愿意对陌生人敞开心扉,在网络中可以跨越年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时消息系统的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。国内最为流行的即时消息软件是 OICQ(简称 QQ) 。它以良好的中文界面和不断增强的功能形成了一定的 QQ 网络文化。该软件是由腾讯公司于 1999 年 2 月自主开发的基于 Internet 的即 时消息系统。腾讯

3、 QQ 目前已成为中国最主要的即时消息服务网络软件。作为一种即时消息工具,QQ 支持显示好友在线、即时传送文字、语音和文件等功能。 QQ 还与无线寻呼、GSM 短信息、IP 电话网互联,为用户提供互联网短信及信息增值服务。腾讯 QQ 开发和拓展统一、高速、丰富的互联网应用平台、在线广告业务、移动通信业务、ISP 及 IP 电话合作业务、企业商用即时消息服务、在线客户支持及在线呼叫业务。 1.1.2 即时消息系统的发展趋势 21 世纪将是网络化、信息化的世纪,信息的融合已经成为社会发展的主流方向 2。即时消息系统 将不断与信息交流领域的系统相互集成和渗透,扩展其自己的功能和应用范围,满足未来话音

4、,数据和视频的多媒体应用需要,使即时消息以更丰富的接入方法,更高的服务质量,更友好的面貌呈现在世人的面前。 从功能角度来看,即时消息系统向支持全媒体方向发展,随着多媒体技术在网络应用中的发展,即时消息系统承载的媒体,不再局限于原来的文字、语音和文件的信息交换,信息载体扩展到图形、图像和流媒体等多媒体业务上。目前 ICQ 和 QQ预设了部分简单的表情图像, 通过传输图像代码来传递表情图像,可以被视为即时消息开发商开发支持图形、图像为载体的即时消息软件的开端。 从应用范围角度来看,即时消息系统集中在 Internet 个人用户之间的信息交流应用,随着网络技术应用的发展,即时消息系统应用范围向园区化

5、、集团化拓展,应用领域突破个人,而用于远程教学、远程医疗、远程演示、网络会议等领域。1.1.3 论文研究的主要内容本论文的主要工作是利用编程技术建立一基于 J2SE 的即时消息系统,主要实现网络即时聊天功能。在建立这个系统的过程中,我将会研究 JAVA 语言,多 线程编程、网络编程以及数据据等方面的知识。 在我的论文中,我将会研究即时消息的发展,并针对不同即时消息工具之间不能互通的弊端,介绍即时消息系统中的应用。为了更好地实现系统,我们还要研究 J2SE 技术。在论文中介绍了 J2SE 的体系 结构、系统设计以及 J2SE 的开发环境。熟悉了开发平台,我们还要了解 基于 TCP/IP 的 So

6、cket 网络连接的基础知识,包括网络通信系统架构及 Socket 通信在该系统中的应用等内容。在论文中将着重介绍网络即时消息系统的设计和实现,包括界面及各个功能模块的设计,给出了相应的流程图并对其功能做了详细描述,最终实现了客户端之间的即时聊天通信功能。最后是结尾部分,对本文做了总结并针对该系统提出了一些不足和今后需要改进的地方。1.2 技术背景1.2.1 C/S 模型在网络连接模式中,除对等网外,还有另一种形式的网络,即客户机/服务器网 3,Client/Server。在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提

7、供网络必须的资源。这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用 户” (user)而不是“ 客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为 client(这种情况下也可把 client 译为“客户机” ),把运行服务器程序的机器称为 server。所以有时要根据上下文判断 client与 server 是指软件还是硬件。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是 Client/Server 形式的两

8、层结构,由于现在的软件应用系统正在向分布式的 Web 应 用发展,Web 和 Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。1.2.2 TCP/IP 协议1. IP网际协议 IP 是 TCP/IP 的心脏,也是网络层中最重要的协议 4。 IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层-TCP 或 UDP 层 ;相反,IP 层也把从 TCP 或 UDP 层接收来的数据包传送到

9、更低层。IP 数据包是不可靠的,因 为 IP 并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP 数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。 高层的 TCP 和 UDP 服务在接收数据包时,通常假设包中的源地址是有效的。也可以这样说,IP 地址形成了许多服务的认证基础,这些服务相信数据包是从一个有效的主机发送来的。IP 确 认包含一个 选项 ,叫作 IP source routing,可以用来指定一条源地址和目的地址之间的直接路径。对于一些 TCP 和 UDP 的服务来 说,使用了 该选项的 IP 包好像是从路径上的最后一个系统传递过来的,而不是来自

10、于它的真实地点。这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的连接。那么,许多依靠 IP 源地址做确认的服务将产生问题并且会被非法入侵。 2. TCP如果 IP 数据包中有已经封好的 TCP 数据包 5,那么 IP 将把它们向 上 传送到 TCP 层。TCP 将包排序并进行错误检查,同时实现虚电路间的连接。TCP 数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序。应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动 程序和

11、物理介质,最后到接收方。 面向连接的服务(例如 Telnet、FTP、rlogin、X Windows 和SMTP)需要高度的可靠性,所以它们使用了 TCP。DNS 在某些情况下使用 TCP(发 送和接收域名数据库),但使用 UDP 传送有关单个主机的信息。 3. UDPUDP 与 TCP 位于同一 层,但它不管数据包的顺序、错误或重发。因此,UDP 不被 应用于那些使用虚电路的面向连接的服务,UDP 主要用于那些面向查询- 应答的服务,例如 NFS。相对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使用 UDP 的服务包括 NTP(网络时间协议)和 DNS(DNS 也使用 TC

12、P)。 欺骗 UDP 包比欺 骗 TCP 包更容易,因为 UDP 没有建立初始化连接(也可以称为握手)(因为在两个系统间没有虚电路),也就是说,与 UDP 相关的服务面临着更大的危险。 4. TCP 与 UDP 的端口结构TCP 和 UDP 服务通常有一个客 户/ 服务器的关系,例如,一个 Telnet 服务进 程开始在系统上处于空闲状态,等待着连接。用户使用 Telnet 客 户程序与服务进程建立一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。 两个系统间的多重 Telnet 连接是如何相互确认并协调一

13、致呢?TCP 或 UDP 连接唯一地使用每个信息中的如下四项进行确认: 源 IP 地址: 发送包的 IP 地址; 目的 IP 地址: 接收包的 IP 地址; 源端口: 源系统上的连接的端口; 目的端口: 目的系统上的连接的端口。 端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。一个端口对应一个 16 比特的数。服务进程通常使用一个固定的端口,例如,SMTP 使用 25、Xwindows 使用 6000。这些端口号是广为人知的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯1.2.3 编程技术1.JAVA 语言Java6是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java的魅力:跨平台、动态的 Web、Internet 计算。从此,Java 被广泛接受并推动了 Web 的迅速发展,常用的浏览器现在均支持 Java applet。另一方面,Jav

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

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号