当前位置:文档之家› 毕业论文11

毕业论文11

题目网络聊天室的实现

目录

摘要.......................................................................................................................... I Abstract ......................................................................................................................... I I 第一章绪论 (1)

1.1 本系统研究意义及国内外发展概况 (1)

1.2 本系统的设计目的、目标、应用执行机制、要求 (2)

第二章开发环境与技术的介绍 (4)

2.1 开发环境 (4)

2.1.1 硬件环境 (4)

2.1.2 软件环境 (4)

2.1.3 环境配置 (4)

2.2 技术的介绍 (5)

2.2.1 ASP简介 (5)

2.2.2 ASP特点 (6)

2.2.3 ASP与传统数据相比较 (7)

第三章需求分析 (8)

3.1 可行性研究 (8)

3.1.1 经济可行性 (8)

3.1.2 技术可行性 (8)

3.1.3 操作可行性 (8)

3.2 理解需求 (8)

3.3 需求分析 (9)

3.3.1 前台功能及页面逻辑结构 (9)

3.3.2 后台管理系统功能及页面逻辑结构 (10)

第四章概要设计 (11)

4.1 系统总体设计 (11)

4.1.1 系统功能模块设计 (11)

4.2功能模块流程图 (12)

4.2.1登陆模块流程图 (12)

4.2.2聊天主页流程图 (12)

4.2.3管理功能模块流程图 (13)

4.3 体系结构图 (13)

4.4 系统建模UML (14)

4.4.1 系统用例图 (14)

4.5 数据库设计 (15)

4.5.1 E-R图 (15)

4.5.2 数据表 (15)

第五章详细设计 (17)

5.1 信息的组织、存储、共享的实现 (18)

5.2 登陆模块 (19)

5.3 在线人员列表模块 (20)

5.4 公共聊天和私聊功能模块 (20)

5.5 聊天内容自动刷新 (23)

5.6 用户资料管理 (24)

5.7 在线人员管理模块 (24)

5.8 聊天内容管理 (24)

5.9 表情功能的实现 (25)

第六章系统测试 (27)

6.1 系统调试 (27)

6.1.1 Microsoft 脚本调试工具 (27)

6.1.2 启用调试 (27)

6.2 测试方法 (28)

6.2.1 单元测试 (28)

6.2.1.1 白盒测试 (28)

6.2.1.2 黑盒测试 (28)

6.2.2 组装测试 (28)

6.2.3 确认测试 (28)

6.2.4 系统测试 (29)

6.3 系统维护 (29)

总结 (30)

参考文献(References) (31)

致谢 (32)

基于B/S的网络聊天室的实现

摘要

随着互联网的飞跃发展,基于网络的应用层出不穷。ASP( Active Server Page)是一项较为成熟的Web技术。ASP功能强大、本领卓越,ASP功能的应用几乎没有什么限制,ASP是服务器端的脚本环境,可以开发动态的、交互的、高效的Web站点。

本文采用了软件工程学的方法实现了聊天室的系统设计与开发,简单介绍了ASP技术相关的基础知识,包括ASP的脚本语言、内置对象。详细地描述了各个模块的功能及实现方法。利用ASP技术开发聊天室,解决了如聊天自动刷新、框架网页与变量的传递、聊天界面、屏蔽等问题,对开发过程中的难点进行了分析和研究,并通过系统结构图,功能模块图等方式结合源程序形象地描述。所实现的聊天室具有良好的人机交互界面。

关键词:网络;聊天室;ASP;系统设计

Chatting room Based on B/S Of Design

Abstract

Go up the selection that the net becomes more and more people in being living at present the community that WEB is popular. In the wake of each other speedily developing of networking , the relevant electric network technique also emerges in an endless stream . Item new technique which developed in nowadays ASP in active Web Site being living ( Active Server Page ) even though the past few years . The ASP meritorious service capacity is powerful and the capability is excelling in , and what limit is not nearly there is when utilizing the ASP meritorious service capacity . ASP is the server sure enough scenario environment , and may open up the developments and mutually and Web's Web Site high efficiency . Employ the Web Site that ASP establish have the dynamic paging .

