基于WEB的即时通讯系统设计与实现.docx

上传人:b****1 文档编号:23172569 上传时间:2023-05-15 格式:DOCX 页数:34 大小:288.31KB
下载 相关 举报
基于WEB的即时通讯系统设计与实现.docx_第1页
第1页 / 共34页
基于WEB的即时通讯系统设计与实现.docx_第2页
第2页 / 共34页
基于WEB的即时通讯系统设计与实现.docx_第3页
第3页 / 共34页
基于WEB的即时通讯系统设计与实现.docx_第4页
第4页 / 共34页
基于WEB的即时通讯系统设计与实现.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

基于WEB的即时通讯系统设计与实现.docx

《基于WEB的即时通讯系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于WEB的即时通讯系统设计与实现.docx(34页珍藏版)》请在冰豆网上搜索。

基于WEB的即时通讯系统设计与实现.docx

基于WEB的即时通讯系统设计与实现

摘要

随着计算机应用技术的快速发展,网络也遍及到我们生活,为我们的学习和工作带来极大的方便。

在WEB技术的日益成熟的今天,Browse/Server(简称B/S)结构已成为取代Client/Server(简称C/S)结构的一种全新技术。

本系统主要讨论了基于WEB方式的在线即时通讯系统,又称为“WEBQQ”,用户可以以网页的形式实现聊天功能。

本系统是在WINDOWS系统下,使用ASP.NET以及SQLServer2005数据库共同实现的在线即时通讯工具。

本系统提供以网页的形式让用户间一对一的聊天,同时将聊天记录以文本的方式保存到本地,用户在聊天之后能在系统管理里看到聊天记录。

如果好友不在线,可以给好友留言。

用户在系统管理里可以对自己的好友和分组进行管理,根据用户的昵称、ID、用户名来添加好友、修改和删除好友。

关键词:

WEB开发;B/S;三层架构;即时通讯

Abstract

Withtherapiddevelopmentofcomputerapplicationtechnologies,networkshavebeenpervasiveinourdailylifewithprovidingconvenienceforoutstudyandwork.Today'sWEBtechnologieshavebeenincreasinglymatureandBrowse/Serverstructure,asanewtechnology,hasbecomeasubstituteforClient/Serverstructure.ThispapermainlydiscusseshowtodesignandimplementaWEB-basedInstantMessagingsystemwhichisalsoknownas“WEBQQ”andallowsuserstochatinthewebpages.TheinstantmessagingsystemisimplementedbyemployingbothASP.NETandSQLServer2005technologiesundertheWINDOWSplatform.Thesystemprovidesthefunctionsofallowinguserstochatone-to-oneinthewebpagesandsavingthechattingmessagesinalocaltextfilesothatuserscanretrievetheminthesystem.Iffriendsarenotonline,userscanalsoleavemessagestofriends.Userscanalsomanagefriendsandgroupssuchasadding,modifyinganddeletingfriendsaccordingtotheuser'snickname,ID,orname.

Keywords:

WEBDevelopment;B/S;Three-TierStructure;InstantMessaging;

引言

随着WEB技术的日益成熟,Browse/Server(简称B/S)结构已成为取代Client/Server(简称C/S)结构的一种全新技术。

采用该结构软件的优势在于:

(1)无须开发客户端软件,维护和升级方便;

(2)可跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作为客户机来访问系统;

(3)具有良好的开放性和可扩充性;

(4)可采用防火墙技术来保证系统的安全性,有效地适应了当前用户对管理信息系统的新需求。

因此该结构在管理信息系统开发领域中获得飞速发展,成为应用软件研制中一种流行的体系结构。

跟普通的WEB开发模型相比,ASP.NET提供了以下优点:

(1)增强的性能:

ASP.NET是在服务器上运行的编译好的公共语言运行库代码。

与被解释的前辈不同,ASP.NET可利用早期绑定、实时编译、本机优化和盒外缓存服务。

这相当于在编写代码之前便显著提高了性能。

(2)世界级的工具支持:

ASP.NET框架补充了VisualStudio集成开发环境中的大量工具箱和设计器。

