武汉理工大学华夏学院
课程设计报告书
课程名称: JAVA课程设计
题 目: “即时通”网络通信系统的设计与开发
系 名: 信息工程系
专业班级: 计算机科学与技术1101
姓 名: 蒋梦婕
学 号: 10210410122
指导教师: 詹春华 邱珊
2012年 6 月 4 日
课程设计任务书
学生姓名: 蒋梦婕 专业班级: 计算机1101
指导教师: 詹春华 邱珊 工作单位: 信息工程系
设计题目:“即时通”网络通信系统的设计与开发
初始条件:
《即时通》,是一个类似于QQ的网络通讯软件。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
使用JAVA开发一个类似QQ的网络通讯系统,该系统能够进行用户管理,聊天通讯及系统管理。 该聊天室系统包括客户端和服务器端。本系统使用JAVA SWING技术进行前台界面的设计和开发, 使用Socket 与 ServerSocket网络编程进行客户端与服务器端的连接与通信,使用Java输入输出流进行客户端与服务器端之间的数据传输,使用JDBC技术与后台数据库进行连接和访问。该系统将能够实现用户登录功能,并能对用户信息进行增加,删除,修改
和查询。登录的用户将可以进行发,私聊及文件发送和接收。
系统总体架构如下:
主要任务:
编号 | 功能名 | 操作 | 组件程序 |
教师节贺卡怎么写简单 1 | 系统管理 | 登录界面 | LoginGui.java |
登录处理 | LoginManager.java | ||
2 | 用户管理 | 创建用户界面 | UserAddGui.java |
维护用户界面 | UserEditGui.java | ||
用户管理处理 | UserManager.java | ||
3 | 通讯 | 聊天主界面 | MainChatGui.java |
聊天界面 | ChatGui.java | ||
文件发送界面 | FileSendGui.java | ||
文件接收界面 | FileReceiverGui.java | ||
通讯处理 | ChatManager.java | ||
4 | 数据库操作 | 数据操作封装 | JDBCUtil.java |
设计报告撰写格式要求:
一、课程设计说明书(或报告书)正文内容
【设计题目】例如:“即时通”网络通信系统的设计与开发
【开发环境】硬件环境:微机系列,内存在1G以上,软件环境:Microsoft Windows XP
【开发工具】 NetBeans IDE
【完成时间】 2012.6 .4-----2012.6.15
【需求分析】分析阐述要实现的系统应具有什么样的功能。
【系统总体设计方案】
在明确了所要解决的问题后,很自然地就要提出自己解决问题的思路和方案。让读者了解方案的总体设计和关键技术。
要阐述自己的设计方案,说明为什么要选择或设计这样的方案。
要阐述自己的设计方案,说明为什么要选择或设计这样的方案。
具体包括:系统总的设计思路,体系结构, 总体架构, 功能模块图;
各功能模块所要达到的设计目标的简单介绍;
设计的数据字典(数据库、表的结构);
使用的设计软硬件环境和开发技术和平台等。
各功能模块所要达到的设计目标的简单介绍;
设计的数据字典(数据库、表的结构);
使用的设计软硬件环境和开发技术和平台等。
【系统详细设计】
在这部分中,要将整个开发工作的内容进行详细的介绍。
一般按照功能模块分成几部分来介绍。每部分应包括文字叙述、界面图片、关键实现技术(操作或代码)等几个方面综合说明问题。
一般按照功能模块分成几部分来介绍。每部分应包括文字叙述、界面图片、关键实现技术(操作或代码)等几个方面综合说明问题。
【系统调试和测试】
调试:介绍设计过程中遇到的问题和解决方法。
调试:介绍设计过程中遇到的问题和解决方法。
测试:介绍如何测试系统,测试中发现的问题和解决方案。
【结束语】
这部分篇幅不大,对整个设计中做的工作、获得的成果、心得体会等做一个简单小结。
这部分篇幅不大,对整个设计中做的工作、获得的成果、心得体会等做一个简单小结。
【参考文献】罗列在设计过程中查阅的文献名称
注意:参考文献罗列的格式为
资料编号•作者姓名•文献或期刊名称•出版社名称,文献的出版时间或期刊的期号
例如:文献 [1] 吕凤翥,马皓. Java语言程序设计(第2版)[M].北京:清华大学出版社,2010
期刊 [2] 石振国. 用JSP实现对Web数据库的访问[J]. 计算机应用,2010(05):5-8.
二、课程设计说明书(或报告书)正文的书写格式简介
一、 正文标题层次 正文题序层次是文章结构的框架,一般采用社会通用的论文书写形式。即章条序码统一用阿拉伯数字表示,题序层次可以分为若干级,各级号码之间加小圆点,末尾一级的后面不加小圆点,层次分级一般不超过四级为宜,示例如下:
第一级(章) | 1 | 2 | 3 | …… |
第二级(条) | 1.1 1.2… | 2.1 2.2 … | 3.1 3.2 … | …… |
第三级(条) | 1.1.1 1.1.2 … 1.2.1 1.2.2… | 2.1.1 2.1.2 … 2.2.1 2.2.2… | 3.1.1 3.1.2 … 3.2.1 3.2.2… | …… |
usb显示器 |
二、表格 每个表格应有自己的表序与表题,表序与表题间空一格。
例如:表1.1 XXXX ,且表题与表序应写在表格的上方正中处。
三、插图 插图图面要整齐、美观,插图应与正文呼应,不能脱节。每幅插图应有图序与图题,图序编号要连续,图序与图题间空一格且要放在插图下方居中处。
四、公式 公式应另起一行写在稿纸的中央。
时间安排:
天数 | 任务 | 课程内容 |
1 | 项目原型开发 | Eclipse/NetBeans使用 |
Swing技术 | ||
1 | 数据库建模 | Oracle/MySql |
1 | 系统管理 | JDBC,IO,Socket,Thread,JavaOO |
2 | 用户管理 | |
3 | 通讯 | |
2 | 系统打包 验收 | install4j使用 |
指 导 教 师 签 字: 20 2012 年 6 月 1 日
系 主 任 签 字: 2012 年 6 月 1 日
一.设计题目:“即时通”网络通信系统的设计与开发
二.开发环境:
2.1硬件环境:微机系列,内存在1G以上
2.2软件环境:Microsoft Windows XP
三.开发工具介绍
3.1 NetBeans IDE
3.2 Access数据库
四.完成时间: 2012.6 .4—2012.6.15
五.需求分析:
我们做的是一个类似马尔康QQ软件的“即时通”网络通讯系统,系统包含了登陆界面,注册界面和聊天界面。用户通过登陆进入聊天界面和好友进行聊天,用户如果没登陆的用户名和密码可以通过注册后再登录进入聊天界面和好友聊天。
6.系统总体设计方案
6.1系统总的设计思路
首先设计系统管理,其次设计用户管理,再次设计通讯,最后设计数据库操作。
6.2体系结构
具体为客户端的设计,服务端的设计和公共端的设计。
6.3功能模块图
七.系统详细设计
7.1“即时通”系统包括三个工程,工程一包括四个程序,分别为:登陆(Login.java),注册(Register.java),聊天(Chat.java),客户工作者(ClientWorker.java);工程二包括四个程序,分别为:DB帮助者(DBHelper.jav
a),信息(Message.java),信息服务(MessageService.java),用户(User.java);
工程三包括两个程序,分别为:服务器(QQServer.java),服务器(ServerWor
ker.java)。
7.2运行服务器 QQServer.java程序,在运行客户端的登陆,客户可以在登陆界面输入自己的用户名和密码点击“登陆”,如果用户名和密码都正确,点击“登陆”按钮会弹出提示框“登陆成功”,点击“确定”按钮将会进入到聊天界面;如果用户名或密码错误点击“登陆”按钮会弹出提示框“登陆失败”,如果用户名或密码为空点击“登陆”按钮会弹出提示框“用户名或密码不能为空”,如果点击“取消”按钮,你的用户名和密码将会被清空,点击“注册”,会直接进入注册界面。
7.3运行服务器QQServer.java程序,在运行客户端的注册,客户可以在注册界面输入自己的用户名,密码,确认密码,昵称,性别,爱好,城市,职称。如果用户名和密码错误会弹出注册失败,如果用户名写了,密码没写会弹出提示框“密码不能为空”,如果密码写了,密码没写会弹出提示框“用户名不能为空”,如果用户名和密码注册过,会弹出提示框该“用户已存在,请更换用户名”。如果用户名,密码,确认密码都正确会弹出提示框“注册成功”。昵称,性别,爱好,城市,职称可以不写。
7.4运行服务器QQServer.java程序,在运行客户端的登陆,登陆成功后,客户进入到聊天界面。可以连续登陆无数个用户,他们可以同时和其他的人聊天,输入要发送的内容再选中对象即可,如果在输入内容没有选择发送的对象将会弹出提示框“请选择好友”,如果没有输入内容就发送给好友将会弹出提示框“输入内容不能为空”。
七.系统调试和测试
调试:
1.在登陆界面设置用户名和密码不能为空并给出提示?
解决方案:用if语句写一段代码:
String name = Text();
if(name== null ||"".equals(name)){
JOptionPane.showMessageDialog(this,"用户名不能为空,请重新输入。","异常提示",JOptionPane.ERROR_MESSAGE);
return;
}
char[] Password();
String pwd1 = new String(pwd);
if(pwd.length==0){
JOptionPane.showMessageDialog(this,"密码不能为空,请重新输入。","异常提示",JOptionPane.ERROR_MESSAGE);
return;
}
2.如果用户登录成功如何直接进入聊天界面?
解决方案:在点击“确定”按钮事件,加上聊天界面的代码,代码如下:
String r=(Body();
if(r==null){//登陆成功
JOptionPane.showMessageDialog(this,"怎么付款到支付宝登陆成功","弹出提示", JOptionPane.INFORMATION_MESSAGE);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论