收藏 分享(赏)

即时通讯软件的设计与实现.doc

上传人:dreamzhangning 文档编号:2813298 上传时间:2018-09-28 格式:DOC 页数:49 大小:457.50KB
下载 相关 举报
即时通讯软件的设计与实现.doc_第1页
第1页 / 共49页
即时通讯软件的设计与实现.doc_第2页
第2页 / 共49页
即时通讯软件的设计与实现.doc_第3页
第3页 / 共49页
即时通讯软件的设计与实现.doc_第4页
第4页 / 共49页
即时通讯软件的设计与实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、课 程 设 计 报 告学 院: 天津理工大学华信软件学院专业名称: 软件工程课程名称: 专业设计课程代码:所在班级:学 号:姓 名:课题名称: 即时通讯系统任课教师:完成时间: 2013 年3 月-2013 年6 月即时通讯软件的设计与实现摘要随着互联网技术的不断发展和更新,互联网上人与人之间的消息传递方式从 E-Mail 到聊天室又到及时通讯软件。如今即时通讯软件的技术已经非常成熟,强大的功能和丰富的交流方式使其成为了人们最常使用的软件之一。系统使用 Silverlight实现 B/S 与 C/S 结合的模式,体现了 B/S 结构方便用户访问的特性的同时也兼顾了 C/S 结构的强大功能。本文

2、简述实现系统时使用的Windows Communication Foundation的主要概念,以及即时通讯软件的设计与实现过程,包括服务器协议的制定,客户端间通信协议的指定,客户端主要功能的实现以及部分网站的设计。最终目的是在已经成熟的即时通讯技术上有所突破和创新。关键词:即时通讯,微软银光,Windows 通讯框架。Development and Implementation of Instant Messaging SystemAbstractWith the continuous development of Internet technology and update, the In

3、ternet between the person and persons message from E-Mail to chat and instant messaging software. Now IM software technology has been very mature, powerful and rich communication make it become one of the most commonly used software. The system uses Silverlight to realize the combination of B/S and

4、C/S mode, embodies the characteristics of B/S structure is convenient for the user to access while also taking into account the powerful functions of C/S structure. The main concepts in this paper when the system is realized using Windows Communication Foundation, the process of design and implement

5、ation of instant messaging software, including server protocol development, specify the client communication protocol, design the main function of the realization of client and website. The ultimate aim is to make a breakthrough in the instant communication technology has been mature and innovation.

6、Key Words: Silverlight; Instant Messaging; Windows Communication Foundation.目 录引 言 1第一章 主要技术介 绍 21.1 WCF-Windows Communication Foundation 21.2 MVC21.3 Silverlight3第二章 系统概述 41.1 系统开发背 景和意义 41.2 开发环境 4第三章 系统需求分 析 52.1 任务概述 52.2 功能需求 62.3 性能需求 7第四章 系统总体设 计 83.1 系统总体流 程 83.2 系统功能模 块图 10第五章 详细设计 114.1 程序

7、流程图 114.2 程序详细流 程图描述 124.3 主要功能描 述 134.4 程序接口描 述 154.4.1 服务器端服 务接口 154.4.2 客户端内部 接口 154.5 数据设计 164.5.1 数据的逻辑 设计 16第六章 测试分析报 告 186.1 测试计划和 要点 186.1.1 主模块测试 要点 186.1.2 登陆模块测 试要点 186.1.3 聊天服务模块测试要点 186.1.4 文件服务模块测试要点 196.1.5 音频服务模块测试要点 196.2 测试用例 206.2.1 主模块测试 用例 206.2.2 登陆模块测 试用例 216.2.3 聊天服务模块测试用例 21