WYSIWYG编辑、拖放服务器控件和自动部署只是这个强大的工具所提供功能中的少数几种。

(3)威力和灵活性:

由于ASP.NET基于公共语言运行库,因此WEB应用程序开发人员可以利用整个平台的威力和灵活性。

.NET框架类库、消息处理和数据访问解决方案都可从WEB无缝访问。

ASP.NET也与语言无关,所以可以选择最适合应用程序的语言,或跨多种语言分割应用程序。

另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。

(4)安全性:

借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序是安全的。

本文所介绍的即时通讯系统就是一个在Windows环境下用ASP.NET开发的B/S结构系统。

即时通讯系统是基于WEB浏览器的IM服务,不需要下载客户端即可获得基本的IM服务,具有WEB产品固有的便利性,同时在WEB上最大限度的保持了客户端软件的操作习惯。

WEBQQ将为用户提供基于WEB的IM服务。

该产品的推出旨在进一步完善的WEB产品线,丰富“在线生活”平台。

“基于WEB的即时通讯系统”就是在此需求下提出的,其目的是实现Windows平台下的基于B/S(浏览器/服务器)结构的即时通讯系统。

采用WEB技术实现B/S(浏览器/服务器)结构的即时通讯系统是发展趋势,基于WEB技术的管理系统,由于开发周期短;易于实现交互式应用;能对信息进行快速、高效的收集、处理和发布,近几年来得到了迅速发展。

B/S结构通过将任务合理分配到客户端和服务端,还可以充分利用两端硬件环境的优势,降低了系统的通讯开销。

2开发工具与环境介绍

2.1VisualStudio概述

VisualStudio.NET[1]是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,VisualStudio.NET都可以提供近乎完美的解决方案。

VisualStudio.NET提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。

本系统是在VisualStudio2005环境下开发的。

  VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。

2.2VisualStudio发展历程

1998年,微软公司发布了VisualStudio6.0。

所有开发语言的开发环境版本均升至6.0。

这也是VisualBasic最后一次发布,从下一个版本(7.0)开始,MicrosoftBasic进化成了一种新的面向对象的语言:

MicrosoftBasic.NET。

由于微软公司对于Sun公司Java语言扩充导致与Java虚拟机不兼容而Sun被告上法庭,微软在后续的VisualStudio中不再包括面向Java虚拟机的开发环境。

2002年,随着.NET口号的提出与WindowsXP/OfficeXP的发布,微软发布了VisualStudio.NET(内部版本号为7.0)。

在这个版本的VisualStudio中,微软剥离了VisualFoxPro作为一个单独的开发环境以VisualFoxPro7.0单独销售,同时取消了VisualInterDev。

与此同时,微软引入了建立在.NET框架上(版本1.0)的托管代码机制以及一门新的语言C#。

C#是一门建立在C++和Java基础上的现代语言,是编写.NET框架的语言。

2003年,微软对VisualStudio2002进行了部分修订,以VisualStudio2003的名义发布(内部版本号为7.1)。

Visio作为使用统一建模语言(UML)架构应用程序框架的程序被引入,同时被引入的还包括移动设备支持和企业模版。

.NET框架也升级到了1.1。

  2005年,微软发布了VisualStudio2005。

.NET字眼从各种语言的名字中被抹去,但是这个版本的VisualStudio仍然还是面向.NET框架的(版本2.0)。

它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。

总体来说是一个非常庞大的软件,甚至包含代码测试功能。

 随着即将发布的WindowsVista(内部名称:

Longhorn)和Office2007,VisualStudio9也渐渐浮出水面。

VisualStudio9目前可以确定的是支持建立于DHTML基础上的AJax技术,这种微软在VisualInterDev时代提出的基于异步的客户端动态网页技术在当年并没有像微软预期中的那么流行起来,反而随着GMail等应用而东山再起,渐渐成为主流网络应用之一。

同时VisualStudio9会强化对于数据库的支持以及微软新的基于工作流(Workflow)的编程模型。

预计为了保持与Office系列的统一,VisualStudio9的名称为VisualStudio2008。

2008年,VisualStudio9也就是VisualStudio2008将和WindowsServer2008同时发布

2.3VisualStudio2005特点

