文档库 最新最全的文档下载
当前位置:文档库 › java网页版即时聊天工具毕业设计开题报告-最新版-11.21

java网页版即时聊天工具毕业设计开题报告-最新版-11.21

哈尔滨工业大学

国家示范性软件学院

本科毕业设计(论文)开题报告

题目:基于Java网页版即时聊天工具

设计与实现

专业软件工程

学生姓名韩佳宏

学号1073710515

联系方式187********

年级2007级

实习基地

基地指导教师

联系方式

校内指导教师侯俊英

联系方式55687360

开题日期2010-11-17

哈尔滨工业大学软件学院

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

目录

1. 项目来源及开发目的和意义 (1)

1.1 项目来源 (1)

1.2 项目开发目的和意义 (1)

2. 国内外相关领域开发及应用现状分析 (3)

2.1国内外即时通信市场现状及发展情况 (3)

2.2 Web即时聊天工具的优势分析 (3)

3. 需求分析及总体设计方案 (5)

3.1 主要开发内容 (5)

3.2 需求分析 (5)

3.2.1 页面设计模块功能需求 (5)

3.2.2 后台通讯模块功能需求 (8)

3.2.3 数据库访问模块功能需求 (9)

3.3 总体设计方案 (9)

3.3.1 页面设计模块结构 (9)

3.3.2 后台通讯模块结构 (10)

3.3.3 数据库访问模块结构 (10)

4. 开发环境和开发工具 (12)

4.1 开发语言 (12)

4.2 开发工具 (12)

4.3 开发环境 (12)

5. 项目进度安排、预期达到的目标 (14)

5.1 进度安排 (14)

5.2 预期达到的目标 (14)

5.2.1 功能预期目标 (14)

5.2.1 性能预期目标 (14)

5.2.1 其它预期目标 (14)

6. 完成项目所需的条件和经费 (15)

7. 预见的困难及应对措施 (16)

- I -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

参考文献 (17)

附件1:哈尔滨工业大学毕业设计(论文)任务书 (18)

附件2:本科毕业设计(论文)开题检查意见表 (20)

- II -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

1. 项目来源及开发目的和意义

1.1 项目来源

当今互联网的交互性和实时性已成为必不可少的需求,即时通讯工具正是基于这两大主题的迅速发展而产生的互联网重要应用之一,本项目正是来源于对当今互联网应用的分析,统计网络应用市场需求,然后设计并实现的。

1.2 项目开发目的和意义

聊天工具作为计算机的应用之一,受到了用户的普遍爱好,它把人们带进了一个虚拟的网络世界,大大加深了人们之间的联系,从单一的文本聊天,到语音聊天以及到现在的图像、视频聊天、即时短信的发送和在线游戏等功能的开发,已经大大的拓展了聊天工具的概念,它将会作为未来人们通过因特网相互联系和娱乐的主要平台。

此次设计从实际工程应用的角度出发,以计算机网络原理为指导,结合当前网络中的一些常用技术,编程实现基于java的网络聊天工具。

本项目是作为本人本科的毕业设计课题提出来的,它规模适中,适合于个人开发,能够锻炼学习新知识能力,锻炼编程能力,锻炼软件工程思维方式。目前,计算机的发展离不开网络这一方向,网络将大大扩展计算机的功能,研究计算机的网络方面的技术以及应用,挖掘计算机的额网络潜能,将能够大大提高自己对计算机的本身的认识,同时也能加深对计算机网络的认识。

网络的一大应用就是用于用户之间联络的聊天工具,通过对聊天工具的开发,能了解计算机如何通过网络互相通信以及在此相互通信的基础上实现的应用程序级的协议。

本项目在整个开发实现上都基本采用Ajax技术,在后台通讯上使用它是因为它具有如下优点:

- 1 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

a. 不必更新全部网页,可更新部份页面。,这就实现了及时响应。

b. 优化了browser和server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。

c. 平衡了前、后端的负载,原本数据大多由后端负责处理,借由AJAX让客户端分担些工作,减低了后端的负载。

而在前台界面上,Ajax同样强大诱人,这主要运用到Extjs技术,它是一种主要用于创建前端用户界面,是一个与后台技术无关的前端Ajax框架,它具有如下优点:

