JAVA程序设计Word文档格式.docx

上传人:b****2 文档编号:13803665 上传时间:2022-10-13 格式:DOCX 页数:16 大小:299.47KB
下载 相关 举报
JAVA程序设计Word文档格式.docx_第1页
第1页 / 共16页
JAVA程序设计Word文档格式.docx_第2页
第2页 / 共16页
JAVA程序设计Word文档格式.docx_第3页
第3页 / 共16页
JAVA程序设计Word文档格式.docx_第4页
第4页 / 共16页
JAVA程序设计Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

JAVA程序设计Word文档格式.docx

《JAVA程序设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

JAVA程序设计Word文档格式.docx

成绩:

教师签名:

职称:

年月日

系审查意见:

审查成绩:

审查人签名:

系签章:

教务处终审意见:

终审成绩:

终审人签名:

公章:

填表日期:

2011年1月5日

目录

摘要4

第一章开发工具及相关技术介绍5

1.1Socket简介5

1.2模型介绍6

1.3用Java实现Socket模型7

第二章系统需求分析8

2.1系统任务描述8

2.2系统功能分析9

1.系统的功能需求9

2.系统数据流图10

3.系统可行性分析11

第三章系统设计12

3.1系统总体结构设计13

第四章编码与实现16

4.1服务器界面模块设计16

4.2登录模块设计18

4.3聊天室模块20

第五章开发总结24

参考文献25

摘要

本实训项目是在《Java语言程序设计》课程上设置的,是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节。

本实训的目的和任务,是通过设计网络聊天室应用程序,使学生深入掌握和综合应用JAVA网络编程、线程、GUI、数据库等所学知识。

完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力,并通过项目小组的方式,提高学生协作能力和沟通能力。

人们日常生活中越来越多地使用聊天室这项应用来为自己的工作和学习服务。

一个操作简单,界面友好、运行稳定的聊天室对于小型局域网的用户可以起到很好的交流作用。

所谓聊天室就是一个可以让许多用户同时互相通信的网上园地,个人用户可以通过聊天室将自己融入整个主流社会中。

关键字:

Java语言、网路聊天室、交流

第一章开发工具及相关技术介绍

1.1Socket简介

Socket是java中需一要编写较低层次的网络通信程序(例如Cljent/server应用程序)时提供的一种通讯机制。

Socket是两个程序进行双向数据传输的网络通信的端点,一般由一个地址加上一个端日号来标一识。

每个服务程序都在一个众所周知的端口上提供服务,而想使用服务的客户端程序则需要连接该端口。

通过Socket的数据是原始字节流信息,通信双方必须根据约定的协议对数据进行处理与解释。

Socket通信机制提供了两种通信.方式:

有连接方式(TCP)和无连接方式(UDP数据报)。

有连接方式中,通信双方在开始时必须进行一次连接过程,建立一条通信链路。

通信链路提供了可靠的,全双工的字节流服务。

无连接力一式中,通信双方不存在一个连接过程,一次网络I/O以一个数据报形式进行,而每次网络I/O可以和不同.主机的不同进程进行。

无连接方式开销小于有连接方式,但是所提供的数据传输服务不可靠,不能保证数据报一定到达目的地”」·

JAVA的有连接通信采用流式I/O模式。

Socket是两个进程间通信链的端点,每个Sockct有两个流:

一个输入流和一个输出流。

只要向Sockct的输出流写,一个进程就可以通过网络连接向其他进程发送数据;

同样,通过读Sockt的输入流,就可以读取传输来的数据。

有连接通信一般要经历以下四个基本步骤ii

(1)创建Sockct,建立连接;

(2)打开连接到Sockct的输入/输出流;

(3)按照一定的一脚议对Socket进行读/写操作;

(4)关闭Socket。

第(3)步是程序员用来调用Socket和实现程序功能的关键步骤其他三步在各种程序中基本相同。

1.2模型介绍

C/S是Client/Server的缩写,即客户机/服务器技术,一也可以称为C/S模型。

很显然,C/S技术有以下几个基木特点:

(1)C/S技术一定包含两个部分,一个作为用户接口的前端,另一个作为共享资源接口的后端。

前端被称为客户端,后端被称为服务器端。

客户进程包含逻辑和提供用户接口,服务进程充当一个管理共享资源的软件引擎,这些共一享资源可以是数据库,打印机,调制解调器和处理机等。

(2)前端与后端的任务对计算机资源有完全不同的要求,这些计算机资源包括:

处理机速度,内存,磁盘速度,容量,输入输出设备等。

(3)客户机与服务器由于可能基于完全不同的硬件和操作系统,所以它们之间的交流川一能完全通过一套标准的已定义的API与RPC。

C/S软件技术是一种通用的,基于消息的技术。

在这里,网络上的一台计算机向网络上的另外一台计算机请求一个进程或数据,如下图所示。

Client/Server结构的优点是速度快,缺点是Server进行更新时,Client也必需更新

1.3用Java实现Socket模型

首先,我们先介绍一卜Sockct的运行过程。

通常在服务器的指定端口被绑定一个Sockct,此时服务器只是处于等待状态,.监听客户的连接请求。

这个过程如图2一2所示。

服务器一旦接收到客户机的连接请求,服务器选择一个新的端口并绑定一个新的Sockct与客户端建立的Sockct对,这个过程如图2一3所示。

对客户机来说,连接请求被接受,客户端的Sockct便被成功创建了,Sockct通信便可以开始进行。

