聊天软件系统与设计论文文档格式.docx

上传人:b****5 文档编号:16768901 上传时间:2022-11-25 格式:DOCX 页数:22 大小:287.06KB
下载 相关 举报
聊天软件系统与设计论文文档格式.docx_第1页
第1页 / 共22页
聊天软件系统与设计论文文档格式.docx_第2页
第2页 / 共22页
聊天软件系统与设计论文文档格式.docx_第3页
第3页 / 共22页
聊天软件系统与设计论文文档格式.docx_第4页
第4页 / 共22页
聊天软件系统与设计论文文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

聊天软件系统与设计论文文档格式.docx

《聊天软件系统与设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《聊天软件系统与设计论文文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

聊天软件系统与设计论文文档格式.docx

一、引言

(一)课题背景

随着互联网技术的发展,互联网应用越来越丰富。

互联网以其独特的传播方式吸引了大量用户,同时也给人们带来了许多便利,譬如可以借助于网络进行相互交流、信息传递等。

聊天工具作为互联网中运用最为广泛的通信工具之一,它可以让用户之间进行即时的交流和信息的传递。

聊天工具的出现可以说是基于互联网通信交流方式的历史性变革,它已经渐渐取代了原来效率低、费用高的如信件、电报的通信方式,以其快速、交互、简便的方式给用户的交流提供了简单、易用的信息平台,成为现今应用最为广泛的即时通信工具之一。

随着相关技术的日益发展,用户对功能的需求不断提高。

为了更好地服务于用户,聊天工具的功能也在不断地完善。

在未来的网络时代中,聊天工具将以即时通信为其基本特点,并与各种网络应用整合,同时随着无线网络的广泛应用,它将成为未来不可缺少的一种通信软件。

也随着计算机网络的迅速发展,对人类社会诸多领域产生了巨大的影响。

尤其是,随着信息时代的来临,人们之间愈来愈趋向于通过网络来交流和传递信息。

而聊天系统正是当前人们使用最多的中介。

在这个平台上,许多认识或不认识的人们彼此间能够随意的相互交流。

也随着互联网技术的飞速发展,基于网络的即时通信给人们带来诸多便利,也成为当今网络应用的主流。

聊天工具作为当今使用最为广泛的即时通信工具之一,可以方便人们随时随地进行在线交流,比如腾讯公司的QQ聊天软件。

(二)国内外主要聊天工具的发展状况

中国的大部分网络用户都拥有自己的QQ号码。

腾讯计算机系统有限公司成立于1998年11月。

1999年2月,腾讯自主开发了基于Internet的即时通信网络工具—腾讯即时通信TencentInstantMessenger,简称TIM或腾讯QQ。

腾讯QQ经过三年时间的发展,到2002年,其用户群成为中国最大的互联网注册用户群,注册用户达到1亿6000万,其中活跃用户总数超过5000万。

自此腾讯QQ成为中国最大的即时通信服务提供商。

腾讯公司是中国最早也是目前中国市场上最大的本土互联网即时通信软件开发商。

公司成立以来,一直以追求卓越的技术为导向,始终处于稳健、高速发展的状态。

腾讯QQ超过4.3亿的注册用户群体现了网络用户对腾讯QQ这一聊天工具的广泛应用。

在当今市场经济高速发展的前提下,腾讯QQ也在不断自我完善,渐渐地演变为一个人性化、市场化的多功能的聊天工具软件,它可以给网络聊天用户带来越来越多的人性化服务从原来单一的文字聊天过渡到集语音、视频、等多功能于一身的聊天软件。

ICQ和MSN是在国外比较盛行的即时聊天工具,腾讯QQ的开发对MSN和ICQ都进行了借鉴。

ICQ是ISeekYou(我找你)的缩写,最初是一家以色列公司开发出来的免费软件,中文名称目前可以称之为“网络呼叫器”,它在全球拥有超过4000万的用户。

