2.1.3 系统性能需求
实用性:为信息交流提供方便,有效进行作业管理。 操作简单:本系统应该适用于不同水平的使用者,包括事业单位和企业单位,同时系统不应太复杂和烦琐,因此要求系统的操作尽可能简单易行。
技术先进:产品的系统设计和开发应紧跟着整个计算机发展潮流,采用当时最先进的设计思想,利用最新的开发技术和开发工具。使系统能够无论在功能设计上,还是在技术实现上,都处于同行业的领先地位。
安装使用简便:服务器端的安装简洁明了,客户机无需再装任何软件就可以直接注册登陆聊天。
适应性:应该能广泛应用于不同类型的企事业单位。系统采用模块化设计,用户可以根据自己的实际情况自行组合,使系统在不同的硬件环境下都能得以应用。
代码可读性好:文中的代码将尽可能简洁,易懂。 2.1.4 系统运行需求
1、 移动客户端需500MHz及以上的处理器 2、 移动客户端需256MB及以上的ROM空间 3、 移动客户端需256MB及以上的RAM空间
4、 移动客户端需具有WiFi/GRPS网络接收模块,能正常连接到网络 5、 服务端需具有P4 1.6GHz及以上的处理器 6、 服务端需具有80GB及以上的硬板空间 7、 服务端需具有1GB及以上的内存空间
2.2 数据流图 2.2.1 顶层数据流图
聊天用户 即时通讯系统 图2-1 顶层数据流图 聊天用户 - 10 -
2.2.2 一层数据流图
聊天用户 聊天用户 . 图2-2 一层数据流图 客户端 数据流 服务器端 2.2.3 二层数据流图 - 11 - 用户 用户登录 用户注册 客户端 图2-3 系统二层数据流图
3 概要设计
3.1系统实现原理
即时通讯的设计跟普通网站设计有着许多不同的地方,普通网站设计所考虑的因素,例如,普通网站需要对布局进入大量美化以及动画设计等等,而即时通讯只要提供满足访客双方直接实时聊天即可。因此,在设计聊天系统的过程中,必须要考虑好以下几个设计要点:
在Internet上的聊天程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。
图3-1 系统实现原理图
- 12 -
3.2 系统实现层次图:
即时通讯系统 客户端 服务器端 实时聊天好友信息请求更新信息请求好注聊友册天添消登加图3-2 系统实现层次图 息录转删请 发除求// 好友信息查询用户信息更新好友添加删除用户注册登录//3.3各模块详细功能 3.3.1服务器端结构
- 13 -
服务器监听控制窗体 ServerFrame 处理所有用户请求 Connection 启动服务器监听 AppServer 图3-3 服务器端结构图 Program.cs:服务器启动操作。 DBHelper.cs:服务器端连接数据库,负责服务器端与数据库连接读取数据操作。 SocketHost.cs:服务器端监听客户端连接,并处理各种请求。 SocketRequest.cs:服务器端接受客户端消息链转化为json格式的数据定义。 SocketResponse.cs:服务器端发送客户端消息链转化为json格式的数据定义。 IResponseManager.cs :服务器接受消息处理的抽象类。 LogonResponseManager.cs: 服务器接受客户端登录请求操作。 SocketFindUser.cs:服务器接收客户端查找好友消息转化为json格式的数据定义 UpdateUserList.cs:服务器更新在线用户链表的json格式的数据定义 SendResponseManager.cs:服务器端接受客户端聊天信息和请求并进行转发。 3.3.2 客户端结构
用户窗体启动 Login 用户窗体监听 Close - 14 - 启动客户端 ChatClient 用户窗体启动 Login 用户聊天窗体 ChatRoom