聊天室java课程设计Word文档格式.docx

上传人:b****1 文档编号:15007960 上传时间:2022-10-26 格式:DOCX 页数:26 大小:286.37KB
下载 相关 举报
聊天室java课程设计Word文档格式.docx_第1页
第1页 / 共26页
聊天室java课程设计Word文档格式.docx_第2页
第2页 / 共26页
聊天室java课程设计Word文档格式.docx_第3页
第3页 / 共26页
聊天室java课程设计Word文档格式.docx_第4页
第4页 / 共26页
聊天室java课程设计Word文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

聊天室java课程设计Word文档格式.docx

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

聊天室java课程设计Word文档格式.docx

2、进行需求分析,形成需求分析报告,整理成电子文档上交

3、进行总体设计和详细设计,形成详细设计报告,整理成电子文档上交

4、进行系统模块开发。

5、全部上机进行系统模块开发和模块测试。

6、系统集成和集成测试,撰写系统操作说明书和项目实训总结报告。

指导教师签字:

___________日期:

_______

指导教师评语

成绩:

_____指导教师签字:

________日期:

________

课程设计所需软件、硬件等

软件:

jdk1.6、Eclipse3.4

硬件:

计算机一台

课程设计进度计划

起止日期

工作内容

备注

06.01-06.05

06.06-06.10

06.10-06.20

06.21-06.23

06.24-06.27

确定课程题目

查找资料

编写代码

运行测试

写课程任务书

参考文献、资料索引

序号

文献、资料名称

编著者

出版单位

1Java网络编程精解孙卫琴电子工业出版社

2java2实用教程(第三版)耿祥义清华大学出版社

目录

1背景介绍5

1.1业务背景5

1.2技术背景5

2需求分析6

2.1功能需求分析6

2.2业务对象分析9

2.3验收测试要求10

3系统设计11

3.1系统设计11

3.2详细设计13

3.2.1客户端设计13

3.2.2服务端设计16

4系统实现21

4.2客户端实现21

4.2服务端实现22

5小结25

1.背景介绍

1.1业务背景

随着网络社会的不断发展,具有相同兴趣的网民需要互相远程交流,既要能省钱又要能即时交互,电话太贵、email又嫌慢,所以开发一个类似QQ的及时通讯系统就变得非常有意义了。

“HappyChat”聊天系统应运而生,它较之QQ的唯一好处是自主开发,用的放心,更适合在局域网内使用。

它提供的功能远不如QQ丰富,但应具有如下功能:

(1)与聊天室成员一起聊天;

(2)可以与聊天室成员私聊;

(3)用户注册、登录;

(4)服务器监控聊天内容;

(5)服务器发送通知;

(6)服务器踢人;

(7)保存服务器日志。

(8)保存用户聊天信息。

1.2技术背景

本系统要求使用java技术开发,使用文件保存数据,集成开发环境使用eclipse。

开发者应有java程序设计语言、SWING基本GUI组件、多线程、文件使用、socket编程、使用eclipse的基本知识和技能。

系统采用两层C/S体系结构,C端负责通过GUI与客户交互,实现注册、登陆、收发信息、退出等功能;

S端是聊天系统的应用服务器,主要有处理用户注册、登录、用户收发信息、用户退出等功能。

C端和S端是通过网络交互的,其基本原理如图1所示:

图1C/S通讯基本原理图

首先服务器启动,它会建立一个专门用于接收客户端连接请求的“倾听Socket”(相当于总服务台,有固定的IP地址和端口号),然后等待客户的连接请求。

当用户想聊天时,从界面输入信息,然后与服务器建立Socket连接(连接时应指定服务器的IP地址和端口号,而客户端socket的端口由本方操作系统从空闲端口中确定),服务器端的“倾听Socket”收到连接请求后,一般会接受连接请求,并生成一个服务端socket(其端口号由服务端操作系统从空闲端口中确定),专门负责与此客户端socket的通信。

一旦连接请求成功,客户端将信息及请求通过本方socket的输出流发送给服务器端相应的socket,服务端则通过服务器端Socket的输入流接受客户端传输过来的信息及请求,分析是何请求,然后根据请求类型,进行相应的处理(如登录、转发信息等)。

服务方也可以根据需要,通过socket的输出流发信息和请求给客户端(公告)。

客户方和服务方都可以通过关闭本方的socket而结束一次通讯过程。

不难发现服务器需要能同时接受多个客户的请求,为了实现这一点,一般使用多线程机制来处理,对每一个客户端连接通讯,服务器端都有一个线程专门负责处理(相当于一个服务员专门服务一个以IP地址和端口号唯一标识的客户)。

上述方式两个聊天者之间通信必须通过服务器进行转发,聊天者多时,显然服务器是个性能瓶颈。

能不能聊天者之间直接通信?

当然可以,这是所谓的P2P聊天室,缺点是对聊天者缺乏集中监管的手段。

也有界于二者之间的,即有一服务器,接受注册和登录,实际聊天双方通信时,仍然是直接通信,此时服务器相当于一个婚姻介绍所,只管牵线搭桥,具体谈还是聊天者自己的事。

本文主要采用聊天信息通过服务器转发的方式,而且只支持一个聊天室。

因为其他典型系统如电子邮件系统,FTP系统均采用类似结构,WEB服务系统本质上也是C/S系统,只不过其客户端是浏览器,采用了HTTP通信协议和HTML,所以变成了B/S结构,可以认为是C/S的一个具体应用,其机理是相似的。

2.需求分析

2.1功能需求分析

系统的主要功能已在业务分析中有所介绍,在这里需要对每个功能从使用者角度作较为具体的分析。

很明显,整个系统的功能可以自然地分为客户端和服务器端。

以下是主要用例描述

一、客户端

1.注册