The main introduction of the original ASP technique the person who is mutually related rudimentary knowledge , by means of the analysis to scripting language , integral target , ASP together with the data bank joint of ASP and so on technique , probing into to establish to chat room design of system, means and design process , the meritorious service detailed to analyze every module be able to reach the realization means. The problem such as utilizing ASP technological development to chat room , and resolving refurbishing and frame web page together with variable transmission and chatting interface and shielding and so on as chatting , and uniting the source program to expound, the chatting room that the original was achieved has the well user interaction interface , and the link is debugged to the course , yet demonstrates the application Web Site .

Keyword:Web ; Chatting Room ; ASP ; Design of system

第一章绪论

1.1 本系统研究意义及国内外发展概况

互联网技术的广泛应用,对整个世界政治、经济、文化等各方面产生了十分广泛和深远的影响。它奇迹般地崛起、爆炸般地扩容,令全世界瞩目。如今,大大小小的网络已遍布全球,并通过Internet实现了互联。据估计,Internet的规模大约每年要翻一番,网络的应用领域也从做出的科技和教育领域,很快进入到文化、产业、政治、经济、新闻、体育、娱乐、商业以及服务行业。

Internet影响着世界,同时也在影响中国。随着信息流量的日益加大,计算机网络技术得到飞速发展,各类网站不断涌现出来。而最受青睐的应属具有动态效果的网站,其页面的内容使用的不仅仅是标准的HTML代码。而是加入了各种“交互性”。有人给动态网站、动态页面的概念制定了以下几条规则:

1.“交互性”:即网页会根据用户的要求和选择而动态改变和响应,将

浏览器作为客户端界面,这将是今后WEB发展的大事所趋。

2.“自动更新”:即无须手动地更新HTML文档,便会自动生成新的页面,

可以大大节省工作量。

3.“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产

生不同的页面。

而将网站“动态”化的方法很多,这要看来源于何种需求。如果是个人网站的维护者,使用的是免费主页空间,那么绝大多数情况下你只能使用Java、Java Script和最新的DHTML技术,如果是主页空间提供者能给予你CGI权限或ASP支持,那么你将能非常幸运地发挥真正的动态技术。

目前,常用的“动态”网站设计方法有:

1.CGI(Common Gateway Interface)通用网关接口的传统方式。

2.IDC(Internet Database Connector)互联网数据库连接头。

本设计所制作的网络聊天室采用了ASP技术。

随着网络的发展,网络聊天室已经成为人们进行交流的一个不可或缺的空间,人们可以在聊天室里谈论喜欢的话题。在网络聊天室系统中,注册用户可以发表对话题的讨论意见。

系统存在两种身份的用户,管理员和用户。管理员可以对注册用户的信息查询修改删除和浏览,对聊天内容的管理;用户可以注册自己的基本信息并允许修改,登录聊天室后,选择对象发表意见。

1.2 本系统的设计目的、目标、应用执行机制、要求

本系统目的:

伴随着网络的出现,网页逐渐融入人们的生活。快速及时的信息浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关,于是世界上又出现了第三媒体——Internet。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。制作网页是企业和个人的宣传自己的重要手段,同时也是学习者获取学习信息的重要手段。尤其是在交流领域,人们对信息的需求有了更新,更高的要求,而网页由于本身所具有的信息量大,传递快速,没有时空限制等特点恰好满足这种要求。所以网页也逐渐成为一种新兴的交流资源。也正是由于网络实现网站的数据信息能够进行实时交互,保证网站数据的实时性。

本系统的设计目标:

完成一个基于浏览器/服务器方式的多功能的网络聊天应用系统,客户通过浏览器可以发送信息,然后其他所有用户接收到该信息并将其显示在界面中,服务器对信息进行有关处理并向适当的用户发送,同时在服务器端还将显示所有的在线用户。每个用户能通过Intemet和其他用户用文本和声音进行聊天。

本系统的应用执行机制:

