ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:254.17KB ,
资源ID:18821286      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18821286.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(即时通讯软件的设计与实现Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

即时通讯软件的设计与实现Word格式.docx

1、Key Words: Silverlight; Instant Messaging; Windows Communication Foundation.引 言互联网的告诉发展不断影响着人们的生活方式,他在提供人们快速便捷的体验的同时,慢慢渗透到我们生活中的每一个角落。这其中,互联网人际交往也成为现代社会人际交往的一种时尚、便捷、多元化的方式。IM作为其工具,也变得流行起来。 从1996年世界上第一款IM软件ICQ的推出,到2005至2007年的迅速发展,电子商务运营商、综合门户网站、电信运营商都纷纷围绕各自核心业务,推出各具特点的IM即时通信工具。如今,即时通信产品功能已经从比较单一的文字聊天

2、、好友查找、好友管理,在向集社会化网络、资讯、娱乐、位置服务、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台发展。第一章主要技术介绍1.1 WCF-Windows Communication FoundationWindows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口。它是.NET框架的一部分,由 .NET Framework3.0 开始引入,与Windows Presentation Foundation及Windows Workflow Foundation并行为新一代 Wind

3、ows操作系统以及 WinFX 的三个重大应用程序开发类库。在 .NET Framework2.0 以及前版本中,微软发展了 Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winsock 等通信支持。由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如 .NET Remoting 可以开发 SOAP, HTTP 通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务

4、架构(Service-Oriented Architecture) 也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是 Windows Communication Foundation。1.2 MVCMVC全名是Model View Controller,是模型(model)视图(view)控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用

5、于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。1.3 SilverlightMicrosoft Silverlight是一个跨浏览器的、跨平台的插件,为网络带来下一代基于NET Framework的媒体体验和丰富的交互式应用程序。Silverlight提供灵活的编程模型,并可以很方便地集成到现有的网络应用程序中。Silverlight可以对运行在Mac或Windows上的主流浏览器提供高质量视频信息的快速、低成本的传递。Microsoft Silverlight的中文名为“微软银光”,是一种新的Web呈现技术,能在各种平台上运行。借助该技术,您将拥有内容丰富、视觉效果绚丽

6、的交互式体验,而且,无论是在浏览器内、还是在桌面操作系统(如Windows和Apple Macintosh)中,您都可以获得这种一致的体验。Microsoft .NET Framework3.0(Windows 编程基础结构)中的呈现技术XAML(可扩展应用程序标记语言)遵循WPF(Windows Presentation Foundation),它是Silverlight呈现功能的基础。第二章 系统概述1.1 系统开发背景和意义内部通讯是每一个组织机构必须切实面对的工作,但一直以来人们使用传统的方式进行信息交换。例如传真和内部电话。这些方式存在着许多缺点,如效率低、保密性差且较为繁琐。随着网

7、络技术的不断发展和普及,这种传统的通信方法必然被以计算机网络为基础的方法所取代。即时通讯系统作为网络应用的一个分支,有着传统通讯方法无法比拟的优点,如易于管理,可靠性高,部署简单等。因此,开发一套能够为企业机构提供内部资源信息交换的系统,是十分必要的。国内外的企业级内部通讯软件平台技术都已经非常成熟,集成了电话会议,视频会议,邮件系统,提供二次开发和与其他系统(例如OA)的集成。典型的项目例如微软的Lync,腾讯的RTX等。1.2 开发环境开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:Windows 8.1开发工具:VisualStudio

8、2013数据库管理系统: SQL Server 2012 Express数据库服务器:第三章 系统需求分析2.1 任务概述经过对同类软件的研究,发现同类软件之间的基本原理相差不大。主要实现一对一聊天,一对多聊天,广播通知,文件互发,语音聊天等。基于TCP/IP协议实现。为了减少服务器的负载,客户端也同时集成了服务器的功能,使基本的聊天信息不在经过主服务器发送,而是由客户端之间进行配对发送。新用户首先对主服务器进行http请求,服务器返回登陆界面,新用户进行注册并下载客户端程序后便可正常使用客户端进行聊天。根据以上调查分析,整个系统的构成如图2.1所示。图2.1 系统概念构成图Fig. 2.1

9、Structure diagram ofsystem concept2.2 功能需求经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 以下是即时通讯系统必须具备的功能:1.后台客户端:处理与网络相关的信息。包括获取当前可用网络的ip,当前网络是否可以连接到服务器,自动绑定至可连接的ip等功能。由于SilverLight功能的局限性,不得不考虑将客户端分为两部分。一部分专门为用户提供应用程序的可视化接口服务,一部分处理网络通信。 2.网站与服务器:网站提供用户的注册和登陆。用户可通过页面内置的SilverLight客户端来使用聊天服务,也可以下载Si

10、lverLight客户端到本地来使用。下载到本地的SilverLight客户端使用服务器进行登陆, 3.前台客户端模块:向服务器发送登录信息,发送注册信息,呈现用户界面,提供基本服务,向后台客户端提供数据。4.主要功能模块:主要功能模块分为3个子模块,分别为文字聊天模块,图片/文件传输模块,音频聊天模块。每个模块使用单独的信道通信,并适当使用多线程技术提高并发处理能力。5.异常处理模块:前后台客户端都应设有异常处理模块。当信道出现异常时尝试自动重置信道以排除异常并重新连接至目标终结点,提高程序的健壮性。2.3性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,即时通讯系统应该满足以下的

11、性能需求:1、系统处理的准确性和及时性系统处理的准确性和及时性是衡量系统性能的重要指标。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息传送的需要的同时,尽可能的迅速和准确。2、系统的开放性和系统的可扩充性即时通讯系统在开发过程中,必须充分考虑以后的可扩充性。例如用户对数据传送的需求会不断的更新和发展,系统必须尽可能的满足这些需求并且只花费较少的时间和金钱。这就要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬

12、件。通过软件的修补、替换完成系统的升级和更新换代。3、系统的易用性和易维护性即时通讯系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求该系统必须有较为完善的用户帮助信息和友好的系统界面,帮助用户尽快熟悉系统的使用方法,缩短磨合时间。4、系统的先进性现代计算机通讯技术发展极为迅速,如果想要该系统尽可能的延长生命周期,必须在开发时使用相对较新的技术。同时系统必须具有足够的开放性和良好的耦合度,通过快速和廉价的升级方案,防止系统过快淘汰。5、系统的响应速度即时通讯系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行数据传输时,根据所需数据量的不同而从秒级到分钟

13、级,原则是保证操作人员不会因为速度问题而影响工作效率。第四章 系统总体设计3.1 系统总体流程根据需求分析得到的性能和功能要求,得出系统的大致工作流程。程序开始运行后,首先进行用户的登陆验证。之后初始化系统的各项功能所依赖的对象,之后等待用户进行输入,根据输入的信息进行相应的处理,例如发送文字聊天信息,图片,文件和发起音频会议。用户使用完毕之后,关闭程序之前进行登出操作。之后关闭程序。图3.1 即时通讯系统总体流程图Fig. 3.1 The overall flow chartof instant messagingsystem针对这个总体上的业务流程,必须要进行一些合理的改进以适应实际情况。

14、例如初始化失败;连接后台客户端失败;无法连接到登陆服务器等实际情况,必须采取相应的措施排除错误和异常。实际使用过程中可能遇到的问题及改进措施如下:网络连接类错误:错误发生后尝试重新连接,在尝试一定次数仍失败后提示用户。用户输入类错误:提示用户重新输入正确的信息。机会错误和未知错误:提示用户后关闭程序,暂时不进行处理。3.2 系统功能模块图根据需求分析阶段得到的功能需求,以及对系统对性能的需求以及系统特点,得出系统的功能模块图如下:图3.2 即时通讯系统功能模块图Fig. 3.2 Function models diagram of instant messaging System第五章 详细设

15、计4.1 程序流程图依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。具体来说就是把经过总体设计得到的各个模块详细的加以描述。根据总体设计中对总体流程图提出的改进要求,画出详细流程图如下图4.2所示。图4.1 程序详细流程图Fig. 4.1 Detailed program flowchart4.2 程序详细流程图描述程序开始运行后,首先尝试与后台客户端进行连接。如果连接失败则进行重试,如果连接成功则后台客户端进行初始化,之后返

16、回监听地址到SL客户端以便进行用户登录。验证用户登录,如果失败则提示失败,重新获取必要信息后重新验证。如果登陆成功则向服务器获取登陆用户的好友列表。服务器返回列表之后SL客户端进行用户界面的初始化并等待用户进行操作。关闭客户端时自动向服务器发送离线信息。4.3 主要功能描述系统主要功能有客户端与服务器之间的连接,客户端与客户端之间的连接,发送不同种类的数据。发送数据的方式有两种,分为缓冲模式和流模式。分别对应简短数据和大型数据。用户登陆登出功能时序图:图4.2 登陆登出时序图Fig. 4.2 Sequence diagram of Login/Logout 用户登陆登出采用BasicHttpB

17、inding缓冲模式发送和接收数据。用户在登录时需要提供用户名和密码,以及一个代表自身网络地址的终结点Uri。服务器接收登陆请求后验证用户名密码是否正确并异步送回验证结果。登陆成功后服务器记录登陆者的Uri并设置登陆状态。发送消息功能时序图图4.3 发送消息功能时序图Fig.4.3 Sequence diagram of sending message图4.3表示的是一个发送过程。此过程在本系统中是通用的,换句话说,此过程使用在一些实现相似功能的模块中 。发送过程开始前需要进行普通服务客户端的初始化。在此我们认为初始化过程已经完成并且连接正常。之后需要构建一个Communication Dat

18、a以表示需要发送的数据。客户端接收到请求后,会构建一个CommunicationRequest,其中包含一个CommunicationInformation并携带一个消息目的地的Uri,然后它会通知主服务客户端发送此Request到目标地址并等待此请求返回。请求返回的结果同样是一个CommunicationRequest。不同的是其中的PingPongCount会加1,普通服务客户端会检测这个值,如果此值小于2就继续发送一个CommunicationRequest并且PingPongCount加1。返回的Request还携带了一个ReplyAddress。这个地址表明了普通服务客户端需要的目的

19、地址。有了这个地址,普通服务客户端就可以和远程的相应主机进行通信了。接收消息功能时序图:图4.4 接收消息功能时序图Fig.4.4 Sequence diagram of receiving message图4.4表示的是一个通用接收过程。在主服务主机接收到Communication Request之后检测普通服务主机是否存在,若不存在则会新建。之后检测Request中的PingPongCount并回发携带ReplyAddress的Request。通过使用和重复使用以上三个功能,我们可以构建一个功能强大的客户端。4.4 程序接口描述4.4.1 服务器端服务接口共三个接口,分为登陆服务接口,好友

20、列表获取接口,登出接口。分别提供登陆, 获取好友列表,登出功能。图4.5 接口原型Fig.4.5 Prototype of service interface具体实现详见附录第一部分。4.4.2 客户端内部接口客户端模块间接口采用数据耦合方式,通过参数表传送数据,交换信息。4.5 数据设计4.5.1 数据的逻辑设计根据在需求分析和系统设计阶段得到的功能需求和系统流程,分析出系统所需要使用的数据结构。以下是三个最主要的数据的结构MessageBody,CommunicationInformation和CommunicationData。图4.6 MessageBody类结构图Fig.4.6 Cl

21、ass diagram of MessageBody图4.7 CommunicationInformation类结构图Fig.4.7 Class diagram of CommunicationInformation图4.8 CommunicationData类结构图Fig.4.8 Class diagram of CommunicationData第六章 测试分析报告有两种基本方法可以用来标识测试用例,即功能测试(黑盒测试)和结构测试(白盒测试)。本次测试我主要采用了功能测试。功能测试的基本观点是,任何程序都可以看作是将输入定义域取值映射到输出值域的函数。6.1 测试计划和要点软件测试的本质

22、是针对要测试的内容确定一组测试用例。在讨论之前,我先把要测试各个模块的计划和要点列出:6.1.1 主模块测试要点服务器连接情况:正常情况,数据库文件缺少,外部系统异常。系统设置获取:正常情况,外部系统异常。对用户输入的响应:合法输入,能够正常调用子模块; 非法输入,系统能否辨别,并作出响应(提出警告); 子模块的异常状况,系统能否及时做出响应。6.1.2 登陆模块测试要点模块正常运行流程用户输入数据检查(用户名,密码),包括数据合理性检查,以及合法性检查网络连接异常时的响应情况6.1.3 聊天服务模块测试要点连接异常发送信息失败初始化出错未知错误6.1.4 文件服务模块测试要点6.1.5 音频

23、服务模块测试要点 连接异常 发送信息失败 初始化错误6.2 测试用例测试用例是为了特定目的(如考察特定程序路径或验证是否符合特定的需求)而设计的测试数据及与之相关的测试规程的一个特定的集合,或称为有效地发现软件缺陷的最小测试执行单元。根据上一节给出的测试要点,又因为测试是不可能穷举的。所以我们采用等价划分法来进行对图书管理系统的测试。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有代表性和完整性。6.2.1 主模块测试用例表6.1 主模块测试用例Table 6.1 Main service test case字段名称描 述标识符C1测试项主模块的初始化与关闭输入标准1.打开主

24、模块2.退出程序输出标准1.模块未做任何操作,单击退出按钮,能正常退出,无提示信息。2.打开任意子窗体,单机退出按钮,能正常退出,无任何错误。3.在打开相应的子窗体时,发送任意信息之后关闭程序,无任何错误 6.2.2 登陆模块测试用例表6.2 登陆模块测试用例Table 6.2 Login model test caseC2登陆模块的功能测试1.打开程序,进入登陆界面2.输入正确的用户名和密码。3.输入不正确的用户名和密码。输入正确的用户名密码后登陆成功进入下一界面。输入错误用户名密码后登陆提示登陆错误。点击退出按钮后正常退出。6.2.3 聊天服务模块测试用例表6.3 聊天服务模块测试用例Ta

25、ble 6.3 Normal service test caseC3聊天服务模块的功能测试1打开程序,进入聊天窗口2.输入一些聊天文字,选择字体,颜色,大小等。3.选择一副图片进行发送。4.点击发送。模块未做任何操作,单击退出按钮,能正常退出,无提示信息。6.2.4文件服务模块测试用例表6.4 文件服务模块测试用例Table 6.4 File service test caseC4文件服务模块的功能测试1.打开程序,进入聊天窗口2.单击文件发送按钮,选择文件进行发送。点击确定。3.单击文件发送按钮,选择文件,点击取消。模块未做任何操作,单击 “退出”命令,能正常退出,无提示信息。6.2.5 音频服务模块测试用例表6.5 音频服务模块测试用例Table 6.5 Audio service test caseC5音频服务模块的功能测试2.点击音频服务按钮。6.3 测试结果6.3.1 测试的结果我们按照6.2节中给出的测试用例的顺序来给出相应的测试结果。表6.6 主模块测试结果Table 6.6 Main service test result测试结果正常操作无任何异常出现与预期的偏差无说明的问题主模块通过了功

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1