事实上这种软件最主要的功能就是让用户知道网络上的朋友现在有没有上线(前提是对方也有安装ICQ),然后可以互送Messages(消息)交谈或是交换档案等等,比电子邮件更具即时性。

正如一位ICQ软件的最初程序设计员所说:

“当你登录因特网之后,你周围都是些自己熟悉的人,而且,你还可以和他们分享这种体验,这的确是一件令人激动的事情。

MSN是微软推出的聊天软件,是一套类似ICQ的网上即时通讯软件,它以最简单的方式为用户提供强有力的即时消息支持,同时能使MicrosoftOutlookExpress(R)和MSNHotmail(R)变得更简单易用。

MSNMessengerService还可使用户间的联机交谈变得更加轻松愉快,了解谁在联机以及查看用户何时联机并与其交换即时消息。

用户间可以进行单独的聊天,或者在同一个对话窗口中与多达四个的联系人进行聊天。

自动的输入指示器可让用户知道何时联系人正在输入答复,还可以进行全球电话呼叫——以非常低的费用呼叫世界的任何地方。

用户可以选择所要使用的电话服务提供商,从服务提供商的列表中选择最适合的提供商。

用交谈取代键盘输入,使用计算机上的话筒和扬声器就可以和位于世界各地的朋友进行交谈,甚至可以呼叫联系人将文本消息发送到联系人的移动电话和传呼机上(注:

此特性仅适用于美国和加拿大),而进入“聊天室”结识新朋友,或加入与名人聊天,此特性在所有地区都适用。

用户可以使用MSNMessenger与朋友交换照片、喜爱的音乐或任何其他文件,也可以监视新的电子邮件并查看用户有多少新的电子邮件。

MSNMessenger能在收到新的Hotmail邮件时通知用户,还能邀请联系人进行联机DirectPlay兼容游戏。

(三)本课题研究的意义

21世纪是信息的时代,随着互联网技术的发展,信息在传递方面也有了崭新的一面。

现今聊天软件成为信息传递最为广泛的应用工具,它发挥了即时性通信的特点,可以让用户在第一时间内得到信息的交流,它可以让用户进行文字聊天。

个性化的设计让每个用户都可以得心应手的使用,从而获得更多人的青睐。

Internet的出现连通了整个世界,而聊天软件的出现则连通了每一位网上的用户。

随着网络应用的发展之后,即时通信工具早已不再是简单的互联网通讯工具,它已经成为一个及互动交流、休闲娱乐、信息管理为一体的多元化互联网应用平台。

总之聊天软件设计的出现给人们彼此之间的沟通带来了无比的方便,人们可以通过聊天软件建立深刻的友情,让人们在互联网上更加充满活力与生机。

(四)本文的主要工作

随着用户对软件功能的需求不断提高,即时通讯的产品也不断地更新换代。

即时通讯的发展不论是在基础应用方面还是在扩展应用方面都有着飞跃。

为了满足用户的需求,腾讯公司的聊天软件QQ在内,许多即时性聊天工具都推出了语音聊天、视频聊天。

本设计的开发采用C/S结构,在基于JAVA开发环境下,使用java编程语言进行了开发。

本文首先论述国内外多功能聊天工具的发展情况和现今的发展方向,并对开发环境和开发语言进行了简单介绍;

进而提出了该多功能聊天软件的设计方案。

在本次多功能聊天软件的设计与开发中,本人主要负责设计开发登录模块、注册模块、添加好友模块、文字聊天模块,模块并对此聊天软件系统的登录模块、注册模块、添加好友模块、文字聊天模块,模块的设计与实现进行了较详细的说明和分析并结合自己在大学阶段所学的知识和参与实践经验,研究设计了基于java技术的与文字聊天工具,聊天工具分为服务器端和客户端两大模块。

图1为软件功能模块图:

图1软件功能模块图

聊天工具服务服务器端和客户端,以及图形化界面。

