1、毕 业 设 计,基于.net的网页版QQ的设计与实现,答辩人:,导 师:,杨晓燕,何祥安,2010年6月7日,1.摘要应本课题模仿腾讯QQ制作,是一个B/S结构的网络程序,具有私聊、群聊,创建群、用户分组、权限设置、在线状态、聊天记录等功能,本课题全面阐述了该程序从设计到开发的全过程,并对技术重点和难点作出分析,提出了可行性解决方案,最终使”网页版 QQ”的各个功能都顺利实现。本系统在Windows XP操作系统和.NET平台下开发完成,使用ASP.NET(C#语言)和ADO.NET技术, SQL SERVER 2005数据库,并在Windows XP和Windows Server 2003及
2、Windows Server 2008系统调试通过。,2.系统功能本系统主要功能模块有:数据维护:实现新添加、修 改、 删除记录功能;好友交互:查找好友、添加好友、私聊、群聊等功能。本系统将交流作为研究重点,力求通过简单的设置,使系统使用更加简单方便及人性化,即使第一次接触系统的人也可轻松操作,快速了解各个菜单的功能。同时,在操作界面的设计上,按照腾讯QQ的模式进行布局,使用户更容易接受和使用。,3.需求分析,通过对以上的分析,可以获知在该系统的功能模块,具体内容见下:,删除好友,在线状态,创建群,添加好友,登录,4.1系统开发运行环境信息服务器:IIS6.0版本。开发语言:ASP.NET 实
3、现语言C#。开发工具:Microsoft Visual Studio .NET 2005数据库:Microsoft Office SQL Server 2005操作系统:Windows XP Professional浏览器版本:IE6.0,4.总体技术架构,系统运行架构如图4所示。,4.2使用ADO.NET连接数据库 ASP.NET本身无法存取数据库,它必须与ADO.NET配合起来才能存取数据库记录。ADO.NET对象模型中有五个主要组件,分别 是Connection对象、Command对象、DataAdapter对象、DataSet对象以及DataReader对象。,4.3 使用HTTP对象
4、,ASP.NET提供许多对象给用户使用,如Request、Response、Application、Session、Cookies对象。这些变量可以提供相当多的功能,例如可以在两个网页之间传递变量,输出数据,以及记录变量值等。,4.4 WEB控件与数源的绑定,Web控件有一个非常重要的功能即支持数绑定(Data- Bind)。这种功能可以和资料源连结,用来显示或修改数据源的数据。 要将控件与数据源绑定,最简单的方法是直接把数据指定给控件的某个属性,或者合用数据绑定语句。数据绑定语句可以让控件取得数据源的数据。,4.5 Ajax技术,AJAX即“Asynchronous JavaScript a
5、nd XML”(异步JavaScript和XML) Ajax的核心:XMLHttpRequest XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。 Ajax的优点:减轻服务器的负担,按需取数据,最大程度的减少冗余请求; 局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验 ;另外它基于xml标准化,并被广泛支持,不需安装插件等 ,进一步促进页面和数据的分离。,4.6 三层结构的确立,在过去的C/S结构中应
6、用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。但C/S结构存在着很多体系结构上的问题,比如:当客户端数目激增时,服务器端的性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载等等。而最新流行的B/S结构很好地解决了这些问题。,在B/S三层体系结构下,表示层、业务逻辑层、数据访问层被割成三个相对独立的单元: 在表示层中包含系统的显示逻辑,位于客户端。它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后
7、用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。,在业务逻辑层中包含系统的事务处理逻辑,位于Web服务器端。它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,而后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。 在数据访问层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。,三层体结构在该系统中的应用 由上的C/S与B/S的比较之,本系统采
8、用更具有先进性的B/S结构。表示层ASP.NET web Form即用户页面,业务逻辑层即.Net组件,数据访问层即ADO.NET。三层结构的关系见图:,图5系统三层结构,根据系统功能设计的要求以及功能模块划分,可建立如下几个数据表。用户信息表(userinfo),其结构见下:,6.数据库的设计,根据系统功能设计的要求以及功能模块划分,可建立如下几个数据表。好友表(friend),其结构见下:,根据系统功能设计的要求以及功能模块划分,可建立如下几个数据表。消息表(msg),其结构见下:,根据系统功能设计的要求以及功能模块划分,可建立如下几个数据表。群表(group),其结构见下:,7.代码设计
9、 编码是程序设计的重要组成部分,是对计算机所下指令,因此编码的好坏将直接影响到系统的安全性、稳定性、健壮性、可行性、 与及系统的可维护性。本系统采用C#编程语言,使用ADO.NET连接数据库,HTTP对像存储变量与及Web控件绑定数据源。,8.人机交互界面的设计 总体设计操作界面时,按照腾讯QQ的模式进行布局,使用户更容易接受和使用该系统。本系统主要包含以下界面:登录界面、注册界面、主界面、聊天界面。具体设计如下图:,登陆界面,注册界面,主界面,私聊界面,群聊界面,9.结论与展望,本文从系统设计、功能目标设计和具体页面的确定及数据库的设计等几个方面探讨了本系统的技术与实现,最终采用B/S三层结构,应用ASP.NET,Ajax技术完成本系统。采用开发工具VS2005,大型数据存储工具SQL Server作为数据库。该系统运行在Windows操作系统上且需IIS的支持,同时客户端能在任何具有浏览器的操作系统上登录系统,包括Linux等操作系统。 随着自己不断的学习,技术的不断提高,系统功能的不断增强和完善,我相信,在它投入使用后,一定会受到用户的欢迎,并且凝聚着一批稳定的客户群!,致谢: 感谢四年来教授我的老师,是他们让我获得了良好的理论知识和实践技能,同时更加的感谢杨晓燕导师对我悉心指导,让我从理论到实践都有所提升!,2010年6月7日,