假定所有的已注册用户列表已经放入服务器上的一个登录文件中,服务器端应用程序首先启动,等待用户的登录。当有用户启动客户端应用程序,并通过Intemet连接到服务器时,服务器将判断是否是已注册用户,如果是注册用户,则将该用户状态设为在线,并将此信息发布给所有的在线用户,使用客户端应用正确显示当前在线用户列表;如果不是注册用户,则拒绝服务。此时用户即可通过客户端应用程序同所有在线的其他用户用文本或声音进行聊天。

本系统的要求:

要求采用B/S模式,使用ASP语言开发。用户通过浏览器访问聊天室的主页,通过用户名,密码的身份验证,登录聊天室。在代码的编写上要考虑

代码重用的思想等;在设计上,要考虑到易用性,操作简单,交互性好;在性能上,要求稳定,而且对各项操作的反应时间应该在用户能够承受的范围内。

第二章开发环境与技术的介绍

2.1 开发环境

2.1.1 硬件环境

本系统采用的是B/S的架构系统,本文选用的操作系统是Windows XP,具体性能如表2.1所示:

2.1硬件性能表

2.1.2 软件环境

本次系统开发选用的操作系统是Windows 2000;服务器为IIS;开发工具为DreamWear,Visual Studio 2003;语言程序主要是ASP语言,数据库为Access。

2.1.3 环境配置

选择Visual Studio 2003作为开发工具,它是一种处于市场领先地位的开发环境,并且缩短了开发周期,拥有易操作界面。Visual Studio的功能非常强大,有着非常好的集成开发环境。

2.2 技术的介绍

2.2.1 ASP简介

大约三年半前,微软的部分网页文件后缀已由Htm变成了ASP。这一变化虽小,但是意味深长。它包含蕴涵着相当深刻的技术变革,标志着微软对它的新技术充满信心,也标志着微软在动态Web技术方面,又向前迈出了一大步,因为它首次采用了ASP(Active Server Pages动态服务器主页)机制。

什么是ASP?在微软站点上对于ASP的权威定义是:"Active Server Pages 是一种开放式的非编译应用环境,使你能够组合HTML,S cripts和可重用的ActiveX服务器组件来建立动态的,强大的基于We b的商业应用。Active Server Pages支持基于US上的服务器端脚本并且完全支持VB Script和Jscript。”它是微软公司的新一代开发动态网页的技术,具有开发简单、功能强大等优点,可以非常直观简易地实现复杂的Web应用。

Microsoft的ASP不是一种语言,而是一套微软开发的服务器端脚本环境,ASP解释程序内含于IIS3.0,4.0和PW S4.0中,通过ASP可以结合HTML 网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。在ASP环境中,因为所有的程序,其中也包括所有嵌在普通HTML中的脚本程序,都在服务器端执行,所以不必关心客户端的浏览器是否能运行所编写的代码。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,提高了交互的速度。

所谓脚本是由一系列的脚本命令所组成文件。脚本语言是一种介于HTML 和诸如JA V A,Visual Basic,C++等编程语言之间的一种特殊的语言,但它不具有编程语言复杂、严谨的语法和规则(但是根据微软的建议,最好在程序中设置使用严谨语法的声明)。与一般程序一样,脚本也可以将一个值赋给一个变量,命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。所以,要编写脚本,只要熟悉至少一门脚本语言即可,如VBScript。

通过ASP这种环境,用户可以创建和运行交互式的动态网页,包括使用HTML 表单收集和处理信息,上传与下载等等,就像访问者在使用自己的CGI程序一样。但是它比CGI简单。更重要的是,由于ASP使用的ActiveX技术基于开放设计环境,开发人员用户可以自己定义和制作组件加入其中,使动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。此

外,使用ASP还有一个优点,就在于ASP可利用ADO方便地访问数据库,从而可以利用ASP开发基于WWW的应用系统。

2.2.2 ASP特点

服务器端的编程一般来说比较难。例如采用CGI来编程时得学习一些相对比较难的编程语言如C/C++语言或者Perl语言,而在使用的时候,它们的效率也不高。每次某个访问者激活一个CGI脚本的时候,在服务器一端都要启动一个新的进程,如果CGI使用的是象Perl一样的解释性语言,服务器将另起一个解释器,这些都要消耗处理时间和存储器。为此,人们在最近几年陆续开发了一系列新技术来改变这种状况。ASP是最有代表性的一种。