今天,企业要获得成功,就必须正视构建和维护日益复杂的信息技术(IT)解决方案的需求。

此外,他们还要借助于新技术来拓展业务功能并开发全新的业务机会。

自IT部门接受了技术支持任务的那一刻起,他们便成为绝大部分业务策略中的关键角色。

企业当然希望能从他们在IT项目的投资中获得最大利润,这就意味着IT部门需要在越来越大的压力下多快好省地完成工作。

对更高成本效益的追求使得IT项目的预见性需求日渐增加。

然而,这样做通常造成繁琐的过程和对成本消耗的监控,这只不过是将费用转嫁到不同的问题。

付出的代价是开发机会的时间投入以及膨胀的IT预算。

当Microsoft首先发布VisualBasic之时,就通过降低其复杂度从而使Windows软件开发得以广泛应用。

利用VisualBasic6.0,Microsoft让数以百万计的开发人员能够快速开发客户端/服务器应用程序。

最近,利用VisualStudio.NET,Microsoft又为开发人员提供了轻松开发分布式应用程序的工具与技术。

通过VisualStudio2005TeamSystem,Microsoft正在解决日益增加的应用程序复杂性及其设计、开发和部署所必需的生命周期问题。

这一点是通过提供必需的工具和指导从而能够预见、重复结果(无需付出生产效率和创新的代价)实现的。

•信息交流:

通过降低报告的运转开销和寻觅团队成员间新的交流渠道,VisualStudioTeamSystem着重于能够更好地进行交流。

例如:

•通过自动从团队成员使用的工具那里收集信息,可以简化报告过程。

从VisualStudioTeamSystem采集到的数据保存在数据仓库中,这使项目状态报告和可见性能够面向软件开发团队的所有成员,甚至是项目组之外的乾系人。

•项目经理能够将客户需求转化为开发团队中的工作项,然后跟踪工作项的状态以实现项目状态的监控。

•分布式系统设计器(DistributedSystemDesigner)将应用程序开发和部署需求转化为能够让开发人员和操作进行交流的公共语言(SDM)。

•集成的工具:

VisualStudio的成功已被证实,即开发人员偏爱一个具备对他们需要的工具提供接口的集成开发环境。

通过将开发人员在开发环境中需要的测试和性能工具(例如,单元测试、代码分析和性能分析)合并在一起,VisualStudioTeamSystem也期待着这种成功。

这使开发人员能够在生命周期的较早阶段就改善其代码的质量,而无需中断他们的工作。

通过尽早地为开发人员提供他们需要用于识别和解决质量问题的工具,更多的产品缺陷就能够在它们还未构成危害之前即被发现并解决。

•简化的、集成的工作流和过程:

有了VisualStudioTeamSystem,那么过程就不仅仅是文档了。

它还能将自己体现为实际的工具行为更改。

当您在项目初期选择过程时,还需要选择工作流和工作产品,它们会驱动系统的行为方式。

对SDLC过程的支持是内置的,这使得对工作流的支持是无缝的。

通过将过程集成到团队成员日常使用的基本工具中,VisualStudioTeamSystem大大消除了过程采纳的障碍,并使自动收集跨职能的项目标准成为可能,而无需实施人工报告的相关开销。

•增加的投资回报:

利用信息交流和生产效率的改进,企业将明显地看到针对其在SDLC工具和过程方面的投资而增加的ROI。

VisualStudioTeamSystem提供一个具有成本效益的解决方案,从而通过使用跨所有SDLC工具的广泛集成,实现对软件开发生命周期的管理。

通过提供集成的工具集并基于现有知识进行构建,VisualStudioTeamSystem提供一个友好的环境来帮助开发团队提高效率,而无需掌握不必要的、复杂的概念和僵化的工具。

2.3.1集成

通过将SDLC工具集成到UI级别的表面,VisualStudioTeamSystem提高了团队工作效率并增强了项目的可预见性,下面说明数据级别表面以及过程级别的项目上下文。

•用户界面集成:

工具间的无缝集成是增强生产效率的关键[3]。

VisualStudioTeamSystem提供跨整个SDLC工具套件的、一致的用户体验。

