西北师范大学08级计算机专业学年论文
1.3 本文的主要工作
本文主要工作是设计一个基于WINDOWS平台的即时通讯工具,然后阐述本软件的功能、并详细阐述开发本软件所用的相关技术,具体分析本软件的各个模块的功能及实现方法,说明本软件的设计思想及方法。
1.4开发平台及环境介绍
本系统采用jdk1.6平台开发,JDK(Java Development Kit)是Sun Microsystems针对Java开发员的工具。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。本系统正是采用了比较新的版本来开发。由于jdk对电脑硬件配置要求不是很高,所以只要内存在256M以上配备了windows的计算机就可以流畅的使用jdk1.6。
2
西北师范大学08级计算机专业学年论文
第二章 系统分析
2.1功能要求
(1)用户端之间的信息发送,本程序需要实现的最基本的功能 (2)在线用户主机名列表的维护。
(3)在C/S模式中,服务器与客户端是相互依赖的。在客户端启用以后,需要查看服务器端是否在线,服务器在线才能正常使用客户端,如果服务器不在线,则在检测一定次数以后自动退出客户端程序。在使用过程中,客户端在指定时间内未向服务器端发送信息的,服务器认为客户端下线;客户端在一定时间内未收到服务器端信息的,认为服务器已经下线,则提示用户并建议退出,在用户一定时间后没有退出的则自动关闭客户端程序。
2.2系统结构图
如图图2-1,采用三层C/S模式,使用Java语言开发,后台数据库采用Access。客户间通讯使用UDP协议,客户端与服务器之间的通讯采用TCP/IP协议。
3
西北师范大学08级计算机专业学年论文
图2-1 聊天系统结构图
2.3 性能要求
首先要求程序要可靠,可以应付种种由于系统问题产生的错误,比如初始网络失败,对方突然下线等。要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。
程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象。
开发文档要有好的易理解性,如果系统又要交由别人接手开发,或者自己由
4
西北师范大学08级计算机专业学年论文
于种种原因需要进行二次开发,那么要保证以后能够清晰的理解整个系统的设计思路以及实现细节。
要求程序对所运行之系统的硬件条件要求尽可能低,运行时内存占用尽可能小,响应速度要尽可能快。并且不发生内存泄漏之类影响系统运行的错误事件。并且要求易于维护及扩展。所以应该采用模块化开发,各个模块之间不要有太多的联系,以免维护困难。
5
西北师范大学08级计算机专业学年论文
第三章 系统设计
3.1 数据库设计
本软件的服务器端需要用到数据库,二用户端则无需安装任何数据库。这里选择的数据库平台暂时定为Access,数据库文件为MyQQ.mdb,采用JDBC-ODBC桥连接,ODBC数据源名称也为myqq。在数据库中,共有三张表,每张表的表名以及字段描述如下:
FRIEND表
该表记录了每个用户所拥有的好友号码,字段说明如表3.1所示。
字段名 QQNUM FRIEND 表3-1 QQNUM表
该表记录了所有合法的账号,字段说明如表3-2所示。
字段名 ID QQNUM
USER_INFO表
字段名 QQNUM 类型 长整型 长度 自动 6
类型 长整型 长整型 长度 自动 自动 含义 用户账号 否 主键否 该账号好友 否 类型 长整型 长整型 长度 自动 自动 含义 用户编码 账号 主键否 是 否 含义 用户账号 主键否 是