c企业QQ专业系统设计方案报告_第1页
c企业QQ专业系统设计方案报告_第2页
c企业QQ专业系统设计方案报告_第3页
c企业QQ专业系统设计方案报告_第4页
c企业QQ专业系统设计方案报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业QQ系统设计说明书姓名:学号:班级:指导老师:完成日期:目录TOC\o"1-3"\h\z20740第一章绪论 3161881.1企业QQ系统开发背景 384161.2企业QQ系统需求分析 319811.3企业QQ系统开发环境 315798第二章设计 4292602.1设计内容 402.2设计目标

45077第三章设计过程 579373.1数据库和类库设计 5289113.2用户端模块设计 6208033.3服务器端控制台设计 7237143.4关键代码 826977第四章总结 10232324.1设计总结 1049214.2心得体会 10

第一章绪论1.1企业QQ系统开发背景二十一世纪将是网络化、信息化世纪,信息融合已经成为社会发展主流方向。简易版企业QQ聊天系统将不停和信息交流领域系统相互集成和渗透,扩展其自己功效和应用范围,满足未来话音,数据和视频多媒体应用需要,使即时消息以更丰富接入方法,更高服务质量,更友好面貌展现在世人面前。多年来,大家创业激情愈发高涨,部分大大小小企业如雨后春笋相继创建,可企业职员之间管理和交流却成了一个问题。传统面对面交流效率往往很低且不利于管理,企业通这么类似于QQ局域网连天工具便应时而生。它能够不用连接Internet,直接在局域网内实现信息发送。它关键适适用于部分中、小型企业内部通信,能够大大提升职员工作效率,是现代企业不可缺乏辅助工具。1.2企业QQ系统需求分析本系统是为了满足部分中小型企业内部职员之间交流,或是工作信息传输方便快捷而设计。伴随中小型企业不停发展,在企业内部实现局域网通信是必不可少。企业QQ系统就是一个很好局域通信软件,它能够在职员不移动位置情况下进行聊天、图片发送、文件传输和视频连接,还能够随时在网络中进行多人对话或网络会议。这么,能够提升企业工作效率,便于企业内部职员交流。1.3企业QQ系统开发环境系统开发平台:MicrosoftVisualStudio。系统开发语言:C#。数据库管理系统软件:MicrosoftSQLServer。运行平台:Windows7C#(C

sharp)是一个最新、面向对象编程语言,它使得程序员能够快速地编写多种基于Microsoft

.NET平台应用程序。Microsoft

.NET提供了一系列工具和服务来最大程度地开发、利用计算和通讯领域。C#面向对象卓越设计使它成为构建各类组件理想之选——不管是高级商业对象还是系统级应用程序。使用简单C#语言结构,这些组件能够方便转化为XML

网络服务,从而使它们能够由任何语言在任何操作系统上经过Internet进行调用。最关键是,C#使得C++程序员能够高效率地开发程序,而绝不损失C/C++原有强大功效。因为这种继承关系,C#和C/C++含有极大相同性,熟悉类似语言开发者能够很快地转向C#。在C#中,每个对象全部自动生成为一个COM对象。开发者不再需要显式实现IUnknown和其它COM接口.这些功效全部是内置、类似,C#能够调用现有COM对象,不管它是由什么语言编写。C#包含了一个特殊功效:使程序能够调用任何纯API。在一段尤其标识代码中,开发者能够使用指针和传统C/C++特征,如手工内存管理和指针运算。这是其相对于其它环境极大优势。这意味着C#程序员能够在原有C/C++代码基础上编写程序,而不是根本放弃那些代码第二章设计2.1设计内容企业QQ系统按以下过程完成通信:

用户向服务器注册,通知服务器它在监听某专题;

(2)用户注册以后,向服务器发送消息;

(3)服务器再把消息发送给全部监听些专题用户。2.2设计目标

此次开发简易版企业QQ聊天系统可作为个人交流工具使用,通信安全性不是很高,但要求信息响应速度要较快,让用户充足享受到网络即时消息方便和快捷。本聊天工具由服务器端程序和用户端程序两部分组成,整体采取JAVA平台开发,并使用SQL

Server管理数据库数据。服务器是能够监听和查看用户基础操作;用户端程序面向实际用户,它有必需界面按钮,向用户提供网络即时消息功效,

本聊天需包含以下基础功效:

1.用户端:

新用户注册;

(2)用户登录验证;(3)获取好友列表并显示好友状态(在线/不在线);

(4)添加用户好友;

(5)删除用户好友;

用户和好友聊天(可查看聊天统计);

(7)接收系统信息。

2.服务端:

(1)开启和关闭后台服务器;

(2)查看用户端登录相关信息(用户端登陆时间/登陆IP);

(3)