8、6.2.4 文件服务模块测试用 例 226.2.5 音频服务模块测试用例 226.3 测试结果 236.3.1 测试的结果 23第七章 总结 25参考文献 26附 录 27天津理工大学 2011届本科课程设计说明书(课程论文)1引 言互联网的告 诉发展不断 影响着人们 的生活方式 ,他在提供人 们快速便捷 的体验的同 时,慢慢渗透到 我们生活中 的每一个角 落。这其中,互联网人际 交往也成为 现代社会人 际交往的一 种时尚、便捷、多元化的方 式。IM 作为其 工具,也变得流行 起来。 从 1996年世界上第 一款 IM 软 件 ICQ 的 推出,到 2005至 2007年的迅速发 展,电子商务

9、运 营商、综合门户网 站、电信运营商 都纷纷围绕 各自核心业 务,推出各具特 点的 IM 即 时通信工具 。如今,即时通信产品功能已经 从比较单一 的文字聊天 、好友查找、好友管理,在向集社会 化网络、资讯、娱乐、位置服务、搜索、电子商务、办公协作和 企业客户服 务等为一体 的综合化信 息平台发展 。 天津理工大学 2011届本科课程设计说明书(课程论文)2第一章 主要技术介绍1.1 WCF-Windows Communication FoundationWindows Communication Foundation(WCF)是由微软发 展的一组数 据通信的应 用程序开发 接口,可以翻译为

10、Windows 通讯接 口。它是.NET 框架 的一部分,由 .NET Frame work3.0 开始引入,与 Windows Presentation Foundation及 Windows Workflow Foundation并行为新一 代 Windo ws 操作系 统以及 WinFX 的三个重大 应用程序开 发类库。在 .NET Frame work2.0以及前版本 中,微软发展了 Web Service (SOAP with HTTP communication),.NET Remoting (TCP/HTTP/Pipeline communication) 以及基础的 Winso

11、ck 等通信支持 。由于各个通 信方法的设 计方法不同 ,而且彼此之 间也有相互 的重叠性(例如 .NET Remot ing 可以开发 SOAP, HTTP 通信) ,对于开发人 员来说,不同的选择 会有不同的 程序设计模 型,而且必须要 重新学习,让开发人员 在使用中有 许多不便。同时,面向服务架 构(Servi ce-Oriented Architecture) 也开始盛行 于软件工业 中,因此微软重 新查看了这 些通信方法 ,并设计了一 个统一的程 序开发模型 ,对于数据通 信提供了最 基本最有弹 性的支持,这就是 Windows Communication Foundation。1.

12、2 MVCMVC 全名 是 Model View Controller,是模型(model )视图(view)控制器(controller)的缩写,一种软件设 计典范,用一种业务 逻辑、数据、界面显示分 离的方法组织代码,将业务逻辑 聚集到一个 部件里面,在改进和个 性化定制界 面及用户交 互的同时,不需要重新 编写业务逻 辑。MVC 被独 特的发展起 来用于映射 传统的输入 、处理和输出 功能在一个 逻辑的图形 化用户界面 的结构中。天津理工大学 2011届本科课程设计说明书(课程论文)31.3 SilverlightMicrosoft Silverlight 是一个跨 浏览器的、跨平台的插

13、 件,为网络带来 下一代基于NET Framework 的 媒体体验和 丰富的交互 式应用程序 。Silve rlight 提供灵活 的编程模型 ,并可以很方 便地集成到 现有的网络 应用程序中 。Silve rlight 可以对运 行在 Mac或 Windows上的 主流浏览器 提供高质量 视频信息的 快速、低成本的传 递。Micro soft Silverlight 的中文名 为“微软银光” ,是一种新的 Web 呈现 技术,能在各种平 台上运行。借助该技术 ,您将拥有内 容丰富、视觉效果绚 丽的交互式 体验,而且,无论是在浏 览器内、还是在桌面 操作系统(如 Windows 和 Appl

14、e Macintosh)中,您都可以获 得这种一致 的体验。Micro soft .NET Framework3.0(Windo ws 编程基础结 构)中的呈现技 术 XAML(可扩展应用 程序标记语 言)遵循 WPF(Windows Presentation Foundation) ,它是 Silverlight 呈现 功能的基础 。天津理工大学 2011届本科课程设计说明书(课程论文)4第二章 系统概述1.1 系统开发背景和意义内部通讯是 每一个组织 机构必须切 实面对的工 作,但一直以来 人们使用传 统的方式进 行信息交换 。例如传真和 内部电话。这些方式存 在着许多缺 点,如效率低、保

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

