基于java的多功能聊天室.doc

上传人:h**** 文档编号:101756 上传时间:2018-07-06 格式:DOC 页数:121 大小:662KB
下载 相关 举报
基于java的多功能聊天室.doc_第1页
第1页 / 共121页
基于java的多功能聊天室.doc_第2页
第2页 / 共121页
基于java的多功能聊天室.doc_第3页
第3页 / 共121页
基于java的多功能聊天室.doc_第4页
第4页 / 共121页
基于java的多功能聊天室.doc_第5页
第5页 / 共121页
点击查看更多>>
资源描述

1、 辽 宁 科 技 大 学 新技术专题报告 设计题目: 基于 java 的多功能聊天室 学院、系: 电子与信息工程学院 专业班级: 计算机科学与技术 09.1 班 学生姓名: 张栋 指导教师: 龙艳彬、滕薇 成 绩: 2012 年 06 月 30 日 2 第一章 绪论 .3 1.1 聊天室系统的基本概念 .3 1.2 开发聊天室系统的意义 .3 1.3 系统开发环境与工具的选择 .3 1.3.1 Java 语言 .3 1.3.2 本课题开发环境的选择 .4 1.3.3 本课题开发工具的选择 .5 1.3.4 本课题开发技术的选择 .6 第二章 需求分析 .7 2.1 聊天室系统作为网络通讯工具的

2、作用 .7 2.2 现行聊天室系统的功能需求 .7 2.2.1 用户登入 .7 2.2.2 聊天记录 .8 2.2.4 用户退出 .8 2.3 质量性能需求 .9 2.3.1 容错性需求 .9 2.3.2 稳定性需求 .9 2.3.3 软件设计可靠性 .9 2.3.4 安全性 .9 2.3.5 扩展性 .9 2.3.6 易用性 .9 第三章 聊天室系统的总体设计 . 10 3.1 聊天室结构分析 . 10 第四章 各模块功能及主要模块的流程图 . 11 4.1 各模块功能简介 . 11 第五章 系统测试 . 23 5.1 测试举例 . 23 5.1.1 测试程序登录界面 . 23 5.1.2

3、测试程序主界面 . 23 5.1.3 测试程序退出 . 23 5.2 测试项目 . 23 5.2.2 组合测试 . 24 5.3 测试方法 . 24 第六章 结 论 . 29 致 谢 . 30 参考文献 . 31 3 第一章 绪论 1.1 聊天室系统的基本概念 聊天室 系统 是一个通过国际互联信息网络进行多人通讯的一个系统。 该系统在一定网络通讯及高级语言程序设计和 JSP 应用程序设计的基础上,利用计算机通讯原理,形成一个聊天室平台,使得用户在进入这个聊天室系统平台的同时,可以通过网络在线与距离遥远的其他一位或多位用户进行信息交流。 聊天室主要分为 WebChat、 BBSChat 两种。

4、BBSChat 是基于 Telnet 的 Tcp 协议,是BBS的附设功能,需要客户端 Telnet 程序。 WebChat 则 采用浏览器方式,实际上是一个 系统收集处理后分发给特定用户。 WebChat 一般采用 Server Push 或 Client Pull 技术。两种技术的区别在于使用不同的方式将数据分发给用户, Server Push 是由服务器将数据以多重 MIME编码, 发送给( push)使用者端,目前较少网站使用这种方式。 Client Pull 则是用户从服务器 接收 (pull)所要的数据 。 1.2 开发聊天室系统的意义 在这个信息极其发达的时代,我们目前可以用来进

5、行信息交流的方法也有非常多,比如电报、电话、电子邮件等通讯手段,但是 这些或者不方便或者有局限性或者有费用的问题,比如电话就是属于费用比较高的一种方式,而且一般情况下不能进行多人会谈,只能 2方通话,那么一个需要几个人一起讨论的会议就不能举行,一般情况下都需要花费大量的人力物力把这几个人聚集到同一地点才能进行讨论。非但费时费力费钱而且效果也不一定很好。电子邮件则不是一种及时联系的手段,需要一定时间才能到达,只能作为一种辅助交流的手段。但是,聊天室这个就能很好的解决这个问题,我们不需要聚集在同一地点,各自在不同的地点就可以在聊天室中发言,大家互相讨论。而且好的聊天室还有各种表情符 号等可以加强我