下面是ASP所独具的一些特点:

1.使用VBScript,JScript等简单易懂的脚本语言,结合HTML代码,

即可快速地完成网站的应用程序。

2.无须编译,容易编写,可在服务器端直接执行。

3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。

也可以选用具有可视化编辑能力的FrontPage开发环境。

4.与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览

ASP所设计的网页内容。ASP所使用的脚本语言(VBScript,Jscript)

均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本

语言。

5.AS P与任何ActiveX scripting语言兼容。除了可使用VBScript或

JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的

其他脚本语言,譬如REXX,Perl等。

6.ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序

被他人窃取,也提高了程序的安全性。

7.可使用服务器端的脚本来产生客户端的脚本。

8.ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。

可以使用Visual Basic,Java,VisualC++,COBOL等编程语言来编

写你所需要的ActiveX Server Component。

从应用上看,ASP有如下的功能:

●处理由浏览器传送到站点服务器的表单输入。

●访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除

站点服务器的数据库中的数据。

●读写站点服务器的文件,实现访问计数器。

●提供广告轮播器、取得浏览器信息URL表管理等内置功能。

●由Cookies读写用户端的硬盘文件,以记录用户的数据。

●可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。

2.2.3 ASP与传统数据相比较

单从表现上看,ASP与用户浏览器紧密结合,与HTML语言融为一体,在做一个WEB网页时,可以用普通的文件编辑器,将经ASP认可的脚本语言嵌入其中。这样就使得HTML创作与程序开发无缝连接,环境统一。如果采用FrontPage 2000和Visual IntraDev1.0就可以同时得到一个所见即所得HTML 环境和带语法分析器的程序开发环境。编程环境比较理想。

从功能上看,如果不考虑非Windows平台,那么ASP是迄今为止功能最强的脚本语言,从它的执行方式,执行效率,可扩充性上看,还没有一种WEB 语言能比上它。ASP支持多种脚本语言,其中VBScript是其默认的脚本语言,当然功能也最强大。正如前面所述,ASP完全建立在ActiveX基础之上,而ActiveX不仅仅是一种技术标准,允许软件同存在于网络环境中的另一个软件进行交互,它同时也是微软的一个战略方针,不遗余力地进行人力推广,现在几种流行的程序开发语言Visual C++、Delphi都支持ActiveX控件的开发。因此,ActiveX控件覆盖范围极其广泛,为程序开发提供了有力支持。甚至可以设想,在未来几年内,程序员就可以从多种定制好的ActiveX进行筛选,然后向搭积木一样进行程序开发。这种高度的可扩充性,也是其他传统技术所无法比拟的。

从技术上看,由于CGI是进程机制,在访问量增大时,挤占系统资源。ISAPI 针对这一缺点进行改进,利用DLL技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤同样繁琐。这两种技术和另一种普遍使用的开发动态网页技术Java都还存在着另外一个问题,那就是开发都很困难。程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如JavaScript利IDC(Intemet Database Connector)等功能有限,在讲求开发速度和效率的今天,它们目前还不可能被真正的程序开发人员所使用。

第三章需求分析

需求分析是程序设计中最关键的一个步骤,而可行性分析是本设计在市场上得到应用和推广的必要调研,是其他步骤的基础。本章的其主要任务是“为了解决这个问题,目标系统必须做什么”。主要确定目标系统具有那些功能。在这个步骤里,我在用户那里搜集所有的对将要开发的系统的需求信息,并且把这些信息编写成为用户可以认可的需求说明书。

3.1 可行性研究

可行性分析是本设计在市场上得到应用和推广的必要调研,进行可执行性的分析是非常必要的,也是很重要的,从以下三方面阐述了聊天室在应用推广得到了强有力的保障:

3.1.1 经济可行性

开发本系统为用户和管理员带来了极大的方便,而且所用的人力、物力、技术、资金等的花费不大,所以今后获得的经济效益一定会大于开发成本。

3.1.2 技术可行性

因为该系统是要求是实现动态交互式的页面设计及对数据库的查询、插入、删除等操作,而本系统采用ASP技术设计网页及使用ACCESS数据库来存储数据,所以技术上是可行的。