向全部在线用户发送系统消息。第三章设计过程3.1数据库和类库设计在数据库中,首先创建企业QQ数据库,然后依据数据库逻辑结构分析创建2张数据表。用户表结构:列名数据类型许可为空说明IdInt否主键、自增列LoginPwdvarchar(50)否用户登录密码UserStatevarchar(50)否用户状态FriendshipPolicyIdInt否表示好友策略NichNameVarchar(50)否用户昵称FaceIdInt否头像索引SexVarchar(50)否性别AgeInt否年纪NameVarchar(50)是真实姓名StarIdInt是外键BloodTypeIdInt是外键好友表结构:列名数据类型许可为空说明IDInt否主键、自增HostIdInt否好友关系中主人号码FriendIdInt否好友关系中好友号码类库集提供了使应用程序能够读写XML数据、在Internet上通信、访问数据库等代码。全部类库全部建立在一个基础类库之上,它提供管理使用最为频繁数据类型(比如数值或文本字符串)功效,和诸如文件输入/输出等底层功效。3.2用户端模块设计用户端即用户使用应用程序端。用户经过该聊天软件用户端来实现网上聊天相关功效:注册、登录、添加好友、文字聊天、文件传输、语音聊天、视频聊天等。注册功效是提交用户相关信息和取得一个属于自己登录该聊天软件,系统用户ID号;登录功效是实现验证用户信息和正当使用该聊天软件系统权限;添加好友是实现用户之间好友添加操作;添加好友成功后,就能够和好友之间开始文字聊天、文件传输、语音聊天、视频聊天等功效。第一次使用该系统时,我们需要进行用户注册。注册界面注册完成后,进入登陆界面,进行登陆登陆界面第一次使用系统用户经过填写个人信息来注册,服务器返回一个注册ID号给注册用户,用来登录。已经注册用户在登录界面填写完相关登录信息,经过服务器验证后就能够进入用户端界面。在线用户在添加好友时能够查看所要添加用户列表信息。当对要添加好友发送请求添加信息后,由该好友验证是否经过请求,同意后会向请求方发送同意添加消息。当请求方添加完成后,服务器端会把相关信息存入到好友表数据库中。完成以上操作以后,两人即可进行在线聊天。3.3服务器端控制台设计主服务器实现了服务器多线程,服务器端有一个进程(或多个进程)在指定端口等候用户连接信息。一时连接成功,就能够按设计数据交换方法和格式进行数据传输。用户端只在需要时候向服务端发出连接请求。主服务器类调用ServerThread类,而每个ServerThread实体就是一个单独线程,即对应于用户端连接请求响应线程。服务器为每个连接着用户建立一个线程,为了同时响应多个用户端,需设计一个根本程来开启服务器端多线程。根本程和进程结构类似,它在取得新连接时生成一个线程来处理这个这个连接。线程调度速度快,占用资源少,可共享进程空间中数据,所以服务器响应速度较快,且I/O吞吐量较大。3.4关键代码用户注册privateClassMsgInsertUser(ClassMsgmsg,System.Net.IPAddressIp,intPort){RegisterMsgregistermsg=(RegisterMsg)newClassSerializers().DeSerializeBinary(newMemoryStream(msg.Data));ClassOptionDataOptionData=newClassOptionData();MsgCommandSate=msg.msgCommand;StringUserName=registermsg.UserName;//注痢?册á用?户§?名?称?StringPassWord=registermsg.PassWord;//注痢?册á用?户§?密ü码?StringvIP=Ip.ToString();//注痢?册á用?户§?IP地?址·//向ò数簓据Y表括?中D添?加ó注痢?册á信?息¢OptionData.ExSQL("insertintotb_CurreneyUser(IP,Port,Name,PassWord,Sign)values('"+vIP+"',"+Port.ToString()+",'"+UserName+"','"+PassWord+"',"+Convert.ToString((int)(MsgCommand.Registered))+")");SqlDataReaderDataReader=OptionData.ExSQLReDr("Select*Fromtb_CurreneyUser");UpdateUser();//更ü新?用?户§列表括?OptionData.Dispose();msg.msgCommand=MsgCommand.Registered;//用?户§注痢?册á结á束?命ü令?SendMsgToOne(Ip,Port,msg);//将?注痢?册á命ü令?返う?回?给?注痢?册á用?户§returnmsg;}用户登陆privatevoidUserLogin(ClassMsgmsg,System.Net.IPAddressIp,intPort,intState){RegisterMsgregistermsg=(RegisterMsg)newClassSerializers().DeSerializeBinary(newMemoryStream(msg.Data));ClassOptionDataOptionData=newClassOptionData();//创洹?建¨并¢引皔用?ClassOptionDataMsgCommandmsgState=msg.msgCommand;//获?取?接ó收?消?息¢?命ü令?StringUserName=registermsg.UserName;//登?录?用?户§名?称?StringPassWord=registermsg.PassWord;//用?户§密ü码?StringvIP=Ip.ToString();//用?户§IP地?址·SqlDataReaderDataReader=OptionData.ExSQLReDr("Select*Fromtb_CurreneyUserWhereName="+"'"+UserName+"'"+"andPassWord="+"'"+PassWord+"'");//在ú数簓据Y库a中D通?过y用?户§名?和í密ü码?进?行D查é找òDataReader.Read();//读á取?查é找ò到??记?录?stringID=Convert.ToString(DataReader.GetInt32(0));//获?取?第台?一?条?记?录?中D?ID字?段?值μif(DataReader.HasRows)//当獭繢ataReader中D有瓺记?录?信?息¢时骸?{//修T改?当獭?前°记?录??标括?识?为a上?线?状痢?态?OptionData.ExSQL("Updatetb_CurreneyUserSetSign="+Convert.ToString((int)(MsgCommand.Logined))+",IP="+"'"+vIP+"',Port="+"'"+Port.ToString()+"'"+"WhereID="+ID);msg.msgCommand=MsgCommand.Logined;//设Θ?置?为a上?线?命ü令?msg.SID=ID;//用?户§ID值μSendMsgToOne(Ip,Port,msg);//将?消?息¢返う?回?给?发ぁ?送í用?户§UpdateUserState(msg,Ip,Port);//更ü新?用?户§在ú线?状痢?态?}OptionData.Dispose();UpdateUser();//更ü新?用?户§列表括?}第四章总结4.1设计总结经过这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论