6、们的表达。而且费用低廉,信息交流速度快,只有这样,才能在这个涌动的社会中加强联系,创造出更多的财富。 1.3 系统开发环境与工具的选择 1.3.1 Java 语言 4 Java 是由 Sun Microsystems 公司于 1995 年 5月推出的 Java程序设计语言和 Java平台的总称。用 Java 实现的 Hot Java 浏览器(支持 Java applet)显示了 Java 跨平台、动态的 Web、 Internet 计算等一系列的魅力。从此 Java 被广泛接受并推动了 Web 的迅速发展。 Java语言的语法与 C语言和 C+语言很接近,使得大多数程序员很容易学习和使用。另一

7、方面, Java 丢弃了 C+很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动强制类型转换。而且, Java 语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。 Java 语言是一个面向对象的、提供类和接口以及继承的原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制。 Java 语言支持 Internet 应用的开发,在基本的 Java应用编程接口中有一个网络应用编程接口,它提供了用于网络应 用编程的类库,包括URL、 URLConnection、 Socket(实现客户端的套接字)、 ServerSock

8、et(实现服务器端的套接字)等。 Java 的强制型机制、异常处理、废料的自动收集等都是 Java 程序健壮性的重要保证。 Java 通常被用在网络环境中,为此, Java 提供了一个安全机制以防恶意代码的攻击。 Java 语言的优良特性使得 Java 应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。 Java 对对象技术的全面支持和 Java 平台内嵌的 API 能缩短应用系统的开发时间并降低成本。 Java 编译一次,处 处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。 丰富的类库为 Java 提供了大量的类以满足网络化、多线程、面向对象系

9、统的需要。同时 Java 程序可以获取网络上节点的图像、声音、 HTML 文档及文本资源。 1.3.2 本课题开发环境的选择 在 进行开发之前 ,首先决定的第一个问题就是 ,该使用什么开发环境来编写该系统 ?以目前常用的开发语言来讲有 C/C+、 .NET 技术, JAVA、 Visual Basic 几种。还有Eclipse,、 Borland JBuilder 等,这些并不是程 序语言,而是程序语言在建构程序时的“集成开发工具”,不过它们在开发设计的过程中也占有相当重要的角色,因为选用正确的集成开发工具,可以加速程序设计的进行、测试与排错,因而对整体进度具有决定性的影响。 基于以下几点,选

10、择 JAVA语言开发技术。 5 1) 就执行平台而言,必须考虑的问题之一是用户可能使用的操作系统。用户可能使用的是 Windows Linux。 JAVA 语言具有平台无关性,可以不需要任何修改就可以运行在支持 JAVA 的任何计算机上。 2) JAVA 的 Swing 组件开发技术可以开发丰富的图形界面,并且 Swing API类提供了丰富的外部接口和方法,可以方便实现系统功能。 3) 就项目开发而言,纯粹的面向对象,加上数量巨大的类所提供的方法(函数)库的支持,使得利用 Java开发各种应用程序,可以说是易如反掌。此外,在程序除错、修改、升级和增加新功能等方面,因其面向对象的特性,使得这些

11、维护也变得非常容易。 4) Java 支持内在的多线程运行,提供分布式的并发机制,运行效率高。 5) 异常处理,为了使 Java 程式更稳定、更安全, Java引入了异常处理机制。能够在程序中产生异常情况的地方,执行相对应的处理,不至于因突发或意外的错误造成执行中断或是 死机。通过这种异常处理,不仅能够清晰地掌握整个程序执行的流程,也使得程序的设计更为严谨。 6) 高性能, Java 可以在运行时直接将目标代码翻译成机器指令。 Sun 用直接解释器一秒钟内可调用 300,000 个过程。翻译目标代码的速度与 C/C+的性能没什么区别。 7) 网络功能, Java 可以说是借助因特网而重获新生的

