程序设计文档陈.docx
- 文档编号:10623858
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:13
- 大小:1.66MB
程序设计文档陈.docx
《程序设计文档陈.docx》由会员分享,可在线阅读,更多相关《程序设计文档陈.docx(13页珍藏版)》请在冰豆网上搜索。
程序设计文档陈
山东大学软件学院
高级程序设计语言课程设计
设计题目:
学号201000301018
姓名陈乾
年级2010
专业软件工程
班级07
学期10-11学年第二学期
日期:
2010年5月13日
2011年高级程序设计作业----MiniQQ
1概述
1.1课程设计目的与内容
设计和实现一款迷你的类似QQ的即时通信软件。
2需求分析
2.1设计目标
完成QQ即使通信软件的基本功能,完善其扩展功能。
2.2主体功能
1.具有可视化的图形界面,能够直观的进行显示
2.检测防止用户重复登录
3.具有完整的网络通信协议,能够完成多方(不是双方)即时通信的功能
4.具有好友名单和好友维护功能(比如黑名单、陌生人等)
5.聊天记录使用数据库保存
6.用户主面板使用系统托盘,并支持双击托盘显示主面板功能
7.支持多字体功能
8.支持文件传输功能
2.3开发环境
1.开发软件:
EclipseSDKVersion:
3.6.1
2.数据库:
MicrosoftSQLServer2000
2.4功能规格说明
1.用户用例图:
2.服务器用例图:
3系统设计
3.1设计方案
1.服务器端接收客户端请求设计:
运用数据流,当客户端发送请求时,首先发送一个String来表面这个请求是要干什么的,比如当客户端发送login时,服务器接收到这条指令,然后运行专门的登陆方法。
客户端发信息给服务器遵循TCP协议。
2.服务器端统计登录用户信息的设计:
服务器建立Map类,Key为用户账号,value为该用户的IP地址,当用户下线时,从Map类中删除相应的Key与value。
3.服务器发送信息给客户端的设计:
当客户端发送聊天信息时,先发给服务器,服务器解析信息,获取接受用户的IP,然后遵循UDP协议,将包含信息发送给接受用户,接受用户有专门的线程来接受数据包。
4.客户端的相关设计:
客户端将各个功能分担,建立各自的socket与服务器连接,完成各自的作用,各部分功能详细由如下介绍。
3.2系统的功能类详解
1.MyTcp类:
编写迷你QQ服务器类,内含处理并相应各种请求如注册,登录,查找好友,加载好友列表,发送聊天信息(包含字体信息),用户下线处理,发送文件请求。
2.Datebase类:
负责连接SQLServer2000数据库
3.LoginFrame类:
编写登陆界面,实现美化后的可视界面,包含登录,注册,退出按钮。
如下图
4.RegisterFrame类:
编写注册界面,包含注册和退出两个按钮,当点击注册时,先确定输入信息是否符合规定,如不符合弹出相应提示,如符合,则显示注册成功。
如下图
(附:
会出现不影响使用的错误)
5.LoginingFrame类:
编写登陆中界面,向服务器发送登陆请求,与TCP交互实现验证用户信息功能,如输入信息争取,进入主界面,反之提示输入有误,返回登陆界面。
如下图
6.MainFrame类:
编写用户主界面,向服务器发送加载好友请求,并分配唯一端口实例化DatagramSocket,实现仅在双击好友树节点时弹出聊天面板功能,实现删除好友功能,并运用了系统托盘,实现最小化至系统托盘,双击托盘显示主面板功能。
如下图
7.SearchFrame类:
编写查找好友界面,此类为MainFrame内部类,负责向服务器发送查找并添加好友请求,如果查找好友存在并且不已是用户好友,则将其添加入树节点中,反之弹出对话框提示相应错误。
如下图
8.ChatFrame类:
编写聊天界面,运用分割面板(包含TextPane)实现,并添加显示当前聊天双方用户账号与用户名功能,字体设置功能,传输文件功能,可向服务器发送发送聊天与字体信息请求,文件传输请求(之后使文件传输双方单独通过TCP协议传输文件)。
内部实现负责发送与接受文件的监听器,其中包含进度条与文件选择器,如下图
9.以上界面部分可完成窗口自动居于屏幕中间功能。
3.3系统数据库设计
1.数据库分析:
采用SQLSever2000作为后台数据库,数据库名称为:
db_users。
2.数据表设计:
a)统计用户表
统计用户表的名称为:
loginid,主要用于记录各个用户的用户名,用户账号与密码信息,其结构如下表
字段名称
数据类型
字段大小
是否主键
说明
number
varchar
18
主键
用户账号
name
varchar
18
用户名
password
varchar
18
用户密码
b)记录XX用户的聊天记录表
聊天记录表的名称为:
C+用户账号(例如表C9801是9801的聊天记录表),记录特定账号与其他用户的聊天内容,其结构如下:
字段名称
数据类型
字段大小
是否主键
说明
sender
varchar
30
主键
发送者账号
receiver
varchar
30
接受者账号
contain
varchar
400
发送内容
c)记录XX用户的好友信息表
好友信息表的名称为:
F+用户账号(例如表F9801是9801的好友信息表),记录特定账号的好友信息,其结构如下
字段名称
数据类型
字段大小
是否主键
说明
zu
varchar
30
主键
好友分组
number
varchar
30
好友账号
name
varchar
400
好友名称
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 文档