已阅读5页,还剩80页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学号: 06034050118 茂 名 学 院毕业设计说明书 基于WEB的讨论系统 WEB-based Discussion System学院 电信学院 专业 计算机科学与技术 班级 计算机06-1 学生 指导教师(职称) 完成时间 2010 年 3 月 15 日 至 2010 年 6 月 15 日 专业负责人批准日期茂 名 学 院毕 业 设 计 任 务 书院(系): 计算机与电子信息学院 专业: 计算机科学与技术 班 级: 计算机06-1班 学生: 学号: 一、毕业论文课题 基于WEB的讨论系统 二、毕业论文工作自 2010 年 3 月 15 日起至 2010 年 6 月 15 日止三、毕业论文进行地点 计算机专业实验室 四、毕业论文的内容要求 1. 确定调查对象,深入软件使用者进行调查研究,获取第一手资料,采取各种方法查阅搜集资料,并进行整理和分析。 2. 确定论文题目,撰写开题报告,拟定论文撰写的基本内容、撰写安排、重点与难点。 3. 毕业设计(论文)包含题名(标题)、摘要、目次页(目录)、引言(前言)、正文、结论、结束语(谢辞)、参考文献和附录等几部分。 4. 根据开题报告撰写毕业论文,依照论文指导老师的要求不断修改,逐步完善论文的写作。 5. 毕业论文要求立论正确,观点鲜明,论据充分,论证有力,思路清晰,语句简洁流畅,结构完整,并结合实例,形成个人的见解。指导教师 接受论文任务开始执行日期 2010 年 3 月 15 日学生签名 摘 要随着网络技术的迅猛发展,网上交流已不再陌生,它开辟出了一条新的沟通渠道,并被人们逐渐重视。在当今WEB系统开发中,PHP是一种比较流行的语言,是人们经常使用的语言之一。本系统就是通过使用PHP 技术来设计与实现基于WEB的讨论系统,并采用了当今主流技术,即B/S体系结构,它打破了以前传统的C/S开发模式。本文对B/S模式进行了简要的说明,并概要的介绍了一下PHP,包括他的特点和运行方式,以及PHP开发环境的搭建在文中都有详细的说明。从需求分析、概要设计再到系统设计逐层深入的把本系统进行了分析与研究,详细地讲解了系统的功能,最后还对系统进行了详细的测试。关键词:讨论系统;B/S;PHPAbstractWith the rapid development of network technology, online communication is no longer strange, it opens up a new communication channel, and is increasingly emphasized by people. Because PHP is a relatively mature language, so that it is one of the frequent used languages in the development of network system. This system designs and implements an e-learning system teaching forum, through the use of PHP technology and using todays mainstream technology, that is, B/S structure, which breaks the previous traditional C/S development mode. In this paper, B/S model are briefly described and the outline of PHP, including its characteristics, operational modalities are presented. How to build the PHP development environment is detailed decribed in the text description. From the requirements analysis, the overall program, feasibility analysis, outline design, to the overall design of this system has been analyzed layer by layer deepen. The functions of the system page are explained in detail, and finally the system test, explained slightlyKey words: discussion system; B/S; PHP目 录摘 要IAbstractII第一章 引言51.1课题背景51.2技术要求51.3研究工作5第二章 需求分析62.1可行性分析62.1.1经济可行性分析62.1.2技术可行性分析62.1.3操作可行性62.1.4社会可行性62.2综合需求分析62.2.1功能需求72.2.2可靠性需求82.2.3安全性需求82.2.4用户需求82.3业务流程图92.3.1登录业务流程92.3.2查看在线用户业务流程92.3.3查看讨论业务流程112.3.4发表讨论业务流程11第三章 开发环境和开发工具介绍123.1 PHP概述123.2 PHP的特点133.3 Apache服务器143.4 MySQL 5.1.30153.5 Zend Studio153.6 软件开发环境163.7本章小结17第四章 概要设计184.1系统目标184.2 基于WEB应用程序结构184.2.1表示层184.2.2业务逻辑层194.2.3数据层194.3模块设计194.3.1用户模块204.3.2聊天模块204.4系统功能结构214.5数据库设计224.5.1数据库分析224.5.2数据库概念设计22第五章 详细设计265.1 Web站点的建立与管理265.1.1 Web服务的配置选项265.1.2创建Web站点265.2数据库连接文件265.3系统设计275.3.1 首页模块设计275.3.2 注册页模块设计285.3.3 对话模块305.3.4 历史记录模块335.3.5 修改密码模块385.3.6 退出登录模块39第六章 系统测试406.1系统测试说明406.1.1系统测试简介406.1.2系统测试环境416.2系统测试过程416.2.1系统测试内容416.2.2系统测试过程426.3测试结论46结论47致谢48参考文献49附录A 用户使用说明书5051第六章 系统测试第一章 引言1.1课题背景随着科学技术的不断发展,在不同地域的成员之间进行讨论变得非常普遍。计算机技术迅速向着网络化、集成化方向发展。而支持网络应用的新一代网络版应用软件正在涌现,目前有一种趋势是浏览器服务器的B/S结构应用系统,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少。基于WEB的讨论系统,正是为了解决和远处的成员共同讨论而开发的软件,提高大家学习的效率,适应现代社会的需要。1.2技术要求(1)功能模块划分合理,模块之间依赖性低,扩展性要强;(2)数据库设计要满足功能要求,效率要高;(3)数据库冗余度小,尽量满足三范式要求;(4)实现PHP对MySQL数据库的访问;(5)采用Ajax技术,能够在不刷新页面的情况下读取对话信息;(6)程序能够兼容IE、FireFox等主流的浏览器,做到与浏览器的无关性;(7)服务器系统必须运行稳定,网络保持畅通;1.3研究工作为了顺利完成基于WEB的讨论系统的设计与实现,在毕业设计期间通过收集资料研究了以下部分:1研究参考文献中关于讨论系统的内容;2学习PHP相关技术;3利用PHP技术和Zend Studio软件设计讨论系统各模块页面; 4熟悉Apache和PHP的运行机制和配置方法; 5研究数据库与PHP的连接模块;6Ajax的工作机制;7讨论系统的总体设计与实现;8对基于WEB的讨论系统进行安全性分析。第二章 需求分析2.1可行性分析可行性分析法是对工程项目进行系统技术经济论证,经济合理性综合分析的方法。其目的是通过对技术先进程度,经济合理性和条件可能性的分析论证,选择以最小的人力、物力、财力耗费,取得最佳技术、经济、社会效益的切实方案。它是解决项目投资前期分析的主要手段。本讨论系统的可行性主要从经济可行性、技术可行性、操作可信性和社会可行性分析来考虑。2.1.1经济可行性分析在经济上,该项目是可行的。本系统的制作只需安装了PHP、Mysql、Apache,并且可运行在Linux系统上,而这些软件都是免费的,从外界所需的条件来讲成本比较低,开发时无需网络支持,发布时只需要在网上有空间,系统管理员定期对网站进行维护,网站就可以正常运行。2.1.2技术可行性分析在技术上,该项目是可行的。本网站系统是采用PHP开发,以异步请求为核心,Mysql为数据库开发,这些软件可方面在Linux上安装和调试,用Zend Studio和Photoshop等网页处理工具,保证网站正常使用的前提下,页面清新淡雅,内容丰富多彩。2.1.3操作可行性在操作上,该项目是可行的。未注册用户可在系统上登陆、浏览公共讨论内容;已注册普通用户除了有未注册用户的功能权限外,还可发表讲话、查看历史记录和删除历史记录等功能,在系统里面的操作简单方便。2.1.4社会可行性当今社会是一个信息技术的时代,计算机的发展越来越快,同时接触和使用计算机的用户也显著增加,在这样一个时代,计算机信息的需求量是非常大的,因此,该讨论系统能够很好的满足社会的需求。2.2综合需求分析软件需求分析是软件设计的基础。它采用一系列行之有效的技术、方法和工具来分析用户需求,通过特定的形式系统地描述拟开发软件的功能、性能,以及行为特征和相关约束,定义所有内外部特征,最后形成既能指导软件设计、又能同用户沟通的软件需求规格说明。它覆盖了软件设计之前的各项活动。需求分析还是一个项目提出方和承担方相互沟通的过程,一方是系统的使用者,一方是系统的制造者,在系统涉及过程中,只有双方相互配合,共同对系统进行设计才能最后达到使用的要求。用户是业务上的熟悉者,对业务流程有非常清晰的了解,但是,对于软件需求方面的描述是不了解的,他们所能提供的只是他们最终要达到的功能,但是,这其中包含的业务流程是非常复杂的。我们拿到用户需求后,应该根据功能、流程进行初步的设计,构造出业务流程图,再让用户进行评审,提出业务流程上不对的地方进行修改。这样来回的交流,最终才能取得较全面的需求,并减少后期的修改。2.2.1功能需求通过对本系统的使用场景模拟和用户调研,本讨论系统需要实现以下功能:(1) 免安装客户端用户在不用额外安装客户端的情况下能够使用本系统,简化用户使用本系统的操作,方便用户第一次使用本系统,能吸引更多的新用户使用。(2) 游客身份登陆用户第一次接触本系统时,有很多会抱着试一试的心态进来的,如果在一开始就让用户注册等操作,部分用户会觉得太麻烦而放弃使用。如果一开始让用户可以以匿名方式登陆,能够看公共聊天的内容但要注册后才能发表讲话,这样才能吸引用户进行注册。(3) 用户注册注册过程尽量简化,系统对用户操作本着友好的宗旨。用户注册之后,能够使用本网站的所有功能。(4) 用户登录用户可以通过本功能登录系统。若用户未登录时进入本系统,自动提示用户进行登录。第一次注册用户可以实现自动登陆系统。(5) 查看在线用户用户登陆之后,能够在界面查看参与讨论的用户有哪些,并能显示在线人数。(6) 选择对话用户进入系统后,默认是公共聊天模式,发表讲话所有用户能接收到;用户在在线列表里面单击某个用户,可以切换为私聊模式,在对话框提示只和该用户对话,发送的对话只有该用户才能接收到,对其他用户透明。此外,在线列表还有一个所有人的选项,用户单击该选项可以恢复公共聊天模式。(7) 发表讲话发表讲话时,用户可以选择字体的大小和颜色,方便区分和其他用户的消息;此外,字数限定在一定范围内,防止用户发送字数过多的评论,影响其他用户使用;发送频率也要控制,对间隔太短的消息进行屏蔽,防止用户恶意刷屏,保证系统的稳定运行。(8) 查看历史记录用户登录之后,在聊天界面显示查看历史记录的链接,点击之后能查看以前讲话的记录。(9) 删除历史记录用户登录之后,能删除自己不想保存的聊天记录,并且删除记录后,在对方聊天记录同步删除,保持用户之间数据一致。(10) 用户管理在聊天界面显示修改密码和退出登录链接。修改密码可以对自己的密码进行修改,但必须输入原来的密码,新密码要输入两次进行确认;退出登录可以安全退出系统,防止用户离开后被其他用户使用并窃取聊天内容。2.2.2可靠性需求硬件可靠性:包括服务器硬盘、CPU、网络环境的运行可靠性等,保证这些硬件介质正常可靠运行。软件可靠性:要求软件在承载一定用户在线等复杂的条件下也能稳定运行,不会产生异常情况。2.2.3安全性需求1.运行系统的安全:保证信息处理和传输系统的安全,简称“系统安全”。系统安全主要包括计算机系统机房环境的保护,计算机网络拓扑结构设计的安全性考虑,硬件系统的可靠安全运行,计算机操作系统和应用软件的安全,数据库系统的安全等,本质上是保护系统的合法操作和正常运行。2.信息传播的安全:信息传播结果的安全,它侧重于防止和控制非法的、有害的信息进行传播,避免对互联网上大量自由传输的信息失控,本质上主要是维护社会的道德、法则和国家利益。3.信息内容的安全:网络上信息内容的安全,即狭义的“信息安全”,包括用户身份认证(一般采用口令鉴别)、用户存取信息的权限控制、数据库记录访问权限、安全审计(一般系统都有日志记载)、计算机病毒防治、数据加密等内容。4.网络安全:运行系统的安全、信息传播的安全和信息内容的安全的集合体。2.2.4用户需求(1)实现讨论系统基本功能,能接收各个用户的言论,按照各自的聊天对象发送到相应的用户机浏览器上,在用户浏览器上既能输入自己的发言内容又能看到他人与自己的对话内容,能与所喜欢的用户进行私聊,开设自己单独的聊天包房;(2)拥有讯息区,显示聊友对话内容的区域,方便聊友观看和个人有关的对话;(3)拥有在线名单区,显示在线聊友,聊友昵称等简单信息;(4)拥有发言区,让聊友能够让按照个性化的风格来发表自己的观点,并提供让聊友选择聊天对象,私聊等功能。2.3业务流程图业务流程图(Transaction Flow Diagram,简称TFD),就是用一些规定的符号及连接来表示某个具体的业务处理过程。在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏。由于篇幅有限,并非所有的业务流程都会一一介绍,下面将会列出核心部分的业务流程图和相关介绍。2.3.1登录业务流程登录时,系统分为普通登录和游客登录两部分。其业务流程如图2.1所示:用户以游客方式登录是否已注册用户YYNN普通登录注册游客登录图2.1 登录业务流程图2.3.2查看在线用户业务流程登录后,普通用户和游客都能查看在线用户。用户会发送请求,先从数据库读取用户数据,然后由程序程序生成在线用户列表,如果在线列表有更新,则会更新到用户屏幕上,以上过程会反复执行,直到用户退出登录,流程才会停止。其业务流程如图2.2所示:开始读取用户数据有更新生成在线列表更新在线列表退出NNYY结束图2.2 查看在线用户业务流程图开始读取对话有更新更新到屏幕退出NNYY结束图2.3 查看讨论业务流程图2.3.3查看讨论业务流程登录后,普通用户和游客都能查看其他用户的讨论内容。首先由用户发送请求,从数据库读取讨论数据,如果讨论内容有更新,则会更新到用户屏幕上,以上过程会反复执行,直到用户退出登录,流程才会停止。其业务流程如图2.3所示:2.3.4发表讨论业务流程登录后,只有普通用户能表讨论,游客不能发表。用户编写好内容后,发送请求到服务器,由服务器脚本把用户编写的讨论内容插入到数据库。其业务流程如图2.4所示:开始编写内容发送至服务器Y结束插入数据库图2.4 查看讨论业务流程图第三章 开发环境和开发工具介绍基于WEB的讨论系统,基于目前非常流行的WEB2.0技术。本系统设计为B/S结构的应用系统。服务器端的WEB服务器采用Apache,客户端用PHP作为前端开发工具,后台采用MySQL 5.1.30的数据库。系统运行环境为Windows XP 或 Linux。服务器端采用目前流行的服务器端脚本语言PHP,其优势在于其是基于WEB的开发工具,方便的程序跟踪和调试环境,有众多的扩展类库,安全性高,运行稳定,语法简单易学易用等,还有一大特点就是免费,是进行快速、高效开发的理想选择。3.1 PHP概述PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。 PHP 原本的简称为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.5。经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写 PHP 的核心,这个在1999年释出的剖析器称为 Zend Engine7,他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine5。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。今天,已经有包括百度和雅虎等在内的数千万大型网站,以及众多的开发人员和编程爱好者正在使用PHP。从最初的PHP/FI到现在的PHP5,PHP的发展是及其迅猛的,其未来的发展前景也必定令人瞩目。3.2 PHP的特点PHP有着简单易用和功能强大的特点,这完全要归功于其开放的模块化设计。在基于Zend引擎的支持和优化下,各种各样的扩展模块,其功能已经覆盖几乎所有的Web应用。1、开放性源代码PHP4的原始码完全公开,在Open Source意识抬头的今天,它更是这方面的中流砥柱。新函数库的不断加入,强大的更新活力,使得PHP无论在UNIX还是Win32的平台上都可以有更多新的功能。它提供丰富的函数式,使其在程序设计方面有着更好的支援,比传统CGI或者ASP等程序更好,而且还有更强的新功能、更丰富的函数库。2、基于服务器端由于PHP是在Web服务器端运行的,所以即使PHP程序很大、很复杂,也不会降低客户端的运行速度。这意味着它同ASP一样,不会占用太多的客户端资源,同时相对于ActiveX、VBScript或JavaScript等运行在客户端的语言工具,也具有较好的安全性。而且这些语言可以很好地结合起来,用PHP可以方便地激活ActiveX控件,也可以动态地生成Script语句。3、跨平台PHP程序可以在UNIX、Linux、Windows和Macintosh等操作系统下运行。同时PHP可以在Apache、IIS或ISAPI服务器上运行,并且不经改变就可在服务器平台间移植。这一点很重要,也是它流行的一个重要原因。NASPI一定要在Netscape的服务器(如NETSCAPE ENTERPRISE SERVER或FAST TRACK SERVER)上才可以运行,而ASP及ISAPI只在IIS上才有良好的性能。4、简单的语言PHP和Java、Perl以及C+不同,它以基本语言为基础,但其功能却强大到足以支持任何类型的Web站点。Java、Perl以及C+虽然也可以驱动Web应用程序,但它们和Web的通信不如PHP和ASP方便,语言也不够简练。PHP吸取了C语言的精华,对于有Perl和C语言编程经验的人来说,学习PHP是一件很容易的事情。因为PHP语言可以嵌入到HTML内部,这使得它的编程很灵活。5、高效率和其他的解释性语言相比,PHP系统消耗的系统资源较少。当用户使用的是Apache服务器,并把PHP作为Apache Web服务器的一部分时,运行代码不需要调用外部二进制程序,服务器解释脚本也不需要承担任何额外负担,这使得PHP速度很快。用户可以组建一个可以读取XML信息的PHP版本。6、图象处理PHP并非只限于创建HTML文件,还可以使用PHP动态地创建图像,甚至可以使用更方便的GIF数据流。大多数图象函数都是在GD库中完成它们的功能的,GD库实际上是处理GIF图像的免费软件,它可以通过PHP2.INI获得DL函数来加载。但getimagesize函数是唯一的例外,因为它总是有效的,因此需要使用GD库中的图象函数来编译PHP。需要说明的是,所有生成GIF图像的函数均要求GD扩展。这些函数用来处理在Web中最为流行的GIF格式的图形图像。在利用这些函数生成图像时,不能简单地决定在输出HTML脚本中间输出一个图像,而必须由一个IMG标记引出一个单独的脚本来发送一个内容类型的头。3.3 Apache服务器Apache服务器是运行PHP程序最好的服务器系统,通常情况下Apache都是运行于Linux操作系统上的,但Apache也可以用于Windows版。本系统就是在WindowsXP下来搭建服务器环境,采用最新的Apache 2.2.11版本服务器。Apache的特性简述如下:1) 几乎可以运行在所有的计算机平台上。2) 支持最新的HTTP/1.1协议。3) 简单而且强有力的基于文件的配置(HTTPD.CONF) 。4) 支持通用网关接口(CGI) 。5) 支持虚拟主机。6) 支持HTTP认证。7) 集成PERL。8) 集成的代理服务器。9) 可以通过WEB浏览器监视服务器的状态,可以自定义日志。10) 支持服务器端包含命令(SSI) 。11) 支持安全SOCKET层(SSL) 。12) 具有用户会话过程的跟踪能力。13) 支持FASTCGI。14) 支持JAVASERVLETS。 3.4 MySQL 5.1.30MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构大应用,它由一个服务器守护程序mysqld和很多不同的客户程序及库组成。它是目前市场上运行最快的SQL(Structured Query Language,结构化查询语言)数据库之一。它提供了其他数据库少有的编程工具,而且MySQL对于商业和个人用户是免费的。在本系统中,使用相对MySQL 5.1.30版本。MySQL5的功能特点如下:1) 可以同时处理几乎不限数量的用户;2) 处理多达50 000 000条以上的记录;3) 命令执行速度快;4) 具有简单有效的用户特权系统。3.5 Zend Studio一个屡获大奖的专业 PHP 集成开发环境,具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能。如图3.1所示图3.13.6 软件开发环境在开发基于WEB的讨论系统时,该项目使用的软件开发环境如下:1. 服务器端操作系统:Windows XP 服务器:Apache 2.2.11PHP软件:PHP 5数据库:MySQL 5.1.30MySQL 图形化管理软件:phpMyadmin开发工具:Zend Studio浏览器:IE 6.0及以上版本分辨率:最佳效果像素2. 客户端:操作系统:Windows XP 浏览器:IE 6.0及以上版本分辨率:最佳效果像素3.7本章小结本章主要讲述了基于WEB的系统的开发所用到的相关技术的简要介绍。本系统主要是使用PHP技术来进行开发,使用Zend Studio作为系统界面的开发软件,使用Apache作为系统的服务器,使用MySQL 5.1.30作为存储系统数据的数据库。第四章 概要设计4.1系统目标21世纪是网络的时代,Internet的普及已经影响了传统的交流方式。讨论系统是计算机网络发展的产物,是最为常见、最受广大互联网使用者所认可的基于Web的网络应用系统。随着互联网的发展,人们通过网络可以更方便快捷地进行信息交流和学习,讨论系统可以为大家提供一个更好的交流平台,在这个平台上,人们可以通过文字与符号进行实时的交谈、聊天,它是一个向整个因特网开放的地方,是提供给网民一个学习与娱乐的场所,在讨论系统里大家可选择自已的聊天对象,与其进行对话交流,是成员之间相互沟通、交流情感的最佳方式之一。从传播方式上讲, 讨论系统传播是非线性传播。非线形传播指讨论系统传播的信息是为无数的共享空间的网络用户所发出的, 任何拥有网络传播权利的人都可以得到, 网络打破了传统媒体单向传送信息的格局, 信息传播者与接收者之间的互动变得切实可行。从传播流量上看, 讨论系统传播具有传统媒体前所未有的兼容性。从传播的信息内涵上讲, 讨论系统的消息结构是无中心的。讨论系统所给受众带来的信息与感受作为一种现代生活资源, 在实现了从传统大众传播的单向传播向多向传播的转变后, 极大地拓展了现代生活空间, 使传播者与受众之间的直接连通成为可能。这一转变使整个传播结构与传播效果发生了巨大变化, 是传统媒体无法比拟的。课题的最终目标是开发一个小型、快速的在线讨论系统。为广大用户提供一个简明友好快速便捷的交流平台。用户可以快速地进行新用户的注册,无须安装,直接通过浏览器进行在线交流,本讨论系统运行环境要求较低。用户在系统里可以畅所欲言、所发表的信息即时显示在浏览器上。4.2 基于WEB应用程序结构基于WEB结构,即B/S结构模型把传统C/S结构模型的服务器端进一步深化,分解为一个应用服务器(Web服务器)和一个或多个数据库服务器,用浏览器(Browser)作为客户端,从而形成三层或多层模型。B/S 结构分为表示层、业务逻辑层和数据层。4.2.1表示层表示层主要负责人机交互,其功能是为用户提供一个浏览文档的可视化窗口,用户通过浏览器,向Web服务器发送请求,处理应用系统界面的输出,是实现用户与应用逻辑处理结果的交互界面。4.2.2业务逻辑层业务逻辑层是教学论坛核心逻辑的应用主体。它主要是处理表示层传递过来的用户响应,并将结果返回给表示层。业务逻辑层中包含了各种业务逻辑模块以及对这些模块管理、调度整个系统的各个模块的业务逻辑功能都在这一层实现 。这一层主要由各种业务组件和不同层次的JavaBeans组成, 并对应用逻辑进行集中管理。4.2.3数据层数据层主要提供数据管理, 对数据库进行读写,能够执行大量的数据更新和检索, 完成数据存储,如图1所示。图4.1 数据层图示例如:用户通过浏览器访问Web服务器中的教学论坛主页面进行登录,系统验证用户身份后,根据用户操作权限进行操作页面,用户利用操作页面输入各种操作命令(如查询、浏览等),命令和数据经Web服务器访问数据库服务器上相关数据后,由数据库服务器将处理结果返回给Web服务器,Web服务器再将处理结果生成HTML页面返回到客户端浏览器。4.3模块设计欢迎界面用户模块聊天模块图4.2 网站模块分析网站总体分为三大模块,分别是:欢迎界面、用户模块、聊天模块。其中欢迎模块就是开始的欢迎页面,是全网站的首页,也是带领用户进入本网站的向导,其中包含进入登录界面和进入注册界面两个功能。4.3.1用户模块用户模块用户注册用户登录修改密码退出登录图4.3 用户模块分析用户模块主要包括用户注册、用户登录、修改密码和退出登录几个单元。用户的登录可以使用已经注册的注册用户身份登录,也可以使用游客身份进行登录。使用游客身份登录的话是不需要注册的,但同时也不能发言,只能查看其他用户发言,可以弥补这个的就是使用注册用户身份了,那样便可以有一个固定的称呼,可以更好的与聊友们交流,不过这样的话就需要用户进行注册了。用户的注册单元是常规的注册,主要包含用户名、密码。注册的成功与否会有相应的提示。已注册用户的登录实现主要通过将用户的提交用户名与数据库中的对比,查找是否有该用户名,使用动态select选取SQL语句。如果数据库内没有该用户名,则该用户显然尚未注册,反馈相应信息;如果有该用户名则继续对应用户提交的密码与数据库内该用户名项的密码相对比,一样则允许用户登录,并将页面转到聊天界面,否则提示相应错误信息。修改密码和退出登录容易理解。修改密码是指用户更改自己正在使用的密码,修改的时候必须输入旧密码以确认用户身份;退出登录指退出当前会话,注销当前SESSION,防止其他用户非法进入。4.3.2聊天模块聊天模块用户列表单元输入单元输出单元历史记录单元图4.4 聊天模块分析聊天页面由四个单元组成,如上图所示,分别为用户列表单元、输入单元、输出单元和历史记录单元。用户列表单元为显示当前在线用户的用户名的地方,位于聊天页面的右边,并将各个在线用户的用户名以超级链接的方式显示出来,供当前使用者点击并自动获得下一个说话对象,页面使用了自动刷新方法,刷新时间为2秒,从而保证了列表中的总能保持着较为新的当前用户名列表。输入单元是用户进行聊天的主要单元,用户的发言、聊天对象、表情用语、是否私聊、是否退出私聊或者是退出讨论系统,都是通过输入区实现的。这里是用户的操作界面。聊天对象的文本框是一个动态文本框,当用户点击左边的用户列表中的用户名的超链接时实现两个人之间的私聊输出单元是用户的发言区,所有的谈话都将在这里得到显示,无论是公告、对所有人的聊天或者是私聊的话语。信息的得到是通过输入区获得,或系统自动生成的。用户的输出语言因用户的发言方式,如私聊或悄悄话等而不同,文字的颜色也是用户自己所选择。输出单元的文字条数在多于输出页面大小的时候会自动产生滚动条并滚动,以保持最新的聊天内容在输出单元显示。历史记录单元让用户登录能查看以前讲话的记录,方便上次对话的主题,以便更好的进行本次对话;并能删除自己不想保存的聊天记录,并且删除记录后,在对方聊天记录同步删除,保持用户之间数据一致4.4系统功能结构基于WEB的讨论系统的功能结构图如图4.5所示。讨论系统用户登录选择对话用户发表讲话查看历史记录删除历史记录修改密码退出登录查看在线用户用户注册图4.5 系统功能结构图表4.1 系统功能描述功能名称功能描述输入内容输出内容用户登陆保证合法用户通过身份验证用户名,密码用户登陆状态用户注册成为本系统的用户用户名,密码用户是否注册成功查看在线用户查看当前在线情况无在线用户列表发表讲话发送对话给对方对话内容对话内容查看历史记录可以查看以前的对话记录无历史对话内容删除历史记录可以删除以前的对话记录要删除的记录删除是否成功修改密码可以修改自己的登陆密码旧密码,新密码修改密码是否成功退出系统安全退出当前会话无返回欢迎页面4.5数据库设计4.5.1数据库分析数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MySQL、 Server、 Oracle、Access等。本系统采用了MySQL数据库,phpMyAdmin为MySQL数据库提供了图形化界面。4.5.2数据库概念设计根据以上各节对系统所做的需求分析、系统设计,规划出点本系统的实体关系E-R图。实体关系E-R图是用来描述实体之间关系的图表,构成E-R图的基本要素是实体型、属性和联系。本系统中使用的数据库实体分别为用户信息实体和对话信息实体。现介绍其实体的E-R图。1. 用户信息实体商品信息实体包括用户名、加密密码、在线验证时间、最后登录时间、最后对话时间等属性。商品信息的实体图如图4.6所示。用户信息加密后的密码在线验证时间用户名最后对话时间最后登录时间图4.6 用户信息实体图2. 对话信息实体商品订单实体包括对话ID,对话时间,对话内容,发送方,接收方等属性。商品订单的实体图如图4.7所示。对话信息对话ID接收方对话时间对话内容发送方图4.7 商品订单实体图4.5.3创建数据库及数据表1. 在phpMyAdmin的主界面中创建数据库,创建一个名称为chat的数据库。具体如下图4.8所示。图4.8 创建数据库2. 结合实际情况及对用户需求的分析,讨论系统数据库主要包含如下数据表。(1) user(用户信息表)用户信息表主要用于存储用户的信息。该数据表结构如表4.2所示。表4.2用户信息表usernamevarchar(32)用户名pswvarchar(32)md5加密后的密码login_timevarchar(19)在线验证时间login_tvarchar(19)最后登录时间last_talkvarchar(19)最后对话时间(2) chat_mess(对话信息表)用户订单表主要用于存储用户的订单信息。该数据表结构如表4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年耕地租赁合同
- 广告设备购销合同2024年
- 合伙企业协议格式
- 房地产代理销售协议书2024年
- 服装制造商合作合同
- 2024年二手房屋买卖合同范例
- 担保合作协议填写指南
- 合伙餐馆协议书样本专业
- 装修预算合同范本2024年
- 2024设备搬迁运输合同
- 人教版数学五年级上册课本习题(题目)
- 钢筋合格证(共6页)
- BIM技术全过程工程管理及应用策划方案
- 弯扭构件制作工艺方案(共22页)
- 水利工程填塘固基、堤身加固施工方法
- 中医针灸的骨边穴怎样定位
- 人教版八年级上册英语单词表默写版(直接打印)
- 电脱水、电脱盐讲解
- 江西省科技创新平台建设(PPT课件)
- 违约损失率(LGD)研究
- 沟槽回填施工方案(完整版)
评论
0/150
提交评论