简单分析服务器端和客户端所要完成的任务。

服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器,由服务器端根据要求分发信息。

客户端与服务器端建立通信通道,向服务器发送信息。

客户端接受来自服务器的信息。

二、软件需求功能分析及开发工具

(一)需求分析

此聊天软件系统是模拟现今国内最为流行的即时性通讯工具QQ而设计的,能够实现添加好友、文字聊天、注册、登录等功能。

该聊天软件系统是采用C/S结构,即客户端与服务器端的结构体系。

基于对该聊天软件功能的分析,本文分别对客户端与服务器端进行了设计。

该聊天软件服务器端的功能是实现对客户端提交的用户信息进行处理。

服务器设计内容包含:

文字聊天、登录、注册、添加好友等功能。

“信息接收”是提供服务器接收客户端发送信息的功能;

“注册”是服务器端接收到用户的注册信息请求后,将请求信息写入到数据库,为用户的注册提供了相关服务;

“登录”是服务器通过验证登录信息来实现相关的服务;

“用户退出处理”是服务器在用户退出聊天系统后作出的相关处理工作;

“好友添加”是服务器对添加的好友信息进行处理等相关操作。

客户端即用户使用的应用程序端。

用户通过该聊天软件的客户端来实现网上聊天的相关功能:

注册、登录、添加好友、文字聊天等功能。

注册功能是提交用户相关信息以及获得一个属于自己登录该聊天软件系统的用户ID号;

登录功能是实现验证用户信息与合法使用该聊天软件系统的权限;

添加好友是实现用户之间好友添加的操作;

添加好友成功后,就可以与好友之间开始文字聊天等功能。

该服务器的运行环境:

①操作系统:

windows2000或windows2003;

②内存:

256M以上(最低为256M);

③CPU:

Intel(R)Celeron(R)2.0GHz或AMD1800+以上均可;

客户端的运行环境:

①操作系统:

windowsXP或windows2003等;

②内存:

③CPU:

第一次使用系统的用户通过填写个人信息来注册,服务器返回一个注册ID号给注册用户,用来登录。

已经注册的用户在登录界面填写完登录信息,通过服务器的验证后就可以进入客户端界面。

在线用户在添加好友时可以查看所要添加用户的列表信息。

当对要添加的好友发送请求添加的信息后,由该好友验证是否通过请求,同意后会向请求方发送同意添加的消息。

当请求方添加完成后,服务器端会把相关信息存入到好友表的数据库中。

完成以上操作以后,两人即可进行在线聊天。

(二)功能分析

本系统要实现的功能如下:

1.注册

服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户:

用户名,密码等,接受完毕后,便通过Jdbc-Odbc与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。

客户收到服务器返回的信息后,若注册成功则直接打开聊天窗口。

2.登录

在客户端,用户输入其用户名和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过Jdbc-Odbc读取数据库,然后与用户输入的信息比较,如果成功,便打开主程序窗口。

然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的表,得到好友的号码后,再在ICQ表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢量(Vector)用以存储好友的呢称和号码。

3.查找好友并加为好友

输入要查找的用户ID号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。

打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,点击后可将此人加为好友。

如果未找到,弹出一个信息提示框。

4.文字聊天

图2描述了主机A向主机B发送文字消息“helloeveryone”的完整过程。

主机A主机B

图2两个主机之间发送消息的过程

文字聊天的过程中,聊天内容的发送有Talk.exe进行发送,但是聊天内容的接收由主程序进行接收。

因此Talk.exe在实现时只需要确定发送信息的端口,不需要接收信息的端口。

(三)系统分析

1.可行性分析

(1)操作可行性:

只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在问题。

(2)技术可行性:

本系统采用Java语言,是基于CS架构的。

开发这个系统需要开发者对socket编程和javaSwing这两方面的技术比较熟。

(四)开发工具

1.开发环境(eclipse介绍)

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

[1]

(1)基本介绍

虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。

Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。

