JAVA高级程序设计课程设计任务书(共26页).doc





《JAVA高级程序设计课程设计任务书(共26页).doc》由会员分享,可在线阅读,更多相关《JAVA高级程序设计课程设计任务书(共26页).doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上存档资料 成绩: 广西师范大学漓江学院课程设计报告书课程名称:JAVA高级程序设计课程设计设计题目:基于C/S架构的聊天工具的设计与实现所在系部:理学系班 级:12计算机学号:学生姓名:指导教师:肖建明2014年 4 月 日专心-专注-专业课程设计(论文)评阅意见序号项 目等级优秀良好中等及格不及格1课程设计态度及出勤情况2任务完成程度3设计中创新性4论文书写规范化综合评定等级课程设计软件演示及答辩成绩序号项 目等级优秀良好中等及格不及格1演示过程完成情况2对软件代码熟悉情况3回答问题准确性和逻辑性综合评定等级课程设计软件界面及功能设计成绩序号项 目等级优秀良好中等及
2、格不及格1界面美观及可操作性2功能实现情况及创新性3代码的可读性和可维护性综合评定等级评阅人 年 月 日课程设计任务书一、本课程设计的目的1.使学生能够更好地掌握Java程序设计语言和理解面向对象程序设计的基本概念与方法; 2.掌握类和对象的创建和使用,理解面向对象的封装性、继承性、多态性和面向接口编程的程序设计思想,学会利用Java语言和面向对象编程方法解决一般应用问题;3.从实践中累积经验、培养学生分析、解决问题的能力;4.提高学生实践论文撰写能力。 5.初步掌握使用Java语言开发小型应用软件的基本方法和步骤二、课程设计的教学过程与考核方法1课程设计以小项目的方式开展,以分组(1-2人一
3、组)的形式进行。2第一次实验课时,任课教师下达课程设计题目任务,讲解课程设计的题目要求和注意事项,并要求学生根据题目要求进行界面的设计和功能代码编写工作,完成课程设计报告。3课程设计实验进行过程中,教师根据实验的进度分模块讲述课程设计题目的设计要点。教师给予技术和方法上的指导,每个学生自己动手完成项目,并要求学生积极开展逻辑思维,充分发挥自己的创意,设计出优秀的课程设计作品。4课程设计结束后,要求学生完成课程设计报告,课程设计报告需包括目录、设计目标、实现思路、实现步骤、总结、参考文献、附录等;5最后需上交课程设计报告纸质版和电子版及设计的软件作品源程序、数据库和相关文档,并进行软件设计作品的
4、演示和答辩。三、课程设计评分标准1学习态度:10分;2系统设计:20分;3编程调试:25分;4回答问题:15分;5论文撰写:30分。四、课程设计题目 基于C/S架构的聊天工具的设计与实现1.课程设计题目基本要求:(1)熟悉JAVA开发环境,掌握JAVA程序的编译和运行;(2)掌握JAVA面向对象编程技术和方法;(3)掌握GUI图形界面编程及事件处理机制;(4)了解异常处理机制(5)掌握Java数据库编程方法和数据库基本知识(6)掌握Java网络编程方法和多线程编程方法 2.课程设计内容要求:要求编程实现一个类似QQ的网络聊天工具软件,该聊天工具可以同时跟多人聊天,聊天记录保存在数据库中,具有用
5、户登录、注册,查看聊天记录,离线留言,清除聊天记录,查看在线用户,查找用户,添加好友等功能。目录设计报告应包括整个设计中所采用的具体流程和步骤,以及任务完成的具体情况和取得的收获。主要内容为:需求分析:分析阐述设计的要求以及对应到你要实现的系统应具有什么样的功能。总体设计:进一步提出自己解决问题的思路和方案。让读者了解方案的总体设计和关键技术。具体包括:总的设计思路,体系结构, 总体架构, 功能模块图;各功能模块所要达到的设计目标的简单介绍;设计的数据字典(数据库、表的结构);软硬件环境和开发技术和平台等。详细设计:对整个开发工作的内容进行详细的介绍。一般按照功能模块分成几部分来介绍。每部分应
6、包括文字叙述、界面图片、关键实现技术(操作或代码)等几个方面综合说明问题。系统调试与测试:介绍设计过程中遇到的问题和解决方法。如何测试系统,测试中发现的问题和解决方案。总结:对整个设计中做的工作、获得的成果、心得体会等做一个简单小结。 基于C/S架构的聊天工具的设计与实现需求分析:在当今信息时代,越来越多的聊天工具被应用,java语言是当今流行的网络编程语言,它具有面向对象,与平台无关,安全,多线程等特点。使用java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的的,嵌入式设备进行应用程序的开发。面向对象的开发是当今世界最流行的开发方法,它不仅具有更贴近自然地语义,而且有利于软件的
7、维护和继承,锻炼我们熟练地应用面向对象的思想和设计方法解决实际问题的能力。本程序正是用java语言实现了简单聊天功能。它是图形界面,线程,流与文件系统等技术的综合应用。其界面主要采用了java.awt包,java.swing包等。总体设计:本软件实现的功能有1.允许服务器侦听客户端,客户端连接到服务器2.允许服务区与客户端之间进行聊天; 3.服务器与客户端时,会显示内容发送时间;4.允许服务器与客户端用鼠标点击“发送”可发送内容5.允许服务器与客户端用鼠标点击关闭时关闭聊天窗口服务器和客户端登陆以及客户端群聊界面利用java语言的AWT和Swing实现,聊天功能利用java语言网络编程的多线程
8、和网络编程的知识实现。详细设计:本系统中我们利用Java实现基于C/S模式的聊天室系统,分为服务器端和客户端两部分,运用Socket套接字实现客户方和服务方的链接,服务器端通过端口设置在特定端口上进行监听,等待客户端的连接,一旦客户端连接成功,则可以向连接成功的用户发送系统消息,可以接收所有客户端发送的消息并显示;客户端则与服务器端规定的端口进行连接,连接成功后可以登录,登录成功后便可以和所选的对象聊天,可以发送信息,也可以接收聊天对象所发送过来的信息,并显示信息内容。程序中引入的包:import java.awt.*;import java.awt.event.*;import javax.
9、swing.*;import .*;import java.io.*;源代码package xjm;import java.awt.BorderLayout;import java.awt.FlowLayout; import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextArea;import javax.swing.JScrollPane;import java.awt
10、.Color;import javax.swing.border.BevelBorder;import javax.swing.border.CompoundBorder;import javax.swing.border.EtchedBorder;import javax.swing.border.SoftBevelBorder;import javax.swing.border.TitledBorder;import javax.swing.ScrollPaneConstants;import java.awt.event.ActionListener;import java.awt.ev
11、ent.ActionEvent;import java.io.BufferedReader;import java.io.IOException;import java.io.PrintWriter;import .ServerSocket;import .Socket;import java.util.ArrayList; public class ChatServer extends JDialog private final JPanel contentPanel = new JPanel();/以下创建网络相关变量 int serverPort=2345;ServerSocket se
12、rverSocket=null;/Socket socket=null;BufferedReader socketIn;PrintWriter socketOut; boolean isstarting=false;JButton okButton=null;JTextArea textArea_info;ArrayList clientList=new ArrayList();/* * Launch the application. */public static void main(String args) try ChatServer dialog = new ChatServer();
13、dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);dialog.setVisible(true); catch (Exception e) e.printStackTrace();/* * Create the dialog. */public ChatServer() setTitle(u804Au5929u670Du52A1u5668);setBounds(100, 100, 641, 365);getContentPane().setLayout(new BorderLayout();contentPanel.setBor
14、der(new BevelBorder(BevelBorder.LOWERED, null, null, null, null);getContentPane().add(contentPanel, BorderLayout.CENTER);contentPanel.setLayout(null);JScrollPane scrollPane = new JScrollPane();scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);scrollPane.setHorizont
15、alScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);scrollPane.setBounds(10, 10, 613, 278);contentPanel.add(scrollPane);textArea_info = new JTextArea();scrollPane.setViewportView(textArea_info);textArea_info.setBackground(new Color(224, 255, 255);textArea_info.setText(u670Du52A1u5668u
16、901Au8BAFu8BB0u5F55);textArea_info.setForeground(Color.BLUE);JPanel buttonPane = new JPanel();buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT);getContentPane().add(buttonPane, BorderLayout.SOUTH);okButton = new JButton(u542Fu52A8);/启动okButton.addActionListener(new ActionListener() public void a
17、ctionPerformed(ActionEvent arg0) if (serverSocket=null) try serverSocket=new ServerSocket(serverPort);isstarting=true;okButton.setEnabled(false);new Thread(new Runnable() Overridepublic void run() int i=1;/ TODO 自动生成的方法存根while(isstarting)try Socket socket;socket = serverSocket.accept();SocketThread
18、socketThread=new SocketThread(socket);socketThread.setTextArea_handle(textArea_info);socketThread.setClientList(clientList);socketThread.start();/System.out.println(i+); catch (IOException e) / TODO 自动生成的 catch 块e.printStackTrace();isstarting=false;okButton.setEnabled(true);).start(); catch (IOExcep
19、tion e) / TODO 自动生成的 catch 块e.printStackTrace();try if (serverSocket!=null) serverSocket.close(); catch (IOException e1) / TODO 自动生成的 catch 块/e1.printStackTrace(););JButton clearButton = new JButton(u6E05u8BB0u5F55);clearButton.addActionListener(new ActionListener() public void actionPerformed(Actio
20、nEvent e) textArea_info.setText(););buttonPane.add(clearButton);okButton.setActionCommand(OK);buttonPane.add(okButton);getRootPane().setDefaultButton(okButton);JButton cancelButton = new JButton(u9000u51FA);cancelButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 高级 程序设计 课程设计 任务书 26

限制150内