16、理系统开发 与运行环境的选择如下 :开发环境:Windo ws 8.1开发工具:Visua lStudio 2013数据库管理 系统: SQL Serve r 2012 Express数据库服务 器: SQL Serve r 2012 Express天津理工大学 2011届本科课程设计说明书(课程论文)5第三章 系统需求分析2.1 任务概述经过对同类 软件的研究 ,发现同类软 件之间的基 本原理相差 不大。主要实现一 对一聊天,一对多聊天 ,广播通知,文件互发,语音聊天等 。基于 TCP/IP 协议实 现。为了减少服 务器的负载 ,客户端也同 时集成了服 务器的功能 ,使基本的聊 天信息不在

17、经过主服务 器发送,而是由客户 端之间进行 配对发送。新用户首先 对主服务器 进行 http 请求,服务器返回 登陆界面,新用户进行 注册并下载客户端程序 后便可正常 使用客户端 进行聊天。根据以上调 查分析,整个系统的 构成如图 2.1 所示。图 2.1 系统概念构成图Fig. 2.1 Structure diagram of system concept天津理工大学 2011届本科课程设计说明书(课程论文)62.2 功能需求经过以上详 细的用户调 查,在现行业务 流程和数据 分析的基础 上,基本可以确 定系统设计 必须达到的 目标。 以下是即时 通讯系统必 须具备的功 能:1.后台客户端

18、:处理与网络 相关的信息 。包括获取当 前可用网络 的 ip,当前网络是 否可以连接 到服务器,自动绑定至 可连接的 ip 等功能。由于 SilverLight 功能 的局限性,不得不考虑 将客户端分 为两部分。一部分专门 为用户提供 应用程序的 可视化接口 服务,一部分处理 网络通信。2.网站与服务 器:网站提供用 户的注册和 登陆。用户可通过 页面内置的SilverLight 客户端来 使用聊天服 务,也可以下载 SilverLight 客户端到 本地来使用 。下载到本地 的 SilverLight 客户端 使用服务器 进行登陆,3.前台客户端 模块:向服务器发 送登录信息 ,发送注册信

19、息,呈现用户界 面,提供基本服 务,向后台客户 端提供数据 。4.主要功能模 块:主要功能模 块分为 3 个 子模块,分别为文字 聊天模块,图片/文件传输模 块,音频聊天模 块。每个模块使 用单独的信 道通信,并适当使用 多线程技术 提高并发处理能力。5.异常处理模 块:前后台客户 端都应设有 异常处理模 块。当信道出现 异常时尝试 自动重置信 道以排除异 常并重新连 接至目标终 结点,提高程序的 健壮性。天津理工大学 2011届本科课程设计说明书(课程论文)72.3 性能需求为了保证系 统能够长期 、安全、稳定、可靠、高效的运行 ,即时通讯系 统应该满足 以下的性能 需求:1、系统处理的 准

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

21、一 定的规范,可以简单的 加入和减少 系统的模块 ,配置系统的 硬件。通过软件的 修补、替换完成系 统的升级和 更新换代。3、系统的易用 性和易维护 性即时通讯系 统是直接面 对使用人员 的,而使用人员 往往对计算 机并不时非 常熟悉。这就要求该 系统必须有 较为完善的 用户帮助信 息和友好的 系统界面,帮助用户尽 快熟悉系统 的使用方法 ,缩短磨合时 间。4、系统的先进 性现代计算机 通讯技术发 展极为迅速 ,如果想要该 系统尽可能 的延长生命 周期,必须在开发 时使用相对 较新的技术 。同时系统必 须具有足够 的开放性和 良好的耦合 度,通过快速和 廉价的升级 方案,防止系统过 快淘汰。5