对于开发人员而言,可以在他们当前的开发环境中使用某些活动(例如,单元测试、工作项跟踪、代码剖析以及代码分析)。

•数据集成:

通过使用一个公共的跨工具集的数据仓库,VisualStudioTeamSystem解决了在大多数SDLC工具中建立数据仓库这一问题,并启动了一个聚合的项目状态视图。

团队根据能够收集到的规则来管理项目。

今天,数据主要限于缺陷跟踪。

VisualStudioTeamSystem中集成的数据将开创一条新路—通过平衡利用贯穿于SDLC的大量、多样的数据来管理项目规则。

VisualStudioTeamSystem会收集精确的数据—不仅限于缺陷跟踪,而是包括测试结果、代码涵盖、代码生成、任务进度等这些贯穿于团队常规工作流程的数据。

该数据以某些标准的报告方式呈现,客户和Microsoft内部团队已在报告中建立了成功项目管理的关键规则。

此外,团队还能够创建自定义报告。

仅当以项目的大范围上下文查看数据时,团队才能够精确地报告项目状态。

•过程集成:

在VisualStudioTeamSystem中,工具行为由项目开始时选择的过程决定。

通过将过程与工具相集成,VisualStudioTeamSystem帮助确保在项目各阶段之间或各种项目角色之间避免丢失任何内容。

通过自动处理团队成员之间的工作调整,可以提高团队效率。

公司通过使过程标准化,能够纠正贯穿于过程改进中的系统问题,而无需增加团队的工作量。

此外,过程集成并不增加工作量,而通常能够降低与SDLC中所采纳过程相关的开销。

2.3.2扩展性

尽管存在一些基本的工具可组成SDLC工具(例如,架构师工具、测试工具等),但是SDLC并未限制住工具的数量。

当集成支持SDLC的工具时,团队会发现在提高团队效率,同时降低复杂性这些方面的好处。

VisualStudioTeamSystem将提供基本的平台,让所有提供商能够以一种普通的、公众可理解的形式交换信息。

这理所当然地铸造了一个充满活力的合作伙伴体系,合作伙伴能够构建完全集成的工具,简化构建IT解决方案的复杂性,以及推动信息交流和鼓励团队协作。

要获得跨UI、数据和过程集成的最大价值,就需要扩展性。

扩展性促成交互性。

VisualStudioTeamSystem设计基础是扩展性模型。

Microsoft提供的SDLC工具利用与第三方可用的扩展性功能相同的扩展性功能。

扩展性体现在集成的三个层次:

UI、数据和过程。

•用户界面扩展性:

VisualStudioTeamSystem利用现有的VisualStudioIndustryPartner(VSIP)计划,将补充的产品和服务插入到VisualStudio集成开发环境(IDE)之中。

•数据扩展性:

VisualStudioTeamSystem利用VisualStudioTeamFoundationCoreServices(TFCS)将这些工具集成在一起。

TFCS提供一组能够将工具集成在一起的工具,无需工具间的紧密耦合。

对于数据收集,TFCS还能够将第三方工具用于由VisualStudioTeamSystem使用的数据仓库。

•过程扩展性:

VisualStudioTeamSystem使用方法论模板来定义每个项目将遵循的过程。

不存在适用于所有组织、以至一个组织内的所有项目的通用过程。

不要为此担心,VisualStudioTeamSystem是一个灵活的工具集,它采用即灵活又正规的过程。

Microsoft的GlobalSolutionIntegrator合作伙伴将提供他们自己的方法论模板产品;或者,您可以自己创建模板。

过程扩展性允许自定义工作项类型、签入策略、自定义报告以及项目管理模板。

有关详细信息,请参阅VisualStudio2005TeamSystem:

MicrosoftSolutionsFramework和VisualStudio2005TeamSystem:

扩展套件。

2.3.3MicrosoftVisualStudio2005TeamSystem

MicrosoftVisualStudio2005TeamSystem提供支持整个软件开发团队的工具:

•架构师:

VisualStudio2005TeamArchitectEdition包括集成、高效的工具,用于直观地构建面向服务的解决方案,这些解决方案从部署环境的初始状态开始设计。