12、,自然具备编写网络功能的程序。不论是一般因特网局域网的程序,如 Socket、 Email、基于 Web服务器的 Servlet、JSP程序,甚至连分布式网络程序,如 CORBA、 RMI等的支持也是非常丰富的,使用起来也 很方便。 8) 源回收处理 ,Garbage Collection 是由 JVM 对内存实行动态管理的。程序需要多少内存、哪些程序的内存已经不使用了,需要释放归还给系统,这些烦琐危险的操作全部交由 JVM 去管理。让我们能够更专心地编写程序,而不需要担心内存的问题。内存的统一管理,对于跨平台也有相当大的帮助。 1.3.3 本课题开发工具的选择 Java 的开发工具很多,而且

13、各有优缺点, Eclipse 是一个开放可扩展的集成开发环境 (IDE)。它不仅可以用于 Java 的开发,通过开发插件,它可以构建其他的开发工具。Eclipse 是开放 源代码的项目,并可以免费下载。支持最新的 Java标准,并且缩短了开发周期。一直以其友好的集成开发环境在业界受到广泛的赞誉,这也是 Eclipse 一直是广大程序员最喜爱的 Java开发工具的原因之一。 6 Eclipse 的可视化集成开发环境包括文本编辑器、工程创建工具、对象浏览器和调试器等。用户可以在集成开发环境中创建工程和打开工程,建立、打开和编辑文件,并可以编译、运行和调试应用程序。可以说在 Eclipse 集成开发

14、环境中开发 Java 程序,快速而且高效。其主要特点如下: 1) 开放的可扩展的 IDE 2) 成功的底层图形界面 API 3) 强大的插件加载功能 4) 可以通过导入一些 CVS 相关的插件来实现版本管理的便易性 1.3.4 本课题开发技术的选择 本课题选择了 java Socket 技术开发网络聊天室。什么是 socket? socket 是一种用于表达两台机器之间连接“终端”的软件抽象。对于一个给定的连接,在每台机器上都有一个 socket,你可以想象一个虚拟的 “电缆 “工作在两台机器之间,“电缆”插在两台机器的 socket 上。当然,物理硬件和两台机器之间的“电缆”这些连接装置都是

15、未知的,抽象的所有目的就是为了让我们不必了解更多的细节。简单的说,一 台计算机上的 socket 同另一台计算机通话创建一个通信信道,程序员可以用这个信道在两台机器之间发送数据。当你发送数据 TCP/IP 协议栈的每一层都给你的数据里添加适当的报头。有个好消息是 java 语言隐藏了所有这些细节,这也是为什么他们有时被叫做“流socket”。思考一下 socket 像电话听筒一样在电话的任意一端你和我通过一个专门的信道来进行通话和接听。会话将一直进行下去直到我们决定挂断电话(除非我们使用蜂窝电话),除非我们挂断电话,否则我们各自的电话线路都会占线。如果你需要在两台机器之间进行通讯而不使用 高级

16、机制像 ORBs(以及 CORBA, RMI, IIOP 等等), socket较适合你。 Socket 的底层机制则相当棘手。 1.4 本次新技术专题设计所要完成的主要工作 通过所学知识,根据网络聊天室系统的发展动态,结合自己个人的兴趣爱好,建立一个功能丰富,操作简便快捷的通用网络聊天室系统。 本文的主要安排了对聊天室技术的一些相关介绍,比如 java Socket 技术。接着是关于对聊天室系统的分析和设计,通过对聊天室的结构的分析来设计聊天室系统,并根据自己的兴趣和想法来丰富聊天室的功能。 7 第二章 需求分析 2.1 聊天室系统作为网络通讯工具的作用 聊天室是提供给网民一个交友与娱乐的场

17、所,在聊天室里网民可选择 自己 的聊天对象,与其进行对话交流,是网民之间相互沟通、交流情感的最佳方式之一。 用户可以通过网络在线与距离遥远的其他一位或多位用户进行信息交流。 在聊天室里网民可选择自己的聊天对象,进行对话交流。既可以一对一,又可以一对多,还可以形成小组进行多对多讨论 ,方便网民在线私聊与群聊。是现行网络最流行、最被广泛应用的通讯工具 。 2.2 现行聊天室系统的功能需求 聊天室系统虽然满足了人们的在线通讯,但是随着聊天室被广 泛应用,人们对于聊天的要求也越来越高,单纯的聊天已不能满足人们的需要,人们更需要多功能的聊天室系统,来丰富聊天环境。 聊天室系统功能具体需求包括: 1) 一

