Java面向对象课程设计Word文档格式.docx
《Java面向对象课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java面向对象课程设计Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
1.课程设计目的
一、设计目的:
Java课程设计是对所学面向对象课程的小结,
是提高学生对所学知识综合应用能力的一种方式,
是
集中实践性环节之一。
要求同学们对理论课中所学习到的知识综合运用,实现有一定规模的Java
应用。
二、设计要求:
1、课程设计以小组为单位进行,每小组的人数在3人左右,每个小组中的每位同学要有在课程设
计中的明确分工,以便检查。
课程设计材料提交的以小组为单位,每人提交一份纸质课程设计报告,
每组提交一份课程设计的源代码电子版,报告代码的电子版压缩后以班级-组别-设计名称命名,提交到指导老师处。
2、学生必须独立完成设计任务,严禁抄袭,一经发现,成绩以不及格计。
3、课程设计期间要严格遵守学校纪律,按时上机,服务机房管理人员管理,不得无故旷课、迟到与早退,课程设计期间缺勤1/3以上者,成绩以不及格记。
三、成绩评定:
通过设计答辩等方式,结合学生的动手能力、独立分析解决问题的能力和创新精神,由指导教师根据考勤、设计说明书质量、答辩表现以及学习态度等综合评定设计成绩。
成绩分优、良、中、及格和不及格五个级别。
2.课程设计任务与要求:
选题:
局域网聊天程序的设计与实现
该程序实现局域网内的聊天功能,包括服务器端程序和客户端程序两部分。
客户端程序:
可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。
课程
设计可选用NetBeans、Eclipse、JBuilder等作为开发平台以提高开发效率,尽可能熟练掌握其中
一种集成开发环境。
通过这次设计,要求掌握以下内容:
1)面向对象技术中的继承与多态(重载和覆盖)机制、各种修饰符的使用
2)类、包、接口的定义与使用
3)一些常用工具类与算法的实现
4)Java的异常处理机制
计算机面向对象课程设计报告第3页,共12页
3.课程设计说明书
一、需求分析
功能分析:
可连接到服务器,并将消息发送到服务器端和接受服务器端发送来的信息。
服务器端程序:
可将消息发送到客户端和接受客户端发送来的信息
二、概要设计
本程序根据功能设置了两个界面:
服务器端和客户端的聊天界面这儿主要介绍客户端。
模块描述
局域网聊天程序的设计与实现主要包括服务端和客户端,服务端与客户端之间通过套接口Socket(TCP)连接。
其中默认IP地址为:
127.0.0.1
客户端模块图:
聊天室客户端
用
连
发送
退
户
接
/接收
出
登
设
聊天
录
置
消息
连接设置:
用户可以设置自己的服务器的IP地址,默认的连接地址为:
127.0.0.1;
用户登录:
只能在聊天室服务端已开启的情况下,用户才能登录,用户登录之后才能开始聊天,
登录后不能再修改用户设置和连接设置;
发送和接收聊天信息:
客户端可以给服务器端发送信息,并能收到服务器端发送过来的消息;
退出:
关闭所有聊天并退出客户端。
计算机面向对象课程设计报告第4页,共12页
客户端类图:
JFrameActionListener
ChatClient
-outFrame:
JTextArea
-userLinkList:
UserLinkList
-inputBox:
JTextField
-message=:
string
-chatServer:
+ChatClient(srvhost:
String):
public+init():
publicvoid+ConnectClient():
publicvoid+closeConnection():
void+SendMsg(message:
void
三、详细设计
1.客户端主要包括以下文件,它们的功能如下:
(1)ChatClient.java:
包含名为ChatClient的public类,其主要功能为定义客户端的界面,添加事件侦听与事件处理。
该类定义了ConnectServer()与processConnection()方法实现与服务器的连接与断开连接。
当登录到指定的服务器时,调用ClientReceive类实现消息收发,同时该类还
定义了SendMsg()方法来向服务器端发送消息。
(2)ClientReceive.java:
该类是实现服务器端与客户端消息收发的类。
2.客户端的程序创建了一个Socket对象,用来与服务器端建立连接通信。
inputstream用来从
Socket的inputstream输入流读取文本行,outputstream向Socket的outputstream输出文本行。
客户端从标准输入中读取数据并输出,当读到信息“服务器端:
终止”的时候关闭输入输出流
3.In和out是客户端和服务器端通信的关键。
把发送功能写在了发送按钮的事件响应代码中;
由于接收是要保持监听状态的,所以把接收功
能写在了一个进程中。
快捷键即键盘监听功能写在输入文本框中以实现输入完信息后按enter就能等于发送按钮。
计算机面向对象课程设计报告第5页,共12页
四、用户手册
服务器端:
打开服务器端界面,在文件夹中是ChatServer.java,通过运行文件会有显示服务器已经启动接下来就等待客户端连接反应了,只要有用户请求连接,则会有显示新用户接入,客户端的聊天记录也会在服务器端显示:
某某:
.。
最后关闭窗口,即可断开服务器、。
客户端:
通过运行文件ChatClient.java,进入客户端窗口后就可以开始与服务器端相互聊天了。
注:
图形界面的Application程序,用以实现常见的聊天功能,仅考虑一对一的聊天.用TextPad作为系统开发环境。
五、测试成果
1.当先运行ChatClient程序时出现显示连接的界面如图一所示(没有开启服务器端)
图一
计算机面向对象课程设计报告第6页,共12页
2.运行ChatServer程序得到服务器端等待连接的界面图二所示
图二
3.关闭1中的客户端界面,重新运行得到客户端连接到:
127.0.0.1(应该先运行服务器端),如图三所示:
图三
计算机面向对象课程设计报告第7页,共12页
4.客户端发送信息,下图四显示的是客户端发送信息后的结果:
图四
5.客户端发送消息,服务器端接收到信息如图五所示:
图五
计算机面向对象课程设计报告第8页,共12页
6.服务器端接收到客户端信息后也可以向其传输信息如图六所示:
图六
7.图七所示为客户端接收到服务器所发送的信息:
图七
六.附录(源程序清单)
计算机面向对象课程设计报告第9页,共12页
我负责部分的主要代码:
连接服务器
privatevoidConnectServer()throwsIOException
{
outFrame.setText("
连接中\n"
);
toclient=newSocket(InetAddress.getByName(chatServer),4000);
连接信息显示
outFrame.append("
连接至:
"
+
toclient.getInetAddress().getHostName());
}
privatevoidprocessConnection()throwsIOException
//输出框
inputBox.setEnabled(true);
do{
//读入信息并输出try
message=(String)inputS.readObject();
outFrame.append("
\n"
+message);
outFrame.setCaretPosition(outFrame.getText().length());
计算机面向对象课程设计报告第10页,共12页
catch(ClassNotFoundExceptionclassNotFoundException)
\nUnknownobjecttypereceived"
while(!
message.equals(服"
务器端>
>
TERMINATE"
));
//关闭输入输出流,关闭连接,注意顺序
privatevoidcloseConnection()throwsIOException
\nUserterminatedconnection"
outputStream.close();
inputStream.close();
toclient.close();
//给服务器端发消息
privatevoidsendMsg(Stringmessage)
try
outputS.writeObject("
客户端>
outputS.flush();
计算机面向对象课程设计报告第11页,共12页
\n客户端>
"
catch(IOExceptionioException)
\nErrorwritingobject"
//main()方法
publicstaticvoidmain(Stringargs[])
ChatClientbeginning;
if(args.length==0)
beginning=newChatClient("
127.0.0.1"
else
beginning=newChatClient(args[0]);
beginning.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
beginning.connectClient();
计算机面向对象课程设计报告第12页,共12页
4.课程设计心得
经过这次j