有关详细信息,请参阅VisualStudio2005TeamSystem:

设计分布式系统以进行部署。

•开发人员:

VisualStudio2005TeamDeveloperEdition为开发人员提供高级的静态分析、代码剖析、代码涵盖以及单元测试工具,使团队能够在整个生命周期中尽早、频繁地规划质量。

有关详细信息,请参阅VisualStudio2005TeamSystem:

构建健壮而可靠的软件。

•测试人员:

VisualStudio2005TeamTestEdition构建于开发人员版本之上,更好地为测试人员提供了用于管理和运行各种测试(包括单元测试、手工测试和WEB测试)的工具,以及使团队能够在应用程序部署之前检验其性能的高级负载测试工具。

有关详细信息,请参阅VisualStudio2005TeamSystem:

通过更完善的测试实现更好的软件。

•项目管理人员:

VisualStudio2005TeamFoundation提供一套基于软件项目管理人员已知内容的项目管理工具:

MicrosoftExcel、MicrosoftProject和WindowsSharePointServices。

与MicrosoftOffice集成,项目管理人员不再需要手工将数据从这些应用程序映射到供工程团队使用的数据。

项目站点提供仪表盘式的项目状态视图,以及向下追溯风险承担者的功能。

丰富的报告提供了从整个常规的团队工作流中收集的规则。

自定义项目过程基于业界公认的实践来驱动生命周期。

有关详细信息,请参阅VisualStudio2005TeamSystem:

软件项目管理。

•团队开发:

VisualStudio2005TeamFoundation还提供团队协作工具,使组织能够不费吹灰之力即可管理并跟踪过程和软件项目的运行状况。

PortfolioExplorer将可从项目站点获得的这些相同的项目工作产品集成到VisualStudioIDE,从而让团队能够进行有效的访问。

VisualStudio2005TeamFoundation还提供一个可扩展的工作项跟踪系统和企业级别的源代码管理。

有关详细信息,请参阅VisualStudio2005TeamSystem:

企业级源代码管理和工作项跟踪。

2.4SQLServer2005概述

SQLServer2005基于SQLServer2000的强大功能之上,提供了一个完整的数据管理和分析解决方案,它将会给不同规模的组织带来帮助:

(1)构建、部署和管理企业应用程序,使其更加安全、伸缩性更强和更可靠;

(2)降低开发和支持数据库应用程序的复杂性,实现了IT生产力的最大化;

(3)能够在多个平台、应用程序和设备之间共享数据,更易于连接内部和外部系统;

(4)在不牺牲性能、可用性、可伸缩性或安全性的前提下有效控制成本;

SQLServer2005在以下三个重要方面改善了您的数据基础架构:

企业数据管理、开发人员效率和商业智能(BI)。

它在可接受的价格和许可费用以及升级到SQLServer2005和MicrosoftWindowsServerSystem的途径方面也有新的突破。

3系统概述

3.1系统需求分析

3.1.1功能要求

通过即时通讯系统,实时发送聊天信息,可以指定聊天的对象,给不在线的用户留言和备份聊天记录等。

功能更强大的即时通讯系统不仅提供发送信息也可以进行各种设置包括聊天者的表情及文字颜色,还支持视频和音频、传送文件等功能。

即时通讯系统的特点就是要求能够进行实时显示出聊天者所谈的内容。

所谓“实时”就是指在同一个聊天室的不同使用者,可以在短时间里立刻看到其他人的发言,这与我们所说的论坛有很大的不同。

在ASP.NET没有得到广泛应用之前,聊天室大多是用CGI程序或者JAVA开发的APPLET维护的,要开发一个聊天室系统是很费时费力的。

网上聊天室作为用户的最为喜欢的WEB应用程序,其特点就是强调信息的即使性和信息发布式的多样性。

从功能上讲,网上聊天室系统与论坛系统非常相似,但聊天室系统有自己的特点。

它强调信息的即使性,在聊天室保持连接的状态下,要求能够实时显示出聊天者所谈的内容。

3.1.2性能要求

开发一个完整的聊天室要用

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

当前位置:首页 > 自然科学 > 物理

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

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