JAVA聊天室详细设计文档(菜鸟级)

这是一个关于JAVA聊天室的详细设计文档,包括项目概况、计划、设计和测试四个部分。项目目标是创建一个支持用户注册、在线聊天、创建留言版等功能的JAVA聊天室,适用于一般大众。开发工具为Microsoft JAVALE和SQL Server,采用增量开发和网络编程实现客户端与服务器的通讯。
摘要由CSDN通过智能技术生成


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


目录

第一部分 项目概况                     

 

1.项目说明………………………………………………………………………..4

2.项目背景………………………………………………………………………..4

 

第二部分 项目计划

 

1.    项目目标……………………………………………………………… ………4

2.    项目范围……………………………………………………………… ………4

3.    项目策略……………………………………………………………… ………4

4.    项目开发周期………………………………………………………… ………4

5.    每项任务所需技能…………………………………………………… ……. ..5

6.    所采用的工具和技术清单…………………………………………………….5

    

第三部分 项目设计

 

1 需求分析……………………………………………………………………….5

2 软件功能……………………………………………………………………….5

3 概要设计……………………………………………………………………….6

4 详细设计……………………………………………………………………….6

 

第四部分 项目测试

1.  测试阶段

2.程序界面.…………………………………………………………………7

3.程序运行的条件

4.参考的资料

第五部分 活动总结

 

 

 

 

第一部分 项目概况

1.项目说明

项目名称:JAVA聊天室系统。

    户:一般大众。

2、项目背景

软件学院两年多的办学历程中,采用了印度NIIT的先进教学法,学生从中极大地提高了专业知识能力,对于学生的动手能力也得到了明显的提高。为了进一步地考察学生的专业知识能力,让其能够明确自我专业知识水平,提高学习的兴趣,弄清专业发展方向,为以后的就业打好基础,现特向我院领导申请举办软件学院首届“软件科技月”活动。本次活动面向全校计算机爱好者,并且与成都多所高校及IT企业联合开展系列活动。活动以软件学院学生为主体对象,主张“接触IT企业,明确专业方向,苦修专业知识”。

 

第二部分 项目计划

1.  项目目标

1),允许新用户注册,同时开设帐户。

2),允许用户进行在线的公聊和私聊。

3),可以创建留言版面并且留言。

4),允许用户创建私人包间、查找包间并且在包间内聊天。

5),可通过帐户ID号对用户资料进行查询。

6),友好的欢迎界面并显示上次登陆时间。

2. 项目范围

本软件适用于一般大众。

3. 项目策略

通过可视化编程的JAVA程序和SQL数据库的方式进行实现。

通过增量开发的方法进行此项目的设计与开发。

使用套节字进行客户与服务端的通讯。

 

 

4.项目开发周期

第一周

需求分析及初步设计阶段(决定每个功能所需的类及数据类型)

第二周

根据相应功能设计出各类所用到的方法及数据类型

第三周

具体实现各个类中的各个方法

第四周

对各个界面和服务器进行调整及测试完善工作

5. 每项任务所需技能

数据库建立:熟练的SQL数据库编程。

服务端与客户端的连接:熟悉网络编程中的协议及数据流

程序界面设计:可视化编程技能。

代码实现:JAVA与数据库编程。

6. 所采用的工具

开发工具:Microsoft JAVALEjdk1.3+ Microsoft SQL Server

开发环境:windows2000+个人电脑

 

第三部分 项目设计

1.需求分析

着经济的日益发展,网络的观念深入人心。人们越来越需要通过网络高效简捷的交流,聊天室就是其中的一个工具。

2.软件主要功能

1),允许新用户注册,同时开设帐户。

2),允许用户进行在线的公聊和私聊。

3),可以创建留言版面并且留言。

4),允许用户创建私人包间、查找包间并且在包间内聊天。

5),可通过帐户ID号对用户资料进行查询。

6),友好的欢迎界面并显示上次登陆时间。

 

 

程序中要用到的类

1、客户端                             

BaojianNew    >>创建包间

BaoJianFind   >>查找包间加入包间

BaoJianEnter  >>进入包间

BaoJianQu    >>包间区聊天

NewPanel     >>界面背景图处理

PrivateMessage >>私聊功能

UserFind       >> 查找用户功能

Register       >> 注册功能

EnterGUI      >> 登陆功能

ChatRoom     >> 公共聊天功能

LiuYan        >>留言板