22、、系统的响应 速度即时通讯系 统在日常处 理中的响应 速度为秒级 ,达到实时要 求,以及时反馈 信息。在进行数据 传输时,根据所需数 据量的不同 而从秒级到 分钟级,原则是保证 操作人员不 会因为速度 问题而影响 工作效率。天津理工大学 2011届本科课程设计说明书(课程论文)8第四章 系统总体设计3.1 系统总体流程根据需求分 析得到的性 能和功能要 求,得出系统的 大致工作流 程。程序开始运 行后,首先进行用 户的登陆验 证。之后初始化 系统的各项 功能所依赖 的对象,之后等待用 户进行输入 ,根据输入的 信息进行相 应的处理,例如发送文 字聊天信息 ,图片,文件和发起 音频会议。用户使用

23、完 毕之后,关闭程序之 前进行登出 操作。之后关闭程 序。图 3.1 即时通讯系统总体流程图Fig. 3.1 The overall flow chart of instant messaging system针对这个总 体上的业务 流程,必须要进行 一些合理的 改进以适应 实际情况。例如初始化失败;连接后台客 户端失败;无法连接到 登陆服务器 等实际情况 ,必须采取相 应的措施排 除错误和异 常。实际使用过 程中可能遇 到的问题及 改进措施如 下:网络连接类 错误:错误发生后 尝试重新连 接,在尝试一定 次数仍失败 后提示用户 。用户输入类 错误:提示用户重 新输入正确 的信息。机会错误和

24、未知错误:提示用户后 关闭程序,暂时不进行 处理。天津理工大学 2011届本科课程设计说明书(课程论文)9天津理工大学 2011届本科课程设计说明书(课程论文)103.2 系统功能模块图根据需求分 析阶段得到 的功能需求 ,以及对系统 对性能的需 求以及系统 特点,得出系统的 功能模块图 如下:图 3.2 即时通讯系统功能模块图Fig. 3.2 Function models diagram of instant messaging System天津理工大学 2011届本科课程设计说明书(课程论文)11第五章 详细设计4.1 程序流程图依据软件工 程的基本原 理,详细设计阶 段的根本任 务是确

25、定应 该怎样具体 实现所要求 的系统,也就是说,经过这个阶 段的设计工 作,应该得出对 目标系统的 精确描述,从而在系统实现阶段可 以把这个描 述直接翻译 成用某种程 序设计语言 书写的程序 。具体来说就 是把经过总 体设计得到 的各个模块 详细的加以 描述。根据总体设 计中对总体 流程图提出 的改进要求 ,画出详细流 程图如下图 4.2 所示。 图 4.1 程序详细流程图Fig. 4.1 Detailed program flowchart天津理工大学 2011届本科课程设计说明书(课程论文)124.2 程序详细流程图描述程序开始运 行后,首先尝试与 后台客户端 进行连接。如果连接失 败则进

26、行重 试,如果连接成 功则后台客 户端进行初 始化,之后返回监 听地址到 SL 客户端以 便进行用户 登录。验证用户登 录,如果失败则 提示失败,重新获取必 要信息后重 新验证。如果登陆成 功则向服务 器获取登陆 用户的好友 列表。服务器返回 列表之后 SL 客户端进 行用户界面 的初始化并 等待用户进 行操作。关闭客户端 时自动向服 务器发送离 线信息。天津理工大学 2011届本科课程设计说明书(课程论文)134.3 主要功能描述系统主要功 能有客户端 与服务器之 间的连接,客户端与客 户端之间的 连接,发送不同种类的数据。发送数据的 方式有两种 ,分为缓冲模 式和流模式 。分别对应简 短数