a.功能丰富。

b.界面美观。

c.单选行,多选行,高亮显示选中的行,拖拽改变列宽度,按列排序。

d.自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染。

e.可编辑grid,添加新行,删除一或多行,提示脏数据,推拽改变grid大小,grid之间拖拽一或多行,甚至可以在tree和grid之间进行拖拽。

项目的服务器端用java实现,因为jsp具有如下优点:

a.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

b.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

c.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

d.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

- 2 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

2. 国内外相关领域开发及应用现状分析

2.1国内外即时通信市场现状及发展情况

2004年以来,即时通信成为互联网和电信行业最激动人心的热点。2004年6月,行业的主导服务商腾讯在香港成功上市。7月,网易在北京推出了新版的即时通讯软件网易泡泡2004,新浪斥资近两亿元收购UC即时通讯技术平台,搜狐也推出即时通讯软件“搜Q”。作为电信运营商的中国电信和中国网通也动作频频。在国外,互联网行业引人瞩目的新星GOOGLE据传也推出了自己的即时通信,全球即时通信行业的老大ICQ也进入中国市场,即时通信行业发展迅速,2003年行业增长率达到50%,已经形成了收入规模为10亿人民币的不可忽视的市场。

目前国内面向个人的即时通信产品主要为腾讯QQ,微软MSN,网易泡泡,搜Q,新浪UC,ICQ,雅虎通,IMU以及电信的VIM等;

面向企业用户的即时通信产品比较多,但是除了腾讯,微软等少数运营商用户比较多以外,其他的推出时间很短,用户极少,市场有待开发;

现在中国即时通信市场的竞争格局中,腾讯一支独秀,占据80%以上的市场份额;

虽然目前绝大多数互联网用户都同时为即时通信用户但是随着互联网尤其是宽带用户数的迅速增长,未来若干年内,中国即时通信用户数量还会猛增。

即时通信的安全性和互连互通成为即时通信产品发展的主要制约因素。

2.2 Web即时聊天工具的优势分析

B/S结构的聊天工具相对于CS聊天工具有诸多好处,首先,浏览器的通用性比应用程序强很多,CS聊天工具依托于操作系统,应用起来极为不方便,而你在不同的操作系统中只要打开浏览器即可进行即时聊天,简便易行,不受操作

- 3 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

系统的约束,其次,应用程序需要实现安装,这就为病毒程序提供了温床,寄负于聊天程序安装文件上,对用户造成威胁,而web版聊天程序不需要安装,安全易行,最近腾讯QQ和360安全卫士矛盾激增,其起源众所周知,即由于QQ在运行的同时对用户个人电脑的隐私信息进行了强制扫描,侵犯了用户的权利,360给予曝光,由此设想,如果QQ一开始就不是应用程序,而是一个web网站,那么这场争端完全可以避免,因为扫描客户端的实现对于应用程序来说易如反掌,而对于网页来说却如何实现呢?因此,web聊天工具比应用程序版更有价值。

- 4 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

3. 需求分析及总体设计方案

3.1 主要开发内容

本项目的主要开发内容是设计并实现基于java的文本聊天工具(如果提供版本升级,会考虑加入语音和视频聊天的功能),此次设计为基于网页形式的聊天工具,该方案利用现有成熟的网页技术来实现聊天工具的开发,该方案不再需要对底层网络通信进行开发,因为有Http的很好的支持,因此工作重心转到网页的开发和服务期端的开发。对于网页开发。

本项目主要分为三大模块:页面设计模块,后台通讯模块和数据库访问模块。

3.2 需求分析

一个完美得及时聊天工具,它将为用户提供友好的界面,丰富的功能,方便用户的使用,下面就对该项目的需求进行详细描述。

3.2.1 页面设计模块功能需求

1)文本聊天功能

这是页面的主要界面区域,为一个编辑框形式的窗口,其中用于显示聊天信息和系统通知用户的信息,并支持插入图片元素,该编辑框中可拷贝文字或图片,但不支持修改里面信息。

2)文件传输功能

此界面元素默认为隐藏形式,当用户浏览到要传输的文件并上传时,在文本聊天界面的右侧显示该窗口,窗口中显示内容为文件的信息和传输进度,当文件开始传输和传输完成时将在文本聊天窗口中提示用户相关信息。

