仿QQ聊天程序

本文档详细介绍了仿QQ聊天程序的设计内容、需求分析、设计原理与方案,包括客户端与服务器的MVC架构、数据库设计、通信协议以及界面模块。通过模仿QQ,旨在为企业内部提供即时通信软件,满足员工交流需求,同时确保信息安全。文中还探讨了技术难点与解决方案,如通信模块的TCP和UDP协议应用、数据库多表设计以及界面交互的实现。
摘要由CSDN通过智能技术生成

仿QQ聊天程序

转载请标明出处:牟尼的专栏 http://blog.csdn.net/u012027907

一、设计内容及要求

1.1综述

A.系统概述

我们要做的就是类似QQ这样的面向企业内部的聊天软件,基本功能和QQ类似。首先,系统分为两大部分,第一部分是客户端,是用户使用的部分,第二部分就是服务器,所有的客户端都是通过服务器来进行用户身份验证及聊天转接的。客户端提供主要的界面及服务请求,如:登录界面、注册界面、找回密码界面、主窗体界面、聊天界面、信息查看界面等。客户端主要提供服务请求界面,核心的业务逻辑处理主要由服务器提供,并向客户端发送请求的结果。同时,服务器要能提供服务的开启、关闭功能及查看在线人数及客户端登录日志。

人员组成及分工

张XX(组长):负责整体的架构设计、后台数据库及通信部分。

房 X(组员):聊天界面、注册界面、登录界面、找回密码、及其业务逻辑。

高 X(组员):主窗体界面、信息查看及其业务逻辑。

B.要求

1).小组成员必须按时完成各自的任务。

2).设计上与技术上有问题的先自行解决(看书、上网查),如不能解决的集体讨论解决。有其它的问题及时提出来!

3).必须写文档(写把各自模块的整体设计用UML图或Viso画的图(尽量不要只是简单的语言叙述)表达出来),学会用面向对象的思想来来设计,采用模块化的思想分解模块。(设计原则与设计模式能用的用)

4).每个类必须有类说明,每个函数也必须有函数说明,函数的具体设计也必须有必要的注释。

5).如果不能遵守规定或要求的可以提前退出,不强留。

(注:即使不会写代码,也没关系,只要一能用UML图或其他的图等表达出自己的设计思想及具体的实现设计也行)

C.开发环境

运行环境:Myeclipse集成开发环境,jdk 1.6版本。

使用语言:Java语言。

使用数据库:Oracle数据库。

 

 

1.2需求分析

需求背景

即时通信软件为我们提供了诸多的方便,使我们逐步享受信息时代的便捷。大家最熟悉的即时通信软件就是QQ了,因为它几乎已经融入了我们每个人的日常生活。没有了QQ,没有了手机,我们或许真的“活不了了”。由此可见,生活在信息时代的人们对即时通信、聊天软件有巨大的需求,这样的软件也将为我们节省大量的时间和金钱,或许还能成为我们发家致富的工具,比如:产品的推介、售后服务及技术交流等。

    然而,既然已经有了QQ如此强大的即时通信软件,我们再去做这样的软件还有什么竞争力吗?QQ已经深入人心,要想再去做可能没有任何竞争力。此时,我们可以换一个角度,调整用户对象。如今,企业内部信息在这个信息时代就是金钱,尤其是一些大企业的内部信息,如果这些信息泄露,可能会造成巨大的经济损失,甚至将导致企业破产。但是,为了便捷企业员工之间的交流,做这样的一个企业内部即时通信、聊天软件还是很有市场的。我们的目标就是做的像QQ,但面向企业内部使用。

      企业内部为了方便员工之间便捷的交流,需要开发一款适合企业内部员工进行即时通信的软件,这样的软件既满足了企业内部员工之间便捷的交流,同时,也防止企业内部信息的外流,开发这样一块面向企业内部的即时通信软件,对于企业来说获益良多。

       在开发这款软件时,为了使习惯了使用QQ的用户,更加方便的使用本软件,我们将很大程度上,模仿QQ的用户界面设计,以适应用户的使用习惯,方便用户使用。

 

功能需求


1)客户端:提供登录、主窗体及聊天等界面及对应的业务逻辑,向服务器发送相应的服务请求,并接受相应的处理结果。客户端是轻量级的软件,只负责链接远程服务器,并发出相应的服务请求,并不进行核心业务逻辑的处理。具体的处理交给服务器,而客户端只接收服务器处理的结果并显示给用户。

2)服务器:监控登录信息及在线用户信息,接收客户端的服务请求,并做相应的处理,然后将处理结果发送给客户端。服务器负责处理核心的业务逻辑,并负责连接数据库,保存和读取数据。因此,服务器端设计的好坏也直接影响即时通信软件的质量。

 

用例描述

1)客户端:

                                                                                       图 1-1 客户端用例图

2)服务器:

                                                                           图 1-2 服务器端用例图

 

二、设计原理及方案

2.1总体设计

系统架构设计

1)采用MVC架构模式

客户端:

A.   包view(视图、界面层):只负责界面的显示。

B.   包business(业务逻辑层):核心业务的处理。

C.   包data  (数据访问层):读写数据、接收发送数据。

服务器:

A. 包view(视图、界面层):只负责界面的显示。

B. 包business(业务逻辑层):核心业务的处理。

C. 包data  (数据访问层):读写数据、接收发送数据。

 

 

2)           文件组织

A.     客户端:


图2-1 客户端文件组织结构

B.     服务器:


图2-2 服务器文件组织结构

3)             采用基于网路的三层C/S模式


图2-3 基于C/S的模式图

功能模块设计

1)客户端:

评论 46
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值