在选题过程中阅读的文献资料(只写文献名称及篇数),及其他准备工作(如调研、计算、实验等): 参考文献 [1] [美]David M. Arnow等. Java面向对象程序设计.郑莉等译.清华大学出版社,2006 [2] 湘沪科技.Java类库查询词典.中国铁道出版社,2004 [3] 陈炜,宋燕红等.Java语言程序设计案例教程.人民邮电出版社,2005 [4] 袁然,郑自国等.Java案例开发集锦.电子工业出版社,2005 [5] 新电脑课堂编委会编著,JAVA编程篇,电子工业出版社,2004 [6] (美)BRUCE ECKEL 著,JAVA编程思想,机械工业出版社,2005 [7] 吴晓东等,JAVA程序设计,清华大学出版社,2003 [8] 陈志泊,李冬梅,王春玲等,数据库原理及应用教程,人民邮电出版社,2004 [9] 萨师煊,王珊等,数据库系统概论,高等教育出版社,2004 [10] [美] John Papa, Matthew Shepker, Peter Debetta,SQL Server 7编程技术内幕, 机械工业出版社,2000.1 [11] [美] Jake Sturm,Microsoft SQL Server 7.0 数据仓库技术指南,机械工业出版社,2000.10 其他准备工作: 查看JAVA网络编程技术和相关知识,重点了解Win Socket网络编程和开发,查阅有关数据库Sql Server2000的相关内容,以及相应的开发工具,如JCreater,同时在网络上查阅有关文献和国内外就JAVA的聊天系统的起源,现状,以及未来发展! | ||
题目来源及选题依据: 题目来源:针对当前众多IM软件依赖于Internet才能够使用的缺陷,本系统旨在应用Java语言开发一个采用C/S模式的应用于小型局域网内部的IM软件,充分利用Java语言的面向对象、平台无关性等众多优点,主要采用了Socket技术实现服务器端与客户机端、客户机与客户机的通信;多线程机制处理服务器端多个用户的并发请求;输入输出流技术实现用户与客户机端的友好交互;Swing编程技术实现了友好的图形用户界面。本系统的目标是实现基本的聊天功能 选题依据: 在Internet迅猛发展的今天,IM已经成为信息传递的重要载体,是目前Internet上最常用的功能。IM,即Instant Messenger,中文意思是“即时通信”,是一种快捷、方便的网络通讯软件,用户通过IM软件可以实现即时的文字通信、数据传输、语音和视频交流。最早的IM软件是Mirabilis公司开发的ICQ,之后出现了众多地IM产品,主要有MSN、UC、QQ、Skype等。但是这些IM软件只适用于Internet,对于没有接入Internet的局域网,它们就不适用了。因此我采用Java语言开发一个适用于局域网的IM软件。综合运用网络工程专业知识,对网上即时聊天工具的功能进行分析、进行软件总体结构设计、功能设计和数据设计。掌握JAVA网络编程技术,会使用Win Socket进行网络编程,以Sql Server2000作为数据库,利用JAVA进行软件开发,实现网上即时聊天工具中用户注册、即时通讯、数据传输等基本功能,使用JCreater进行软件界面设计,完成软件开发。 | ||
国内外同类课题研究现状: 从1996年第一个商业化的IM产品ICQ发明至今,IM软件的发展可以分成三个时期,即技术研发期、产品应用期和产品创新期从1996年到2000年,以ICQ的出现为标志,世界各地对IM产品的研究和开发主要停留在技术研发期阶段。 1996年7月,4个以色列年轻人发明了最早的IM产品——ICQ,是英文“I Seek You”的简称,其中文含义是“我找你”。 几个月时间开发产品,并于1996年11月正式发布,此后的6个月内,有85万名用户成为注册使用ICQ,1997年6月Mirabilis已经管理着10万名同时在线的用户,成为当时互联网上最大的通讯网络。 1998年6月,AOL(美国在线)以2.87亿美元的代价收购了ICQ,同时自己开发了AIM(AOL Instant Messenger),在美国市场同时营运ICQ和AIM两个独立的产品,并且这两个产品的用户之间不能互联互通。IT业的巨头微软公司则于1999年7月发布了自己的IM产品:MSN Messenger,发布后的前6天就获得了70万用户。而Yahoo则于1999年6月推出自己的IM产品:Yahoo Messenger。 2000年之后,IM厂商的用户圈地运动逐渐完成,各个厂商都在寻找IM产品的赢利模式,他们发现仅仅依靠简单的文字即时交流和在线感知功能几乎不可能向用户收费,事实上任何一家厂商如果对用户注册使用其IM产品收费的话,用户马上就会流失到提供免费服务的竞争对手那里去,AIM、Yahoo Messenger、QQ、MSN、ICQ是几家主要的厂商,事实上各个国家还有大大小小数十家小厂商,竞争非常激烈。 为了打破这个困境,在美国MSN Messenger采取了绑定微软自身的门户网站(www.msn.com)的模式来赢利,用户在MSN Messenger中就可以点击新闻链接从而自动启动系统默认浏览器到MSN门户网站进行浏览,还可在MSN Messenger中输入关键字提交到默认的搜索引擎站点后启动浏览器显示搜索结果,同时为提高用户对MSN Messenger的黏性,微软在MSN Messenger中加入了其他更丰富的应用:点对点的文件传输、视频/音频对话、与移动电话集成等,甚至在微软的浏览器中加入插件,使用户在使用浏览器时可以直接点击一个快捷键启动MSN Messenger,所有这些应用都超出了2000年之前IM产品的标准模式,使得IM向多媒体、内容服务和移动应用方面发展。 同样,Yahoo Messenger、QQ、ICQ和AIM都在发展各自的客户应用,从大方向来看,都和MSN Messenger一样往多媒体、内容服务和移动应用方面发展,但由于每家运营商的背景不同,导致各自的应用重点不同,例如QQ在手机短信、移动设备方面的优势在全球范围内都比较独特,导致其赢利主要来自于手机短信收费。而AIM和ICQ由于其运营商AOL是美国最大的互联网接入服务商(ISP:Internet Service Provider),因此其收入并不直接来自IM产品本身,而是通过用户使用IM产品时带来的互联网接入服务收入来赢利,Yahoo Messenger的赢利模式和功能特点与MSN Messenger很类似,甚至其用户群体有相当的重合,Yahoo主要是想通过Yahoo Messenger来提高其门户网站的访问量,而Yahoo作为美国第一大门户站点,其赢利模式已经比较成熟,即收入主要来源于广告。 2004年之后,各个厂商对IM用户的争夺更加激烈,同时互联网上的新应用发展速度更加快,很多功能非常具有创新性,并且这种创新性的应用传播速度非常之快,远远超出了传统工业中新技术的扩散速度。这些应用当中比较具有代表性的有博客(Web Blogger:也称为网络日志)、RSS(Really Simple Sydicattion)、音乐文件共享、视频点播(VOD:Video On Demand)等,为了保持用户对IM软件的黏性,各个厂家都想尽办法将这些新技术部署到新版本的IM产品中去。同时,由于用户增长速度已经开始下降,社会上要求现有IM运营商之间实现互联互通的呼声越来越高,在产品应用期阶段中开始讨论的标准统一问题的解决进度大大加快,互联网上主要的标准制订组织IETF(Internet Engineering Task Force)对IM行业技术标准的讨论进入了实质性阶段。部分厂商之间的IM产品已经开始了互通的尝试,这使得原来依靠封闭协议来保持用户忠诚度的IM厂商开始转变策略,目前已经肯定不同IM产品之间的互联互通是未来的发展方向,但具体到每个厂商,其进度和实施策略却由于商业利益而有很大的差异,互通性本身实际上已经成为IM产品的一个创新性。 在中国,深圳腾讯公司1999年2月推出了IM产品oicq,后来更名为QQ,当年11月就有100万用户注册,2000年4月QQ注册用户数达到500万,5月QQ同时在线人数超过了10万。基本实现了文字通信、数据传输、语音聊天、视频聊天等功能,而且附带了博客、在线游戏、视频点播、音乐文件共享等创新性功能,针对不同的用户群体开发了丰富多彩的应用 | ||
详细阐述拟选课题的目的、意义、要完成的工作和预期结果: 选此课题的目的及意义: ICQ是英文"I seek you "的简称,中文意思是我找你。ICQ最大的功能就是即时信息交流,只要记得对方的号码,上网时可以呼他,无论他在哪里,只要他上网打开ICQ,人们就可以随时交流。在现实中,网上各种聊天程序越来越多,比如著名的深圳腾迅公司推出的OICQ(现在由于版权问题,已改名为QQ2001),还有由TOM.COM推出的Tomq等,这些软件技术都很好,而且简单易用,成为中国网民最喜欢的通信软件。 但是这些公司都只提供软件的客户端程序免费下载,而不提供其服务器程序,因此对于未与互联网连接的私有网络,这些软件就用不上了。当然网上也有免费的类似ICQ的服务器提供下载,但是好多都不提供源程序,即使有,其说明也很简单,功能不够完善,基于此种情况,我试想用自己所学的JAVA技术开发一个适合局域网内部使用的,功能相对健全的即时通信工具,同时,也对JAVA技术在应用方面有一个更深刻理解! 本课题要完成的工作和要实现的预期结果如下: 1〉 用户注册 2〉 用户登录 3〉 发送消息 4〉 接受消息 5〉 查找好友 6〉 添加好友 7〉 删除好友 8〉 查看好友资料 预期研究结果:通过完成以上相关操作,最终实现基本局域网内部的聊天功能 | ||
拟采用的研究方案和要解决的关键问题: 本IM软件采用传统的C/S模式,充分运用Java语言的面向对象技术,采用Swing技术实现整个系统友好的用户界面,Socket技术采用多线程技术实现多个用户在服务器端的并发请求,JDBC技术为Java语言操作数据库提供了强大的支持,I/O流技术实现了用户端的输入/输出,Java语言的垃圾回收机制,既防止了内存泄漏,又提高了服务器的性能。 C/S模式(Client/Server,客户端/服务器模式):主要由客户应用程序(Client)、服务器管理程序(Server)两个部件组成,能够进行网络间实时的聊天与文件传输,其同时具有自动登录和进行在线用户统计等功能。 客户应用程序: 是系统中用户与数据进行交互的部件,服务器程序负责有效地管理系统资源,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。此模式的优点包括:应用交互性强、提供了更安全的存取模式和可以降低网络通信量 服务器程序: 服务器与客户间通过套接口Socket(TCP)连接。在java中使用套接口相当简单,Java API为处理套接口的通信提供了一个类java.net.Socket.,使得编写网络应用程序相对容易.服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为8080,然后无限循环调用accept()方法接受客户程序的连接 本课题的关键在于应用Java语言实现用户注册,用户登录,查找好友,添加好友,删除好友,查看好友资料,以及使用JAVA的多线程机制实现消息的接收与发送! | ||
必须的实验初步计划、及论文工作进度的初步安排: 5月10日-5月14日:熟悉并掌握JAVA语言,根据工作计划对网上即时聊天工具进行分析,明确功能模块和开发需求,完成需求分析报告,同时熟悉Socket编程。 5月15日-5月22日:根据需求分析报告,研究确定软件设计目标、软件总体结构、功能结构、E-R图、数据库设计等,对软件进行详细设计,完成软件设计报告的撰写,同时,熟悉软件界面开发工具JCreater和SQL Server2000数据库。 5月23日-5月25日:按计划进行毕业论文中期检查工作。 5月26日-6月5日:根据软件设计报告,运用JAVA编写代码,实现软件。 6月6日-6月7日:整理并提交软件和相应的开发文档。 6月8日-6月24日:撰写毕业论文。 7月7日:参加毕业论文答辩。 | ||
本论文的框架结构:(要求具体到节) 引言 第1章 绪论 1.1 IM的概述 1.2 IM系统开发的背景及意义 1.3 IM系统开发的目的 第2章 相关技术研究 2.1 C/S模式简介 2.2 Java简介 2.2.1 Java简史 2.2.2 Java特点 2.3 Socket编程 2.4 多线程机制 2.4.1 多线程简介 2.4.2 线程的状态与调度 2.5 JDBC 2.6 Swing技术 2.7 I/O流 2.7.1 InputStream 2.7.2 OutputStream 2.8 JCreator开发环境 第3章 系统设计 3.1 系统总体设计 3.2 功能模块设计 3.3 数据库设计 第4章 系统实现 4.1 数据库的实现 4.2 服务器端的实现 4.2.1 建立连接 4.2.2 操作数据库 4.2.3 处理客户端请求 4.3 客户机端的实现 4.3.1 GUI界面 4.3.2 注册 4.3.3 登录与退出 4.3.4 聊天 4.3.5 查找好友 4.3.6 添加好友 4.3.7 删除好友 4.3.8 查看好友资料 第五章 系统测试 谢辞 参考文献 | ||
导 师 意 见 | 指导教师(签字): 年 月 日 |