网上论坛的设计与实现.doc_第1页
网上论坛的设计与实现.doc_第2页
网上论坛的设计与实现.doc_第3页
网上论坛的设计与实现.doc_第4页
网上论坛的设计与实现.doc_第5页
免费预览已结束,剩余52页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计 题 目: 网上论坛的设计与实现 学院: 电气信息学院 专业: 自动化 班级: 学号: 学生姓名: 导师姓名: 寻 大 勇 完成日期: 2014年6月 诚 信 声 明本人声明:1、本人所呈交的毕业设计(论文)是在老师指导下进行的研究工作及取得的研究成果;2、据查证,除了文中特别加以标注和致谢的地方外,毕业设计(论文)中不包含其他人已经公开发表过的研究成果,也不包含为获得其他教育机构的学位而使用过的材料;3、我承诺,本人提交的毕业设计(论文)中的所有内容均真实、可信。作者签名: 日期: 年 月 日毕业设计(论文)任务书 题目: 网上论坛的设计与实现 姓名 学院 电气信息学院 专业 自动化 班级 1002 学号 指导老师 寻大勇 职称 讲 师 教研室主任 黄峰 基本任务及要求:1)掌握网络的基本概念和编程技能; 2)研究分析网上论坛系统的基本功能、构成和原理; 3)分析并设计实现一个网上论坛系统,实现用户管理、网上讨论及内容管理。 进度安排及完成时间:第1周 讲解课题、分析、领会课题内涵 ,查阅资料 第2周第4周 查阅资料、撰写文献综述、撰写开题报告 第5周第6周 毕业实习、撰写实习报告 第7周第8周 提交需求分析报告 第9周第10周 设计与提交总体方案 第11周第14周 完成软件的详细设计与实现 第15周 撰写毕业设计说明书 第16周 毕业设计答辩 目录摘要.IAbstract.II第1章 绪论11.1 课题历史背景11.2 国内外研究现状11.3 课题的意义21.4 课题的主要内容和要求3第2章 开发工具简介42.1 相关术语解释42.2 ACCESS 2003简介5第3章 系统分析和总体设计63.1 系统需求分析63.1.1 可行性分析63.1.2 性能分析63.2.1 用户功能73.2.2 统计功能83.2.3 帖子功能83.2.4 版面功能83.3 系统功能描述83.3.1 主要功能83.3.2 论坛扩展功能93.4 系统总体设计103.5 功能模块11第4章 网上论坛系统数据库设计134.2 E-R模型144.3 数据库设计154.3.1 数据库设计的基本原理154.3.2 建立数据表间的关系154.3.3 数据表结构的详细设计16第5章 系统详细设计195.1 用户模块195.1.1 用户登录195.1.2 用户注册205.1.3 与其他用户联系215.3 管理员模块245.3.1 用户管理245.3.2 版面管理255.3.3 帖子管理275.3.4 数据库备份和恢复28结束语29致 谢30参考文献31附录 部分源代码32网上论坛的设计与实现网上论坛的设计与实现摘 要:随着计算机的广泛应用,人们已经对网络不再感到陌生。在科技飞速发展的今天,电脑信息技术与各行各业进行了有效的结合。人们在网上可以进行网上购物,网上交友,电子商务,网络营销等等。面对强大的网络功能,必须在某方面要有一个健全的系统才能使网络发挥的淋漓尽致。在这个平台上,论坛提供了一个全新的人类沟通新方式。论坛使用ASP进行开发,数据库采用Access。系统主要实现了用户在论坛中对帖子的发表和回复,以及管理员对用户信息和后台的管理。描述了论坛系统的设计与实现。首先对系统的需求进行了分析,建立系统工作流程图,设计系统数据库,对数据库结构进行了详细设计,按照划分的系统功能模块实现了整个系统。该系统具有界面友好、易学易操作等特点。关键词:电子论坛系统;ASP;AccessIDesign and Implementation of Online ForumAbstract:With the wide application of the computer, people have already no longer felt strange the network. Today, science and technology is developed at full speed, computer information technology and all trades and professions have carried on effective combination. People can carry on the online shopping, the online dating , e-commerce on the net, network marketing ,etc. In the face of the strong network function , we must have a sound network function system . Forum for development using ASP, database using Access. System is mainly to achieve a user posts in the forum for the publication and reply, and the administrator of the management of user information and background. Describes the systemdesign and implementation forums. First, the system needs analysis, create a system of work flow, design database, the database structure in detail. According to the division of the system function module implements the whole system. The system has friendly interface, easy operation, etc.Key words: BBS; ASP; Access第1章 绪论1.1 课题历史背景1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago(Computerized Bulletin Board System/Chicago),此乃最早的一套BBS系统。之后随着苹果机的问世,开发出基于苹果机的Bulletin Board System和大众信息系统2种BBS系统。1981年IBM个人计算机诞生时,但是并没有自己的BBS系统,直到1983才改写出个人计算机系统的BBS。这个BBS系统的最大特色是其源程序全部公开,有利于日后的修改与维护,因此后来在开发其他的BBS系统时都以此为框架。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。而大约是从1991年开始中国国内开始了第一个BBS站。经过长时间的发展,直到1995年,随着计算机及其外设的大幅度降价,BBS才逐渐被人们认识。随着互联网的发展,论坛已经成为互联网上的一种很常见的互动交流方式。论坛可以为网友提供开放性交流平台,网友们可以在此发表自己对事物的看法和心情,交流某些技术,经验乃至人生的感悟,亦可以作为用户和商家交流的渠道,商家也可以在此回答用户提出的问题或发布某些消息。1.2 国内外研究现状论坛又名网络论坛BBS,全称为Bulletin Board System或Bulletin Board Service是Internet上的一种电子信息服务系统。它是一种交互性强,内容丰富而及时的电子信息服务系统。BBS起源于20世纪初。最初,论坛只是用于发布公共信息和讨论问题的在线交流平台;后来,随着网络的普及,论坛的功能也越来越丰富,不仅仅可以发表文字,更是可以使用多媒体,受到了广大网民的欢迎。因此,商业网站对论坛重视起来,纷纷在自己的网站上创建论坛为与网民交流的园地,同时在线技术支持和在线服务也在论坛中开展起来。BBS发展至今,目前世界上业余的BBS网站除了Fidonet(惠多网)以外,几个较具知名度的还有EggNet, AterNet和RBBS-Net等。国内的BBS网站,按其性质可分为商业BBS网站和业余BBS网站。按照论坛的基本功能,论坛的开发可归结为Web开发技术和数据库应用技术,目前论坛主要的开发技术有ASP、ASP.NET、PHP、JSP等。如今Web2.0的时代已经到来,Web2.0与传统的万维网之间主要区别使用户与用户,产品供应商与企业之间更大的协作,Web1.0时代,论坛社区基本满足网民信息生活的需求,Web2.0时代论坛社区呈现出巨大的商业价值。伴随着Web2.0时代的到来,BBS论坛将朝着即时性和图形化的方向发展。关于即时性,现在动态网站出现一门新技术ajax,如果将它应用在论坛系统,那么不用刷新,我们也能浏览别人刚刚发的帖子,而图形虚拟社区,我们能够通过外形来区分不同的社区朋友,也可以通过外形来猜测他们的性格。1.3 课题的意义目前呈几何增长的互联网网站中,有相当一部分仍固守“静态”,无形中已大大落后于时代的步伐。所谓“静态”指的就是网站的网页内容“固定不变”,当用户浏览器通过互联网的HTTP(Hypertext Transport Protocol)协议向WEB服务器请求提供网页内容时,服务器仅仅是将原已设计好的静态HTML文档传送给用户浏览器。其页面的内容使用的仅仅是标准的HTML代码,最多再加上流行的GIF89A格式的动态图片,比如产生几只小狗小猫跑来跑去的动画效果。若网站维护者要更新网页的内容,就必须手动来更新其所有的HTML文档。“静态”网站的致命弱点就是不易维护,为了不断更新网页内容,你必须不断地重复制作HTML文档,随着网站内容和信息量的日益扩增,你就会感到工作量大得出乎想象。所谓“动态”就是指具有以下几个特点的网站:1“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋。2“自动更新”即无须手动的更新HTML文档,便会自动生成新的页面,可以大大节省工作量。3“因时因人而即当不同的时间、不同的人访问同一网址时会产生不同的页面。这种具有动态特性的网站的典型代表就是-论坛。网上论坛作为互联网中运用最为广泛的通信工具之一,如今已被广大网民接受,它的主要服务是用来帮助浏览者相互沟通,吸引用户、服务用户的。论坛发展到现在已经具有了很多功能:用户注册、浏览论坛版面和帖子、发布自己的帖子、相互留言、回复别人的主题、也可以修改自己的帖子等等这些基本功能,也有帖子评价、论坛收藏、帖子搜索、帖子移动、数据备份、非法言论过滤、非法IP的限制等比较复杂的功能。本设计选择网上电子论坛系统,除了综合运用以前所学知识的能力,同时也可以了解当今网络通讯的一些新技术,并模拟开发简易网上论坛系统软件:锻炼实际动手能力。对于以后工作能力的培养具有重要的意义。1.4 课题的主要内容和要求本课题的主要内容是综合运用以前所学的专业知识,设计开发一个简单的网上论坛系统,课题要求如下:(1)掌握网络基本概念和编程技能;(2)研究分析网上论坛的基本功能、构成和原理;(3)分析并设计实现一个网上论坛系统,实现用户管理、网上讨论及内容管理;本设计要求实现基本功能:发帖及回帖,这是论坛的核心功能;在设计与开发中,重点关注各种用户的权限,这是论坛设计的关键,探讨论坛系统中2种用户(管理员、会员)各自具有的权限及相应可以实现的功能。第2章 开发工具简介2.1 相关术语解释HTML语言:在网上发布消息,必须使用一种每一台计算机都能够识别的语言,这就是HTML(HyperText Markup Language),超文本语言。使用HTML语言可以赋予网络设计者许多强有力的工具,比如:1使用各种基础的印刷元素例如标题、文字、表格、列表、照片、插图等来发布在线的文档。2通过超文本链接可以使用户方便地在各种信息之间切换,就像单击一个按钮一样简单。3设计一种表单控件控制网络上的各种传输、远程服务等功能,就像查询信息、订购货物等。4在文档中直接包含视频剪接、效片断、各种脚本程序和另外的许多对象,比如Flash和Active控件。以上的这些功能是一般的文档不能完全做到的。这些优势使得HTML成为网络上使用的事实标准。ASP语言:在网络程序设计中,ASP(Active Server Pages)是服务器端的一种未经编译的开放式程序,程序设计者可按ASP的要求来编写功能强大的网络应用程序,并实现服务器端的数据处理及数据上传与下载。这种程序通常被称作“ASP程序”(或“ASP页”)。一个ASP 程序通常包括HTML标签语句、文本和脚本程序等。由于这类程序是以“.asp”为扩展名存放的,因此对应的文件可称作“ASP文件”。一个ASP程序的语句串,部分来自于脚本语言,部分来自于HTML。其中,用HTML语言设计的程序称作HTML文档,是由客户端浏览器解释执行的一种程序;用脚本语言设计的部分,则是专职服务器来运行的。SQL语言:SQL是结构化查询语言(Structured Query Language)的缩写,由Boyce和Chamberlin在1974年设计完成。SQL语言是一种非过程化语言,它面向集合操纵,除了数据查询外,还包括数据操纵、定义、控制和管理等功能。SQL语言是一个综合、通用、功能极强的关系数据库语言。SQL语言涉及的语句简单,语义明了,如果懂些英文,则很容易掌握SQL语言。使用该语言检索和维护数据库,编写涉及数据操作的应用程序或脚本语言。2.2 ACCESS 2003简介Access 是微软公司Office 应用软件系列之一,它是基于Windows的桌面关系数据库管理系统(RDBMS)。它能提供表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;还有多种向导、生成器、模板,这些可以帮助用户把数据的存储、查询、界面设计、报表生成等一系列操作规范化,从而建立功能完善的数据库管理系统。使得普通用户不再费时费力地编写代码,就可以轻松搞定大部分数据管理的任务。 Access是一种关系型数据库管理系统,其主要特点有以下几点: (1)存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件中,便于用户的操作和管理。 (2)面向对象 Access是一个面向对象的开发工具,利用这种方式将数据库系统中的各种功能对象化,把管理数据库的各种功能封装在各类对象中。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。(3)界面友好、易操作 Access是一个可视化工具,是风格与Windows一样,用户想要生成对象并应用,只要用鼠标进行拖放即可,直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 (4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 (5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。第3章 系统分析和总体设计3.1 系统需求分析需求分析的结果是软件开发的基础,分析结果直接关系到软件开发的成败和软件产品的质量及使用寿命,它在接下来的软件开发过程中有决策性、方向性、策略性的作用,其重要性不言而喻,对于复杂的软件系统,需求分析的重要性更加突出。概括地说,需求分析是开发者对待开发软件项目的“理解、分解与表达的过程。在这过程中,需要准确理解用户的要求,将用户的要求分解,并转换成需求定义,然后由需求定义转换成形式化的功能规约,而这些功能规约能够恰如其分地表述用户的需求。建立信息系统的逻辑模型是本阶段的中心任务,建立系统的逻辑模型,就是根据系统的具体情况,规定系统应该做什么。系统分析阶段也称为系统的逻辑设计阶段。本论坛系统主要针对游客、会员、(文章)主题、帖子、留言、公告信息、管理人员等对象进行操作。3.1.1 可行性分析并不是所有的软件都能够开发成功或值得开发,为了防止软件开发中途夭折或最终失败,导致大量的时间、经费、资源等的浪费,需要在软件开发前进行可行性分析,目的是以最小的代价在尽可能短的时间内确定该软件项目是否能够开发,值得开发。它通过各种有效的方法,对工程项目进行分析,如市场需求、建设规模、设备选型、环境影响等,从技术、经济、工程等方面进行调查研究和分析比较,最终给投资者决策者提供是否选择该项目的进行投资的依据。可行性分析要站在咨询的立场上,要有多种替代方案,对各种方案作经济比较,提出可能实施的具体措施,着眼于资源的有效利用,站在中立客观立场上得出结论,以确定产品开发成功的可能性为目的而进行的分析。随着计算机的发展进入了一个新的时期,网络技术的发展也日趋完善,我国的网民不断增加。由于时间和空间的限制,我们面对面交流的方式也受到限制,我们需要一个可以随时沟通和交流的平台。同时由于我国经济的发展和信息技术的普及,使网络的操作和使用得以大众化。设计并实现本电子论坛的目的主要在于为电子爱好者提供简洁的交流界面,让大家有一个很好的交流。因此,在本论坛中注册的用户,可以通过发帖回帖的方式在论坛中进行交流,足以强大广大网民之间的学习,生活,兴趣,爱好,专业等。3.1.2 性能分析(1)时间特性本论坛的数据库较小,所以程序在响应时间,数据更新处理时间上性能比较突出的。由于数据量相对较少,故在数据传输时间和系统运行时间是哪个表现的较让人满意。(2)通用性由于用户的操作系统不尽相同,这就要求考虑各平台之间的异性,而电子论坛所采用的基于B/S的结构就很好的解决了这个问题,用户端只需要有浏览器就可以使用电子论坛系统了。(3)保密性大部分网站都会注意会员信息的保密性,因此为了保护注册会员的隐私,电子论坛系统对此也采取了相应的措施,只有注册的用户自己和他添加的好友才能看到他的个人相关信息。3.2 系统功能分析随着时代的进步,人们对网络的要求也越来越高,论坛就是在这种背景下诞生的。它不仅包含了网站原有的特点,还可以让人们在浏览网页的情况下还可以发表自己的观点,其实这只是最基本的,它还有许多优点,下面就让我们简洁的陈述一下:3.2.1 用户功能(1)发帖时自动记录用户名,Email,网友无需每次都输入。(2)用户个人信息记录,密码提示功能,当用户忘记密码时,可以由密码提示功能获得密码。(3)实现用户头像功能,您可以像QQ一样,选择自己喜欢的头像图标。(4)查询与更改密码、个人信息,及他人信息。(5)实现游客浏览功能,你即使不进行注册,同样可以浏览帖子内容,但要发言必须注册。缓存保存用户名和密码功能,勿需每次发言都要填写一次,为用户提供方便。版主功能:(1)版面显示版主主页地址(版主只需在个人信息中维护自己的信息,输入主页地址即可。(2)版主登录之后可以进入版主管理菜单,可以管理论坛版面,管理精华区域,版主帖子查询,编辑版面说明等功能。 查询功能:我的论坛系统具有超强帖子查询功能,可以根据您感兴趣的内容快速获得信息。3.2.2 统计功能(1)显示论坛当前注册总人数、当前帖子总数、帖子点击总数、当前在线人数。 (2)论坛排行榜,对各个版面的点击数、文章数进行排序。(3)用户表现积分排行,调动用户积极性。帖子点击统计,方便了解热点话题。本日版面排行榜,本日作者排行榜。3.2.3 帖子功能(1)显示帖子发表日期,点击数,字节数,回复帖子数,新帖图形提示, 24小时内新帖一目了然。(2)设定帖子内容最大允许的字节数。是否允许显示前帖内容(如同回复EMAIL一样回复帖子)。回复帖子EMAIL通知功能,自动将帖子内容和相关链接寄回被回复人的信箱中。多版面设置,每个版面可以有自己的版主、主页连接,可以独立显示单一版面。3.2.4 版面功能(1)具有强大的分页查看工具条,帖子列表支持分页显示,轻松查看所有帖子。 (2)帖子层次列表,结构清晰,一目了然。 3.3 系统功能描述3.3.1 主要功能首先从用户开始,用户关联的对象是自身,版面,公共信息,帖子。分别根据用户与这些对象的联系给出一个明确的菜单。表3.1 用户功能表序号功能名称说明1用户注册用户在论坛填写必要信息就可以成为注册用户,注册后,可修改自己的注册信息2用户登录用户注册后可使用用户名,密码登录,可选择用户名,密码保存期限3浏览用户信息注册用户可查看其它用户信息4与其它用户联系注册用户可发站内短信5浏览版面任何用户可浏览版面信息6浏览公共信息任何用户可浏览公共信息7浏览帖子任何用户可浏览帖子8发布修改删除帖子注册用户登录后可发布帖子,修改自己的帖子,删除自己的帖子接下来的版面,公共信息,帖子都没有和其他对象的关联,它们在论坛中是被动对象,是被其它对象所操作。因此针对它们的主要功能是由其它对象产生,例如浏览版面就是用户的功能。管理员是论坛的一个特殊群体,它们的主要工作是保证论坛的正常运行,他们可以和论坛的所有对象产生联系,因此他们的功能也很丰富。表3.2 管理员功能表序号功能名称说明1用户删除对于在论坛中造成很坏影响的用户,应该删除他们的身份2用户授权授予用户版主权限3版面管理版面是论坛的枝干,对版面进行添加,修改,删除等操作4公共信息管理公共信息展示论坛的状态,不能出现非法言论5帖子的管理帖子是论坛的枝叶,帖子的好坏关系到论坛的健康发展,对帖子进行删除,移动等 现在分析各个对象的相关操作,设计为对象的功能实现接口,即为对象的操作方法。各个板块有浏览列表和管理两个方法,管理方法又可以分为添加,修改,删除3个子方法。用户有浏览,发帖,回帖,搜索和编辑5个方法,管理帖子分为编辑,删除,置顶,移动,指定精华5个子方法。用户有注册、登录2个方法,管理用户方法又分为管理用户和设置权限2个子方法。这样分析完后,前面列出的功能列表就有了各自的归属对象。论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,既上级权限包含下级权限,在论坛中,管理员是上级权限。论坛的3大基本功能的相互关系如下图所示。 图3.1 论坛基本功能图系统还有一些使论坛的内容更加丰富的扩展功能。3.3.2 论坛扩展功能下面是一个论坛扩展功能表。表3.3 扩展功能表序号功能名称说明1用户保护自己的信息用户不想让别人看到自己的信息,可以不公开自己的信息2用户登录添加验证码防止暴力破解密码,输入用户名或密码错误会重新生成验证码3站内短信方便用户在站内联系4帖子评价提高用户参与论坛的积极性5帖子发布添加多媒体吸引用户,扩展帖子发布功能6论坛收藏保留用户喜欢的内容,方便用户查看7帖子搜索提供模糊搜索,方便用户找到感兴趣的主题8论坛情况显示把论坛的一些数据显示给用户,如发帖数,在线用户人数等添加了这几个扩展功能后,论坛就显得平易近人多了,也更具有使用性。3.4 系统总体设计总体设计的基本目的就是确定系统应该如何实现,因此总体设计又称为概要设计。总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。这部分主要的设计思想是通过网上论坛系统的开发方案,利用现有的软硬件环境,提高系统的开发水平,充分的利用资源。系统界面设计应尽量做到简洁,友好,方便,易用,用户不需要专门的学习就可以操作。系统采用模块化的程序设计的方法,便于系统功能的各种组合和修改。网上论坛系统应实现以下功能:(1)注册管理:能够对用户,密码的简单验证,能够防止利用页面刷新重复注册,已经存在的用户名不能重复注册。(2)浏览帖子:可以根据作者或内容等为关键字搜索帖子,分论坛版块显示帖子,显示帖子详情,浏览帖子时不要求用户登录,但回复帖子前用户必须登录。(3)发表及回复帖子:只有登录用户可以发表和回复帖子,并且对帖子的字数有限制。(4)用户个人信息管理:登录用户可以编辑注册后的个人资料,如修改密码等,但是不可以修改用户名称。也可以对自己发表的帖子进行操作:如修改,删除。(5)回复管理:各论坛版块的版主可以对自己管理的版块的帖子的回复的帖子进行管理,可以屏蔽回复。(6)论坛版块管理:只有管理员有该权限,管理员可以添加、删除版块,也可以修补版块资料,如版块名称,上级版块,版主。(7)用户管理:只有管理员又该权限,管理员可以禁用,启用用户,进行用户密码重置。(8)公共信息管理:只有管理员又该权限,管理员可以添加,删除公告。(9)帖子管理:各论坛版块的版主可以对自己管理的版块的帖子进行管理。系统的总体功能划分如图3.2所示。版面浏览模块帖子模块公共信息管理模块论坛系统用户模块管理员管理模块前台后台公共信息模块用户管理模块版面管理模块帖子管理模块图3.2 系统功能模块图3.5 功能模块模块的划分主要是按照每一个对象的操作来归类。论坛操作的5个对象是用户、版面、公共信息、帖子、管理员。下面就针对这5个对象划分功能模块。1、用户功能模块用户:有两个模块,一个是用户注册,登录,修改信息等功能组合,是用户对用户自身的操作;另一个是管理员对用户进行删除,授权,是管理员对用户的操作,如表3.4。表3.4 用户功能模块表模块模块功能用户模块用户注册用户登录浏览其它用户信息与其它用户联系用户控制自己的信息用户登录添加验证码管理员模块用户删除用户授权2、版面管理模块版面:也有两个模块,一个是浏览模块,一个是管理模块。其功能模块列表如表3.5。表3.5 版面功能模块表模块模块功能版面浏览模块浏览版面版面管理模块版面管理3、公共信息模块公共信息:用户浏览公共信息的功能划分一个模块,管理员对公共信息的操作划分为一个模块,其功能模块列表如表3.6。表3.6 公共信息功能模块表模块模块功能公共信息显示模块浏览发布的公共信息公共信息管理模块公共信息管理4、帖子模块帖子:帖子包括用户对帖子的操作和管理员对帖子的操作,相应地分为帖子模块和帖子管理模块,如表3.7。表3.7 帖子功能模块表模块模块功能帖子模块浏览帖子发布/修改/删除帖子对帖子的特殊操作帖子评价帖子发布添加多媒体论坛收藏帖子搜索删除、移动帖子5、管理员管理模块管理员:管理员是对其他对象进行操作,如表3.8。管理员管理模块分为用户管理、帖子管理、版面管理。a、用户管理:用户注册成功后,需要管理员赋予权限,才能使用相关功能。同时,管理员可以自己添加、删除用户。这些针对用户信息的操作,设计成用户管理模块。b、帖子管理:管理员对论坛的帖子有监督的权利,好的帖子要奖励,捣乱的帖子要删除,标识金华帖子,置顶帖子,转移发错版块的帖子,这些行为时针对帖子的操作,设计成帖子管理模块。c、版块管理:论坛中的版块,需要管理员进行创建,管理版块信息,这些针对版块的操作,设计成管理版块模块。表3.8 管理员管理功能模块表模块模块功能管理员管理模块用户管理版面管理帖子管理第4章 网上论坛系统数据库设计数据库技术是在文件系统的基础上发展起来的一种高效的数据管理技术,它能保持系统数据的整体性,完整性和共享性。数据库是有组织的存储在一定结构内的相关数据的集合。在数据库系统中提供了对数据的访问机制,能有组织的存储相关的数据,具有合理的存储方式,快速的查询和最小的数据冗余等特性。另外数据的存储和应用程序独立,不仅便于数据的管理与控制而且有利于应用程序的编写与调试,数据库类似于一个数据的大仓库,能很好的实现数据的共享,本身具有数据的增、删、改等功能,能维护数据的一致性。数据库设计是系统设计的一个重要内容,其设计质量的好坏直接影响系统开发的成败,系统的质量,系统效率及可维护性。在本系统的设计中充分考虑到了本系统数据繁杂,重复性很大,数据使用频繁。因此本系统采用了一种能正确反映用户实现环境,能被现行系统接受,易于维护,效率高的数据管理方法-数据库系统。论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的,既上级权限包含下级权限,在论坛中,管理员是上级权限。4.1 数据库概念设计数据模型是数据库系统的核心和基础,各种机器上实现的DBMS软件都是基于某种模型的,为了把现实世界中的具体事物抽象组织成为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转化为机器世界,也就是说,首先将现实世界客观对象抽象为某一信息结构,这种信息结构并不依赖于具体计算机系统,不是某一个DBMS支持的数据模型,而是概念模型,然后再把概念模型转化为计算机上某一DBMS支持的数据模型。这一过程如图4.1所示。图4.1 概念模型到数据模型的转化概念模型是对信息建模。概念模型能够方便准确地表示出信息世界中用到的基本概念。设计就是综合各种用户信息并将其转换为初步的数据库设计-概念数据模型,产生信息,需求的一个形式化的表示,其核心是一个实体类集。在概念设计中,设计这只关心实体集在应用环境中具有的特征(称为属性)和它们之间的联系。不考虑计算机的细节或技术,属性描述有关实体的具体信息,其中一个或者多个属性起着实体的标志符(码)的作用。实体之间的联系描述的是所表示的信息在处理过程中的相互作用。概念数据模型不涉及其在计算机的表示方法,完全独立于任何特定的计算机系统,包含现实世界中大量的语义。概念设计的输入是用户数据需求的规范说明,其输出结果是表示组织信息结构的概念数据模型。概念数据库设计方法有很多,归纳起来有两种主要设计方法:它们是实体分析法和面向对象的数据库设计。E-R方法是当前最常用的系统分析与建模的方法。4.2 E-R模型E-R模型(Entity Relationship approach,即实体一联系方法)用E-R图表示事物之间的联系,具有直观,自然,表现力丰富的特点,容易被用户所理解,也容易转化为当前广泛用作DBMS实现基础的各种基本数据模型。它是概念数据模型的一个代表。采用E-R模型作为数据库设计基础的方法称为E-R方法,是进行数据库概念设计的重要工具。E-R模型中的基本单位是实体和联系。其中实体是客观存在,并可相互区分的。例如在医院中,某个医生、病人或者处方等等都是实体。同一类型的实体集合称为实体型。联系是两个或者多个实体型之间的连接。同一类型的联系的集合成为联系型。根据联系中实体之间的联系,可以把联系分为:一对一联系,一对多联系,多对多联系。属性是实体具有的某个特征值,用一个集合表示。为了使数据结构更加便于维护以及更为灵活地适应当前以及未来的用户需要,而采用的简化复杂的数据结构的步骤称为数据的规范化。数据规范化的目的是消除数据的冗余、表格中的数据重复、消除多义性、使关系中的属性含义清楚、单一,使关系单纯化,让每个数据项只是简单的数字或者字符串,而不是组项或者重复组,方便操作,使数据的插入、删除与修改操作可行并方便。使关系模式更灵活,易于实现接近自然语言的查询方式。大都数商业信息处理系统中为了达到系统的数据优化的目的,一般都要满足第三范式。根据数据流以及数据字典所提供的数据元素,按照实际情况汇集成有关实体,可以得到各个用户视图的E-R模型,形成概念结构,又称为E-R模式。在网上论坛系统中涉及到的对象有用户,公共信息,版面,帖子,管理员,用E-R图描述他们之间的关系如图4.2所示。管理员公共信息帖子用户信息版面图4.2 E-R图4.3 数据库设计4.3.1 数据库设计的基本原理对于网络论坛系统来说,数据库是既是它的核心又是它的基础。数据库结构的设计是软件设计工程的重要内容之一,因为对程序结构和过程复杂性具有一定影响,所以在设计时不能忽略对系统质量的影响。按照网上论坛系统功能,需要网上论坛系统数据库进行描述的有:系统用户信息,版面信息,主题信息,帖子信息,论坛信息,用户等级信息,好友信息,用户管理员信息。 数据库的表设计首先进行了规范化,也就是将低级范式通过模式分解转换为若干个高级范式的关系模型的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。简而言之,第三范式就是属性不依赖于其它非主属性。网上论坛系统数据设计满足第三范式。论坛使用Access数据库,下面列出是数据库设计的详细。4.3.2 建立数据表间的关系论坛数据库主要有以下几个表。表4.1 论坛数据表序号字段名字段类型1userdata用户信息表2BBsBoard版面信息表3BbsTopic主题信息表4BbsReply帖子信息表5bbsmessage论坛信息表6usergrade用户等级表7notefriend好友信息表8bbsadmin管理员信息表4.3.3 数据表结构的详细设计表4.2 用户信息表(userdata)序号字段名字段类型说明1useridInt(4)用户编号2usernameVarchar(50)用户名3UserpasswordVarchar(50)密码4useremailNvarchar(255)电子邮件5UsertitleNvarchar(255)用户签名6usersexVarchar(50)用户性别7userfaceNvarchar(255)头像8gradenameVarchar(50)积分9addtimeDatetime注册日期10birthdayNvarchar(50)用户生日11questionNvarchar(50)密码问题12answerNvarchar(50)密码答案13userlastipNvarchar(40)最后登录IP14ishiddenInt(4)是否隐身登录150icqNvarchar(255)用户QQ在用户信息表里保存的是在论坛注册用户的信息,用户编号和用户名在论坛中是不能重复的,用户名不能重复还使用用户编号的原因是计算机对数字检索速度更快。表4.3 版面信息表(BBsBoard)序号字段名字段类型说明1boardidInt(4)版面编号2bootidInt(4)引导标识3boardnameVarchar(50)主版面名4ChildInt(4)子版数目5lasttopictimeVarchar(255)最后一个主题时间6addtimeDatetime(8)建立日期7boardstatusInt(4)版面状态8topictableInt(4)主题表表4.4和表4.5是紧密关联的,论坛主题信息表记载了论坛中主题帖的信息,建立这个表的原因是用户在浏览论坛中的帖子时先应看到的是主题列表,如果主题能够吸引用户,用户才会去看其中的内容,否则用户一进来就看到帖子内容,会使用户感觉非常的杂乱。这两个表是通过id字段联系起来的,parentid字段是用来针对特定的帖子回复。表4.4 主题信息表(BbsTopic)序号字段类型说明1IdInt(4)主题编号2TitleText主题3BordIdInt(4)版面编号4ReplyInt(4)主题回复数5lastReplyUserVarchar(50)最后回复用户6lastReplyTimeDatetime最后回复时间7ReplyIdDatetime回复Id8IslockedInt(4)是否锁定9IsTopInt(4)是否置顶10IsDeleteInt(4)是否删除表4.5 帖子信息表(BbsReply)字段类型长度备注1IdInt(4)帖子编号2ParentIdInt(4)回复帖子编号3BoardIdInt(4)版面编号4UserNameVarchar(50)用户名5UserLoginIpVarchar(100)用户登录IP6TopicIdInt(4)主题编号7TitleVarchar(255)主题8AddTimeDatetime(8)帖子发表日期9ContentText(16)帖子内容10ReplyInt(4)回复11LastReplyTimeDatetime(8)最后回帖时间12VoteTitleInt(4)帖子投票13StatVoteVarchar(255)投票统计接下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论