1、 本科生毕业设计(论文)开题报告 毕业设计(论文)题目: 网络聊天系统的设计和开发 学生姓名: 周帅 学号: 2012812095 分 院: 理工分院 班级: 计算机1202 指导教师: 王李冬 职称: 副教授 填表日期: 2016 年 3 月 9 日 杭州师范大学钱江学院教学部制 一、 选题的
2、背景和意义 自从上世纪中叶第一台计算机诞生以来,计算机越来越走进人们的生活当中,特别是随着计算机网络的发展,把全世界的人们紧密的联系在一起,大大的扩展了计算机的功能,人们越来越离不开计算机了。如今,作为网络应用之一的聊天工具,越来越受到人们的欢迎和重视。即时通讯软件使人与人的沟通突破时空极限,突破环境极限,使自我突破心理极限。作为使用频率最高的网络软件,即时通讯已经突破了作为技术工具的极限,被认为是现代交流方式的象征,并构建起一种新的社会关系,通过对聊天工具的开发,我们将了解计算机如何通过网络相互通信以及在此相互通信的基础上实现的应用程序级的协议。目前已有的一些网络聊天系统已经非常多了,例如
3、腾讯的QQ,网易的泡泡等等。这些网络聊天系统已经非常成熟了,不过它们都要求用户必须连接互联网才能够进行通信。目前有很多公司,由于保密公司并不会让员工连入互联网,所以这些软件都将无法使用。这是就需要开发一款能够在公司局域网中使用的聊天系统,并实现公司内部员工的通讯和交流。 该系统分为服务器端和客户端两个不同的程序,其中服务器端需要运行在公司的服务器上,而客户端需要部署到公司员工的机器上。这样员工只需要打开客户端并登录到服务器,就可以与局域网上的其他员工彼此之间发送信息,并传送资料了。 二、 研究目标与主要内容 研究目标
4、 本设计以基于Java语言开发的网络聊天系统为实践基础,详细的介绍聊天系统的功能设计和界面逻辑结构,最终实现一个可以实现私聊、群聊、传送文件的网络聊天系统。以Socket网络通讯作为基础,并以Object作为通讯载体,同时运用了一定的通讯协议知识开发完成。在界面方面,采用的是Java中的Swing技术来实现。为了实现多用户的连接,在服务器端将采用多线程的技术来实现。 主要研究内容: 本系统主要实现一个网络聊天系统,总共分客户端与服务器端。 服务器端功能:(1)启动和关闭服务,配置属性文件,用户管理,在线用户查询,查看系统日志;(2)客户端功能。网络设置,注册账号,查找好友
5、添加好友,删除好友,查看好友资料,与好友进行文本聊天,给好友传输文件等。 客户端功能:(1)用户初始化模块。本模块主要完成的任务是用户通过账号、密码登陆系统,若数据在数据库中不存在,则需要用户进行注册;(2)注册操作。1)功能描述:注册一个新的JAVAQQ账号。2)输入要素:昵称、E-Mail、密码、性别、姓名、个性签名。3)处理流程:通过用户名、密码写入数据库;(3)查找操作。1)功能描述:查询用户输入的用户名、密码在数据据中是否有记录。2)输入要素:用户名、密码。3)处理流程:通过用户名,密码到数据库中查询该用户的信息;(4)聊天功能。1)功能描述:通过用户加入的好友与好友进行点对
6、点聊天。2)输入要素:用户聊天消息。3)处理流程:通过服务器将用户聊天消息进行传递;(5)传输文件。1)功能描述:通过好友提供的IP给对方点对点的传输文件。2)输入要素:IP地址。3)处理流程:TransFileManger类继承了Thread类,实现多线程,并通过传输线程(SocketThread)的数量进行文件传输。 三、 拟采取的研究方法(研究手段、技术路线、实验方案)等 研究方法: 首先,进行选题研究,对网络聊天系统的实用性进行多角度的分析,最终确定论文题目。接下来进行用户的需求调查,了解用户的需求,还有一些用户的操作流程,
7、保证功能的完善与有效性。 其次,进行总体设计,画出功能流程图和功能结构图,对系统功能模块进行划分,考虑系统完整性。 技术路线: 本课题主要研究的是基于Socket的聊天软件,此聊天软件分为服务器程序和客户端程序,本课题的目标是能实现用户在客户端与服务器端传递信息。主要研究开发内容是:熟悉系统开发平台,探索在此开发平台下,利用Socket编程技术、多线程开发技术、TCP/IP协议等进行聊天软件的实际开发。具体要实现的目标如下:(1) 实现用户的注册、登陆、修改信息等功能 (2) 实现点对点的通信,即私聊(3) 实现一对多的通信,即群聊 (4) 实现点对点的文件传输。 实验方案: 为了达
8、到这些效果,我使用了jdk1.7环境的java并且使用eclipse作为开发工具,toncat作为服务器端工具,并且建立了TCP/IP模型。还运用了socket套接字不可靠的传输协议。最后,做人机交互界面的时候使用了swing来实现运用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。同时,我在数据传输的时候运用了多线程传输的知识,这样当数据流量交换较为大且交换快速的时候就不会出现卡顿的现象。 四、中外文参考文献目录(理工类专业应在10篇以上,文科类专业应在15篇以上,其中外文文献至少2篇。) [1] (美
9、)Bruce Eckel.Java编程思想[M],机械工业出版社,2007.6 [2] 吴亚峰、苏亚光.30天学通Java项目案例开发[M],电子工业出版社,2009.7 [3] 王鹏,何昀峰.Java Swing图形界面开发与案例详解 [M],清华大学出版社,2008.12 [4] (美)Kenneth L. Calvert,(美)Michael J. Donahoo.Java TCP/IP Socket编程(原书第2版) [M],机械工业出版社,2009.1 [5] 尹继平,张帆.Java范例大全 [M],机械工业出版社,2009.10 [6] 李兴华.Java开发实
10、战经典 [M],清华大学出版社,2009.7 [7] (Robert Sedgewick)赛德维克 (Kevin Waynek)韦恩.Java程序设计:一种跨学科的方法 [M],清华大学出版社,2009.5 [8] 余永红.Java程序设计教程 [M],机械工业出版社,2008.9 [9] 明日科技.Java从入门到精通 [M],清华大学出版社,2008.8 [10] 杜佳荣、马建红、滕振宇.Java网络编程技术与实践[M],清华大学出版社,2008.8 [11] S Floyd, K Fall. Promoting the use of end-to-end conges
11、tion control in the internet[J]. IEEE/ACM Transactions on Networking, 1997, 7(4): 458-472. [12] R Rajan, D Verma, S Kamat, etc. A policy framework for integrated and differentiated services in the internet[J]. IEEE Network Magazine, 1999: 36-41. [13] 李丽萍. 基于VC++的WinSock网络通信程序设计[J], 广西右江民族师专学报;2003
12、 6:51-54. 五、研究的整体方案与工作进度安排(内容、步骤、时间) 2012年11月 布置任务,准备资料 2012年12月 研究论文,完成文献综述,外文翻译 2013年1月 完成开题报告,拟开发提纲、框架 2013年2月至3月 研究内容的初步开发,中期检查 2013年3月至4月 完成最终开发与测试,完成论文初稿 2013年4月下旬 论文修改,成绩评定 2013年5月 论文答辩,材料归档 六、 研究的主要特点及创新点 1.该软件界面优美,采用统一配色,并设计各个模块的图标,清楚易懂,便于用户操作。 2.研究结果与实际应用相结合,实现了简单化,易操作性,符合人机交互学。 3.在功能上,将用户互相通信的聊天记录以文本格式存入数据库,可以实现和qq一样的调用聊天记录的操作。 七、指导教师审核意见: 指导教师签名: 年 月 日 6






