版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络聊天室的设计与实现摘要从世界上第一台计算机诞生至今只有半个多世纪,然而正由于它的以便、快捷、实用,已被应用到各个领域。伴随网络的出现,信息资源的实时共享成为现实,更重要的是它提供了一种极为直接的交互方式,当然这种交互不单是指数据、信息之间的传递,也包括人与人之间的互相交流,多种聊天软件和在线聊天室正是承载此类交互的媒介。伴随互联网的发展,人们通过网络可以更以便快捷地进行信息交流和学习,聊天系统可认为大家提供一种更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一种向整个因特网开放的地方,是提供应网民一种交友与娱乐的场所,在聊天室里网民可选择自已的聊天对象,与其进行对话交流,是网民之间互相沟通、交流情感的最佳方式之一。同步它已成为各网站提供的一种服务原则,是吸引网民,提高人气的一种重要方式。本设计所设计的网络聊天室是使用的ASP.NET和C#语言进行设计,使用vs和SQL工具制作,聊天重要技术应用到Ajax的无刷新技术实现即时刷新聊天记录,其中简介了本聊天室的各项功能,重要有顾客注册、在线聊天。通过聊天室系统的设计,熟悉网站建设基本操作。关键词:聊天室,网上聊天,网上交友,在线聊天室DESIGNANDIMPLEMENTATIONOFINTERNETCHATROOMSABSTRACTFromtheworld'sfirstcomputerwasbornuptonowonlymorethanhalfacentury,howeverbecauseofitsconvenient,efficient,practical,ithasbeenappliedtovariousfields.WiththeadventoftheInternet,informationresourcessharedinrealtimetobecomeareality,themoreimportantisthatitprovidesaverydirectwayofinteraction,theinteractionisnotonlyreferstothedata,informationtransmissionbetween,alsoincludetheinterpersonalexchange,variouschatsoftwareandonlinechatroomisthekindofinteractivemedia.WiththedevelopmentofInternet,peoplethroughthenetworkcanbemoreconvenientandefficientinformationexchangeandlearning,chatsystemwecanprovideabetterexchangeplatform,inthisplatform,peoplecanthroughthetextandsymbolsforreal-timechat,chat,itisoneoftheInternetopenplace,istoprovidegiveusersadatingandentertainmentvenues,inachatroomuserscanchoosetheirownchatobject,insteadofdialogue,communicationbetweenusersisoneofthebestways,emotionalexchange.Atthesametimeithasbecomethesitetoprovideaservicestandards,istoattractthenet,oneofthemostimportantwaystoraisepopularity.ThedesignofthenetworkchatroomisusedbytheASP.NETandC#languagedesign,usingVSandSQLtools,chatmaintechnologyappliedtotheAjaxwithoutrefreshtechnologytorealizeinstantchatrefreshrecord,whichintroducedthechatroomfunctions,mainlyincludeuserregistration,onlinechat.Familiarwebsite’sconstructionbasicoperationthroughthechatroomsystem’sdesign.KeyWords:chatrooms,onlinechat,onlinedating,chatroom目录第一章绪论 11.1论文研究重要内容 11.2国内外现实状况 1第二章系统开发环境的简介及选择 32.1SQL技术 32.2ASP.NET技术 32.2.1ASP.NET的概念 32.2.2ASP.NET的优势 32.2.3ASP.NET的处理架构 52.3Javascript 52.3.1Javascript的概念 52.3.2Javascript的长处 52.3.3Javascript的局限性 52.4CSS 62.4.1CSS的概念 62.4.2CSS的长处 62.4.3CSS的使用方式 62.5AJAX技术 72.6开发及运行环境 8第三章系统框架的搭建 93.1网页的创立 93.2创立三层 103.3三层的引用及运行流程 12第四章系统详细设计与实现 144.1系统构造 144.2系统用例图 15第五章系统总体设计 165.1数据库总体设计 165.2表关系图 175.3表构造 17第六章详细设计 196.1登录模块设计 196.2注册 206.3登陆 236.4修改密码 246.5聊天室 266.6会员管理 29第七章调试及测试 307.1功能调试 307.1.1链接测试 307.1.2数据库调试 307.2测试措施 317.3功能测试 317.3.1功能测试概述 317.3.2测试措施 327.3.3测试范围 327.3.4前台测试 327.3.5后台测试 35第八章结论 36谢辞 37参照文献 38第一章绪论伴随互联网的发展,人们通过网络可以更以便快捷地进行信息交流和学习网络聊天室已成为网络生活的一种时尚,它是网上交朋友,思想感情交流,宣传网站和业务,宣扬自我,好友之间聚会来聊天的好去处。聊天系统可认为大家提供一种更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一种向整个因特网开放的地方,是提供应顾客一种交友与娱乐的场所,在聊天室里可选择自已的聊天对象,与其进行对话交流,之间互相沟通、交流情感的最佳方式之一。目前各大网站都提供了功能完善的聊天室。1.1论文研究重要内容网络聊天室是将一种试验室的组员信息,聊天的状况和信息保留在数据库里。任何顾客都可以通过这个平台进行交互。它重要实现两部分功能:户功能:顾客的注册,登陆和修改密码等②聊天功能:顾客可以对某个人或所有人说话,对某个人说话的时候只有自己和那个人才能看到聊天信息,其他人不可见。1.2国内外现实状况网络聊天室运用计算机和同步交流软件,应用这两点技术形成的聊天空间,是当今高校广泛应用的一种网络服务,它为广大学生提供了一种以便快捷的沟通方式,在线聊天是上网的重要活动之一。作为操作简便也是出现最早的网上聊天方式,聊天室聊天又是其中最普及的一种。聊天室的重要发展趋势是大型化和专业化,目前比较有效的途径,一是向实用性方向发展,将聊天室互动的技术特性充足发挥,满足远程交流需要。提供大众需要的内容,例如进入在线学习领域、专家在线辅导、聊友之间进行讨论。聊天室是当今广泛应用的一种网络服务,它为广大网民提供了一种以便快捷的沟通方式,在线聊天是上网的重要活动之一。第十六次CNNIC调查成果显示:在网络顾客常常使用的网络服务/功能调查中,网上聊天(聊天室、QQ、ICQ等)占被调查人群的42.6%,处在第四位,作为操作简便也是出现最早的网上聊天方式,聊天室聊天又是其中最普及的一种。而多数人认为聊天室是一种用来消遣而缺乏实际价值的东西,许多大型网站建立了聊天室,但基本上是被定义为聚拢人气而不是带来收益的,目前可以实现获利的聊天室很少,它与否具有商业价值以及其商业价值怎样兑现的问题似乎并没有引起学界的关注。系统开发环境的简介及选择2.1SQL技术SQLServer是一种全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer数据库引擎为关系型数据和构造化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLSERVER的长处(1)真正的客户机/服务器体系构造。(2)图形化顾客界面,使系统管理和数据库管理愈加直观、简朴。(3)丰富的编程接口工具,为顾客进行程序设计提供了更大的选择余地。(4)SQLServer与WindowsNT完全集成,运用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQLServer也可以很好地与MicrosoftBackOffice产品集成。(5)具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows的大型多处理器等多种平台使用。(6)对Web技术的支持,使顾客可以很轻易地将数据库中的数据公布到Web页面上。(7)SQLServer提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。2.2ASP.NET技术2.2.1ASP.NET的概念ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。2.2.2ASP.NET的优势ASP.NET为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:(1)世界级的工具支持:ASP.net构架是可以用Microsoft(R)企业最新的产品VisualS开发环境进行开发,WYSIWYG(WhatYouSeeIsWhatYouGet所见即为所得)的编辑。这些仅是ASP.net强大化软件支持的一小部分。(2)强大性和适应性:由于ASP.net是基于通用语言的编译运行的程序,因此它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎所有的平台上(笔者到目前为止只懂得它只能用在Windows/Server/VISTA/7/XP上)。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同步也是language-independent(语言独立化)的,因此,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用诸多种语言来写,目前已经支持的有C#(C++和Java的结合体),VB,Jscript,C++、F#。未来,这样的多种程序语言协同工作的能力保护您目前的基于COM+开发的程序,可以完整的移植向ASP.NET。ASP.NET一般分为两种开发语言,VB.NET和C#,C#相对比较常用,由于是.NET独有的语言,VB.NET则为此前VB程序设计,适合于此前VB程序员,假如新接触.NET,没有其他开发语言经验,提议直接学习C#即可。(3)简朴性和易学性:ASP.NET使运行某些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简朴。例如ASP.NET页面构架容许你建立你自己的顾客分界面,使其不一样于常见的VB-Like界面。(4)高效可管理性:ASP.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置愈加简朴。由于配置信息都保留在简朴文本中,新的设置有也许都不需要启动当地的管理员工具就可以实现。这种被称为"ZeroLocalAdministration"的哲学观念使Asp.NET的基于应用的开发愈加详细,和快捷。一种ASP.NET的应用程序在一台服务器系统的安装只需要简朴的拷贝某些必须的文献,不需要系统的重新启动,一切就是这样简朴。多处理器环境的可靠性ASP.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。虽然你目前的ASP.NET应用软件是为一种处理器开发的,未来多处理器运行时不需要任何变化都能提高他们的效能,但目前的ASP却做不到这一点。自定义性和可扩展性ASP.NET设计时考虑了让网站开发人员可以在自己的代码中自己定义"plug-in"的模块。这与本来的包括关系不一样,ASP.NET可以加入自己定义的任何组件。网站程序的开发历来没有这样简朴过。安全性基于Windows认证技术和每应用程序配置,你可以保证你的原程序是绝对安全的。ASP.NET的语法在很大程度上与ASP兼容,同步它还提供一种新的编程模型和构造,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在既有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一种已编译的、基于.NET的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端初次运行时进行编译,比ASP即时解释程序速度上要快诸多.并且是可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。此外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以以便地获得这些技术的长处,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发愈加以便,并且还能提供这些工具必须提供的所有长处,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。当创立ASP.NET应用程序时,开发人员可以使用Web窗体或XMLWebservices,或以他们认为合适的任何方式进行组合。每个功能都能得到同一构造的支持,使您可以使用身份验证方案,缓存常常使用的数据,或者对应用程序的配置进行自定义.假如你历来没有开发过网站程序,那么这不适合你,你应当至少掌握某些HTML语言和简朴的Web开发术语(不过我相信假如有爱好的话是可以很快的掌握的)。你不需要先前的ASP开发经验(当然有经验更好),不过你必须理解交互式Web程序开发的概念,包括窗体,脚本,和数据接口的概念,假如你具有了这些条件的话,那么你就可以在A的世界开始展翅高飞了。(5)稳定的可用性:一种服务器端平台必须能全天候运转以满足企业客户、合作伙伴的需要。2.2.3ASP.NET的处理架构ASP.NET运行的架构分为几种阶段:在IIS与Web服务器中的消息流动阶段、在ASP.NET网页中的消息分派、在ASP.NET网页中的消息处理。[11]2.3Javascript2.3.1Javascript的概念JavaScript是一种能让你的网页愈加生动活泼的程式语言,也是目前网页中设计中最轻易学又最以便的语言。你可以运用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观性。2.3.2Javascript的长处JavaScript的出现无疑给Web页面设计带来了非常大的便利:(1)在JavaScript这样的顾客端脚本语言出现之前,老式的数据提交和验证工作均由顾客端浏览器通过网络传播到服务器上进行。假如数据量很大,这对于网络和服务器的资源来说实在是一种无形的挥霍。而使用JavaScript就可以在客户端进行数据验证。(2)JavaScript可以以便地操纵多种页面中的对象,顾客可以使用JavaScript来控制页面中各个元素的外观、状态甚至运行方式,JavaScript可以根据顾客的需要“定制”浏览器,从而使网页愈加友好。(3)JavaScript可以使多种任务仅在顾客端就可以完毕,而不需要网络和服务器的参与,从而支持分布式的运算和处理。2.3.3Javascript的局限性(1)目前在互联网上有诸多浏览器,如Firefox、InternetExplorer、Opera等,但每种浏览器支持JavaScript的程度是不一样样的,不一样的浏览器在浏览一种带有JavaScript脚本的主页时,由于对JavaScript的支持稍有不一样,其效果会有一定的差距,有时甚至会显示不出来。(2)当把JavaScript的一种设计目的设定为“Web安全性”时,就需要牺牲JavaScript的某些功能。因此,纯粹的JavaScript将不能打开、读写和保留顾客计算机上的文献。其有权访问的唯一信息就是该JavaScript所嵌入的那个Web主页中的信息,简言之,JavaScript将只存在于它自己的小小世界—Web主页里。2.4CSS2.4.1CSS的概念级联样式表(CascadingStyleSheet)简称“CSS”,一般又称为“风格样式表(StyleSheet)”,它是用来进行网页风格设计的。例如,假如想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是一种风格。通过设置样式表,可以统一地控制HTML中各标志的显示属性。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创立特殊效果的能力。2.4.2CSS的长处(1)增长站点的寿命不规范的样式表也许在当时觉得很以便,但新版本的浏览器出来后来,很也许就会出现兼容性问题。届时逐页修改站点就是一项非常费时的工作同步也使使用CSS失去了意义。(2)让你的站点对所有的顾客以及浏览器都合用。有些地方的政府已经立法规定网站必须让残障人士也同样可以浏览。为残障认识设计的浏览设备,例如听力浏览器,对CSS规范性规定极其严格。(3)让站点更新和维护愈加轻松。使用方式得当的话,CSS可让你在一种页面中的调整迅速应用到所有页面中去。2.4.3CSS的使用方式你首先要做的选择是使用哪一种样式表。当波及到最佳习惯时,对不一样样式表的分析如下:InlineCSS;简朴地说,你应当尽量防止使用。除了某些其他的缺陷之外,使用InlineCSS意味着你并没有运用到CSS的真正长处,即你并没有将内容与构造分离开。DWMX使用InlineCSS重要是为了定位页面元素(这些元素在DWMX的顾客界面中称为“层(layer)”),或者为了使用某个DHTML特效,它需要使用Inline样式的Javascript来变化一种对象的属性。EmbeddedCSS:它也不是最理想的,由于它只能对目前页面施加影响。在更新的过程中,假如某一种页面丢失,将会使站点的风格不一致;此外,当顾客浏览你的站点时,每一页都要下载一次样式表信息。ExternalCSS:这是你的第一选择。ExternalCSS可以让所有连接到它的页面保持一致的外观风格;提纲挈领,更改一次,轻松更新所有有关页面;让你的页面体积更小,浏览速度更快。2.5AJAX技术AJAX全称为“AsynchronousJavaScriptandXML”(异步JavaScript和XML),是指一种创立交互式网页应用的网页开发技术。Ajax技术是目前在浏览器中通过JavaScript脚本可以使用的所有技术的集合。Ajax并没有发明出某种详细的新技术,它所使用的所有技术都是在很数年前就已经存在了,然而Ajax以一种崭新的方式来使用所有的这些技术,使得古老的B/S方式的Web开发焕发了新的活力,迎来了第二个春天。Ajax技术之中,最关键的技术就是XMLHttpRequest,它最初的名称叫做XMLHTTP,是微软企业为了满足开发者的需要,1999年在IE5.0浏览器中率先推出的。后来这个技术被上述的规范命名为XMLHttpRequest。它正是Ajax技术之因此与众不一样的地方。简而言之,XMLHttpRequest为运行于浏览器中的JavaScript脚本提供了一种在页面之内与服务器通信的手段。页面内的JavaScript可以在不刷新页面的状况下从服务器获取数据,或者向服务器提交数据。而在这个技术出现之前,浏览器与服务器通信的唯一方式就是通过HTML表单的提交,这一般都会带来一次全页面的刷新。与老式的Web开发不一样,Ajax并不是以一种基于静态页面的方式来看待Web应用的。从Ajax的角度看来,Web应用仅由少许的页面构成,其中每个页面其实是一种更小型的Ajax应用。而某些简朴的Ajax应用,例如一种简朴的RSS阅读器,甚至只有一种页面。每个页面上面都包括有某些使用JavaScript开发的Ajax组件。这些组件使用XMLHttpRequest对象以异步的方式与服务器通信,从服务器获取需要的数据后使用DOMAPI来更新页面中的一部分内容。因此Ajax应用与老式的Web应用的区别重要在3个地方:(1)不刷新整个页面,在页面内与服务器通信。(2)使用异步方式与服务器通信,不需要打断顾客的操作,具有愈加迅速的的响应能力。(3)应用仅由少许页面构成。大部分交互在页面之内完毕,不需要切换整个页面。由此可见,Ajax使得Web应用愈加动态,带来了更高的智能,并且提供了体现能力丰富的AjaxUI组件。这样一类新型的Web应用叫做RIA(RichInternetApplication)应用。除了Ajax,还包括有Flash等技术。2.6开发及运行环境系统开发平台:MicrosoftVisualStudio数据库:SQLServer运行平台:WindowsXP/Windows/Windows/Windows7辨别率:最佳效果1024×768像素系统框架的搭建本系统采用的三层架构,重要拥有文献夹WebUI(页面访问层),WebBll(逻辑层),WebDal(数据访问层),辨别层次的目的即为了“高内聚,低耦合”的思想。下面重要说下三层框架的搭建方式及运行流程。3.1网页的创立打开MicrosoftVisualStudio,点击文献-新建-网站,弹出如下图:图3-1新建网站默认选中ASP.NET网站,选择途径和编程语言,由于本系统采用的是C#语言开发,下面有两个选项,即VB和C#,我们在此处选择VisualC#单击确定。此时一种简朴的网站页面层就建成了。此时可以在VS的资源管理器中看到如下图:图3-2新建网站在新建网站的时候,系统会自动生成web.config文献,此文献是整个网站的配置中心,中必须存在的文献。App_Data寄存数据文献的地方。3.2创立三层单击文献-新建-项目弹出如下图:图3-3创立三层上图四个重点都用1,2,3,4标出来了,1为选择类型,这里我们选择类库,2是类库的名称,3,选择项目所在途径,关键在4,第4处有两个选择,即“添加新处理方案”,“创立新处理方案”,由于我们是要把三层融入本网站,因此这里选择添入处理方案。然后点击确定。这里我们的WebMobile层就建成功了,如下图显示:图3-4创立成功然后改下类库的命名空间,在类库上面就是红圈圈的地方右键,属性,如下图:图3-5修改命名空间在本来的命名空间的Web背面加个点,这样引用起来更以便快捷,最重要的用处就是不轻易出错,都是点出来的。至此我们的数据模型层搭建完毕,下面的WebDal层及WebBll层同上操作。最终操作成果如下:图3-6三层创立完毕3.3三层的引用及运行流程首先我们要明白三层运行的流程是什么样的。这里就以管理员登陆为例子:图3-7三层构造从上图我们可以看出来,当管理员点击登陆的时候,这时候就触发了一种访问数据库的祈求,由于页面没有访问数据库的权限,它只能祈求WebBll,WebBll这时候把顾客的祈求信息传达给WebDal,这时候WebDal开始访问数据库,假如查询到有关数据,则对查询出来的数据进行一下封装字段。最终把封装好的数据返回给WebBll层,再由WebBll层传到达WebUI页面,这时候WebUI页面接受到返回来的祈求成果,根据成果判断这个顾客与否存在或密码与否错误,从而判断与否容许其进入系统。懂得了大概的流程,我们就来给这三层及页面层创立关系。首先在WebDal层如下图:图3-8为三层创立关系在WebDal层下面引用右键,添加引用,弹出如下图:图3-9添加引用由于WebDal层需要调用WebMobile层进行数据封装,因此这里我们要引用WebMobile,同理,WebBll层需要引用WebMobile层和WebDal层,页面层需要引用WebBll层及WebMobile层。所有引用完毕之后,整体框架搭建成功。系统详细设计与实现4.1系统构造系统构造如下图4-1所示:图4-1系统构造图4.2系统用例图一般顾客:注册、登录聊天室、修改密码、公共/私密聊天、更改字体前台用例如下图4-2:图4-2前台功能用例图管理员:管理员登陆、修改密码、管理顾客后台用例如下图4-3:图4-3后台功能用例图系统总体设计5.1数据库总体设计数据库技术和计算机网络技术的发展互相渗透,互相增进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且深入应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充足共享等等。此外,数据库技术还为顾客提供了非常简便的使用手段使顾客易于编写有关数据库应用程序。数据库是通过数据库管理系统(DBMS-DATABASEMANAGEMENTSYSTEM)软件来实现数据的存储、管理与使用。数据库技术和计算机网络技术的发展互相渗透,互相增进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且深入应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充足共享等等。此外,数据库技术还为顾客提供了非常简便的使用手段使顾客易于编写有关数据库应用程序。数据库是通过数据库管理系统(DBMS-DATABASEMANAGEMENTSYSTEM)软件来实现数据的存储、管理与使用。数据库是一种共享的、集成的计算机构造,它包括最终顾客数据和元数据。一种好的数据库并不是随意产生的,其内容构造必须通过精心设计。设计优良的数据库会使数据管理变得轻易,并产生有价值的信息;而设计糟糕的数据库则会成为冗余数据的滋生地。冗余数据常常会导致难以跟踪的错误。关系数据库范式理论是在数据库设计过程中将要根据的准则,数据库构造必须要满足这些准则,才能保证数据的精确性和可靠性。这些准则被称为规范化形式,即范式。在数据库设计过程中,对数据库进行检查和修改并使它符合范式的过程叫做规范化。规范化是给实体分派属性的过程。它可以减少数据冗余,有助于深入消除由于冗余引起的数据异常。规范化不可以消除数据冗余;相反,它通过生成有控制的冗余来连接数据库表。规范化通过一系列称为范式的阶段来完毕。数据表规范化的程度越高,数据冗余就越少,同步导致人为错误的也许性就越少;同步,规范化的程度越高,在查询检索时需要做的关联等工作就越多,数据库在操作过程中需要访问的数据表以及之间的关联也就越多。因此,在数据库设计的规范化过程中,要根据数据库需求的实际状况,选择一种折中的规范化程度。5.2表关系图图5-1表关系图5.3表构造表5-3-1管理员表(Admin)英文名中文名类型与否主键ID编号int是Name登陆名Varchar(50)Pass密码Varchar(50)表5-3-2会员表(Client)英文名中文名类型与否主键C_ID编号int是C_Name姓名varcharC_LoginName登陆名varcharC_Pass密码varcharC_Tel电话varcharC_Address地址varcharC_Mail邮箱varcharC_QQQQvarchar表5-3-3聊天登记表(Liao)英文名中文名类型与否主键ID编号Int是Send_ID发送人IntClient外键To_ID接受人IntClient外键Text发送内容TextInTime发送时间datetime详细设计6.1登录模块设计对于系统来说,顾客界面设计将非常重要,由于一种交互良好的界面可以加深浏览者的印象.设计的实现可以分为两个部分。第一部分为站点的规划及草图的绘制,这一部分可以在纸上完毕。第二部分为网页的制作,这一过程是在计算机上完毕的.设计首页的第一步是设计版面布局。我们可以将网页看作老式的报刊杂志来编辑,这里面有文字、图像乃至动画,我们要做的工作就是以最适合的方式将图片和文字排放在页面的不一样位置。除了要有一台配置不错的计算机外,软件也是必需的。不能简朴地说一种软件的好坏,只要是设计者使用起来觉得以便并且能得心应手的,就可以称为好软件。当然,它应当能满足设计者的规定。常用的软件是Macromedia的Dreamweaver以及Adobe的Photoshop。设计是有原则的,无论使用何种手法对画面中的元素进行组合,都一定要遵照五个大的原则:统一、连贯、分割、对比及友好。统一,是指设计作品的整体性,一致性。设计作品的整体效果是至关重要的,在设计中切勿将各构成部分孤立分散,那样会使画面展现出一种枝蔓纷杂的凌乱效果。连贯,是指要注意页面的互相关系。设计中应运用各构成部分在内容上的内在联络和体现形式上的互相呼应,并注意整个页面设计风格的一致性,实现视觉上和心理上的连贯,使整个页面设计的各个部分极为融洽,如同一气呵成。分割,是指将页面提成若干小块,小块之间有视觉上的不一样,这样可以使观者一目了然。在信息量诸多时为使观者可以看清晰,就要注意到将画面进行有效的分割。分割不仅是体现形式的需要。换个角度来讲,分割也可以被视为对于页面内容的一种分类归纳。对比就是通过矛盾和冲突,使设计愈加富有生气。对比手法诸多,例如:多与少、曲与直、强与弱、长与短、粗与细、疏与密、虚与实、主与次、黑与白、动与静、美与丑、聚与散等等。在使用对比的时候应谨慎,对比过强轻易破坏美感,影响统一。友好是指整个页面符合美的法则,浑然一体。假如一件设计作品仅仅是色彩、形状、线条等的随意混合,那么作品将不仅没有“生命感”,并且也主线无法实现视觉设计的传达功能。友好不仅要看构造形式,并且要看作品所形成的视觉效果能否与人的视觉感受形成一种沟通,产生心灵的共鸣。这是设计能否成功的关键。最终简朴设计系统的主界面:图6-1主界面6.2注册图6-2顾客注册注册会员需要填入自己的个人资料,密码,假如登陆名数据库中已存在则严禁注册关键功能代码如下:if(TextBox1.Text.Trim().Length==0){Web.PageUI.alert(Page,"请输入顾客名");return;}if(ClientManager.GetByLoginName(TextBox1.Text)!=null){Web.PageUI.alert(Page,"该顾客名已经存在");return;}if(TextBox2.Text.Length<6){Web.PageUI.alert(Page,"密码长度不能不不小于六位");return;}if(TextBox2.Text!=TextBox3.Text){Web.PageUI.alert(Page,"两次输入的密码不一至");return;}try{Clientc=newWeb.Mod.Client();c.Qq=TextBox5.Text;c.LoginName=TextBox1.Text;c.Pass=TextBox2.Text;c.Name=TextBox4.Text;c.Tel=TextBox6.Text;c.Email=TextBox7.Text;c.Address=TextBox8.Text;stringmgf=ClientManager.Add(c)?"恭喜你注册成功":"注册失败";Web.PageUI.alert(Page,mgf,"login.aspx");return;}catch(Exceptionex){Web.PageUI.alert(Page,ex.Message);return;}输入完整信息输入完整信息点击注册验证码验证密码长度与否不不小于6位两次输入的密码与否一至顾客名与否占用注册成功自动登陆truetruetruetrueFalse插入数据库trueFalse图6-3登陆模块流程逻辑图6.3登陆图6-4登陆界面关键功能代码为:if(RadioButton2.Checked){Admina=AdminMananger.GetAdminByName(TextBox1.Text);if(a==null){Web.PageUI.alert(Page,"顾客名无效");return;}if(a.Pass!=TextBox2.Text){Web.PageUI.alert(Page,"密码错误");return;}Session["admin"]=a;Response.Redirect("admin/client.aspx");}else{Clientc=ClientManager.GetByLoginName(TextBox1.Text);if(c==null){Web.PageUI.alert(Page,"顾客名无效");return;}if(c.Pass!=TextBox2.Text){Web.PageUI.alert(Page,"密码错误");return;}Session["client"]=c;Response.Redirect("Client/LiaoTian.aspx");}输入登陆信息输入登陆信息发送祈求判断登陆角色会员登陆管理登陆登陆名与否填写会员与否存在管理与否存在密码与否对的密码与否对的登陆成功truetruetruetruefalsetruetruefalse图6-5登录模块流程逻辑图6.4修改密码图6-6修改密码修改密码需要对原始密码进行验证,假如原始密码错误则严禁修改,对新密码的位数进行限制,新密码不能低于六位,且两次新密码必须要一致,否则严禁修改,关键功能代码如下:Web.PageUI.alert(Page,"原始密码错误");return;}stringmgf=string.Empty;boolb=ClientManager.EditPass(c.Id,TextBox8.Text);mgf=b?"修改成功,下次请使用新密码登陆":"修改失败";if(b){Session.Clear();c.Pass=TextBox8.Text;Session["client"]=c;}流程图如下:修改密码界面修改密码界面原始密码新密码确认新密码填写判断与否不为空原始密码与否对的新密码长度与否到达6位两次密码输入与否一至执行数据库操作修改成功truetruetruetruetruefalse图6-7修改密码模块流程逻辑图6.5聊天室图6-8聊天主界面聊天室记录均保留在数据库中,可以对所有人进行发送消息,假如是对所有人发送的话,只要是在线的会员都能看到该会员发送的消息,假如是私聊的话,只有自己和接受人才能看到,聊天窗口采用Ajax的无刷新技能实现消息的即时更新,重要实现功能代码如下:聊天窗口前台代码为:<asp:ScriptManagerProxyID="ScriptManagerProxy1"runat="server"></asp:ScriptManagerProxy><styletype="text/css">.left{background:lavender;width:200px;text-align:right;height:30px}#table1td{border:solid1px#DCDCDC;border-collapse:collapse}</style><tablecellpadding="2"cellspacing="2"width="100%"style="background:aliceblue;font-size:12px;border:solid1px#DCDCDC;border-collapse:collapse"id="table1"><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"> </td></tr><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"><divstyle="PADDING-RIGHT:10px;;OVERFLOW-Y:auto;PADDING-LEFT:10px;SCROLLBAR-FACE-COLOR:#ffffff;FONT-SIZE:12px;PADDING-BOTTOM:0px;SCROLLBAR-HIGHLIGHT-COLOR:#ffffff;OVERFLOW:auto;WIDTH:450px;SCROLLBAR-SHADOW-COLOR:#919192;COLOR:#000000;SCROLLBAR-3DLIGHT-COLOR:#868686;LINE-HEIGHT:130%;SCROLLBAR-ARROW-COLOR:#919192;PADDING-TOP:0px;SCROLLBAR-TRACK-COLOR:#e1e1e1;FONT-FAMILY:宋体;SCROLLBAR-DARKSHADOW-COLOR:#ffffff;LETTER-SPACING:1pt;HEIGHT:200px;TEXT-ALIGN:left"><ulstyle="margin:0px;padding:0px;list-style:none"><asp:UpdatePanelID="UpdatePanel1"runat="server"><ContentTemplate><asp:TimerID="Timer1"runat="server"Interval="1000"ontick="Timer1_Tick"></asp:Timer><asp:RepeaterID="Repeater1"runat="server"><ItemTemplate><listyle="text-align:left;line-height:22px"><asp:LinkButtonID="LinkButton1"runat="server"ForeColor="#0066cc"><%#Eval("")%></asp:LinkButton>对<asp:LinkButtonID="LinkButton2"runat="server"ForeColor="#0066cc"><%#Eval("")%></asp:LinkButton>说:<spanstyle="color:#330000"><%#Eval("text")%></span></li></ItemTemplate></asp:Repeater></ContentTemplate></asp:UpdatePanel></ul></div></td></tr><tr><tdclass="left">发送目的</td><tdstyle="width:auto;text-align:left"><asp:DropDownListID="DropDownList1"runat="server"DataTextField="name"DataValueField="id"></asp:DropDownList></td></tr><tr><tdclass="left">内容</td><tdstyle="width:auto;text-align:left"><asp:TextBoxID="TextBox1"runat="server"Width="430px"TextMode="MultiLine"Height="50px"></asp:TextBox></td></tr><tr><tdclass="left"> </td><tdstyle="width:auto;text-align:left"><asp:ButtonID="Button1"runat="server"Text="发送"OnClientClick="returnsub"onclick="Button1_Click"/></td></tr></table><scripttype="text/javascript">functionsub(){varmes=["<%=TextBox1.ClientID%>"];varmgf=["发送内容不能为空"];for(vari=0;i<mes.length;i++){if(document.getElementById(mes[i]).value.length==0){alert(mgf[i]);returnfalse;}}}</script>关键代码为:Clientc;protectedvoidPage_Load(objectsender,EventArgse){if(Session["client"]==null){Web.PageUI.alert(Page,"登陆超时","../login.aspx");return;}c=(Client)Session["client"];if(!IsPostBack){DropDownList1.DataSource=ClientManager.Get(0,100);DropDownList1.DataBind();DropDownList1.Items.Insert(0,newListItem("-所有人-","0"));Bind();}}protectedvoidBind(){Repeater1.DataSource=LiaoManager.Get(c.Id);Repeater1.DataBind();}protectedvoidButton1_Click(objectsender,EventArgse){Liaol=newLiao();l.Send=c;intto=Convert.ToInt32(DropDownList1.SelectedValue);l.Text=TextBox1.Text;LiaoManager.Add(l,to);Bind();}protectedvoidTimer1_Tick(objectsender,EventArgse){//UpdatePanel1.Update();Bind();}6.6会员管理图6-9会员管理假如有会员恶意搞乱聊天环境,管理员可以将其会员信息删除,重要实现功能代码为:inttype;protectedvoidPage_Load(objectsender,EventArgse){type=Convert.ToInt32(Request.QueryString["type"]);if(!Page.IsPostBack)Bind();}///<summary>///绑定///</summary>protectedvoidBind(){AspNetPager1.RecordCount=ClientManager.GetCount();GridView1.DataSource=ClientManager.Get(AspNetPager1.StartRecordIndex-1,AspNetPager1.PageSize);GridView1.DataBind();}protectedvoidAspNetPager1_PageChanged(objectsender,EventArgse){Bind();}protectedvoidDel(objectsender,CommandEventArgse){intid=Convert.ToInt32(e.CommandArgument.ToString());ClientManager.Del(id);Bind();}调试及测试在软件生命周期的每个阶段都不可防止地会产生差错。调试的目的就是在软件投入生产性运行之前,尽量多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键环节,它是对软件规格阐明、设计和编码的最终复审。仅就调试而言,它的目的是发现软件中的错误,不过,发现错误并不是我们的最终目的。它的主线目的是尽量多地发现并排除软件中潜藏的错误,最终把一种高质量的软件系统交给顾客使用。7.1功能调试7.1.1链接测试链接是网络交易系统的一种重要特性,它是在页面之间切换和指导顾客去某些不懂得地址的页面的重要手段。链接测试可分为三个方面。首先,调试所有链接与否按指示的那样确实链接到了该链接的页面;另一方面,调试所链接的页面与否存在;最终,保证管理系统上没有孤立的页面,所谓孤立页面是指没有链接指向该页面,只有懂得对的的页面地址才能访问。本系统通过调试后来发现,确实有部分链接是存在问题的。其中有些页就没有链接到应当链接的页面,重要原因有系统的文献名有更改,而其他页面对应的链接忘掉了更改。尚有就是文献头的包括,每个页面复制了一种页面的头,这样以便了使用,也减少了代码的编写,体现了重用性,不过当文献拷贝到不一样途径下时,对应的链接也更改了,用本来的链接就出现了错误。在设计得好的软件系统中,每个模块完毕一种清晰定义的子功能,并且这个子功能和同级其他模块的功能之间没有互相依赖关系。因此,有也许把每个模块作为一种单独的实体来调试,并且一般比较轻易设计检查模块对的性的调试方案。模块调试的目的是保证每个模块作为一种单元能对的运行,因此模块调试一般又称为单元调试。在这个调试环节中所发现的往往是编码和详细设计的错误。7.1.2数据库调试在网络交易系统技术中,数据库起着重要的作用,数据库为管理系统、运行、查询和实现顾客对数据存储的祈求等提供空间。在网络交易系统中,最常用的数据库类型是关系型数据库,可以使用SQL对信息进行处理由于本系统在编辑时很注意对数据库的设计,因此并无输出错误,不过出现了一次一致性的错误,在编写处理产品信息的时候就只对产品信息的表进行了修改,而为对对应顾客的表进行修改,这样就使数据出现了不一致,但问题被老师及时发现,因此处理的也很早,没有导致大的影响。7.2测试措施测试可以用两种措施进行(1)黑盒测试假如已经懂得产品的功能,可以测试它的每一种功能与否到达了预期的规定,这种措施叫黑盒测试。黑盒测试着眼于软件的外部特性,而不考虑软件的内容逻辑构造。黑盒测试指在软件的接口上进行测试,即看它与否可以满足功能规定,输入能否被对的接受并对的输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年危险化学品废弃物清运及处理合同
- 2024年工程分包商环境合规审计合同
- 04年彩钢瓦安装于城市公共设施建设项目合同
- 2024全新网络安全防护服务合同
- 2024年居间贷款服务协议样本
- 2024企业级即时通讯工具开发与部署合同
- 04版技术研发与成果转化合同
- 2024商标注册全权代理合同书
- 2024就区块链技术在供应链管理中的应用合作协议
- 2024年婚纱摄影店与顾客订单合同
- 2024年浙江省海港集团招聘笔试参考题库含答案解析
- 安徽省工伤职停工留薪分类目录
- 食堂灭四害方案五
- 安全技术之传动装置的防护措施
- 小麦病虫害识别及防治技术课件
- 220324-员工手册民主程序步骤及相应签字文件
- 国有资产应急管理预案
- 华为综合面试常见问题
- 电机与电气控制技术课程说课
- 2014年中级统计师《统计工作实务》真题
- 作业本印制服务投标方案(技术标)
评论
0/150
提交评论