QQ系统的设计与实现
摘要:本文论述的聊天系统具有好友聊天,群聊天,新用户注册,好友的添加备注,群的添加备注,
分组管理,聊天记录,好友管理,群管理,界面管理等功能。本系统采用B/S+C/S结构,系统的开发采用最新的C#平台作为客户端基础,使用ini文本作为本地端配置文件、JSP和java作为服务端的主要开发语言、使用SQL Server 2005数据库等技术及最新的分层界面开发技术作为数据层和UI层的基础。本次的聊天系统设计与开发,通过基本的聊天功能分析、数据分析和信息类型的处理的过程,运用数据库设计、维护与运用SQL 对数据库中的表进行查询的技术本系统是具有良好UI交换体验的局域网聊天系统,同时本系统中采用的新技术可作为其他信息系统构建时的参考。
关键字:聊天系统;C#;JSP;java;SQL Server 2005;INI;分层界面
The Design and Implementation of QQ System
Abstract:This paper discusses a chat system has friends to chat, group chat, new user registration, friends add notes, add notes group, group management, chats, buddy management, group management, user management, and other functions. The system uses B / SC / S architecture, the system has been developed using the latest C # platform as the client base, using ini text as the local configuration files, JSP and java as a service client's primary development language, using SQL Server 2005 database technology and the latest data stratified interface development technology as the foundation layer and the UI layer. The chat system design and development, through basic chat function analysis, data analysis, and the type of information processing in the process, the use of database design, maintenance and use of SQL tables in the database query technology This system is a good UI exchange experience LAN chat system, but this system uses a new technology can be built with other information systems as a reference.
Key words: Library management;JSP;SQL Server 2000;Flex;XML
1 项目来源
1.1 项目背景及目的
在聊天工具满天飞的当代,在腾讯QQ把握这广域网聊天工具的同时,却没有一款用于局域网的,UI交互可以达到腾讯QQ形式优越的体验的聊天工具,在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,但用户处于脱离广域网(比如个别公司办公环境,和校园环境)为求对网内信息的联通进行现在的时候,那些广域网聊天工具(QQ)就失去它的作用了,由此开发一款具有腾讯UI般用户交互体验的局域网聊天工具是很有必要的。
1.2 聊天系统的现状
对于聊天系统在国内外最具代表性两个聊天系统:MSN(国外微软公司)和QQ(国内腾讯公司),在做这个局域网聊天工具之前,就现今这两个聊天系统的运作很有必要进行一下研究,以作为新系统的开发做参考与准备:
对于我们孰知的QQ,在99年开发以来一直以非常高的用户增长率夺得了国内的大部分用户,并成为了一方霸主,QQ直开发以来一直秉承着已更好的用户体验为主不断的对QQ进行一代又一代的更新,从第一版的简陋的UI界面到2013版的华丽界面,这无不透露着QQ对用户UI交互体验的看重,就此新系统将采用QQ最新的2013版的用户界面作为参考界面进行开发。
对QQ现今的聊天服务构架进行的分析: 客户端QQ:
服务器TCPTCP客户端客户端UDP 图 1-1 QQ聊天服务构架
1
可以确定腾讯QQ是以多服务器提供服务、服务器总控客户端、客户端之间UDP直连通信的。并且在两个客户端之间不能建立直连的情况下,才由服务器进行中转通信
对MSN现今的聊天服务构架进行的分析:
服务器TCPTCP客户端客户端 图 1-2 MSN聊天服务构架
MSN客户端直接的通信则都是通过服务器作为中介进行转发的,相比之下腾讯QQ的更加优越,鉴于此,新系统采用类型QQ的通信模式进行开发。
1.3 项目研究的目的和方法
1.3.1 项目的研究目的
本次的聊天系统设计与开发,通过基本的聊天功能分析、数据分析和信息类型的处理的过程,运用数据库设计、维护与运用SQL 对数据库中的表进行查询的技术。开发一套在局域网中可以投入实际应用的来聊天系统。本系统是运行在Window 7 操作系统及以上,利用C#与java进行开发的;对于大量的数据信息,采用Microsoft SQL Server2005 数据库进行存储和处理,对于客户端局部信息使用缓存文件和配置文件进行管理。《局域网聊天系统》包括好友聊天,群聊天,新用户注册,好友的添加备注,群的添加备注,分组管理,界面管理等功能。本系统的操作使用方式保留用户使用腾讯QQ的习惯,具备操作灵活,使用方便等特点和强劲的UI交互能力,便于聊天用户使用。用Microsoft SQL Server2005 的作为数据库后台支持,可以方便的进行各种数据存储、查询和处理,所开发出的系统应安全可靠,用户本地使用缓存存储好友图片等信息,减少客户端数据获取量和加强处理效率,使用ini配置文件管理用户界面和其他操作信息,便于用户的配置保存和修改。
2
1.3.2 开发方法及步骤
1)可行性分析
通过不同方案的比较得出方案的可行性研究结论。 2) 需求分析
通过对国内外现行的聊天工具的深入分析和探讨,把握系统的边界和内容,确定出聊天系统该具备的目标、功能、性能。
3) 数据库设计与实现
根据业务需求、信息需求、和处理需求,确定信息系统的数据结构、数据操作。建立E—R 图,进行数据库设计,建立完备的数据库系统。
4) 系统实现
用C#进行客户端开发,以及使用Jsp进行部分客户端开发和使用java进行服务端的开发,并对设计好的系统模型进行编程,实现此系统。
5) 测试与维护
对系统每一个功能模块程序进行测试。
2 开发平台介绍
2.1 系统平台环境
2.1.1 硬件平台
硬件设备设计是根据信息系统的设计需求,确定信息系统物理设备方案,所设计的硬件设备方案在能够充分满足信息系统功能需求的前提下,还应满足系统的效率、可靠性、安全性和适应性等性能要求,并具有较高的性价比。根据前面的需求分析,我们得出本系统理想的环境当然是配置较高最好,实际操作中硬件平台如下:
硬件环境(访问者):建议用户在允许的情况下采用较高配置硬件资源。 硬件环境(开发者):AMD athlonX2处理器,2G内存,250G磁盘空间。
3