27、据和大 型数据。用户登陆登 出功能时序 图:图 4.2 登陆登出时序图Fig. 4.2 Sequence diagram of Login/Logout 用户登陆登 出采用 BasicHttpBinding 缓 冲模式发送 和接收数据 。用户在登录 时需要提供 用户名和密 码,以及一个代 表自身网络 地址的终结 点 Uri。服务器接收 登陆请求后 验证用户名 密码是否正 确并异步送 回验证结果 。登陆成功后 服务器记录 登陆者的 Uri 并设置 登陆状态。发送消息功 能时序图图 4.3 发送消息功能时序图Fig.4.3 Sequence diagram of sending message图

28、4.3 表示的是 一个发送过 程。此过程在本 系统中是通 用的,换句话说,此过程使用 在天津理工大学 2011届本科课程设计说明书(课程论文)14一些实现 相似功能的 模块中 。发送过程开 始前需要进 行普通服务 客户端的初 始化。在此我们认 为初始化过 程已经完成 并且连接正 常。之后需要构 建一个 Communication Data 以 表示需要发 送的数据。客户端接收 到请求后,会构建一个 CommunicationRequest,其中包含一个 CommunicationInformation并携带一个 消息目的地 的 Uri,然后它会通 知主服务客 户端发送此 Request 到目标

29、 地址并等待 此请求返回 。请求返回的 结果同样是 一个CommunicationRequest。不同的是其 中的 PingPongCount会加 1,普通服务客 户端会检测 这个值,如果此值小 于 2 就继续 发送一个 CommunicationRequest 并 且 PingPongCount 加 1。返回的 Request还携带了一 个 ReplyAddress。这个地址表 明了普通服 务客户端需 要的目的地 址。有了这个地 址,普通服务客 户端就可以 和远程的相 应主机进行 通信了。接收消息功 能时序图:图 4.4 接收消息功能时序图Fig.4.4 Sequence diagram o

30、f receiving message图 4.4 表示的是 一个通用接 收过程。在主服务主 机接收到 Communication Request 之后检 测普通服务 主机是否存 在,若不存在则 会新建。之后检测 Request 中的 PingPongCount 并回发携 带 ReplyAddress 的 Request。通过使用和 重复使用以 上三个功能 ,我们可以构 建一个功能 强大的客户 端。天津理工大学 2011届本科课程设计说明书(课程论文)154.4 程序接口描述4.4.1 服务器端服务接口共三个接口 ,分为登陆服 务接口,好友列表获 取接口,登出接口。分别提供登 陆, 获取好友列

31、表,登出功能。图 4.5 接口原型Fig.4.5 Prototype of service interface具体实现详 见附录第一 部分。4.4.2 客户端内部接口客户端模块 间接口采用 数据耦合方 式,通过参数表 传送数据,交换信息。天津理工大学 2011届本科课程设计说明书(课程论文)164.5 数据设计4.5.1 数据的逻辑设计根据在需求 分析和系统 设计阶段得 到的功能需 求和系统流 程,分析出系统 所需要使用 的数据结构 。以下是三个 最主要的数 据的结构 MessageBody,Commu nicationInformation 和CommunicationData。图 4.6

32、MessageBody 类结构图Fig.4.6 Class diagram of MessageBody天津理工大学 2011届本科课程设计说明书(课程论文)17图 4.7 CommunicationInformation 类结构图Fig.4.7 Class diagram of CommunicationInformation图 4.8 CommunicationData 类结构图Fig.4.8 Class diagram of CommunicationData天津理工大学 2011届本科课程设计说明书(课程论文)18第六章 测试分析报告有两种基本 方法可以用 来标识测试 用例,即功能测试

33、 (黑盒测试)和结构测试 (白盒测试) 。本次测试我 主要采用了 功能测试。功能测试的 基本观点是 ,任何程序都 可以看作是 将输入定义 域取值映射 到输出值域 的函数。6.1 测试计划和要点软件测试的 本质是针对 要测试的内 容确定一组 测试用例。在讨论之前 ,我先把要测 试各个模块 的计划和要 点列出:6.1.1 主模块测试要点服务器连接 情况:正常情况,数据库文件 缺少,外部系统异 常。系统设置获 取:正常情况,外部系统异 常。对用户输入 的响应:合法输入,能够正常调 用子模块;非法输入,系统能否辨 别,并作出响应 (提出警告);子模块的异 常状况,系统能否及 时做出响应 。6.1.2