(1)客户启动程序,显示出登陆界面

(2)客户选择其中的注册按钮,系统显示注册界面

(3)客户填写用户名、密码、确认密码、性别、年龄、电子邮件,按确定按钮

(4)系统验证密码和确认密码是否相符、用户名(不能重复)、电子邮件格式、年龄(大于10小于100)

(5)系统发送上述信息及“注册请求”到服务端,等待服务端返回“注册成功”消息

(6)系统提示注册成功

(7)系统返回登陆界面

若验证失败,提示“重新输入”

若服务端返回“注册失败”,提示“注册失败”

若服务端返回“注册失败用户名重名”,则提示“注册失败用户重名”。

2.登录

(2)客户填写用户名、密码,服务器IP地址,按登陆按钮

(3)系统验证用户名、密码,不能为空、密码字符长度为6-10

(4)系统发送用户名、密码及“登陆请求”到服务端,等待服务端返回“登录成功”消息

(5)若成功系统显示客户端主界面(收发消息界面)

若用户名、密码验证失败,系统提示;

“用户名或密码错”,重复3次若仍不能通过验证则客户端程序退出。

若服务端返回“登录失败”,系统提示“用户名或密码错”。

3.发送信息

(1)在客户端主界面,用户输入消息,选择是群发还是私聊,若是私聊还要选择对方用户名,按发送按钮

(2)系统验证消息长度,私聊要求目的方用户名非空。

(3)系统发送信息及“接收消息请求”到服务器端,等待服务端返回“接收成功”消息(等待返回消息可省)。

(4)系统提示信息已发送

若发送不成功,则系统提示“发送失败”。

4.接收信息

(1)客户端系统启动,进入主界面后,会显示消息接收框

(2)其他客户或服务端系统本身发送消息过来,系统接收,分析确认是”

接收消息请求“,则分析提取出消息

(3)在消息接收框逐条显示发送者姓名、发送的消息。

5.退出

(1)用户请求退出,按退出按钮

(2)系统确认用户退出(对话框)

(3)系统发“退出请求”到服务端,等待服务端返回“退出成功”(等待返回消息可省)

(4)客户端系统关闭连接,程序退出

二、服务器端

1.用户注册

(1)系统启动后,等待客户请求

(2)客户请求到,接受请求,分析确认是“注册请求”

(3)系统读取信息,分析并再次验证用户名、密码、确认密码、性别、年龄、电子邮件。

(4)系统根据用户名,在已有客户记录中查询,确认没有重名

(5)系统将用户名、密码、确认密码、性别、年龄、电子邮件信息保存

(6)系统向客户端发送“注册成功”消息

(7)系统在监控界面上写信息:

xx客户名已注册注册时间

若重名,向客户端发“注册重名”消息

若注册失败,向客户端发“注册失败”消息

2.用户登录

(2)客户请求到,接受请求,分析确认是“登录请求”

(3)系统读取信息,验证用户名、密码是否存在

(4)系统验证是否已经登录

(5)系统验证用户是否已超过最大用户数

(6)系统将客户加入聊天室,通知其它客户“新用户加入”

(7)系统向客户端发送“登录成功”消息

(8)系统在监控界面上写信息:

客户名:

已登录登录时间

若验证失败,向客户端发“验证失败”消息

3.发送信息(用于管理员向聊天者发送公告信息)

(1)系统启动后,等待管理员请求

(2)管理员在监控界面输入消息,确定发送类型(群发还是私聊),若私聊还需指定目的用户名,按发送按钮

(3)系统读取信息,分析并确认是群发还是私聊

(4)若是群发,则将信息发给聊天室内其它所有用户;

若是私聊,则将消息发给指定的用户。

(5)系统在监控界面上写信息:

管理员--〉消息

若出现异常,提示“发送失败”。

(2)客户请求到,接受请求,分析确认是“接收信息请求”

(4)若是群发,则将信息发给聊天室内其它所有用户

(5)系统向客户端发送“接收成功”消息(可省)

(6)系统在监控界面上写信息:

xx客户名--〉消息群发/私聊

若出现异常,向客户端发“接收失败”消息(可省)

5.用户退出

(2)客户请求到,接受请求,分析确认是“用户退出请求”

(3)系统从聊天室删除客户,并通知其它用户“客户退出”

(4)系统向客户端发“退出成功”(可省),关闭连接。

2.2业务对象分析

从上述的分析中,运用名词法,可以发现出主要的业务对象:

1.聊天者:

属性:

用户名、密码、确认密码、性别、年龄、电子邮件

行为:

登录、注册

2.聊天客户端:

属性:

消息、聊天者、界面

行为:

接收处理,发送处理、退出

3.消息

消息类型、消息参数

创建消息、获取消息类型、获取消息参数

4.服务器(相当于总服务台)

IP、端口、服务监控、消息处理者

监听、创建消息处理者、创建服务监控

5.服务监控

服务状态,消息,聊天者列表、界面

发送服务方消息、关闭服务器

6.消息处理者(相当于服务员)

连接(socket)、消息

处理消息(登录、注册、发送、接收、退出),收发消息

2.3验收测试要求

测试环境:

客户及服务器机操作系统:

WindowXP,内存:

512M。

客户端程序安装在客户机(至少2台)上,通过以太网(网速至少10M)与服务器相连。

前置条件:

1.注册文件已创建但为空。

2.客户及服务程序安装配置正确,能正常启动运行。

3.客户程序与服务程序能通过网络互通。

一、初始化数据

1.客户端启动,进入注册界面,输入正确的注册数据,请求注册,查看服务端,看是否正确注册。

2.重复1,在另一客户端注册用户,注意不要重名。

二、功能测试

1.注册测

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

当前位置:首页 > PPT模板 > 动物植物

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

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