1简易聊天工具总体设计报告班级:网络工程10-1班姓名:学号:08103609指导老师:2目录一、引言..........................................11.1设计聊天工具的背景及意义...............................11.2课题现状..............................................11.3开发平台介绍..........................................1二、需求分析......................................22.1编写目标.............................................22.2可行性分析..........................................22.3分析需求............................................22.3.1功能需求分析..............................................22.3.2数据需求分析..............................................22.3.3性能需求分析..............................................32.3.4系统运行需求..............................................32.4本系统的主要功能部分组成:................................32.4.1服务器端模块..............................................32.4.2客户端模块................................................32.5数据流图....................................................42.5.1顶层数据流图..............................................42.5.2一层数据流图..............................................42.5.3二层数据流图..............................................5三、概要设计......................................63.1系统总模块图................................................63.2模块功能之间的关系.........................................73.2.1服务器端模块..............................................73.2.1.1用户上下线识别及显示模块................................73.2.1.2信息识别转发模块........................................73.2.2客户端模块................................................73.2.2.1用户注册模块............................................73.2.2.2用户登陆模块............................................73.2.2.3用户密码修改模块........................................73.3两大模块工作流程............................................83.4系统数据结构设计...........................................93.4.1数据逻辑设计..............................................93.4.2数据字典..................................................9四、详细设计与编码实现..........................104.1服务器端详细设计..........................................104.1.1服务器界面设计...........................................104.1.2服务器程序类.............................................114.1.3服务器端连接用户的线程设计...............................1234.1.4服务器端线程的管理.......................................134.2客户端的详细设计........................................134.2.1界面包的设计(view包)................................144.2.1.1用户登录界面...........................................144.2.1.2用户好友列表界面.......................................154.2.1.3用户聊天界面...........................................184.2.2模块包的设计(model包)...............................194.2.2.1客户端连接服务器类.....................................194.2.2.2客户检查使用者类.......................................204.2.3用户端工具包的设计(tools包)........................214.2.3.1客户端连接服务器线程类.................................214.2.3.2管理客户端连接服务器线程类.............................224.2.3.3管理用户的聊天界面的类.................................234.2.3.4管理好友列表、黑名单界面类.............................234.3公共包的详细设计..........................................234.3.1User类...................................................234.3.2包的种类定义类...........................................244.3.3传输包定义类.............................................24五、运行测试......................................261.首先开启服务器..............................................262.进行用户登录................................................263.用户之间聊天................................................28六、结束语........................................29参考文献..........................................301一、引言1.1设计聊天工具的背景及意义随着计算机科学技术的飞速发展,网络越来越深刻的改变着人们生活方方面面。各种基于网络的应用技术在人们的政治、经济、生活等的各个方面都发挥着重要的作用。例如QQ,MSN等基于Internet的即时聊天工具。这些工具通过网络这个新兴的媒介进行信息交流相比其他传统媒介具有数据量大,实时性强,操作简单,成本低廉等优点。不仅如此即时聊工具还具备许多传统媒介不具备的强大功能,它们能传送文字、声音、影像和文档,而且能更加人性化的显示联络人的名单和通信状态。因而它们在现实生活中受到了广泛的欢迎,这是有目共睹的。目前基于Internet的即时聊天工具已经做的非常完美,然而基于局域网的即时聊天工具却不如人意。而在高等教育方面,网络展现出不可替代的作用。为了适应现代信息化,教学局域网就应运而生。而教学局域网内的即时通信能力则显得尤为重要。所以对于学校和公司内部网络等机构,局域网即时聊天的应用还是相当重要的。一个好的局域网通信软件将对学校和公司的运作产生积极的影响。1.2课题现状基于局域网的即时通信软件的核心技术其实与基于Internet的即时通信软件的设计技术是一样的,只是规模较小。基于Internet的通信工具一般是采用UDP或TCP协议来实现的,开发技术已经非常成熟。比如QQ、MSN等等,它们都是基于Internet的即时通信软件,它们不仅实现了即时聊天、文件传输等功能,而且还能够实现网络即时视频、语音聊天功能。它们的功能正在不断扩充,使其更加人性化,满足人们更多的需求。这类软件其实都是在下层协议的基础之上,通过网络通信接口进行设计的软件产品。在局域网内,这类软件的设计比在Internet中设计更为简单。因为Internet是网络的网络,结构更为复杂,碰到的状况比在局域网中要多。而局域网中事情就简单的多了,所以局域网聊天工具在实现即时通信时就相对容易些了。1.3开发平台介绍这次课题设计主要用Java语言,所以就选择相应的开发平台和工作、测试环境为MyEclipse。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。2二、需求分析2.1编写目标聊天工具大多数由客户端程序和服务器程序外加服务器端,本程序采用客服机/服务器架构模式,也就是通常所简称的C/S模式。通过Java提供的Socket类来连接客户机和服务器并使客户机与服务器之间相互通信。由于聊天是多点对多点的而Java提供的多线程功能,用多线程可完成多点对多点的聊天。主要有两个应用程序,分别为服务器程序和客户端程序。服务器应用程序主要用于消息转发,以及向所有用户发送系统消息等;客户端应用程序主要用于客户聊天记录的显示和信息输入。采用Client/Server(C/S)体系结构,即客户机/服务器体系结构。聊天服务器专门用于监控用户状态和转发消息,客户端负责接收消息的用户序列和消息文本发送到服务器。该聊天系统实现私聊,一对多聊,用户登陆,退出聊天系统等功能。2.2可行性分析经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行Java软件的电脑便可,所以不用考虑到经济问题。技术可行性:使用Java作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数