3.1.3 操作可行性

由于本系统安装了ACCESS,IIS所以只要打开IE浏览器,输入IP地址即可进入本系统,操作方便。

3.2 理解需求

理解需求是在问题及其最终解决方案之间架设桥梁的第一步。开发者只有和用户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何

改进,在设计上都必须大量的返工。下面是是用户对简易聊天室系统的需求规格说明。

(1)便捷性:只要有浏览器和网络,你就可以任何时间任何地点登陆聊天室;

(2)广泛性:聊天室系统具有开放性,许多非互联网络上的用户可以通过网与

互联网络上的用户相互沟通。

(3)即时性:它可以做到即使发送即使接受的效果,相比于电子邮件在时间上

更加优势;

(4)廉价性: 网络的空间几乎是无限的,但价格相对于所获的得信息而收取

的费用却是如此的低廉。相对手机收费而言,聊天室更让人接受。

3.3 需求分析

需求分析是从用户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对客户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。

3.3.1 前台功能及页面逻辑结构

用户登录系统:

1)用户注册;

2)用户资料修改;

3)用户密码修改;

4)用户登录;

5)聊友查看.

房间分类:根据主题

用户通过“用户注册”注册用户账号、呢称、密码等资料,然后通过“用户登录”登录到主题类别固定房间列表,即可进入房间进行聊天;登录后.用户可以修改自己的用户资料,修改密码、昵称.

根据以上功能,页面逻辑结构如下图所示:

3.3.1前台页面逻辑结构图

3.3.2 后台管理系统功能及页面逻辑结构

1)用户资料管理:聊天主题设定.

2)在线用户管理:姓名查找、删除过期账号. 4)聊天内容管理:聊天记录.

6)退出.

根据以上功能,具体页面逻辑结构图所示:

3.3.2 后台页面逻辑结构图

第四章概要设计

4.1 系统总体设计

4.1.1 系统功能模块设计

图4.1.1 系统功能模块

●登陆模块——登陆页(index.asp):主要用于记录登陆者——聊天者的昵

称、登陆时间、IP地址等信息。

●发表模块(chat.asp):主要用于发送谈话内容,选择私聊对象,清空谈

话内容,选择动作,显示帮助文件,退出等多项功能。

●内容显示模块:分为对公共聊天和私聊两部分。对所有人的为(text.asp),

私聊为(scr.asp)。实现了对话内容,动作等的显示。

●在线人员列表(online.asp):显示所有聊天人员名称,可以提供自动和

手工刷新人员列表的功能。

●管理功能模块:主要用于管理聊天室,包括用户资料管理、在线用户管理、

聊天内容管理等功能按钮。

4.2功能模块流程图

4.2.1登陆模块流程图

4.2.1 登陆模块流程图4.2.2聊天主页流程图

4.2.2 聊天主页流程图

4.2.3管理功能模块流程图

4.2.3 管理功能模块流程图

4.3 体系结构图

当用户向服务器聊天室所在页面提出浏览请求时,将得到一个(一组)ASP返回页,也即是已经进入聊天室。

服务器向用户端响应返回ASP页面

浏览器向服务器提出请求

浏览器向服务器提出请求

服务器向用户端响应返回ASP页面

图4.3 体系结构图

4.4 系统建模UML

需求分析完成后,接下来的工作是对系统建模。因为UML很适合于对逻辑模式和物理模式建模,所以我对系统进行UML建模。下面是简易聊天室系统的UML建模过程。这里采用Rational Rose进行UML建模.

4.4.1 系统用例图

用例就是系统和用户的交互,是系统提供的功能模块。用例的划分实际上是对事务功能的划分。通过划分事务的用例有助于用户的理解。通过以上的事务的划分,可以得出系统用例为:

1.用户登录聊天室

2.选择发送对象

3.发送聊天内容

4.接收聊天内容

5.查看在线人员列表

通过以上的用例图划分得出:

图4.4.1 系统用例图

4.5 数据库设计

本系统需要创建4个数据表。这几个数据表中,存放了网络聊天室系统所需要的数据。

用户基本信息表(UserInfo):

相关主题
文本预览
相关文档 最新文档