当前位置:文档之家› JAVA聊天室课程设计报告(含源代码压缩文件)

JAVA聊天室课程设计报告(含源代码压缩文件)

南京晓庄学院《JAVA程序设计》课程设计报告Java聊天室的设计与实现题目姓名:戴佳伟学号:14552019班级:14软件工程3班指导教王峥师:完成时间2016.10.7成绩:信息工程学院2016年6月目录1引言.............................. . (3)1.1java 聊天室开发背景.................................... (3)1.1java 聊天室开发的目的和意义........ (3)1.2完成的主要工作.................... (4)2需求分析和总体设计................ (5)2.1需求分析与设计思路................ (5)2.1.1 关键技术说明.................................... . (5)2.1.2 需求分析............................................62.1.3 java 聊天室设计方案与思路 (6)2.1.4 java 聊天室目录结构说明....... (7)2.2java 聊天室功能结构.................................... (8)3详细设计.......................... (10)3.1java 聊天室模块实现.................................... (10)3.1.1 XX 模块实现.......................................104java 聊天室运行结果.................................... (13)5课程设计总结...................... .. (15)Java聊天室的设计与实现1引言1.1 Java聊天室开发背景在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ MSN网络聊天时一类的聊天系统的发展日新月异,因此产生了制作一个有简单聊天功能的网络聊天程序;而且通过制作该程序还能更好的学习网络软件编程知识。

本程序设计简单可以实现在同一局域网的聊天,程序可以自动扫描已经上线的用户,上线用户可在同一聊天界面中实现群聊。

如果需要与其中的用户进行交谈,则只需双击右侧用户列表,读取对方IP地址,便可在下面的输入框内输入信息进行发送,实现一对一私聊功能。

1.1 Java聊天室开发的目的和意义目的:(1)理解进程消息通信的概念,如何实现两个创建进程之间的数据传递。

(2)理解进程共享变量的进程通信。

(3)熟悉并掌握java语言的代码编写(4)熟练使用开发工具Eclipse(5)实现聊天室的一些基本功能意义:(1)实现局域网中的信息交互,界面尽量人性化且美观,让用户便于接受(2)用户及时获取自己想要的信息、促进交谈(3)异常处理,对于用户错误的操作使用程序会有提示消息(4)前期仅实现其基本雏形,后期可扩性很高,可实现统计在线人数,发送图片,界面美化,用户登陆注册信息的采集,连接到数据库etc.(5 )后期可便于网站自身的广告宣传与商品推广因所学知识和能力的局限性,仅能完成有限范围内的雏形生成与功能实现,后期的功能实现需要进一步的深入学习才能使本课程设计日益完善。

1.2 完成的主要工作(1)需求分析与总体设计、详细设计、代码分析(2)实现程序所能运行的功能(3)选择Window 系统,并选择该操作系统中一种进程通信的方式。

4)运用Eclipse 开发工具和java 语言实现该应用程序。

2需求分析和总体设计2.1需求分析与设计思路 2.1.1关键技术说明程序开发环境与运行环境介绍:JDK(Java Development kit)是SUN 公司提供的一套 Java 开发环境,通常称之为它主要包括了一些常用的JDK 工具、执行时需要的函数库、与C 连接时所需的文件及一些 Java 应用程序范例等。

是一个编写Java 的Applet 小程序和应用程序的程序开发环境。

JDK 是整个Java 的核心,包括了 Java运行环境(Java Runtime Envirnment ),一些Java 工具和Java 的核心类库(Java API )。

不论什么 Java 应用服务器实质都是内置了某个版本的JDK 。

Java 语言介绍:Java 是一门面向对象编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继 承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。

Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。

Java 可以编写桌面应用程序、Web 应用程序、分布式系统和嵌入式系统应用程序等。

Java 提供了简单的类机制和动态的构架模型。

对象中封装了它的状态变量和方法很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型 通过继承和重载机制子类可以使用或重新定义父类或超类所提供的一方法 种动态的解决方案。

Java 是一种完全面向对象的程序设计语一言型外的其它类都是对象它不再支持全局变量。

