【工程硕士】网购平台设计_第1页
【工程硕士】网购平台设计_第2页
【工程硕士】网购平台设计_第3页
【工程硕士】网购平台设计_第4页
【工程硕士】网购平台设计_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

网购平台的设计DESIGNOFINTERNALPLATFORM院系软件学院类别工程硕士领域软件工程2014年2月完成摘要随着互联网的发展,即时通讯软件越来越受到用户的喜爱。与此同时,许多企业开始投入研发即时通讯软件,但这类软件偏重于娱乐性,同时捆绑很多其他应用,且同质化严重,影响了用户的使用和体验1。开发即时通讯平台是一项考验开发人员综合水平和素质的工作。本文始终坚持软件工程的基本原理和规范,从技术选型、架构选型、多线程编程、网络编程、数据库编程、界面编程等多个角度做了扎实的技术探索和积累。特别是对于多线程处理、文件传输协议23选择等方面,进行了多种尝试并选择最优的技术解决方案。本文从企业自身角度出发,以本企业内部为实际的使用环境,研究开发适合企业个性化需求的即时通讯平台,主要功能侧重于解决企业日常办公遇到的问题。平台先后从技术分析、业务功能分析、架构设计、详细需求分析、测试并上线使用的不同阶段,完成了平台的开发和应用,取得了良好的效果4。文章最后,针对平台的运行情况做了总结和问题的分析,对未来平台的进一步扩展和优化提出了自己的建议和设想。【关键词】J2EE,P2P,即时通讯平台,XMPP,系统设计【论文类型】应用研究ABSTRACTWITHTHEDEVELOPMENTOFTHEINTERNET,LOTSOFPEOPLEFAVORITETHEINSTANTMESSAGINGSOFTWAREATTHESAMETIME,MANYCOMPANIESPUTINTORESEARCHANDDEVELOPMENTOFINSTANTMESSAGINGSOFTWAREBUTBINDINGVARIOUSENTERTAINMENTSERVICEANDHOMOGENEITYOFTHEMTURNSINTOASERIOUSPROBLEM,AFFECTINGTHEUSEANDEXPERIENCEDEVELOPMENTOFINSTANTMESSAGINGPLATFORMISACOMPREHENSIVETESTOFTHEDEVELOPERLEVELANDQUALITYOFWORKINTHISPAPER,WESTICKTOTHEBASICPRINCIPLESANDNORMSOFSOFTWAREENGINEERING,INVOLVETECHNOLOGYSELECTIONFROMMULTIPLEANGLES,ARCHITECTURESELECTION,MULTITHREADEDPROGRAMMING,NETWORKPROGRAMMING,DATABASEPROGRAMMING,GUIPROGRAMMINGANDSOONESPECIALLYFORMULTITHREADEDPROCESSING,FILETRANSFERPROTOCOLSELECTION,WECARRYOUTAVARIETYOFTECHNIQUESTOTRYANDCHOOSETHEBESTSOLUTIONTHISARTICLEFROMTHEPERSPECTIVEOFTHEIROWNTOTHEACTUALUSEWITHINTHEENTERPRISEENVIRONMENT,RESEARCHANDDEVELOPINDIVIDUALNEEDSFORENTERPRISEINSTANTMESSAGINGPLATFORMTHEMAINFUNCTIONFOCUSESONSOLVINGBUSINESSPROBLEMSENCOUNTEREDINDAILYOFFICETHEPLATFORMSUCCESSIVELYFROMTHETECHNICALANALYSIS,BUSINESSFUNCTIONALANALYSIS,ARCHITECTUREDESIGN,DETAILEDREQUIREMENTSANALYSIS,TESTANDPUTTINGINTOUSECOMPLETETHEDEVELOPMENTANDAPPLICATION,ACHIEVINGGOODRESULTSATTHEENDOFTHEARTICLEWESUMUPTHEOPERATIONOFTHEPLATFORMANDANALYSETHEPROBLEMALSOWEPUTFORWARDOWNPROPOSALSANDIDEASFORFURTHEREXPANSIONANDOPTIMIZATIONOFTHEPLATFORM【KEYWORD】J2EE,P2P,INSTANTMESSENGER,XMPP,SYSTEMDESIGN【TYPEOFTHESIS】APPLIEDRESEARCH目录摘要I第1章引言111项目的研究背景112IM即时通讯系统的发展113研究意义和目的1第2章平台相关技术121J2EE架构介绍122P2P技术123ORACLE数据库124远程协助技术125XMPP介绍1第3章系统需求分析131系统功能需求1311组织结构1312通讯功能1313文件传输1314群组管理1315语音聊天1316视频通话1317远程协助1318系统管理132平台非功能需求1321界面要求1322可维护性要求1323可扩展性要求1324安全性要求1325稳定性要求1326数据完整性要求1327性能要求1第4章平台设计及各功能模块的实现141平台总体架构142平台技术框架143详细功能设计1431即时聊天1432联系人管理1433联系人组管理1434公告管理1435语音聊天1436视频聊天1437文件传输1438远程协助1439群组管理144数据库设计1第5章系统功能的实现151运行环境要求1511硬件环境要求1512软件环境要求152关键功能实现1521即时聊天1522文件传输1第6章平台测试161测试环境1611数据库服务器1612应用服务器162测试工具163功能测试1631系统管理测试1632组织结构测试1633文件传输测试1634联系人组管理测试164性能测试165测试完成准则166测试结论171结论172问题和展望1参考文献1致谢1第1章引言11项目的研究背景即时通讯软件是一种主要基于C/S架构的传递即时消息的软件系统,它既可部署在局域网内,也可放到互联网上使用。目前多数即时通讯软件给用户提供的是点对点的消息发送、语言交流、视频通话等功能,随着技术的不断突破,一些新的功能加入到即时通讯软件中,比如云端文件共享、云消息漫游等。目前业界流行的即时通讯软件包括腾讯QQ、百度的HI、新浪的UC、阿里旺旺、网易泡泡、盛大ET、移动飞信、MSN等5。在1996年,第一代即时通讯被三个以色列青年开发而诞生,当时取名为ICQ。经过2年的发展,ICQ的用户量猛增至1200万,此时被AOL以287亿美元收购。时至今日,ICQ在全球的用户数保持在1个亿上下,主要用户群分布在欧洲和美洲等地。伴随着网络通讯技术的不断发展,目前大部分IM均提供了像图片、视频、音频、档案、文件等的功能,只要有网络,无论对方在天涯海角,均能通过即时通讯软件与他进行沟通。12IM即时通讯系统的发展即时通讯IM是一个人与人即时通讯的服务平台,它更强调实时性,不同于大部分的邮件系统,它提供了好友的实时状态更新,如果好友在线,即可以随时进行沟通交流6。互联网的高速发展不断影响着人们的生活方式,网络元素在不知不觉中渗透到生活的每一个角落。这其中,互联网人际交往也成为现代社会人际交往的一种时尚、便捷、多元化的方式,IM即时通讯软件成为网民最常用的网络工具。从1996年ICQ的推出,到2005至2007年的迅速发展,电子商务运营商、综合门户网站、电信运营商都纷纷围绕各自核心业务,推出各具特点的IM即时通信工具。如今,即时通信产品功能已经从比较单一的文字聊天、好友查找、好友管理,在向集社会化网络、体育、教育、电商、科技、财经、个性化区域定制服务和企业客户服务等为一体的综合化信息平台发展。总体来说,到目前为止即时通讯的发展大概经历了三个阶段(1)开创与模仿阶段。早在96年,以色列的年轻人发明了世界上第一款即时通讯产品,取名ICQ,大意是“ISEEKYOU”。ICQ的问世开创了IM的先河,随后各国的模仿者纷纷投入研发本国的IM软件。典型的包括ICQIM的鼻祖,也是国内腾讯QQ主要的模仿对象;AIM是AOL推出的一款即时通讯软件,类似MSN;OICQ是腾讯QQ的前身,到目前是国内用户最多的一款IM软件;MSN微软推出的IM软件,能满足文字聊天,语言通话,视频会议等;SINAPAGER也叫新浪寻呼,是新浪早期的IM产品(2)细分与竞争阶段进入21世纪后,IM的市场逐渐细分,平台也有PC端延伸到手机端。此时,作为IM的元老ICQ由于“水土不服”退出了中国的市场,同时腾讯的QQ和微软的MSN则占据了IM的市场。随着其他互联网公司的不断投入,以网易POPO、新浪UC为代表的即时通讯软件也相继问世并获得一定的市场份额。目前国内IM处于激烈的竞争状态。这个阶段主要存在的IM有ICHAT苹果平台自带的即时通讯工具,具有电子邮件功能;腾讯TM是腾讯公司推出的一款针对办公人群的IM产品;SKYPE主推语音聊天服务,还支持国内国际电话;网易泡泡由网易公司开发,功能齐全的个性化IM;新浪UC新浪收购了UC,推出功能强大的网络聊天工具;百度HI由百度推出的一款软件,百度社区产品通用;阿里旺旺由阿里巴巴公司开发的产品,主要用于网上购物过程中对于产品和订单等的咨询;飞信由中国移动公司研发的一款综合通讯服务IM,可免费从PC给手机发短信。(3)变革与创新阶段步入移动互联网时代,尤其在2010年后移动终端的大肆崛起,给即时通讯软件带来了新的发展契机。基于“LBS”7的IM软件不断出现,“KIK”类IM软件的异常突起,“移动化”、“社交化”已经成为IM市场不可逆转的发展趋势,在各种形式的多样化融合下,以腾讯的“微信”为代表的新一代即时通讯软件引领着IM的潮流。该阶段,主要出现了以下的即时通讯软件米聊小米科技研发的一款移动终端的IM软件,可以实现对讲;口信360公司研发的一款移动终端的IM软件,主要以语音通话为主;微信腾讯公司研发的移动IM软件,是目前用户最多的移动终端IM软件;IMESSAGE苹果内置的通讯服务,支持IPHONE、IPAD等IOS设备;易信由网易和中国电信联合研发的一款移动终端IM软件,主要可以实现免费的短信发送;来往由阿里巴巴研发的一款IM软件,主要提供“敲门”、“圈子”等服务功能;陌陌由陌陌科技研发的一款IM软件,主要以会员服务、陌陌游戏为主要盈利模式,为用户提供LBS的通讯服务。13研究意义和目的对于一个企业来说,有一款满足自己个性化需求的即时通讯对于提高企业办事效率,加强员工之间的沟通有着重要的意义。目前市场上很多企业也有专门针对企业定制的即时通讯软件,比如腾讯的RTX,IMO云办公室,汇讯WISEUC,中电智能即时通讯软件8等等,这些软件均能实现人与人之间的沟通,但这些软件对于企业来说存在以下问题(1)无法实现个性化定制(2)价格高傲,多数中小企业无法承担这么大的成本和维护费用(3)数据的安全性无法保证(4)无法与企业内部其他的应用实现整合基于上述种种因素,企业研发属于自己的即时通讯平台具有现实的意义,同时也是企业不断发展壮大的需要。那么开发本平台主要达到的目的有实现企业内部员工的沟通,保证沟通和信息的及时性,大大提高工作的效率;搭建统一的入口平台。整合现有企业的应用,如邮件系统、ERP系统,实现统一身份认证,避免员工过多记录用户名和密码;保证数据的安全。员工之间的沟通记录以及文件的传阅均是企业的重要资源和机密信息,需要对外进行隔离,以保证企业的利益;满足本企业内部的个性化需要。企业的发展和业务范围的拓宽,可能会给平台带来新的功能需求,通过自身研发可以有效解决企业的业务发展需要,为企业的壮大提供良好的信息化保证。第2章平台相关技术J2EE架构介绍J2EEJAVA2PLATFORMENTERPRISEEDITION是JAVA2平台企业版。它为企业构建满足自己特定需求,且具有良好的安全性、扩展性、维护性的平台应用提供了基础。J2EE体系结构给许多开发人员带来了好处。它的分层实现机制,使得开发人员在系统实现的过程中只需要关注业务的具体实现,而无需过多去关注后台服务的逻辑,这部分对于程序员来讲是透明的。J2EE服务器在后台已经为这些业务组件提供了服务支持。J2EE的安全机制,允许有权限的用户访问开放的资源。当你配置WEB组件或者企业BEAN时,不同的角色只能激活特定的方法,进而使用这些被激活的方法。程序员在代码编写的过程中,需要在企业BEAN中声明角色和可以被激活的方法,这样做的好处是程序员自己不用去关注代码和程序的安全性,该部分由J2EE帮程序员处理了。J2EE事务管理定义了事务中方法之间的关系。这样能保证事务中各方法可作为一个独立单元。在程序开发的过程中,前台需要调用一个企业BEAN中的方法,J2EE容器会管理该事务,由于容器的介于,对于程序员来说不用去处理事务的边界,因为这部分代码是相对较复杂的,也可以避免过多的BUG调试,而只需要在配置文件中声明企业BEAN的一些特定属性,这时会由J2EE容器读取配置文件并完成企业BEAN的事务处理9。J2EE远程连接实现了企业BEAN和客户端的底层通信,使得客户端与企业BEAN之间的交互就像在同一个环境中一样,避免了大量的访问资源消耗,实现快速的服务获取和事务处理。图21J2EEFRAMEWORK技术体系结构22P2P技术群对群技术(PEERTOPEER,简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上,如图22、23所示模式10。图22传统的C/S网络模式图23P2P网络模式关于P2P技术的两种解释或许可以说明这个问题。一种解释是,P2P即PEERTOPEER。而PEER在英语里是“(地位、能力等)同等者”、“同事”和“伙伴”的意思。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。而另一种解释是,P2P就是一种思想,有着改变整个互联网基础的潜能的思想。客观讲,单从技术角度而言,P2P并未激发出任何重大的创新,而更多的是改变了人们对因特网的理解与认识。正是由于这个原因,IBM早就宣称P2P不是一个技术概念,而是一个社会和经济现象。P2P是直接将人们联系了起来,让人们通过互联网直接交流。它使得网络上的沟通变得更容易、更直接,真正地消除中间环节。它最符合互联网络设计者的初衷,给了人们一个完全自主的超级网络资源库1112。现在在业界,比较认同的P2P计算应用系统的目标主要有以下几类1信息、服务的共享与管理2协作3构建充当基层架构的互联系统23ORACLE数据库ORACLE数据库是目前业内流行的大型关系型数据库系统之一,它提供了强大的分布式的数据处理能力。作为一款功能强大、安全高效的数据库产品,它不仅自带管理数据库安全、用户、表等的工具,而且也为用户提供了许多可视化的数据统计视图和日志视图,使得用户在使用过程中能够准确高效的进行数据管理和监控,最大化的保证用户的利益和数据安全。一、特点1、强大的数据管理功能1)最大化的保证数据安全2)最大化的实现数据共享3)最大化的保证数据的处理效率4)最大化的实现数据保存的持久性2、产品准则1)持续性访问的准则2)逻辑性和物理性独立的准则3)表与视图数据实时同步更新的准则4)表数据显式展现的准则3、分布式处理功能ORACLE分布式处理是由很多组件协同完成的,包括SQLCONNECT、SQLNET、RDBMS等,每个分布式事物的处理都可以看作是一个会话树,事物的办理是会话树的不同节点协同完成的整个事物过程。4、ORACLE数据库集成了强大的决策分析工具,可以实现对数据仓库的高效管理13。二、ORALCE与MSSQL的比较1)开放性SQLSERVER由于是微软的数据库产品,因而它只能运行在WINDOWS服务器上面,不支持其他的操作系统,不具有开放性。而ORACLE它能运行在主流的所有操作系统平台上,包括WINDOWS、LINUX、UNIX等,支持几乎所有的工业标准,能否为客户提供更多的选择性。2)处理性能SQLSERVER采用的是虚拟服务器模式,而ORACLE采用的是并行服务器模式,所以在对处理大数据量的时候,ORACLE采用分解多个子查询的模式,性能显然要优于SQLSERVER。3)安全性SQLSERVER未获得相关机构或者组织的任何证书,而ORACLE获得了最高认证级别的ISO标准认证。4)操作方面SQLSERVER操作简单,但绝大多数是通过图形化界面完成,ORACLE的操作较复杂,但提供了图像和命令行两种模式。24远程协助技术随着计算机的普及,用户对远程协助的功能需求越来越强烈。传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,很多远程控制软件提供通过WEB页面或者是客户端形式以JAVA技术来控制远程电脑,这样可以实现不同操作系统下的远程控制。目前国内主要使用的远程控制软件包括腾讯的QQ,TEAMVIEWER,以及其他即时通讯软件附带的远程协助功能14。目前远程协助主要应用于以下场合(1)远程交流目前许多企业都是通过远程交流在维持与用户的沟通,朋友之间通过远程交流来维系感情,老师与学生之间也可以通过远程交流达到教学的目的,学生与学生之间也可以通过远程交流进行课件、习题的探讨。(2)远程技术支持很多远距离的技术支持工作,目前绝大多数都是依靠远程技术支持解决的,一方面对企业可以节约成本,另外远程技术支持就跟技术人员在现场解决问题一样,只需通过控制客户的电脑即可实现问题的解决,能够快速响应客户的问题处理需求,避免客户关系受到消极影响。(3)远程管理和技术运维网络管理员不用在每天跑到机房去处理和解决一些突发问题,只需要控制远程服务器即可进行相应的问题解决。同时对于一些服务器端的软件安装、补丁修复等均可以通过远程实现。25XMPP介绍XMPP(EXTENSIBLEMESSAGINGANDPRESENCEPROTOCOL,前称JABBER15)是由互联网工程小组审核通过的一种互联网通信协议,它的实现是以XML为基础完成的。基于XMPP协议的系统,最大的特点是继承了XML的可扩展性,这让开发者在业务更改的情况下,能够保证原有的功能不变,通过XMPP的扩展信息实现对业务和用户新需求的处理。同时XMPP还实现了对服务器端的软件协议,这样保证了应用最大限度的通话请求,使开发人员在应用的实现过程中能更方便的为应用本身添加额外的功能,最大化的满足用户需求。XMPP在通信过程中,传输的更多的是与即时通讯相关的指令集。传统的命令一般是以二进制的形式发送,而XMPP协议则与原有的方式相类似,不同的是它将协议转为了XML格式,这样一方面代码解析变的简单,同时提高了可读性和可维护性。换句话说,XMPP传递的其实是XML流16。(1)XMPP协议内容XMPP由三部分组成,分别是网关、客户端、服务器。对于网关来讲,它主要的作用是与其他异构的系统进行通信交互,比如短信平台、MSN等,而对于服务器,主要是与客户端进行交互,记录客户端的请求信息;常见的网络模式是单客户端连接方式单服务器,然后在此通路上进行XML的传输。同时,这三者之间又可实现两两的互联互通。17。(2)XMPP协议优点安全性XMPP使用了TLS以及SASL等技术,保证了技术的安全性。同时XMPP的服务器可独立与公网而正常使用。开放性XMPP协议是开放、自由的,其源代码等都是公开的,目前在其各组件实现方面均存在多种代码实现方式。分布式XMPP协议的核心通信方式与常见的邮件架构相似,是先创建一个STREAM,然后通过相关的协议传输该XML数据流,对于用户而言,可以方便的通过代码监控到该数据流的过程,实时掌握通讯的传递路劲。扩展性在标准化的核心协议下,用户可以通过构建自己的个性化的XML协议,实现通信的个性化定制。适用性XMPP协议除了能够使用在即时通讯方面,而且在游戏领域、远程共享、文件传送等方面也有良好的应用性。多样性XMPP协议是开放源码给使用者的,任何人都可以在标准化的协议基础上,通过XMPP技术开发适合自己的系统,而这种实现方式根据个人喜好的不同而不同,更大的提高了利用的灵活性。1820。第3章系统需求分析系统功能需求该平台的总体功能需求为人性化的客户端界面个性化聊天功能,加强同事之间的沟通与交流客户端收发公告功能,人性化的查询功能,方便办工公告消息,账号安全性、加密,保证用户信息的安全性预留接口,实现与企业现有系统的单点登陆功能用户查找,添加好友,添加分组个性化群组聊天及组建发送公告功能语音视频聊天功能WEB多人视频会议室功能,方便领导之间在线语音视频会议嵌入式浏览器,展现丰富多彩的企业资讯功能服务端发送公告功能服务端用户信息管理功能服务端高效稳定远程协助功能2122311组织结构组织结构用例图如图31所示。部门增加可以新增部门,同时可以在根部门下建立二级部门;部门修改可以修改部门的基本信息,也可以重命名部门名称;部门删除可以删除部门以及部门下的二级部门,如果部门下面有用户时,则不允许删除;部门排序设置可调整同级部门显示时的前后位置部门成员管理可以选择一个部门,直接添加部门成员;也可以为单个帐号设置其所属部门图31组织结构用例图312通讯功能通讯功能用例图如图32所示。通讯功能列表清单如表31所示。表31通讯功能功能类别子功能概要描述文字聊天和联系人进行一对一的文字聊天清屏和联系人进行文件传输查询聊天记录使自己和联系人的聊天窗口振动即时消息传情动漫发送表情符号、字符符号等创建聊天室创建一个聊天室,可以添加聊天室成员清屏清除聊天界面的信息查询聊天记录查询与该联系人的聊天记录聊天室传情动漫发送表情增加联系人添加一个联系人删除联系人删除一个联系人搜索联系人查找一个联系人归组把联系归到某个联系人组编辑备注名称编辑某联系人的备注名称联系人管理阻止联系人屏蔽该联系人的信息创建联系人组创建一个联系人组编辑联系人组编辑一个联系人组联系人组管理删除联系人组删除一个联系人组,不删除组内联系人信息系统设置一系列的系统设置,现在还不明确图32通讯功能用例图313文件传输文件传输功能用例图如图33所示。文件传送可以实现拖拽式的文件传输,文件大小不超过4G文件夹传输支持传输文件夹,且包含文件夹中的文件一起发送,文件夹内的文件不超过一万个,对于隐藏文件,传输文件夹时给出提示,是否连隐藏文件一起传输;离线发送文件允许用户发送离线文件,方便对方不在线时也可以将文件发送给对方,以便对方下次登录后即可接收。文件传输管理器即使关闭聊天窗口,文件传输依然可以在后台进行,同事文件传输管理器也可以对文件的传输进行中止。图33文件传输功能用例图314群组管理群组管理功能用例图如图34所示。群组新增用户可以创建属于小圈子范围的群空间,用于小组的交流。群组修改对于创建的群组,有权限的管理者或者群主可以修改群组信息,包括更新群名称,更换群图标等。解散群组群主可以解散自己的群,解散群后,所有的成员均自动退出该群组,并提示群成员。群成员管理管理员可以设置群成员,包括直接邀请好友加入群,直接删除群内成员等。群主可以设置本群内的成员成为管理员,群组转让群主可以将本群的所属权转让给本群内的任意一名成员,而不需要经过该成员同意,转让群组后,原群主则变为本群内的普通一名成员。群消息提醒设置用户可以设置本群组的消息提醒方式包括自动弹窗显示消息,只提示消息记录而不显示消息,以及只显示消息记录而不提示等多种提示方式。图34群组管理功能用例图315语音聊天语音聊天功能用例图如图35所示。发起语音聊天用户可以与自己的好友进行语音聊天,只需要对方同意即可开启语音聊天功能,该功能需要借助带有耳麦和话筒的耳机或者电脑等。语音音量调节在语音通话的过程中,用户可以自由设置语音的音量大小和高低,包括耳麦和听筒的音量均可单独控制。取消语音聊天在语音通话的过程中,用户可以取消语音聊天静音设置用户在语音聊天的过程中可以设置语音的静音。图35语音通话功能用例图316视频通话视频通话功能用例图如图36所示。视频通话的功能列表如表32所示。表32视频通话功能列表功能类别概要描述文字交流进入视频通话的人彼此可以进行多人在线文字交流,进行非语音视聊天语音视频进入视频通话的人可以在线多人之间进行语音视频聊天。可以看到彼此的视频。相互之间也可以进行语聊聊天共享桌面用户可以看到进入视频的人的桌面,及时发现进入视频的人桌面的一些资料。白板演讲主持者可以在线在白板上涂鸦。与会者可以看到白板上的内容。图36视频通话功能用例图317远程协助远程协助功能用例图如图37所示。分享桌面分享桌面只是让对方能够看到自己的桌面,而对方无法进行任何操作。远程控制既能让对方看到自己的桌面,又能让对方控制自己的电脑,此时对方可以操作自己的电脑就如同用户自己操作一样;当然在操控过程中,发出方也可以随时中止远程协助。图37远程协助功能用例图318系统管理用户管理用户管理功能用例图如图38所示。增加用户用于用户的管理,主要是对企业员工的管理修改用户除了唯一的员工工号外,其他的字段均可以修改,比如电话、家庭住址、EMAIL等信息删除用户为了方便统计,删除用户并不是从物理库给真实删掉,而是单把用户的标记改为删除,实际记录还是存在,但此时用户无法再继续使用系统。查询用户可以根据条件查询用户。图38用户管理功能用例图公告管理公告管理用例图如图39所示。新增公告用于新增一条公告,新增后可以发布也可以不发布修改公告对于发布的公告可以修改,已增加未发布的也可以修改公告内容删除公告对于已经发布的公告则不可以删除,未发布的公告可以直接删除查询公告根据发布的日期,发布时间等查询特定条件的公告范围设置发布公告时可以设定公告的范围,可以是全公司公告,也可以是部门公告,也可以只发给某几个人。图39公告管理功能用例图32平台非功能需求321界面要求平台设计在稳定性、安全性的基本要求下,应具有良好的体验习惯,同时界面也要友好。主要设计风格色调方面默认提供的颜色为淡蓝色。在界面的整体布局方面,应该突出快速操作功能为主,以功能的使用为根本出发点,同时辅以其他的过渡视觉设计。平台提供多套皮肤供用户选择。322可维护性要求在平台的技术架构设计上,要求采用分层的设计思路,每一层的实现不影响其他层的技术选择,而采用共同约定好的标准接口进行层与层之间的交互通信,这样做的最大好处是保证每层的相对独立,对于日后功能的增减、修改都提供很好的可维护性。同时管理端必须提供可视化的操作平台供系统管理员使用。323可扩展性要求为了方便日后平台的功能扩充,满足企业日益发展的需要,平台除了采用分层的设计思想外,保证各实现功能和接口的相对独立性,最大化的降低接口与接口之间的耦合度。324安全性要求对于平台的日常管理维护工作,一方面设置了严格的密码保护规则,另一方面对于重大行为的操作,需记录详细的日志,并在系统层面提供事务的回滚机制,保证操作的安全性。325稳定性要求平台的开发,需要考虑的第一要素就是稳定,只有在稳定的基础上才能去探讨体验和UI等的改进。为了保证系统提供不间断的服务,在操作系统级需提供预警功能,即如果操作系统的脚本或者其他代码监控到服务的中断,需自动重启服务,同时邮件发给对应的管理员,以便于管理员在第一时间了解情况,进而做好相应的恢复措施。326数据完整性要求从数据库的角度出发,对ORACLE定时进行热备份,在一定的时间间隔内,结合冷备份,最大限度保证数据的完整。327性能要求该平台对性能的要求很高,主要体现在以下两个方面在线用户总数对于即时通讯平台,使用的用户很多,故支持同时在线用户数应不少于1000人。并发用户一般情况下并发用户不低于100,特殊情况下不低于300。第4章平台设计及各功能模块的实现平台总体架构平台的总体架构如图41所示。图41企业即时通讯平台总体架构42平台技术框架平台的技术架构如图42所示。图42企业即时通讯平台技术架构图43详细功能设计431即时聊天即时聊天的功能如表41所示。表41聊天功能列表功能类别子功能概要描述文字聊天和联系人进行一对一的文字聊天文件传输和联系人进行文件传输闪屏振动使自己和联系人的聊天窗口振动传情动漫发送表情符号离线消息在对方不在线的情况下,发送的信息,对方在下次登录时能收到个性化的点对点聊天功能阻止黑名单发消息黑名单上的人员不可以发送信息用户之间可以进行一对一聊天或者说收发信息。这些消息可以是文字消息,也可以是表情等方面的消息。同时也可以发送离线消息。用户登陆之后可查看到该消息。这种消息的功能还有即时性,而且非常方便。这对于用户之间交流更加便利。432联系人管理联系人列表管理如表42所示。表42联系人列表管理功能类别子功能概要描述添加联系人添加一个联系人删除联系人删除一个联系人搜索联系人查找一个联系人归组把联系归到某个联系人组查看基本信息查看一个联系人的基本信息联系人列表管理编辑备注信息编辑一个联系人的备注信息联系人也就是用户的好友列表,这些好友一开始不多的情况下比较好管理,当人数很多时,我们就需要对联系人进行相应的管理。对联系人进行一些基本的管理,比如查找联系人,添加联系人、删除联系人。把联系人放置到某个特定联系人组中。也可以对联系人的基本信息进行查看。了解联系人的一些基本信息。同时还支持导入联系人的操作。批量添加联系人,以及导出联系人等功能。433联系人组管理联系人组管理如表43所示。表43联系人组管理功能类别子功能概要描述创建联系人组创建一个联系人组编辑联系人组编辑一个联系人组删除联系人组删除一个联系人组,不删除组内联系人信息增加组联系人在该组中批量加入联系人联系人组管理删除组联系人在该组中批量删除联系人,把联系人从该组删除,但不删除联系人信息,把联系人归为默认组联系人进行分组管理,不同的联系人处在不同的组中,这样可以更加方便的进行查找,管理也比较规范。同时联系起来非常方便,提高效率。当然可以根据自已的情况,定制一些特别的组。并往其中添加相应的联系人。还可以对该进行编辑重命名操作。以及删除该联系人组,但不会删除该组中的联系人。删除后,该组中的联系人就分布在默认的分组中。添加联系人到某联系人组中支持批量添加操作。434公告管理公告管理功能如表44所示。表44公告管理功能列表功能类别子功能概要描述发送通知公告向指定用户群发送文字信息,例如通知,公告消息的安全将消息进去安全加密措施外部系统信息外部系统自动发送和用户有关的外部信息,提醒用户,例如,邮件系统的邮件提醒等消息通知个性化查看历史公告历史记录对接收到的公告消息进去个性化处理,进行分类、时间、是否查阅、时间段以及内容相关性模糊查询消息通知接收功能是一个比较重要的功能,用户登陆该平台的客户端后,除可以进行基本的聊天功能以外,还可以接收来自邮件、财务等系统发送过来的通知和公告。这些通知和公告都是与登陆人员息息相关的。因为用户不可能长时间的登陆并停留在邮件、财务等系统。而这些系统发布的通知和公告可以通过及时通讯平台主动的推送给客户端用户,同时用户被动地接收通知和公告。消息提醒功能需要即时通讯平台同其他系统(如邮件,财务、ERP等系统)进行无缝集成。消息提醒功能不但要实时发送至给用户,而且要针对不同的用户进行发送。这些通知与公告都是与特定的用户进行发送。435语音聊天语音聊天的总用例图如图43所示。图43语音聊天总用例图当用户登录系统后,可以选择自己好友列表中的任何人进行语音聊天。在点开聊天窗口后,点击语音聊天,会自动向好友请求语音通话。如果好友在线,他可以选择接受,则此时可以开始语音聊天,在这个过程中,用户都可以随时调整音量的高低,是否关闭扬声器,是否关闭耳麦等,该设置对双方均是有效果的,当然如果好友选择拒绝,则此次语音通话结束;如果好友不在线,则系统会提示操作者是否进行留言,点击是系统则会开始录音,并在好友上线时,发送给对方,同时本人也会收到系统回执提示该语言已经发送成功,且,好友在收听该留言时,对于播放调节是单方面起作用的。如果否,则本次通话结束。当然在好友登录后,也可以选择拒绝接受该留言,则此时系统也会提示发送者该留言被好友拒绝接收23。4351在线会话基本流程在用户希望与好友进行语音通话时,可以点击界面上的语言通话,或者通过快捷键开启语音通话请求,如果好友接收,则双方开始正常的语音通话。且通话过程中,双方均可设置耳机音量和麦克风的音量。若不想让对方听见你的声音则可以选中静音。分支流程1、如果对方不在线,则不能进行在线会话,平台会询问是否进行音频留言。2、如果你发送的请求好友不予理会,但也不点拒绝,则系统会一直处于等待接通状态,直到超时才会自动断开本次请求。3、如果好友直接拒绝你发送的语言通话请求,则系统自动返回界面。4、如果会话未建立,则不能进行音量、麦克风等的设置,且该按钮应该为灰色不可点的状态。4352语音留言语音留言活动图如图44所示。基本流程当用户希望与好友进行语音通话,而此时好友又处于离线的状态,则系统会提示用户是否选择语音留言,如果用户点击是,则系统开始录音,在录音完成之后提示用户是否选择发送,如果用户选择了发送则该语言会保存在服务器上,且在好友上线后提醒他收到语音留言,好友可以选择接收来收听该留言。分支流程1、如果用户点击否,则系统不进行语言留言操作,返回原来界面。2、如果用户在留言的过程中,点击取消,则系统不会保留该录音,并给出提示该留言录音失败。3、如果用户录音完成后在未发送留言就关闭窗口或者退出,则系统会提示用户是否发送该留言,如果点否,则该留言发送失败。4、如果好友在成功接收用户发出的留言后,未对留言做出任何响应,则系统默认该好友拒绝收听该留言。图44语音留言活动图4353音频文件播放基本流程用户可以发送一个播放音频文件的请求给在线的好友,如果好友接受该请求后,则双方建立了本次会话。此时用户可以选择一个本地的音频文件,在加载完后进行在线播放,此时好友则可以收听到该播放的音频文件,用户可以在播放的过程中对该播放文件进行相应的调节比如快进、快退、暂停播放等,而好友则只能通过系统提供的按钮进行音量的大小调节或者设置静音。在播放音频文件的过程中,双方均可以通过退出按钮来结束本次的播放请求。分支流程1、如果好友不在线,则无法建立本次的音频播放请求会话,系统给用户提示并返回原来界面。2、如果在双方建立请求连接后,用户选择了异常的音频文件格式,则此时无法播放在音频文件,系统给出双方提示,并友好性的告诉用户支持的音频格式类型。3、如果用户是受邀方,在添加播放文件时,系统会提示用户没权限,并返回原来界面。4、如果用户是受邀方,且在播放过程中进行有关的功能按钮操作,系统均不予响应。24。音频文件的播放顺序图如图45所示。图45音频文件播放顺序图436视频聊天视频聊天用例总图如图46所示。图46视频通话用例总图视频通话支持系统默认参数的修改,比如用户可以根据实际的硬件和网络条件,设置视频的分辨率和清晰度,以及设置默认的视频窗口的大小、位置等。当用户向在线好友发出视频通话的请求后,系统会提示好友是否接受用户的视频邀请,如果接受,则服务器开始进行双方的视频连接25。4361请求发送基本流程当用户想跟好友进行视频通话时,应先打开与用户的聊天界面,进而点击功能按钮发送相应的视频通话请求,此时系统会提示用户是否取消该视频通话请求。分支流程1、如果好友不在线,则系统会提示用户好友不在线,并自动断开本次的视频请求(对于隐身用户系统也当作在线用户处理)2、如果好友拒绝了本次视频请求,则会提示用户好友拒绝了本次的视频请求。3、如果好友不点击任何功能按钮,系统则会一直处于请求连接状态,直到超时。4、如果好友退出系统,则相当于拒绝了视频请求,提示用户好友拒绝本次的视频请求。4362请求接受基本流程当好友发送视频通话请求时,平台会提示用户接受还是拒绝本次视频通话请求,用户可以根据自己的实际情况来决定是否接受。如果点击接受,则系统会提示好友接受视频请求,并弹出视频通话的窗口,开始建立视频连接,进行视频通话。分支流程1、如果用户收到视频通话请求,并点了拒绝接受的功能按钮,则系统会提示好友用户拒绝了本次的视频请求。2、如果用户既不接受也不拒绝本次的视频请求,则系统会一直处于连接的状态,直到系统超时。3、如果用户关掉聊天窗口,则提示用户是否拒绝本次视频通话请求,点击是后则退出并提示好友用户拒绝了本次的视频请求4、如果用户关闭系统,则系统提示好友用户拒绝了本次的视频请求。视频发送/接受的顺序图如图47所示。图47视频发送/接受顺序图4363设置视频基本流程在用户进行视频设置时,弹出设置视频的对话框,用户可以对视频的窗口大小、视频的窗口位置、视频的清晰度等进行个性化的设置,并在下一次登录时保存本次用户的视频设置,点击确定后保存并退出本次设置26。分支流程1、如果用户根本没有视频相应的硬件设备,则提示用户找不到设备或者设备驱动有误。2、如果用户没有进行视频设置,选择使用的视频设备,则按默认找到的视频设备为准,进行视频通话。3、如果用户视频参数设置有误,则自动重置为系统默认的参数进行视频通话。4、如果好友没有视频设备,则在视频通话的过程中,显示为一个静态图片并提示用户好友没有视频设备,用户本身的视频信息依然传输给好友并正确显示。5、如果用户在设置视频参数时,点击了取消按钮,则不保存本次的参数设置,以上一次的设置为准。视频设置的顺序图如图48所示。图48视频设置顺序图437文件传输(1)文件发送文件传输主要是指即时聊天过程中,用户传给别人的文件或者文件夹,需支持三种方式的文件发送拖动文件到聊天窗口聊天窗口中发送文件(文件夹)的图标发送文件通过主体窗口中的右键菜单功能发送文件(2)接收文件文件接收有两种方式,一种是直接接受到“文件接收目录”中,另一种是指定文件的目录。(3)取消文件发送或者拒绝接收文件(4)支持离线文件的发送(5)传输的文件类型不受限制,可以是文件夹、EXE文件等所有文件类型。(6)支持断点续传(7)支持文件恢复功能文件传输的时序图如图49所示。图49文件传输时序图438远程协助远程协助的目的是在网络环境下,双方能够相互协助操控彼此计算机的功能,它包括的基本功能有共享屏幕、远程操作请求、远程执行命令等。主要实现以下基本功能1、被请求方能够查看请求方的桌面2、可以查看请求方的桌面和计算机的全部内容3、可以控制请求方的鼠标移动和鼠标操作4、可以直接执行操作系统命令控制计算机5、可以控制请求方计算机的关闭、重启等6、可以记录键盘的按键7、能否自动刷新屏幕区域,降低流量消耗8、在本地操作请求方的计算机,实现远程操控。27。439群组管理群组的管理主要是为了实现多人聊天与多人资料共享的目的,主要需实现的功能包括(1)创建群,并设置群公告、群图标等基本信息;(2)管理群成员。群主或者管理员均可以对本群成员进行管理,或者移除本群内的成员,对于添加本群的成员,由管理员可以设置是否需要身份验证(3)群共享分为群文件和群公告。群文件群成员可以在群共享中上传、下载文件,但是群文件的删除只能由上传该文件的用户来操作。群公告群成员在群共享中发布公告,群成员共享信息,群公告的修改和删除只能由发布该公告的用户来操作。(4)需支持多种进入群聊模式的操作方式双击直接在主体窗口上,双击群,弹出群聊窗口。右键菜单功能在主体窗口中,选择群,右击群,点击群聊,进入群聊模式。群名片通过群名片,点击群聊图标,进入群聊模式。44数据库设计表45至表415是一些关键表的数据字典表45DDL_DATASOURCE表字段名类型长度是否为空描述JNDINAMEVARCHAR2512否JDBCDRIVERVARCHAR2512否程序驱动JDBCURLVARCHAR2512否URLJDBCUSERNAMEVARCHAR2512否用户名JDBCPASSWORDVARCHAR2512否密码表46EIM_BUBBLENEWS表字段名类型长度是否为空描述MSGIDVARCHAR2255否主键TOUSERSCLOBTITLEVARCHAR2255否标题CONTENTVARCHAR22000内容LEVELIDNUMBER10EXPIRESNUMBER19过期时间CREATETIMENUMBER19否创建日期表47EIM_DEFAULTROLEORAUTH表字段名类型长度是否为空描述ROLEIDVARCHAR2255否主键AUTHIDVARCHAR2255否IDVALUEVARCHAR2255值表48EIM_DOMAIN表字段名类型长度是否为空描述DOMAINNAMEVARCHAR2255否域名DISPLAYNAMEVARCHAR2255否显示名称CREATETIMENUMBER19否创建时间INVALIDATENUMBER1否REMARKVARCHAR2255备注SHOWORGSNUMBER1否表49EIM_GROUP表字段名类型长度是否为空描述GROUPIDVARCHAR2255否主键DISPLAYNAMEVARCHAR2255否显示名称CREATETIMENUMBER19否创建时间GROUPTYPENUMBER10组类型AFFICHEVARCHAR21024LASTMODIFYTIMENUMBER19最后修改时间CREATORVARCHAR2255否创建人LASTACTIVETIMENUMBER19最后激活时间AUTHENTICATIONNUMBER10表410EIM_GROUPCHATMESSAGE表字段名类型长度是否为空描述MESSAGEIDVARCHAR2255否主键FROMIDVARCHAR2255否来自IDFROMNAMEVARCHAR2255否来自用户GROUPIDVARCHAR2255否组名SENDTYPENUMBER10否类型FONTFAMILYVARCHAR2255否字体FONTSIZE否字体大小FONTUNDERLINENUMBER10否下划线FONTTALICNUMBER10否FONTBOLDNUMBER10否FONTCOLORVARCHAR2255否颜色SENDCONTENTCLOB否内容SENDTIMENUMBER19否发送时间FROMADDRESSVARCHAR2255否IP地址表411EIM_HEART表字段名类型长度是否为空描述PERSONIDVARCHAR2255否用户IDHEARTVARCHAR2255否内容表412EIM_MAP_PERSON_GROUP表字段名类型长度是否为空描述GROUPIDVARCHAR2255否组IDPERSONIDVARCHAR2255否用户IDROLENUMBER19否角色表413EIM_MAP_PERSON_ORG表字段名类型长度是否为空描述PERSONIDVARCHAR2255否用户IDORGIDVARCHAR2255否部门IDMAJORNUMBER1DUTYVARCHAR2255职务SORTFLOAT排序表414EIM_ORGUNIT表字段名类型长度是否为空描述ORGIDVARCHAR2255否部门IDDISPLAYNAMEVARCHAR2255否名称PARENTORGIDVARCHAR2255父节点DOMAINNAMEVARCHAR2255域名ISORGANIZATIONNUMBER1INVA

温馨提示

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

评论

0/150

提交评论