18、个聊天室里所有的人都可以互相密谈。 2) 可以通过用鼠标点击页面上出现的或者人名列表的人名来选择人名。 3) 可以察看进入房间以后的所有聊天纪录。 4) 可以根据您的自己喜好来设置背景颜色和画面,使您更加舒适的聊天。 2.2.1 用户登入 需求描述:用户填写登入 ID 和密码,经服务器验证成功后进入聊天室主界面。 执行者:用户 前置条件:用户成功注册或已经拥有一个合法的 ID号 后 置条件:无 正常过程: 1) 先启动服务器端 2) 客户端向服务端请求连接,并发送登录信息。 3) 当客户端输入的名字不为空的时候,返回客户端一个响应,提示登录成功,弹8 出聊天室主界面。 2.2.2 聊天记录 需

19、求描述:用户可以查询聊天的历史纪录,包括公聊记录和私聊记录。 执行者:用户 前置条件:用户正确登入后 后置条件:无 正常过程: 1) 发送、接收信息的同时将信息保存在本地文件中 2) 信息发送框中可以查询历史聊天记录 3) 从本地文件中读取信息,并显示在记录显示匡中 异常过程(可选): 服务端异常导致客户端退出,客户端提示服务器异常。 客户端读取信息时目标文件不存在。 2.2.3显示当前登录过聊天室的访客姓名 需求描述:在局域网中的用户可以清晰的看到当前在聊天室的聊友 执行者:有服务器执行 前置条件:用户正确登陆后 后置条件:无 正常过程: 当用户正确登录聊天室以后,系统会自动显示当前在聊天室

20、中的人的姓名 2.2.4 用户退出 需求描述:用户在正常情况下退出聊天室 执行者:用户 前置条件:用户成功登录聊天室 后置条件:无 正常过程: 1) 向服务器发送用户登出消息 9 2) 服务器进行用户退出的数据处理 3) 服务器向聊天室其他用户发送登出消息 刷新其他在线 用户的用户列表信息 2.3 质量性能需求 2.3.1 容错性需求 当出现代码异常时,出现正确的提示,不会影响整个系统的运行。用户之间信息传输不会因为数据封装问题出现丢失或乱码。因用户的误操作产生的异常应做出及时的处理或信息提示。 2.3.2 稳定性需求 软件应正常完成所有功能需求。服务器端应长时间运行无故障,故障修复时间一般控

21、制在 3小时内,除非出现恶性攻击、病毒破坏、系统资源不足、硬件故障、操作系统或数据库系统崩溃网络中断等情况,要求系统连续运行一周,不允许出现内存泄露。 要求系统可以承受告警风暴和大数 据量的冲击,不出现内存溢出等现象。 2.3.3 软件设计可靠性 要确定合适的模块粒度,各模块之间要求松耦合,高内聚;从而使整个系统的可靠性和稳定性得到提高,并且便于系统维护,和新模块的添加。 2.3.4 安全性 安全性是防止网络方面的攻击。 2.3.5 扩展性 系统建成后,应在现行系统上不需要做大的改动或不影响整个系统结构,就可以增加功能模块,这就必须在系统设计时留有接口,使其具有可扩展性和维护性。 2.3.6

22、易用性 系统操作的界面必须简洁、操作方便易用、设计合理 。第三章 聊天室系统的 总体设计 3.1 聊天室结构分析 本聊天室采用的是当前流行的 Browser/Server(浏览器 /服务器 )结构, B/S 结构是随着 Internet 技术的兴起,对 C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓 3-tier 结构。 B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。 本聊天室主要由注册界面、登录界面、聊天室界面、私聊 界面、查看聊天内容界面、功能设置界面等构成。整个设计简洁明了、实用,使用简单。 图 1 客户端结构 图 2 服务器结构图 客户端 注册 登录 主界面 聊天 服务器端 系统服务 系统配置 用户管理 在线用户 日志管理

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

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。