在序 Java 程序在运行时必须先创建一个类的实例Java 同样支持继承特性Java 的类可以从其它类中继承行为 但Java 只支持类的单重继承即每个类只能从一个类中继承。

Java 支持界面界面允许程序员定义方法但又不立即实现利用界面可以得到多重继承的许多优点而又没有多重继承的问题。

从而既实现了代码的复用 又提供了一它除了数组、布尔和字符二个基本数据类Java 中如果不创建新类就无法创建程然后才能提交运行。

一个类可以实现多个界面编程工具介绍:Eclipse :一个开放源代码的、基于Java的可扩展开发平台Eclipse语言发展:Eclipse是著名的跨平台的自由集成开发环境(IDE)。

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

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

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

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

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

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

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

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

2.1.1 需求分析随着网络和IT技术的快速发展以及日新月异的更新换代,不断渗透到人们的日常生活。

如今In ternet已经成为于人们生活息息相关的一部分,也是人们获取有用信息和促进彼此之间相互交流的便捷重要的途径之一。

同时,日益增多的机构和企业组织开始利用网络资源传递、发布、收集和管理信息,这对网络进行信息交互这种活动是一次很大的机遇与挑战,从而使网络的经营方式充满了活力。

用户需求主要功能分析:(1)聊天交谈功能:用户获取信息的有效途径(2)当前用户显示功能:用户明确自身的登陆状态(3)文本框显示聊天功能:便于用户浏览信息(4)发送消息框显示功能:存放用户输入想要发送的信息(5)发送按钮功能:鼠标点击 -- 发送用户输入消息框的信息(6)用户头像显示功能:个性化用户使用2.1.2 Java聊天室设计方案与思路1•设计方案:(1)把自身本机的IP地址发送给所有正在打开这个聊天室程序的人(2)其他人获取了这个IP地址后,会监听这个地址(3)如果有人发送了消息,所有的人都会接收并查看到(4)设计登录程序,使其显示登录的ip地址端口号,以及用户昵称,通过登录按钮可以调用客户端程序,实现聊天功能2..设计思路聊天系统的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而聊天室只要提供满足访客双方直接实时聊天即可。

因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:在In ternet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。

因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。

1 .首先通过继承JFrame类构造服务器界面。

2 .设计客户端程序使其能够完成正常的通信功能,并且可以更改背景颜色,设置字体颜色。

3.设计侦听程序,使其显示登录的ip地址端口号,以及用户昵称,通过侦听按钮可以调用客户端程序,实现聊天功能。

2.1.3 Java聊天室目录结构说明对系统包结构、文件结构列表说明,如表2-1、2-2 所示。

2.2 Java聊天室功能结构对系统实现功能进行说明,分析系统功能结构,画出系统功能结构图,如图2-1所示。

总体功能:(1)实现在同一局域网的聊天(2)程序可以自动扫描已经上线的用户(3)需要与其中的用户进行交谈,则只需双击右侧用户列表,输入对方IP地址,便可在下面的输入框内输入信息进行发送。

(4)添加了用户头像(5)调整了界面窗口(6) Enter键实现发送消息功能分段功能:1、服务器端功能描述:启动服务器端。

2、客户端功能描述:启动客户端;显示登录昵称:显示系统时间:显示聊天记录:发送信息(实现按回车键发送消息);退出聊天室。

功能实现:1、采用套接字实现网络中的数据传输2、尽量使用某个或某些应用层的协议实现系统的部分功能3、系统设计规范合理,操作流程方便简单详细设计3.1 Java聊天室模块实现3.1.1聊天功能模块实现实现原理启动该程序时运行如下过程:(1)把自身本机的IP地址发送给所有正在打开这个聊天室程序的人(2)其他人获取了这个IP地址后,会监听这个地址(3)如果有人发送了消息,所有的人都会接收并查看到二、分层结构及调用关系说明(1 )从ma in ()函数入口开始分析,实例化ChatLi neFrame这个类并执行类repai nt方法,重绘事件,刷新弹出的窗口的内容(2)在实例化ChatLineFrame这个类过程中,首先定义ChatLineFrame类继承JFrame,声明成员变量和框架布局内容,然后构造方法,实例化该类的时候,会自动执行函数内的内容。

相关主题