《基于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+的类;并且QT具备了强大的绘画功能,不管是2D或者3D图像都可以实现,它能够再任意的显示绘画设备中设计图像界面。2.1.2 QT类库Qt类库大致可以分为三个部分:控件,框架和工具。1 .控件QT内部控件涵盖了环境控件和主窗口控件和标准对话框,各种的GUl控件,联网式的用户帮助文档。环境控件大致的功能就是为QT开发的应用程序提供着大量的全局服务的对象,其中包含了一些系统性的设置和所谓的国际化标准。比如QTranslator可以用于翻译各式的国际语言,Qapplication能够管理GUl程序的控制流。主窗口控