由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

[2]

这种平等和一致性并不仅限于Java开发工具。

尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;

例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。

Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。

(2)语言拓展

Eclipse是著名的跨平台的自由集成开发环境(IDE)。

最初主要用来Java语言开发,通过安装不同的插件Eclipse可以支持不同的计算机语言,比如C++和Python等开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse为框架开发自己的IDE。

[4]

Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。

IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。

Eclipse项目IBM发起,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。

Eclipse是一个开放源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。

随后还有包括Oracle在内的许多大公司也纷纷加入了该项目,Eclipse的目标是成为可进行任何语言开发的IDE集成者,使用者只需下载各种语言的插件即可。

[5]

(3)主要组成

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。

它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。

JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。

它提供建造块和构造并运行集成软件开发工具的基础。

EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始

基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。

[3]

(4)软件开发包

EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。

这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。

EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。

Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。

2.java的语言介绍及java开发过程

(1)平台无关性

平台无关性是指Java能运行于不同的平台。

Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。

使用Java编写的程序能在世界范围内共享。

Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。

(2)安全性

Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。

Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。

Java对程序提供了安全管理器,防止程序的非法访问。

(3)面向对象

Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。

类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。

程序员只需把主要精力用在类和接口的设计和应用上。

Java提供了众多的一般对象的类,通过继承即可使用父类的方法。

在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。

Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。

(4)分布式

Java建立在扩展TCP/IP网络平台上。

库函数提供了用HTTP和FTP协议传送和接受信息的方法。

这使得程序员使用网络上的文件和使用本机文件一样容易。

(5)健壮性

Java致力于检查程序在编译和运行时的错误。

类型检查帮助检查出许多开发早期出现的错误。

Java自己操纵内存减少了内存出错的可能性。

Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。

并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。

(6)解释型

我们知道C,C++等语言,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。

Java不像C或C++,它不针对CPU芯片进行编译,而是把程序编译成称为自字节码的一种“中间代码”。

字节码是很接近机器码的文件,可以在提供了java虚拟机(JVM)的任何系统上被解释执行。

(7)动态

java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分部环境中动态的维护程序及分类,而不像C++那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需要修改程序,重新编译。

(8)区别编辑

Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。

C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。

Java去掉了C++语言中的指针运算、结构、typedefs、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼。

而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能,如自动收集碎片。

Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。

Java处理数据方式和用对象接口处理对象数据方式一样。

Java与C和C++直接相关.Java继承了C的语法,Java的对象模型是从C++改编而来的.现代程序设计始于C,而后过渡到C++,则是JAVA.通过大量的继承,JAVA提供了一个强大的,可以更好地利用已有成果的,逻辑一致的程序设计环境,并且增加了在线环境需求的新功能.或许最重要的一点在于,由于它们的相似性,C,C++和JAVA为专业程序员定义了一个统一的概念架构.程序员从其中的一种语言转到另一种语言时,不会遇到太大的困难。

(9)应用编辑

与Internet我们知道,早先的www仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的革命。

Java并不是为Internet、www而设计的,它也可以用来编写独立的应用程序。

Java是一种面向对象语言,Java语言类似于C++语言,所以已熟练掌握C++语言的编程人员,再学习Java语言就容易得多!

Java程序需要编译,它被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。

实际上有两种Java程序:

一种Java应用程序是一个完整的程序,如Web浏览器。

另一种Java小应用程序是运行于Web浏览器中的一个程序。

Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。

你能从你的浏览器里直接播放声音,你还能播放页面里的动画,Java还能告诉你的浏览器怎样处理新的类型文件。

当我们能在2400baud线上传输视频图象时,HotJava将能显示这些视频。

(9)开发过程

a编写源文件,使用一个文本编辑器,如Edit或记事本,来编写源文件。

不可使用Word编辑器,因为它含有不可见字符。

将编好的源文件保存起来,源文件的扩展名必须是.java。

 

b编译Java源文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1