SocketConstants>>接口(包含服务端IP地址,以及自定义端口号#6655

 

2、服务端

Server

     >>处理聊天内容

 

 

 

 

 

三、设计细节与构造

(一)   编写服务端程序

(1)   问题陈述

需要在JAVA中开发一个中间层服务器应用程序,其功能如下:

a.接受用户注册信息并保存在一个表中(需连接数据库).

b.执行用户的设定的查找功能.

c.能够允许注册过的用户登陆聊天界面并可以聊天.

d.能够接受私聊信息并发送给特定的用户

e.能够接受用户创建的包间信息并保存到一张表中BaoJian

f.能够允许用户查找,登陆,加入包间并进行聊天

g.能够接受用户的留言,并保存到以用户名为文件名的文件内

h.服务器运行在自定义的端口上#1001

(2)   计划解答

a. 选择创建网络服务器应用程序所需引用的类和方法。

b、确定用户自定义的类、他们的目的、方法。

c、确定用户自定义的类中的数据类型和变量。

d、确定服务器的IP地址和端口号。

e、确定何时连接到数据库中。

f、确定查询参数。

g、确定要处理的例外。

h、确定例外的出错信息。

 

任务a. 选择创建网络服务器应用程序所需引用的类和方法。

任务

解答来源

结果

 

选择创建网络服务器应用程序所需引用的类和方法。

 

方法

Serversocket

accept ()

Thread

Start(),run()

Socket

getInputStream(),getOutputstream()

ObjectInputStream

readObject()

ObjectOutputStream

writeObject()

BufferedReader

readLine()

Vector

 

addElement(),removeElement()

 

 

 

任务b、确定用户自定义的类、他们的目的、方法。

任务

解答来源

结果

确定用户自定义的类、他们的目的、方法。

 

目的

方法

Serversocket

监听客户请求

run(), ServerSocket()

Connect

处理客户端的各种操作

Connect(),enter(),register(),find()

send(),  enter(),  time()

Members

保留申请人信息

 

BaoJian

保留包间信息

 

Applicant

保留留言信息

 

 

任务c、确定用户自定义的类中的数据类型和变量。

任务

目录 第一部分 需求说明书----------------------------------------- 1 1.1 开发背景 -------------------------------------------------------- 1 1.2 设计要求 -------------------------------------------------------- 1 1.3 设计目的 -------------------------------------------------------- 1 1.4 项目功能特点 -------------------------------------------------------- 1 1.5 功能实现 -------------------------------------------------------- 2 第二部分 概要设计说明书 ---------------------------------- 3 1引言 ---------------------------------------------------- 3 1.1编写目的 --------------------------------------------------- 3 2总体设计 ---------------------------------------------------- 3 2.1需求规定 --------------------------------------------------- 3 2.2运行环境 ----------------------------------------------------- 3 2.3基本设计概念和处理流程 --------------------------------- --- 3 2.4总体结构 ----------------------------------------------------- 4 2.5功能分配 ----------------------------------------------------- 4 3接口设计 ---------------------------------------------------- 5 3.1用户接口 ----------------------------------------------------- 5 4运行设计 ------------------------------------------------------ 6 4.1运行模块的组合 -------------------------------------------------- 6 4.2运行控制 ------------------------------------------------- 6 5出错处理设计 ----------------------------------------------------- 6 6设计原理 ------------------------------------ 6 6.1通信方式 ------------------------------------ 6 6.2核心算法 ----------------------------------- 6 7设计模型 ------------------------------- 7 8相关控件的介绍 ----------------------------------- 7 第三部分 详细说明书 --------------------------------------- 9 1程序系统结构 ------------------------------------------------- 9 2 客户端模块设计说明 ----------------------------------------------- 9 2.1程序描述 ------------------------------------------------- 9 2.2功能 ------------------------------------------------- 9 2.3设计方法 ------------------------------------------------- 9 3服务器模块设计说明 ------------------------------------------------- 11 3.1程序描述 ---------------------------------------------------- 11 3.2功能 ---------------------------------------------------- 11 3.3设计方法 ---------------------------------------------------- 4 主要代码 ------------------------------ 13 5客户端 ------------------------------ 18 5.1主要实现 ----------------------------------- 18 5.2主要代码 ----------------------------------- 19 6处理通信的主要实现 ------------------------ 22 第四部分 测试分析报告---------------------------------------- 25 1 服务器端 ---------------------------------- 25 2 客户端 ------------------------------ 28 第五部分 课程设计总结报告 ----------------------------- 31 后记(致谢) ----------------------------------------------- 32
一个用于Web游戏中的即时聊天代码 使用内存进行消息投递 支持私聊和供聊 支持统计在线人数 可开多个房间 注意:有人反映这个不能直接使用,在这里特做一下说明 =============================================== 这个程序是从游戏中拿出来的,并不是一个独立的应用程序 发上去的部分是不能直接运行的,发出来的目的只是想给有这方面兴趣的朋友做个参考,因为我自己才做这块的时候确实走了不少弯路 里面有类设计图,类设计图是用powerdesign 12.5设计的 可以通过类设计图看服务端的设计 客户端是一个demo html文件 要运行还需要配数据库,还需要微软的企业库开发包 不了解企业库的可以去这里看看 http://www.codeplex.com/entlib 你也可以修改一下代码让程序不需要访问数据库 访问数据库主要是加载房间信息,你可以在代码里弄几个模拟的房间信息 聊天消息的中专是不依赖数据库的 ====================================== 再次补充说明 这个代码的开发环境为:vs2008+sqlserver2005+微软企业库+net fwk3.5 其实用vs2005+2.0框架也可以,虽然使用的是3.5的框架,但是并没有使用3.5框架的新特性 经检查发现里面确实没有类设计图,也没有服务器端的源代码 现在传上去的这部分只是一个demo,包含客户端和编译过的服务器端代码 非常的抱歉,我将不上源代码和相关设计文件 =========================================================== 目录结构说明 ChatDemo-包含客户端和编译过的服务器ChatDemo/ChatDemo.HttpHandler-客户端http处理器(客户端和服务器端的交互就靠这些文件了) ChatDemo/ChatWebDemo-客户端的实现代码 ChatDemo/ChatWebDemo/ServerManager.aspx-此文件可控制服务器的启动和关闭(客户端和服务器端是存在于同一台电脑上测试的,所以在一个工程里) ChatDemo/ChatWebDemo/SelectChatRoom.aspx-可选择进入哪一个聊天室 ChatDemo/ChatWebDemo/Chat.aspx-聊天客户端界面 DinosaurEmpery-包含服务器端的源代码和相关设计文档-数据库文档等 DinosaurEmpery/src-服务端源代码和单元测试相关资料 DinosaurEmpery/src/Chat DinosaurEmpery/src/IChat 这两个才是聊天部分的代码,其它目录为游戏其它部分的代码(只是部分代码,是不能运行的) DinosaurEmpery/using-程序中用引用到到第3方dll(微软企业库)(由于压缩后的结果代码太大,所以删除了里面的内容)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值