软件工程项目实践 作业
仿QQ软件设计实现
班级:
学号:
姓名:
教师:
时成绩30分: + 作业成绩70分: 总分_ _ à成绩 _
教师评语:
计
F1
F2
F3
F4
F5
3
6
2
2
2
5
2
8
4
6
5
3
2
5
5
5
F6
F7
F8
F9
F10
2
5
4
4
3
15
2
2
4
3
2
4
教师签名:
2012年X月
项目行研究
新两年Android手机雨春笋般涨势迅猛基Android系统应开发变更加普遍结合次课程学更培养开发力组开发模仿QQ聊天系统
二需求阶段
1系统功需求
(1)登录功
(2)客户通服务器转发实现聊天
(3)实现呼功
(4)客户端程序应该实时显示目前户状态
(5)应该具易美观图形界面
2 系统性需求
实性:信息交流提供方便效进行作业理
操作简单:系统应该适水者包括事业单位企业单位时系统应太复杂烦琐求系统操作简单易行
技术先进:产品系统设计开发应紧着整计算机发展潮流采时先进设计思想利新开发技术开发工具系统够功设计技术实现处行业领先位
安装简便:服务器端安装简洁明客户机需装软件直接注册登陆聊天
适应性:应该广泛应类型企事业单位系统采模块化设计户根实际情况行组合系统硬件环境应
代码读性:文中代码简洁易懂
3 系统运行需求
1 移动客户端需500MHz处理器
2 移动客户端需256MBROM空间
3 移动客户端需256MBRAM空间
4 移动客户端需具WiFiGRPS网络接收模块正常连接网络
5 服务端需具P4 16GHz处理器
6 服务端需具80GB硬板空间
7 服务端需具1GB存空间
三设计程
1 业务流程图
业务流程图
2 功结构图
3 数流图
(
4 ER图
图6 ER图
5 台数库设计
基服务器跨台运行架构服务器台数库SQL Server2005
6数库设计表
键表:
四概设计
1 系统实现原理
时通讯设计普通网站设计着许方普通网站设计考虑素例普通网站需布局进入量美化动画设计等等时通讯提供满足访客双方直接实时聊天设计聊天系统程中必须考虑设计点:
Internet聊天程序般服务器提供服务端连接响应者通客户端程序登录服务器登录服务器户交谈面连接通信程程序TCPIP环境实现服务器端客户端两部分程序
图9 系统实现原理图
2 系统实现层次图:
图10 系统实现层次图
3.模块详细功
服务器端结构
Programcs:服务器启动操作
DBHelpercs:服务器端连接数库负责服务器端数库连接读取数操作
SocketHostcs:服务器端监听客户端连接处理种请求
SocketRequestcs:服务器端接受客户端消息链转化json格式数定义
SocketResponsecs:服务器端发送客户端消息链转化json格式数定义
IResponseManagercs :服务器接受消息处理抽象类
LogonResponseManagercs: 服务器接受客户端登录请求操作
SocketFindUsercs:服务器接收客户端查找友消息转化json格式数定义
UpdateUserListcs:服务器更新线户链表json格式数定义
SendResponseManagercs:服务器端接受客户端聊天信息请求进行转发
五详细设计
1 系统总体流程图
图11 系统总体流程图
六代码开发
服务器端代码开发:
1 户注册
1)面注册验证账户代码:
2户登陆
(1)数库读户数
开户数库文件Usertxt户数象集载入存供面程序
读文件
FileInputStream file3 new FileInputStream(usertxt)
ObjectInputStream objInput1 new ObjectInputStream(file3)
vList (Vector) objInput1readObject()
(2)验证户
代码实现
户登陆程序模块
3消息理
客户端:
CLoginDlg 登陆服务器
COptionsDlg 设置连接服务器址端口号
CReplyDlg 显示友发送信息
CSendMsgDlg 友发送信息
CApplyDlg 申请新户
CServerInfo 显示服务器消息
CLogDlg 显示聊天纪录
服务器端:
户发送信息结构体类型:
struct UserInfo户信息结构体
{
char _QQnum[9]号码
char _QQname[10]昵称
int _nSex性
char _Ip[20]ip
int _Port端口号
bool _bState前状态
char _nFace[5] 头
}
struct MsgInfo 消息结构体
{
UserInfo _pSender发消息
char _cRecieverNum[9]接收
char _msg[255]消息容
long _nTime发送时间
char _cPasswd[11]登陆密码
int _nType 消息类型
}
统屏蔽
4户退出
(1)接收退出信息
户退出时客户端会基Socket象输出流发送服务器退出象
(2)线列表中删户
户退出应该户线列表中删否户退出户线列表中该户次会法登录
(3)更新线列表
户退出服务器端监控界面户列表更新否户数会步
户退出模块程序:
public void serverExit() {
Exit exit new Exit()
exit (Exit) obj
removeUser(exit)
chenmin
if (sFrametiequals(exitexitname)) {
sFrameti
}
Date t new Date()
log(户 + exitexitname + 已退出 + 退出时间 + ttoLocaleString())
freshServerUserList()
}
(4)返回客户端
信息封装成功开客户端连接Socket输出流然ObjectOutputStream象输出流包装输出客户端
public void serverChat() {
接收象值赋聊天信息序列化象
Chat cObj new Chat()
cObj (Chat) obj
chenmin
cObjchatMessage WordFilterfilter(cObjchatMessage)
chatLog(cObj)
聊天信息序列化象填加保存聊天信息矢量中
userChataddElement((Chat) cObj)
return
}
七项目理
组长宁海名分配
八测试
服务器端运行图:
聊天测试图:
九
总结
通次实验进步熟悉程序开发程里边发现存问题学够踏实做项目时候遇少困难组讨终解决问题完成试验项目心里欣慰时点失发现缺点改正学生活中加倍努力更完成老师留务
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档