一、前言计算机设计之初,只是为了运用于科学研究,因为其非同寻常的运算速度而大大简化了人类的脑力劳动。随着社会的快速发展,计算机已经不再是及其昂贵并且功能单一的纯粹的计算工具。当今的计算机不仅性能越来越好,体积也越来越小,设计的完美伴随的并不是价格的提升,而是越来越大众化。个人电脑是当代社会计算机的主要表现形式。在个人电脑和网络流行的今天,人类的交流方式也越来越丰富,以全球互联网络为载体的网络即时聊天工具软件越来越多的出现,不仅大大节省了信息传递所使用的能源,更体现着人类社会的丰富多彩。本软件的开发,主要是针对小型用户群,能实现基本的即时交流功能,能应用于局域网和互联网,很适合作为学校及企业内部交流工具。 项目开发的主要内容本系统能够在安装有Microsoft Office或其他带有 Microsoft Visual Basic 运行库的Microsoft Windows 98以及更高版本的操作系统环境下运行,设计并实现的功能除了基本的即时聊天,还有文件传输,自定义表情等。 项目开发运用到的主要技术1. 采用Microsoft Access 2000来完成数据库管理平台开发 。2. 采用Microsoft Visual Basic 开发平台来完成系统的前台环境(客户端)开发。3. 采用Winsock来实现客户端和服务器的通讯。二、 数据库与工具简介 基于TCP/IP 协议的C/S 模式体系结构本聊天系统包括客户端和服务器,即采用客户端—服务器架构,客户端发送、接收信息,服务器端在客户端之间转发信息。传输层协议为TCP/IP协议。客户机/服务器(C/S)结果是当前非常流行的数据库系统结构。在这种体系结构中,客户机提出请求,服务器对客户机的服务请求做出回应。每一个服务器都为整个局域网系统提供自己最擅长的服务,让所有客户机来分享;客户机上的应用程序借助于服务器的服务功能实现复杂的应用功能。在C/S结构中,数据库存储层出于服务器上,应用层和数据界面层出于客户机上。在C/S数据库服务器结构中,客户机负责管理用户界面,接收用户数据、处理应用逻辑、生成数据库服务请求,并将服务请求发送给数据库服务器,同时接收数据库服务器返回的结果,最后在将返回的结果按照一定的格式或方式显示给客户机。C/S系统结构使整个系统具有较好的性能。C/S结构的通讯成本也比较低,主要原因在于:(1) 降低了数据传输量,数据库服务器返回给客户机的仅是执行数据操作后的结果数据。(2) 由于许多应用逻辑处理由客户机来完成,因而减少了许多的不必要的与服务器的通信开销。TCP/IP协议的特点:Internet上的TCP/IP协议之所以能够得到迅速发展,不仅因为它是美国军方指定使用的通信协议,更重要的是它恰恰适应了世界范围内的数据通信的需要。TCP/IP协议主要有以下几个特点:开放的协议标准,可以免费使用,并且独立与特定的计算机硬件与操作系统;独立与特定的网络硬件,可以运行在局域网、广域网,更适用与互联网中;统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有唯一的地址;标准化的高层协议,可以提供多种可靠的用户服务。TCP协议的特点是:提供面向连接的、可靠的、全双工通信;支持数据流的传输;传输连接的可靠建立与释放;提供流量控制与拥塞控制。 Microsoft Access 2000简介关于数据库的建立,我们选择了Microsoft Access 2000作为工具,因为和商业化的SQL server相比,虽然Access在安全性和处理并发能力等方面略逊一筹,但是Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。微软公司通过大量地改进,将Access的新版本功能变得比最初版本强大许多。不管是处理公司的客户订单数据;管理自己的个人通讯录;还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。Access的组成部分:表表是Access应用程序的人机交互界面,基本上是所建数据库中的表加上各种可视化的组件元素。查询查询的本质就是SQL的数据操纵语句,利用查询可以通过不同的方法来查看更改和分析数据,对表、记录、字段的多数据操作都可通过查询来完成。报表报表对象实际上就是一些制定好的特殊查询,不过这是只具有一个查询结果的显示界面,便于打印分析。宏宏是指一个或多个操作的集合,其中每个操作实现特定的功能。宏可以使某些普通的任务自动完成。模块模块就是数据库程序中的程序文件和过程文件。每一个模块可以包含一个或多个子程序、函数或属性。Access数据库窗口子数据表用户可以使用表、查询窗体和子窗体数据表来查看子数据表。子数据表可以绑定表、查询或窗体。数据访问页数据访问页是一个Web页,可以用来添加、编辑、查看或处理Microsoft Access数据库或SQL Server数据库中的当前数据。 编程工具Visual Basic 简介本系统的编程工具使用Visual Basic 。Visual Basic 是美国微软公司开发的一个面向对象的可视化编程工具,经过多次换代后,它已经成为一个全新的成熟的高端产品。“Visual”意为“可视化的”,指的是一种开发图形用户界面的方法,所以Visual Basic是基于Basic的可视化的程序设计语言。在Visual Basic中,一方面继承了Basic所具有的程序设计语言简单易用的特点,另一方面在其编程系统中采用了面向对象、事件驱动的编程机制,用一种巧妙的方法把Windows的编程复杂性封装起来,提供了一种所见即所得的可视化程序设计方法。Visual Basic 是一种可视化的编程语言,利用这种可视化技术进行编程,能使编程工作变得轻松、快捷,摆脱了面向过程语言的虚度细节,而将主要精力其中在解决实际问题和设计友好界面上。同时,VB在数据库开发方面能读取和访问Access、Excel、FoxPro和ODBC等多种数据库,并能够利用VB自身所带的数据库引擎创建Access数据库,所以VB在管理信息系统(MIS)的开发和建设方面得到了广泛的应用。包括三个版本:学习版、专业版、企业版是在相同的基础上建立起来的,以满足不同层次的用户需要。三、总体设计 引言 目的本总体设计说明是根据编写网络即时聊天系统的前期需求编写的。涉及客户端登录,即时聊天,文件传输,资料修改,好友添加删除,服务端数据库建立,登录信息监控,BUG报错等方面的总体设计思想。在和同组同学们的共同研究讨论下,我们完成了对网络即时聊天系统总体设计。 专业词定义数据流图DFD(Data Flow Diagram): 数据流程图描述管理信息系统如何操作和处理各种数据。反映系统的动态特征。表达了系统分析人员对现有系统的认识,对目标系统的认识和对目标系统的设想。是系统的功能模型,通过流程建模,把系统的功能进行详细分析,从而使系统分析员可以更好的地与用户交流。数据流程图表达了数据和处理过程的关系,描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。因为数据流程图是逻辑系统的图形表示,即使不是专业的技术人员也容易理解,所以是极好的通信工具。此外,设计数据流程图只考虑系统必须完成的基本逻辑功能,完全不考虑如何具体的实现这些功能,所以它是软件设计很好的出发点。数据流程图由四种基本符号组成:(1)正方形(或立方体)代表数据的源点或终点(2)圆脚矩形(或圆形)代表变换数据的处理(3)开口矩形(或两条平行线)代表数据存储(4)箭头代表数据流,即特定的数据的流动方向.字典DD(Data Dictionary):是关于数据的信息的集合,也就是对数据流图中所包含的元素的定义的集合。数据字典由四类元素定义组成:数据流 、数据项 、数据存储、数据处理。数据流是数据结构在系统内传输的路径。数据项是不可再分割的数据单位数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。处理过程的具体处理逻辑一般用判定表或判定树来描述。数据结构反映了数据之间的组合关系。一个数据结构可由若干个数据项组成也可由若干个数据结构组成,或由若干个数据项和数据结构组成。六、总结在这个软件设计的最初,我们即按照老师的要求一步一步往下做,努力作好需求分析。因为在软件的开发过程中需求分析是十分重要的。在初步了解的基础上,我们根据老师给予的关于即时聊天系统设计思路的讲解,对系统进行了详细的需求分析。这样就使我们对于网络即时聊天系统的开发有了一个大致的思路。在最初的几个星期里,我们一直在做完善需求分析的重复工作。这样就为下一步的设计打下了坚实的基础。到了数据库设计阶段,首先选择了ACCESS 2000作为数据库管理系统。因为我们需要的数据库并不是十分复杂,经过一段时间的共同努力,我们的数据库建立成功了。下一阶段就到了编程阶段了,在这个阶段我们首先考虑的是界面,一个界面设计的好坏直接关系到使用者的方便程度,于是老师提出的要求就是实用。在实用的基础上尽量美观大方。我们经过反复的改正后,界面固定下来。然后就进入编写程序阶段了,在编程过程中,我们借鉴了很多资料,同时也请教了其他有经验的同学。在可以实现同一功能的多个控件中经过仔细研究,确定了最优的控件。这样在老师的要求和帮助下,我们的界面逐渐的得以完善并最终确定下来,到了真正编写代码的时候,我们在需求分析做的努力逐渐显示出来,因为在这个过程中,我们几乎没有遇到什么十分棘手的问题,各项功能也随之增加。在经过和老师的交流讨论之后,我们的设计也逐渐进入了尾声。这样,我们的设计就基本上完成了。在接下来的时间里,我们继续对我们的设计进行优化,包括界面的美观,以及程序的设计。在严格的测试后,逐渐使网络即时聊天系统不再出现大的错误,能够很稳定的运行。