3)聊天室成员列表

- 5 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

以列表方式显示该聊天室中现在在线的成员,成员最多显示100位,但是在聊天的时候没有显示出的成员的发言信息依旧会在文本信息框中显示,每一个聊天室支持1000名成员同时在线聊天,该成员列表可隐藏。

4)添加好友功能

在聊天室的成员列表上显示的某一个成员图标上点击鼠标左键,可显示弹出菜单,如果该成员还不是用户的好友,则含有添加好友选项,点击添加,该成员会收到一条有好友申请的提醒信息和验证信息,当验证成功时添加好友成功。5)消息群发功能

在菜单栏中可点击选择显示在线好友列表,此时以列表的方式显示所有在线的好友,可以勾选若干位,然后在下面的文本聊天编辑框中进行消息的群发,当然也提供全选的功能。

6)删除好友功能

在菜单栏中可点击选择显示所有好友列表,此时以列表的方式显示所有的好友,此时在线的好友名称显示为黑色,离线的好友名称显示为红色,可以勾选若干位,然后点击删除好友,该好友从列表中删除,不会给被删除的好友提示自己被删除的消息。

7)留言功能

在菜单栏中可点击选择显示离线好友列表,此时以列表的方式显示所有的未在线的好友,可以和文本聊天一样对其进行留言,当然此时不能传输文件,只能进行文本留言,当他下次登录的时候系统会弹出窗口显示留言信息。

8)文字设置功能

在文本聊天框下方的工具栏中包含文字颜色和字体选项,选择颜色或字体后以后输入的文本颜色将改变为设置的颜色,字体也改变,且聊天对方可见变化。

9)搜索人员功能

在菜单栏条的最右侧具有搜索编辑框,提供对人员的搜索功能,并可选择高级搜索选项,此时在高级搜索菜单中可选择某一个聊天室进行局部搜索,也可进行性别等的筛选。

10)修改签名功能

- 6 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

用户的签名是用户在聊天室中的显示名称,在菜单栏中点击选择用户签名档的选项,在其中可以修改个人签名。

11)聊天记录功能

在文本聊天框下方的工具栏中包含聊天记录的选项,可以点击选择显示今天、最近两天、最近一星期的聊天记录,聊天记录中只包含聊天室成员的聊天信息而不包含系统的提示信息。

12)屏蔽聊天功能

如果想屏蔽某一成员的发言信息,可以在聊天室的成员列表上该用户头像上点击鼠标左键,此时出现弹出菜单包含屏蔽其发言的选线,点击选择此功能,使自己看不见该成员的发言,当屏蔽该成员后,在聊天记录中也不会出现该成员的发言信息。

13)最近联系人功能

在文本聊天框下方的工具栏中包含最近联系人的选项,显示最近和自己聊天的10位联系人,从其中选择一位双击可进入单独聊天的界面中。

14)建立好友分组功能

在菜单栏中可点击选择显示所有好友列表,此时以列表的方式显示所有的好友,然后可选择以分组方式显示,此时未分组的好友显示在未知分组的列表项中,点击选择此好友,出现含有将好友移动到的选项,通过该选项可以将好友进行分组,便于管理。

15)好友上线通知功能

当好友上线时通知用户,引起用户注意,上线提醒的方式在概要设计阶段会拟定。

16)发送提醒功能

在文本聊天框下方的工具栏中包含提醒选项,如果给好友发送聊天信息长时间未得到回应,可发送提醒信息,引起他注意,提醒的方式在概要设计阶段会详细给出。

17)建立讨论组功能

在菜单栏中可点击选择建立讨论组的选项,输入讨论组名称建立讨论组,然

- 7 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

后可邀请好友加入,在该讨论组中的成员可以像聊天室一样聊天。每个用户最多可建立5个讨论组。

18)头像编辑功能

用户的头像图片是用户在聊天室中的显示图片,在菜单栏中点击选择用户个人头像的选项,在其中可以修改自己的显示头像。

19)修改成员备注信息功能

在聊天室的成员列表上显示的某一个成员图标上点击鼠标左键,可显示弹出菜单,其中含有修改备注名称的选项,可以将聊天室中的成员名改成自己设定的名字,方便自己查看,当然,这种修改只对自己的界面显示有用。

