对局域网QQ聊天系统开发的探讨

时间:2022-09-03 05:36:05

对局域网QQ聊天系统开发的探讨

摘要:随着科学技术和网络的飞速发展,网络版的聊天软件种类繁多,如QQ、MSN等,实现了随时随地上网聊天,给人们带来了很大的方便。然而这些聊天软件也存在以下不足:用户必须连接Internet;用户再工作时容易沉迷于网络聊天。为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。

关键词:局域网;系统开发

中图分类号:TP393 文献标识码:A文章编号:1007-9599 (2011) 14-0000-02

Study on the LAN QQ Chat System Development

Wei Wei,Nong Lin

(Yuchai Machinery Company Limited,Yulin537005,China)

Abstract:As the rapid development of science technology and Internet,online chat software variety,such as QQ,MSN,etc.,to achieve anytime,anywhere access to chat,to bring great convenience.However,the lack of chat software,there are the following:the user must be connected to Internet;users work longer easy to indulge in chat.In order to facilitate the exchange of information within the enterprise unit,reduce unnecessary waste of financial and human resources to develop a LAN chat software is necessary.

Keywords:LAN;System development

前言:当今社会,随着全球信息化进程的不断发展,网络也在飞速发展。出于高效、快速地处理各种事务的目的,越来越多的企业在其内部使用局域网来进行工作。在内部局域网的帮助下,企业得以简化信息流程,提高信息交换的速度,从而提高工作效率。然而,随着企业规模的扩大,业务量的增加,企业内部的信息越来越私密,企业只希望员工通过内部局域网进行沟通与交流,避免企业内部机密通过Internet泄露到外部。为了解决上述矛盾,人们提出了开发局域网聊天软件的构想,通过局域网聊天软件,企业员工可以随时的进行即时消息传递,召开网络会议等,有利于提高工作消息效率,同时又保护了企业内部信息的安全性。

一、系统概述

该局域网QQ聊天软件操作简单方便、界面简洁。该系统分为客户端和服务器端。前台为客户端,包括的主要功能有用户注册、用户登陆、文字聊天、文件传输、语音聊天和视频聊天等功能。后台为服务器端,主要功能包括:数据库的建立、查看用户的状态、管理用户的资料、开启和关闭服务器的监听等功能。服务器端直接与数据库相连,服务器端要先开启监听,然后客户端登陆的时候要与服务器端进行通信,服务器端进行验证客户端的用户名和密码。客户端经过服务器端的验证后,才可以登陆成功。本软件还对客户端的各个窗口进行了皮肤加载,使界面看起来更加的美观、大方。本局域网QQ聊天软件还具有系统托盘和右键菜单的功能。每个客户端只能进行一次并且只需注册一次。用户登录成功之后,可以看到局域网内所有的在线和不在线的注册用户。用鼠标双击打开某一个在线的用户的聊天窗口,就可以与该用户进行文字信息的互发与接收,可以利用本地的摄像头进行录像和拍照,还可以与对方进行点对点的视频、语音和传输文件等操作。本系统运行比较的稳定、安全可靠。此外,本软件还对源程序进行了打包成安装源,便于用户使用的时候进行安装。安装源也分为客户端和服务器的安装源。一般的局域网用户只需要安装客户端即可。

二、需求分析

本局域网QQ聊天软件主要是采用Microsoft Visual Studio 2005结合SQL Sever 2000数据库技术,采用C#语言来实现各功能模块的开发。开发出来的软件必须结构比较的合理、功能比较的齐全、使用起来比较的方便。该局域网QQ聊天软件开发的重点和难点是客户端和服务器端与数据库的连接,建立连接后还要保证通信的畅通性和正确性。此外要实现在两个客户端之间实现点对点的文件传输,语音聊天以及视频等功能,也是本局域网QQ聊天软件开发的难点。此外,还要着重处理好各模块间的划分以及模块间的连接。在开发中应注意系统性能的优化,数据库的安全和优化,尽可能的提高系统的安全性和整个系统的运行的稳定性。同时,开发出来的软件系统还必需功能完备、安全性高、易于维护和使用,操作也要简单、方便,界面也要简洁、美观、大方。

(一)功能需求

网络聊天已经成为人们工作生活中传递信息、交流感情的重要工具。网络版的聊天软件种类繁多,如QQ、OICQ、MSN等,实现了随时随地上网聊天,给人们带来了很大的方便。但是这些聊天软件也存在以下不足:用户必须连接Internet;用户在工作时容易沉迷于网络聊天。为了方便单位企业内部的信息交流,减少不必要的财力和人力资源浪费,开发一个局域网聊天软件是非常必要的。开发该局域网聊天软件需要完成以下的几个要求,以便于用户进行操作。这样才能使该软件易学易用、更加的人性化。

1.合理的设计数据库。尽量合理地减少数据库数据的冗余,使重复的数据保持在最小限度,这样将不必要的多占用存储空间,减少产生混乱影响的危险,还能提高计算机的运行速度。

2.设计出友好的界面。界面的友好与否是用户评价一个软件优劣的重要方面之一,使用户有一个良好的心情。另外窗口界面的各个控件布局要合理,美观。要充分的利用Microsoft Visual 2005提供的强大的功能。

