基于QT的局域网通讯聊天室系统设计与实现.docx
《基于QT的局域网通讯聊天室系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于QT的局域网通讯聊天室系统设计与实现.docx(45页珍藏版)》请在三一办公上搜索。
1、ABSTRACTABSTRACTScienceandtechnologyintheincreasinglyupgrades,networktransmissiontoolisvaried,rich,andintheseaofthescienceandtechnology,thecommunicationsoftwareSeemStohavebecomemoreimportant,itisthebridgeofcommunicationbetweenpeople,itcanhelppeopletobetterfinishthework,facilitatecommunication,maketh
2、eworkefficiencygreatlyimproved,sothatthepersonisunabletoleavethenetwork,withoutcommunication.Current,chattoolsaremany,suchasQQ,WeChat,thereisalsoachatfunction,theseareallneedtoprovideaccesstotheInternetenvironmentcanchat,andthesecommonchattoolsforenterprisestaff,butthesetoolshavetoomanyotherentertai
3、nmentfunctions,willaffecttheenterprisestaffsworkefficiency,inordertoprovidetheefficiencyoftheenterprisestaff,butalsototheneedsofthestafftobeabletotimelycommunication,designanddevelopalocalareanetwork(LAN)basedonQTtechnologyintegratingwordsandsendthefileofchatsoftware.Thisdesignisbasedonthetechnology
4、ofQTandc+achievedsendtextmessages,transferfiles,andotherfunctions,inordertobeabletohavegoodscalabilityandmaintainability,usingQTCreatorchatsoftwareapplicationdevelopment,usingtheSQLitedatabasefordatastoragemanagement,afterthevalidationtest,thesystemrealizedthefunctionofchatting,achievedthedesignpurp
5、ose.Keywords:Chat;QT;C+第1章绪论11.1 开发背景11.2 国内外研究现状11.3 研究目标和方法21.4 主要研究内容3第璋相关技术简介42.1 QT开发环境概述42.1.1 QT特点42.1.2 QT类库52.1.3 QT对象通讯机制62.2 编译调试工具简介7第3章可彳锹分析93.1 经济可行性93.2 技术可行性93.3 操作可行性93.4 法律方面可行性分析9第4章需求分析114.1 需求分析114.1.1 功能需求分析114.1.2 性能需求分析114.2 系统用例分析124.3 类与对象模型13第5章系统145.1 总体结构145.2 系统流程设计145.
6、2.1 事件附图设计145.22状态图设计1552.3系统数据流图设计155.3 数据库设计17第6章系统实现186.1 系统主界面模块186.2 聊天室模块226.3 发送接收文件模块27第7章系颁I试297.1 软件测试的概念和原则297.2 测试的过程297.3 系统的运行环境307.4 系统维护307.5 系统存在的不足30献语31参考文献32致谢33第1章绪论1.1 开发背景企业内部各部门以及部门内的人员工作,往往是无法离开沟通和交流,而以往的沟通方式都是传真或者是公司内部电话,这种方式的沟通虽然非常直接,但是有着很多的缺点,效率低,并且相对麻烦。如今,网络发达,网上的资源更是庞大,
7、工作中资源的交流以及输入输出都离不开网络,传统方式将默默的被淘汰,而以计算机科技将会代替之。网络上的沟通有着许多的优势,便捷性好,部署简单,方便公司管理。因此,公司有一套用于内部信息交流的系统非常重要。系统拥有着公司邮箱,集体视频会议,点对点沟通等功能,而项目的研究在国内外都还算成熟,典型的项目例如微软的Lync,腾讯的RTX等。现今的通讯工具往往是即使信息交互,这种功能的出现大力的推动着公司企业的发展,能使公司人员之间的交流,便捷化,高效化。企业人员相互交换信息,加强公司内部的合作性,促进资源的流动。但是一般的高性能即时通讯工具收费都狠高,使得公司内部无法普及。这样的话一项具备方便,快捷,安
8、全的局域网聊天系统就尤为的重要,本设计开发的局域网语音聊天软件适用于企业内部使用,既充分利用了网络资源,又保证了内部信息的安全。本工具才用的是C/S架构,软件由客户端及服务器两部分组成,所使用的程序语言为C/C+,数据的存储主要是SQLite数据表。服务器用于后台处理数据,客户端面向用户,其用着美观的界面以及良好的人机交互效果。1.2 国内外研究现状即时通信软件最早出自于芬兰的IRC,时间大概是1988年间。后来以色列的Mirabilis公司带着他的软件冲击着这个通讯市场,那就是ICQ,这款软件就是当年腾讯所模范的”老师“,当然不仅仅是腾讯,早些年是美国的AOL公司开发的instantMeSS
9、enger,以及雅虎公司开发的YahooMessenger以及操作系统龙头老大微软开发的MSNMessenger等纷纷效仿。目前即时通信工具己经风靡全世界,IBM公司的Sametime7,和微软公司的MSN最为风行。现在最为成熟的企业通讯交流工具是Sametime,其是用NOteS语言来开发的,软件的界面是用JAVA语言来实现的,但是这款软件的售价非常的高昂,一般的中小型企业是无法接受的。如今国内市场的高效通讯软件有很多,最为显著的就是QQ,米聊,淘宝旺旺这些。但是流行的即时聊天软件是以QQ为龙头老大。腾讯QQ坐拥着大量的用户,而成功的背后必然是科技技术及运营手段的领先,我们只看科技方面,QQ
10、拥有着大量的软件功能,它可以在移动端聊天通讯,可以创立多个聊天室,网络邮箱,点对点的文件传输等功能。不仅仅是这些基础的功能,腾讯QQ更是可以在线请求语音通话以及面对面视频功能,它是一款极其强大的即时通讯软件。虽说国内有着像QQ这样强大的通讯软件,但是国内的通讯软件市场依旧是短缺且杂乱,很多大的企业要付着高昂的代价使用一些高端的企业内通讯软体,而这些代价无疑是给企业的运维添加着成本,而假如去使用非正规渠道的软件,又可背上其他昂贵的版权纠纷。1.3 研究目标和方法首先要明确研究步骤,第一步要进行对项目的需求分析,明确本次项目的基本功能,然后就是展开对研究的调查,收集研究文献,了解更多的技术内容,其
11、次就是对项目可行性的研究和扩展。其中,项目所需的开发环境和技术支持:项目是关于网络聊天软件,该项目应用与WINDOW系统,主要采用C/S结构进行开发,使系统更加独立清晰化,能进行局部实时刷新。本系统前台使用WindOWS系统下的QT集成开发环境进行开发,采用C+语言进行代码编写,C+语言是面向对象的语言,其功能强大和灵活。本系统后台使用SQLite数据库实现数据库管理。1.4 主要研究内容本系统主要是满足于聊天室管理的基本需要,主要需求是文字聊天、文件发送等主要功能。在界面上力求做到美观、大方。操作方面尽量避免由于会员操作不当带来系统的出错现象。对数据库操作的性能需要做到优化,数据库过大将会影
12、响运行速度。研究的具体工作如下:(1)绪论部分:大体的介绍项目研究意义,以及国内国外对类似项目研究的情况,以及项目的研究手段。(2)相关技术:该部分是讲解介绍项目所用工具和技术的理论。(3)需求分析:解析项目的所需完成的功能及性能分析。(4)系统设计:介绍项目软件总的设计流程和步骤,其中包括用例图的绘制以及项目数据库的分析。(5)详细设计:主要包括聊天室管理系统界面设计和代码实现等(6)系统测试:利用软件测试的方法来观测项目设计是否符合需求。(7)总结:总结本文开发过程以及希望存在的问题及改进的地方等。第2章相关技术简介2.1 QT开发环境概述2.1.1 QT特点1 .可移植性QT是跨平台的C
13、+应用程序框架,它既可以在LINUX上使用开发,也可以满足WlNDoWS上开发的需求,增强代码的可移植性。2 .国际化国际化指的是一种地区语言开发的项目软件能够简便的给其他地区使用,而QT是支持代码本地化的,用户所编写的Ul界面的文本是可以通过翻译表来转化为本地文本语言。Qt有着强大的IingUiSt界面工具,它可以很方便的让开发代码翻译为本地语言,这个工具实现了软件的国际化。3 .面向对象QT所用语言是cc+,其本身就是这语言的应用框架,该语言是面向对象来设计软件的。QT有着独特的功能模块设计,以及良好的Ul体验,让用户无需知道组件功能可以方便使用,Qt特有的SignaI和SIot机制,所谓
14、槽函数机制来实现通信和信息传递。4 .可用户化的外观Qt有着多种主题外观,不管是在WlNDOWS或者是LINUX上的外观其都可以支持用户在界面上改变运行的时间或者是界面的互换。5 .独有的SignaISlot机制QT用于着一种强大的事件处理机制,那就是SignaISk)T机制,在WlNDoWS系统中,软件通过事件的循环以及消息的传递机制来实现软件图像的实现,对象的操作处理也是由此解决的。在QT里,SLOT就好比是事件函数也叫槽,Signal就是所谓的事件,而这两者的链接就是靠的connects这种调用方式非常的安全可靠,它允许代码的回调实现,这使得QT成为真正的编程软件。6 .开发程序的方便性
15、QTDesigner是QT的一种可视化的代码开发工具,其功能强大有些类似于Windows中的VS+,它两都有个共同点,就是可以直接向自己的项目增加各种各样的部件,开发人员无需再去按部就班的编写程序,就这么个特点就是别的软件无法比拟的。这无疑证实着QT开发程序的简便,而且QT有着链接互联网的开发帮助文档,这个文档包含着像LINUX中的man啊,以及本身的QTManUal.这些文档对初学者或者是专业人员都是非常有用且方便的。7 .强大的功能QT其功能的强大是多方面的,它拥有着非常优秀的界面UI设计功能,它能利用现有的部件开发应用界面;以及其还包含大量的接口函数,数量大概有个300左右的C+的类;并
16、且QT具备了强大的绘画功能,不管是2D或者3D图像都可以实现,它能够再任意的显示绘画设备中设计图像界面。2.1.2 QT类库Qt类库大致可以分为三个部分:控件,框架和工具。1 .控件QT内部控件涵盖了环境控件和主窗口控件和标准对话框,各种的GUl控件,联网式的用户帮助文档。环境控件大致的功能就是为QT开发的应用程序提供着大量的全局服务的对象,其中包含了一些系统性的设置和所谓的国际化标准。比如QTranslator可以用于翻译各式的国际语言,Qapplication能够管理GUl程序的控制流。主窗口控件提供了程序的Ul界面框架,主要的例子就是QMainWindOW,其主管着程序的主窗口界面,它允
17、许用户向界面添加各式各样的控件及工具,如QToolBarsiQDockWidgetSo标准对话框就是QT用于简化程序开发所配置了一系列的经典对话框,其主要有5中标准的对话框,如QFileDialog,QcolorDialog,QFotDialog,QinputDialog,QMessageBoxoQFileDialOg可用于选择打开文件,选择目录及远程网络文件。QcolorDialog可以让用户选择对话框颜色,QFontDialog是字体对话框选择字体,QinputDialog可输入单行文字,整数,还有浮点数。QMeSSageBOX用于提示用户,它包含了提示对话框,确认对话框,警告用户对话框等
18、。2 .框架QT框架部分就是涵盖了一些不可视的类和对象,也就是一些对象模型和抽象的控件,还有用于对图像绘画及拖动的外观控件。QObject就是对象模型,其是QT框架的基础,也是QT整体的核心类,它是QT对象的基类。它主要的功能就是提供了最特殊的机制-Singalslot机制。像绘画方面就是QBrUSh,简单的来说这个类就是一个基础性的图形对象,主要是用于填充一些简单的几何图形。而拖动拖放操作就是靠的QDragobjeCt类,它涵盖了鼠标移动的事件,可以进行一系列的拖动,放下操作。而颜色方面就是QCOIOr类,它是基于RGB字符来创建图像及文本色彩的。3 .工具QT工具指的是与DATE日期以及链
19、表相关等数据结构,它和GUl有本质的区别甚至可以说是不相干的。最基础的工具就是我们常见的数据结构,其中就包括链表,队列和数组,以及堆栈等数据结构。工具所涵盖的类就有QArray,QimageIO,QFile,QDate等。分开来讲就是,QArray控制图像编码,QimageK)就是对图像像素级操作,QFile就是对文件操作。2.1.3 QT对象通讯机制QT的通讯机制可以简单的分为内部通讯和外部通讯,这个机制是非常关键的,它是对象程序开发设计的关键内容,能够很好的实现内外的信息资源的交互。QT的通讯机制是独特的,也就是(Signal-Slot)机制,也叫做信号槽机制,它与MFC处理时间的环节很类
20、似,重点就是软件的消息映射和时间的循环。我们可以把SINAL就是信号比作事件,而SLOT就是我们事件触发的槽也就是槽函数。这两者的链接靠的是ComleCt。这种独特的机制打破了传统,不再是复杂且容易崩溃的,而是非常简洁和高效。上面总结来说是QT内部的对象通信,下面我们分析下QT与外部设备的通讯,讲到这个就不得不提SoCket套接字,它能够将外部设备与QT应用程序紧紧相连,当QT应用程序启动时,程序会调用函数启动服务器,而服务器就会通过套接字与外部输入设备进行连接。连接成功后软件会进入事件循环中,事件处理程序会通过select函数来观察内部文件资源的变化及流动,并对套接字进行实时的监听。这里的文
21、件资源变化就是对数据输出的体现。当事件处理结束后,应用程序会将事件反馈给外部设备,这就完成了QT与外部设备的通讯。2.2 编译调试工具简介1.GCC编译工具简介GCC也就是GNU编译器套件,它涵盖了多种编程语言,如C,C+,java,Objective-C等等,它还包括了许多语言的库。而我们所讲的GCC是GNU的编译器,这款编译器被很多UNIX类操作系统所使用,如LlNUX和MACOSX等,它们都把它作为标准的编译器,当然我们在WlNDoW系统也可以使用它,它是一款非常自由的软件。基本用法如下所示:说到用法我们先要理解GCC的编译过程:预处理:这里编译器会做很多操作,如删除define定义,讲
22、所有的宏定义展开,删除所有开发人员的注释等,这里最重要的操作就是对炳nclude的处理,这是预编译指令,这里会将不断递归查找文件内的h文件,生成.i文件编译:这个步骤会对代码进行扫描,对语义和语法的分析,将程序源代码优化,然后生成目标代码.s文件。汇编:这里汇编器将.3汇编代码编译成机器语言指令,生成目标o文件链接:链接器将程序所用的库函数进行相连接,生成可执行文件。而这里就涉及到了GCC编译器的用法没步操作的指令都是不一样的下面就编译器的基本用法:一步到位的写法:gccXxx.c-OXXX独立进行分布编译就是:gcc-Exxx.c-OXXX.i-E:对代码进行预处理gcc-Sxxx.i-Ox
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QT 局域网 通讯 聊天室 系统 设计 实现
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6712877.html