20)音频聊天功能(升级功能)

此功能不纳入必备基本功能中,可纳入升级扩展功能,在界面的菜单图标中含有音频聊天的选项,点击时界面右侧出现音频窗口,可显示连接状态,未成功连接时出现叉号图标,当连接成功后变换为勾号图标,同时在文本聊天信息框中提示连接成功;当连接超时后,文本聊天信息框中提示连接超时,请求尝试重新连接。

21)视频聊天功能(升级功能)

此功能与音频聊天功能一样,纳入升级扩展功能中。在界面的菜单图标中含有视频聊天的选项,点击时界面右侧出现视频窗口和视频显示区,显示区中呈现视频加载状态,当连接成功后在文本聊天信息框中提示连接成功,等待片刻视频显示区中出现对方的视频图像,若对方没有摄像头,则显示区中呈现无对方视屏图像状态;当连接超时后,文本聊天信息框中提示连接超时,请求尝试重新连接。

3.2.2 后台通讯模块功能需求

由于是即时通讯,所以用Ajax实现,将客户端发送的请求及时响应并返回数据。

- 8 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

3.2.3 数据库访问模块功能需求

将服务器发送的查询请求及时响应,并将结果返回。

3.3 总体设计方案

本项目深入贯彻模块划分的设计思想,将功能和实现清晰地展开,下面就将从模块的角度介绍各个部分的结构设计方案。

3.3.1 页面设计模块结构

图3-1 页面结构与功能图

如图3-1所示,整个页面在总体上分为左侧、中间、右侧、顶部、底部五个部分,其中左侧部分包含一个列表区域,主要以可隐藏可弹出的方式显示出成员或好友,也提供能入修改备注、屏蔽聊天等功能;中间部分是一个大的文本聊天

- 9 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

- 10 -

区域,这是聊天的总体部分,聊天人员发言的信息和系统提示信息将在此区域显示;右侧部分是两个非基础功能的扩展区域,一个是音频聊天信息区,它显示了音频连接的信息,另一个是视频聊天信息区,它显示了视频聊天的信息和聊天对方的视频图像;顶部是该系统的菜单栏,包含了消息群发、搜索人员、显示好友、建立讨论组等选项,点击它们可跳转到其他页面,在这个页面中可进行响应的操作,如留言、删除好友、修改头像、修改备注信息等;底部是该系统的工具栏,主要是对聊天信息的设置和查看等,包括聊天记录选项、发送提示信息、文字设置、最近联系等。

3.3.2 后台通讯模块结构

图3-2 后台通讯图

如图3-2所示,用户发送XMLHttpRequest

请求,通过该对象与服务器打交道,然后服务器将操作数据库获得的信息返回,并通过JavaScript 对客户端进行响应。

本项目的大多数即时通讯都是通过这种方式实现的。

3.3.3 数据库访问模块结构

图3-3 数据库访问图

如图3-3所示,web 服务器将访问参数传递到数据库的存储过程中,存储过程执行数据访问,并将查询的结果返回到服务器。

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告本系统基本上所有的访问都是通过这种方式完成的。

- 11 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

4. 开发环境和开发工具

4.1 开发语言

java的应用也非常广泛,基于java语言的jsp技术在网站开发中具有跨平台、可伸缩性强等众多优点,且网上的学习资料很多,所以选择java语言开发。

4.2 开发工具

(1) Myeclipse 8.5

MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。Myeclipse 8.5在开发周期上具有更好的支持,因此选择它。

(2) Mysql 5.1

Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库,因此选择它。

(3) Tomcat 5.5

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,因此选择它。

4.3 开发环境

- 12 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

表4-1 开发环境表

- 13 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

5. 项目进度安排、预期达到的目标

5.1 进度安排

项目进度及毕业设计(论文)工作安排见表5-1。

表5-1 项目进度及毕业设计(论文)工作计划表

5.2 预期达到的目标

5.2.1 功能预期目标

完全实现需求中定义的功能,希望能够有时间进行版本升级,实现扩展的音频和视频聊天的功能。

5.2.1 性能预期目标