3.根据局域网对QQ聊天软件的要求,本QQ聊天软件需要实现以下的目标:(1)操作简单方便、界面简洁美观。(2)每个客户端只能注册一次。(3)可以在局域网中实现文字的传输。(4)可以实现多用户的信息通信。(5)可以实现两个用户之间的点对点的语音聊天。(6)可以实现两个用户之间的点对点的视频聊天。(7)可以使用本地的摄像头的进行录像和拍照。(8)可以实现两个用户之间点对点的文件的传输和接收。(9)系统运行要比较的稳定、安全可靠。

(二)性能需求

1.可靠性高,能在由于系统问题或其它原因产生错误后,做出相对应处理,比如网络初始化失败、服务器未启动等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能。

2.易操作性,程序简单易懂,容易上手使用。设计界面是,简化界面的复杂性,模拟QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。

3.模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。

三、数据库设计

基于局域网QQ聊天软件是一个数据库网络应用系统,系统的所有信息都是保存在数据库中。在数据库应用系统的开发中,数据库的结构设计是一个非常重要的问题。我们这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息存在哪个表中、各个表的结构如何以及各个表之间的关系。数据库结构设计的好坏,将直接对应用系统的效率以及实现的效果产生影响,好的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较高,系统具有较快的响应速度,简化基于此数据库的应用程序的实现等。由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但这些方法和设计者的工作经验有很大的关系。因此要从根本上解决所有数据库结构设计的问题,就需要多实践,在实践中积累经验和教训,最终成为数据库结构设计的专家。

(一)数据库需求分析

数据库结构设计的第一个阶段,也是非常重要的一个阶段时数据库需求分心。在这个阶段主要时收集基本数据以及数据处理的流程,为以后进一步设计打下基础。

1.内容:调查应用系统用户所需要操作的数据,决定在数据库中存储什么数据。

2.处理:调查应用系统用户要求对数据进行什么样的处理,理清数据库中各种数据之间的关系。

3.数据项:包括名称、含义、类型、取值范围、长度以及和其他数据项之间的逻辑关系。

4.数据结构:若干个数据项有意义的集合,包括名称、含义以及组成数据结构的数据项。

5.数据流:指数据库中数据的处理过程,包括输入、处理和输出。本设计通过对聊天室内容和过程分析,设计的数据项和数据结构如下。

用户基本情况:包括的数据项有姓名、性别、年龄、昵称等。

(二)数据库逻辑结构设计

概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计,也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化比较简单,只需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。在上面工作的基础上的基础上归纳出人员管理数据库表格的组成、列的属性、表格之间的联系等等。

该数据库系统要求具有以下方面的特点:结构合理;所建立的数据冗余度小,独立性强;建档、修改、查询、统计快准确;保密性、可靠性好。聊天软件中各个表格的设计结果如下面的各表格所视。每个表格表示数据库中的一个表。

(三)数据库设计

1.概念设计。基于局域网QQ聊天软件包括的实体有:好友表实体,用户表实体。好友表实体包括的属性有:自己的编号,好友的编号。好友表实体E-R图详见图3-1所示。

图3-1:好友表实体E-R图

用户表实体包括的属性有:编号,用户名,IP,性别,年龄,mail,密码,是否在线。用户表实体E-R图详见图3-2所示。

图3-2:用户表实体E-R图

2.逻辑设计。基于局域网QQ聊天软件包括的表有:好友表表,用户表表。他们的逻辑设计分别如下所示。好友表(U-Friend)包括的字段有:自己的编号(ID),好友的编号(Friend ID)等字段,详细见表3-1好友表。

表3-1好友表(U-Friend)

用户表(U-User)包括的字段有:编号(ID),用户名(User Name),IP(IP),性别(Sex),年龄(Age),mail(E-Mail),密码(Pwd),是否在线(On Line Flag)等字段,详细见表3-2用户表。

表3-2用户表(U-User)

3.物理设计。基于局域网QQ聊天软件包括的表有:好友表,用户表。物理表结构设计如下:

好友表表结构SQL脚本代码如下:

CREATE TABLEU_Friend(

[ID] int NULL

[FriendID] int NULL

用户表表结构SQL脚本代码如下:

CREATE TABLEU_User(

[ID] int NOT NULL

[UserName] varchar (50) NULL

[IP] varchar (50) NULL

[Sex] varchar (50) NULL

[Age] varchar (50) NULL

[E_Mail] varchar (50) NULL

[Pwd] varchar (50) NULL

[OnLineFlag] varchar (50) NULL

参考文献:

[1]冉林仓,尹建民.Visual C#.NET入门与进阶[M].清华大学出版社,2007,2

[2]Christian Nagel,Bill Evjen,Jay Glynn. C#高级编程(第4版)[M].李敏波,静审.华大学出版社,2006,10

[3]刘强,张高.C#编程语言程序设计与开发[M].清华大学出版社,2003,9

上一篇:GPS-北斗双模目标定位系统的设计 下一篇:基于敏捷开发的软件开发模型分析