由于Sockct端的输出流是服务端的输入流,Server端的输入流是服务器的输出流,反之亦然,所以,Client和Server以通过读写各自Sockct进行交流。

关于Java里Sockct的运行过程实现。

服务器使用ServerSockct类来处理客户机的连接请求。

当客户机连接到服务器所监听的端口时,ServerSockct将分配一个新的Socket对象。

这个新的Sockct对象将连接到一些新端口,负责处理与之相对应客户机的通信。

然后,服务器继续监听ServerSockct,处理新的客户机连接。

客户机首先创建一个Sockct对象,用于和服务器的通信。

之后需创建两个对象:

DataInputStream和PrintStream,前者用于从Sockct的InputStream输入流中读取数据,后者则用于向Sockct的OutputStream的写数据。

第二章系统需求分析

2.1系统任务描述

本系统是采用Java基于C/S开发的聊天室。

管理员在经过登录界而进入管理员界而,

即系统的服务器端并启动服务器后。

此时一,如果有用户登录会在服务器端显示登录用户的用户名和当前连接的用户人数,如果有用户聊天,服务器会显示出聊天信息。

管理员在管理界面中可以随时关闭服务器。

此时,所有的客户端都将失去和服务器端的连接,从而,用户所有的聊天信息发送将不成功。

用户只需要在登录界面中输入正确的用户名和密码即可登录聊天室并且连接上服务器。

在聊天室中,用户可以和聊天室中所有的用户发送信息,还可以接收所有用户发送的信息、,可以查看到当前服务器的状态。

2.2系统功能分析

1.系统的功能需求

聊天室程序通常需要完成以下一些基本功能:

(I)登录聊天室;

(2)启动服务器;

(3)关闭服务器;

(4)用户之间的聊天;

(5)退出聊天室。

本系统其体功能需求如下:

(1)聊天室管理员经登录界面登录到管理界而,即系统的服务器端。

用户经登录界而

都进入聊天大厅。

(2)不论是管理员还是用户都需一要在登录界面输入正确的用户名和密码后才可以登录到各自的界面中去。

(3)系统的两个主要界面都是为方便管理员和用户操作的。

首先,管理员进入到管理界而后可以方便的启动/停止服务器,看到在线用户的信息和聊人信息、。

用户进入到聊天大厅中可以聊天,查看服务器状态。

(4)一个用户退出聊天室对其他用户不能产生影响,而服务器断开与客户端的连接则所有的用户都失去与服务器的连接。

(5)用户的聊天信息录入,重写,发送,接收方便,快捷。

(6)服务器状态,聊天信息和在线用户人数及时刷新。

(7)聊天室系统运行稳定、安全性高、性能可靠。

2.系统数据流图

系统的顶级数据流图如下图所示。

管理员的操作经过聊天室系统将反馈给管理员自己和用户。

情况1:

管理员启动服务器,管理员界面将出现用户连接信息和用户的聊天信息,用户在登录后可以进入到聊天界面中。

情况2:

管理员停止服务器,管理员界面中所有的用户信息都将不再刷新,而用户所在聊天界面都将有服务器停止的提示。

用户的操作经过聊天室系统将反馈给用户(包括自己)和管理员。

用户的用户名,聊天信息在管理员界面都可以显示出来。

用户的聊天信息可以在自己和其他用户的界面上显示。

3.系统可行性分析

从技术发面来看,Java语言的优点一要表现在:

简.单、面向对象、多线程、安全性等方面。

1.简单性

Java与C++语言灰常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、顶处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。

Java实现了自动的垃圾收集,简化了内存管理的一作。

这使程序一设计更加简便,同时减少了出错的可能。

2.面向对象

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

对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;

而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的一方法,从而既实现了代码的复用,又提供了一种动态的解决方案。

3.多线程

多线程使应用程序可以同时进行不同的操作,处理不同的事件。

在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容.易实现网络上的实时交互操作。

Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。

多线程保证了较高的执行效率’、。

4.安全性

Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误;

第三章系统设计

系统设计是系统开发的重要阶段,它直接影响到目标系统的质量,是整个开发作的核心。

系统设计阶段的主要任务是:

在系统分析提出的逻辑模型的基础上合理地进行物理模型设计。

系统设计遵循的原则是:

系统性、适应性、稳健性、经济性。

3.1系统总体结构设计

本系统是用Java语言基于C/S开发设计的,其核心的Socket技术决定了该系统的安全性和稳定性,从而保证了系统有较强的使用性。

其最重要的功能就是实现了聊天信息的快速性,改变了传统的面对面聊天信息不确定因素多,安全性低的状况。

服务器使用多线程,每个线程对应一个客户端,担线程通过客户代理同客户端交流,在客户代理中有两个重要信息:

一个是用户名,一个是用户名对应的Socket。

客户向服务器请求连接后,客户代理的Sockct字段便被实例化,当用户登录后,客户代理的用户名宇段被实例化,一个完整的客户代理生成了。

对客户端来说用户名是可见的,客户端提供对用户名的操作。

对服务器端来说Sockct是可见的,服务器通过用户名操作Sockct进而回应客户端的请求。

基于C/s的Java聊天室系统的作用是提供给人们一个平台进行相互交流,在交流的过程中可能出现的情况也是不同的。

因此,可将系统分成两大模块:

服务器端模块和客户端模块。

系统功能模块图如下图所示:

(l)、服务器端

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

当前位置:首页 > 小学教育 > 语文

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

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