在网络正常的情况下能够在5秒内将页面加载完毕,并且显示出聊天室中的所有成员,操作响应迅速,点击按钮时能够在2秒内响应完成,有较强的兼容性,能够在IE、遨游、火狐等流行的浏览器中正常运行。可扩展性强、可维护性强。

5.2.1 其它预期目标

页面美观大方、操作简单易用、用户体验好。

- 14 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

6. 完成项目所需的条件和经费

6.1 已具备的条件

(1)硬件条件

用于系统开发的个人计算机若干台

用于部署网站的数据库和服务器的计算机一台

(2)软件条件

Myeclipse 8.5

Mysql 5.1

Tomcat 5.5

(3)资料

Extjs 技术资料的电子文档

Jsp开发帮助文档

JavaScript开发帮助文档

Ajax开发帮助文档

6.2 需要的条件和经费

(1) 条件

1、满足要求的网络环境

2、若有足够时间升级版本,提供语音和视频聊天功能,则需摄像头和耳机麦克若干,其他无特殊条件要求。

(2) 经费

若有足够时间升级版本,提供视频聊天功能,则需购买开发用摄像头和耳机麦克的必要费用,其他无特殊经费需求。

- 15 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

7. 预见的困难及应对措施

本项目开发过程中,可以预见的困难及应对措施如下:

(1)对Extjs框架和ajax不熟悉

解决办法:

1、先模仿网上一些美观的网站原型,运用Extjs技术设计实现相似的视觉效果,并可以摘取一些优秀的界面元素运用到毕业设计项目中来。

2、阅读Extjs的相关学习文档。

3、在开发中遇到问题时上网搜索相关资料和解决方案。

(2)由于没有即时通讯工具的开发经验,设计困难

解决办法:

1、分析当下流行的qq网页版—web qq和校内网等提供即时聊天工具的应用的界面和功能设计,取其精华,再融合自身的创新元素,实现该项目的设计。

2、阅读有关即时通讯工具方面的设计和开发学术论文。

(3)需求灵活性,无法事先预知

解决办法:

对必须实现的功能在需求分析阶段确定,这些功能在考虑时均为技术无太大实现难度的需求,对于可能出现实现问题的功能作为版本升级的扩展功能来设计,在预期完成基本功能的前提下可以实现扩展功能,达到灵活变动的目的。

- 16 -

哈尔滨工业大学软件学院本科毕业设计(论文)开题报告

参考文献

[1] 伍利华. 即时通讯,零距离沟通[J]. 中国电子商务,2005.

[2] 黄勇. 即时通讯:差异与融合才能开拓生存之道[J]. IT时代周刊,2007.

[3] 李芝兴,杨瑞龙. Java EE web编程(Eclipse 平台). 机械工业出版社,2008.

[4] 丁扬. 023即时通讯工具的设计与开发. 硕士论文. 电子科技大学, 2008-06-24.

[5] 马化腾. 即时通讯未来的6大应用趋势. IT时代周刊2005 第12期.

[6] 张杰. 即时通讯软件走向专业化. 数码世界2004 第16期.

[7] 贾琴勇. 即时通讯系统的研究与实现. 硕士论文. 武汉理工大学2008-04-01.

[8] S Whittaker. instant messaging in action ACM conference. 2000.

[9] JD Herbsleb, DL Atkins, DG Boyer. Introducing instant messaging and chat.

Proceedings of OZCHI. 2002

[10] A Voida, WC Newstetter. When conventions collide: the tensions of instant

messaging attributed. Proceedings of the SIGCHI . 2006

[11] 戚艳军,刑继军. Ajax与STRUTS结合构建Web应用研究. 现代电子技术.

2008 第22期.

[12] 屠凌峰.高负载Web网站的缓存技术应用. 浙江教育学院学报 2008 第

01期.

[13] 陈蛟. 一种基于AJAX技术的Web应用框架的设计与实现. 北京邮电大学

2008-02-01.

[14] Zhen-yu. The design for web login base on J2EE and Extjs. Journal of Central

South University 2010.

[15] REN Wei. Realization of medicine warehouse management based on Spring

framework and Extjs [J]. Computer Engineering and Design 2009 .

- 17 -

相关文档
相关文档 最新文档