34、登陆模块测试要点模块正常运 行流程用户输入数 据检查(用户名,密码),包括数据合 理性检查,以及合法性 检查网络连接异 常时的响应 情况6.1.3 聊天服务模块测试要点连接异常发送信息失 败初始化出错未知错误天津理工大学 2011届本科课程设计说明书(课程论文)196.1.4 文件服务模块测试要点连接异常发送信息失 败初始化出错未知错误6.1.5 音频服务模块测试要点连接异常发送信息失 败初始化错误天津理工大学 2011届本科课程设计说明书(课程论文)206.2 测试用例测试用例是 为了特定目 的(如考察特定 程序路径或 验证是否符 合特定的需 求)而设计的测 试数据及与 之相关的测 试规程的

35、一 个特定的集 合,或称为有效 地发现软件 缺陷的最小 测试执行单 元。根据上一节 给出的测试 要点,又因为测试 是不可能穷 举的。所以我们采 用等价划分 法来进行对 图书管理系 统的测试。它将不能穷 举的测试过 程进行合理 分类,从而保证设 计出来的测 试用例具有 代表性和完 整性。6.2.1 主模块测试用例表 6.1 主模块测试用例Table 6.1 Main service test case字段名称 描 述标识符 C1测试项 主模块的初 始化与关闭输入标准 1.打开主模块2.退出程序输出标准1.模块未做任 何操作,单击退出按 钮,能正常退出 ,无提示信息 。2.打开任意子 窗体,单机退

36、出按 钮,能正常退出 ,无任何错误 。3.在打开相应 的子窗体时 ,发送任意信 息之后关闭 程序,无任何错误 天津理工大学 2011届本科课程设计说明书(课程论文)216.2.2 登陆模块测试用例表 6.2 登陆模块测试用例Table 6.2 Login model test case字段名称 描 述标识符 C2测试项 登陆模块的 功能测试输入标准1.打开程序,进入登陆界 面2.输入正确的 用户名和密 码。3.输入不正确 的用户名和 密码。输出标准 输入正确的 用户名密码 后登陆成功 进入下一界 面。输入错误用 户名密码后 登陆提示登 陆错误。点击退出按 钮后正常退 出。6.2.3 聊天服务模

37、块测试用例表 6.3 聊天服务模块测试用例Table 6.3 Normal service test case字段名称 描 述标识符 C3测试项 聊天服务模 块的功能测 试输入标准1 打开程序 ,进入聊天窗 口2.输入一些聊 天文字,选择字体,颜色,大小等。3.选择一副图 片进行发送 。4.点击发送。输出标准 模块未做任 何操作,单击退出按 钮,能正常退出 ,无提示信息 。天津理工大学 2011届本科课程设计说明书(课程论文)226.2.4 文件服务模块测试用例表 6.4 文件服务模块测试用例Table 6.4 File service test case字段名称 描 述标识符 C4测试项 文

38、件服务模 块的功能测 试输入标准1.打开程序,进入聊天窗 口2.单击文件发 送按钮,选择文件进 行发送。点击确定。3.单击文件发 送按钮,选择文件,点击取消。输出标准 模块未做任 何操作,单击 “退出”命令,能正常退出 ,无提示信息 。6.2.5 音频服务模块测试用例表 6.5 音频服务模块测试用例Table 6.5 Audio service test case字段名称 描 述标识符 C5测试项 音频服务模 块的功能测 试输入标准 1.打开程序,进入聊天窗 口2.点击音频服 务按钮。 输出标准 模块未做任 何操作,单击 “退出”命令,能正常退出 ,无提示信息 。天津理工大学 2011届本科课程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报