毕业论文--基于J2EE的高校BBS论坛.doc_第1页
毕业论文--基于J2EE的高校BBS论坛.doc_第2页
毕业论文--基于J2EE的高校BBS论坛.doc_第3页
毕业论文--基于J2EE的高校BBS论坛.doc_第4页
毕业论文--基于J2EE的高校BBS论坛.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

JIANGXI AGRICULTURAL UNIVERSITY本 科 毕 业 论 文(设 计)题目: 基于J2EE的高校BBS论坛 学 院: 软件学院 姓 名: 学 号: 专 业: 软件工程 班 级: 指导教师: 职 称: 讲师 二一六年五月目录摘要IAbstractII1 绪论11.1 选题的背景和意义11.2 国内外研究现状11.2.1 国内研究现状11.2.2 国外研究现状11.3 项目目标及技术方案21.3.1 项目目标21.3.2 技术方案21.4 本文的组织结构22 J2EE及相关技术介绍42.1 J2EE平台42.2 B/S体系结构42.3 JSP技术52.4 MVC模式52.5 MySQL63 需求分析73.1 功能性需求73.1.1 用户模块73.1.2 版块与公共信息模块83.1.3 帖子模块103.1.4 管理员模块113.1.5 扩展性功能需求123.2 非功能性需求123.2.1 性能、可靠性以及可用性需求123.2.2 出错处理和接口需求123.2.3 约束及逆向需求123.2.4 扩展性需求134 总体设计144.1 系统概述144.2 系统功能模块设计154.2.1 用户模块164.2.2 版块与公共信息模块174.2.3 帖子模块174.2.4 管理员模块174.2.5 扩展性功能174.3 系统数据库设计184.3.1 数据库概要设计184.3.2 数据库逻辑设计195 详细设计与实现235.1 注册模块235.2 登录模块245.3 用户通信模块265.4 发帖模块286 系统测试316.1 用户模块测试316.2 版块与公共信息模块测试316.3 帖子模块测试326.4 管理员模块测试326.5 扩展功能模块测试327 总结与展望34参考文献35致谢36摘要论坛又称BBS,是因特网上的一种信息交流系统。本文通过建立高校BBS论坛来实现一个师生交流的平台。在这个平台,学生可以进行信息的查询、搜索、交流与共享;老师可以与学生就相关专业的一些学术问题展开讨论。本文首先介绍了在论坛系统开发过程中所采纳的一些技术。然后,对论坛的功能性需求与非功能性需求进行了分析,并将功能性需求细化为几个模块,以基于UML的功能用例图说明了各个模块所需实现的功能。接着,对论坛系统进行了概括性的阐述,并在此基础上对各个模块的设计进行了描述,给出了数据库各表的详情。随后,从详细设计与实现的各个模块中,选取了几个较为重要的模块,对它们的工作流程进行了阐述,展示了实现此模块的主要代码以及效果图。此外,为验收本论坛系统是否符合用户需求,对各个功能模块进行了细致的测试。最后,对此次开发过程进行了总结,并描述了对未来的展望。论坛运用JSP+Servlet技术以及MVC思想进行系统的开发,采用B/S体系结构并使用MySQL作为后台数据库。本系统包括用户、版块与公共信息、帖子以及管理员模块。用户模块完成用户注册登录、修改个人资料、浏览他人资料以及用户通信的功能。版块与公共信息模块完成版块与公共信息的增删改查功能。帖子模块完成发帖、回帖、搜索贴、查看贴以及管理贴的功能。管理员模块完成系统参数设置与管理用户的功能。另外,本系统还实现了一些扩展功能:用户回帖时可以选择发通知至楼主邮箱,以便在紧急情况时可以进行快速、高效的交流;论坛可以对非法言论进行过滤。关键词:Java;BBS;论坛系统;JSP;ServletAbstractForum, also known as BBS, an information exchange system on the Internet. Through the establishment of university BBS forum to implement a platform for the exchange of teachers and students. In this platform, students can query, search, exchange and sharing of information; teachers and students can discuss some of the relevant professional and academic issues.This paper describes some of the technical system development process in the forum adopted. Then, functional requirements and non-functional requirements of the Forum were analyzed and functional requirements refinement of several modules, based on UML use case diagram illustrates the function of each module to achieve the desired functionality. Next, a general forum system was elaborated, and on the basis of the design of each module are described, it gives details of the various database tables. Then, from the detailed design and realization of each module, select a few of the most important module, their work processes are described, it shows the implementation of this modules main code, and renderings. In addition, the acceptance of this forum system meets the needs of users, for each module of a detailed test. Finally, a summary of the development process, and describes prospects for the future.Forum using JSP + Servlet technology and MVC ideological development system using B / S architecture and uses MySQL as the backend database. The system includes a user area and Public Information, Posts and administrator module. User Module complete user registration login, edit your profile, browsing information to others, and user communications. Forum and Public Information module to complete the deletions area and public information to change search function. Posts module completes post replies, posted search, view and manage stickers affixed functions. Administrator module to complete the system parameters and user management functions. In addition, the system also implements some extensions: When a user replies to the landlord can choose to send notification email, so that in an emergency can be fast and efficient exchange; forum can filter the illegal speech.Keywords: java; bbs; forum system; jsp; servletII基于J2EE的高校BBS论坛1 绪论1.1 选题的背景和意义论坛,在国外将它简单的叫做“BBS”,所以将它翻译过来就叫做“电子公告板”,它是一种在网络上供人们交流的系统。在论坛上,人们可以提出自己遇到的棘手问题或者分享自己的经验,即在论坛上发帖。随后,论坛上的知识达人会根据自己所学的知识、所积累的经验发表他的意见或看法。近几年,由于校园网建设的发展,导致高校BBS也越来越火。因此,建设一个好的BBS显得越来越有必要了。本文通过建立高校BBS来实现一个老师与学生交流的平台。通过这个平台,学生可以针对自己所遇到的棘手问题查询相关的解决办法以及帮助其他同学解决问题,从而营造一个互帮互助的良好学习氛围;老师通过这个平台可以与学生就相关专业的一些学术问题展开讨论,这也是老师拓展思路的一个好的方向。1.2 国内外研究现状1.2.1 国内研究现状国内论坛的发展与国外很相似,其中Discuz!和PHPWind以及基于Java的BBS论坛系统是国内比较常用的BBS系统。Discuz!和PHPWind都是使用PHP+MySQL技术开发的论坛系统,并且他们在论坛系统领域都较为流行。Discuz!的安装十分简单、负载能力强、安全性高,适用在大中型需互动交流的应用中。PHPWind专攻于电子商务应用,增强社区的内容价值。但Discuz!和PHPWind的可扩展性不强,只适合一次开发就完成的论坛系统。而基于Java技术编写的论坛系统使用面向对象的编程思想,提供抽象类与接口,最重要的,它支持在不同的系统上运行。除此之外,它的安装配置也较为简便,安全系数也较高。现今,论坛系统在国内十分流行,大致可以将其分为五种:分别是校园型、商业型、专业型、情感型以及个人型论坛。其中比较流行的校园BBS有水木论坛以及北邮人论坛等。1.2.2 国外研究现状20世纪70年代,BBS在美国兴起,当时它的功能还不是很完善,甚至可以说很局限,主要实现了人们相互之间的信息交流。而随着后期Internet的不断延伸,BBS逐渐发展成发表公共信息类、电子商务类以及博客类的网站。直到上世纪末,论坛系统才真正被BBS所重视。现今,对于论坛的研究,国外将重心放在社交网络方面,专注于网络中的人际关系以及价值观念。国外论坛大部分也是使用PHP+MySQL技术进行论坛系统的开发,其中PHP的高效性以及MySQL的开放性正是它们备受重视的原因。1.3 项目目标及技术方案1.3.1 项目目标本论坛系统所需实现的目标有以下几点:(1)用户模块目标:可以进行用户注册登录、修改自身信息、查看他人信息以及用户通信。(2)版块与公共信息模块目标:可以对版块与公共信息进行增删改查。(3)帖子模块目标:可以发帖、回帖、搜索帖、查看帖以及管理帖。(4)管理员模块目标:可以进行系统参数设置以及用户管理。1.3.2 技术方案本论坛系统在设计开发时采用如下方案:(1)软件架构选取J2EE技术(2)体系结构采取B/S模式,用户通过WEB访问本系统。(3)数据库选用开放源码的MySQL。(4)开发平台采用MyEclipse10。1.4 本文的组织结构本文论坛系统的设计主要涵盖了六个方面,分别讲述了论坛系统的选题背景,所选取的相关技术,需求分析,总体设计,详细设计与实现及系统测试。最后,对此次开发过程进行总结以及对后续论坛系统的完善工作进行展望。本文具体的组织结构安排如下:第一章 绪论,讲述了论坛的选题背景、国内外研究现状、项目目标及技术方案,并介绍了本文的组织结构。第二章 J2EE及相关技术介绍,对开发论坛系统所采纳的关键技术进行了简要的介绍。第三章 需求分析,对论坛系统的功能性需求和非功能性需求进行分析。第四章 总体设计,对系统进行概要论述、对系统的功能模块和数据库进行设计。第五章 详细设计,选取几个较为重要的功能模块进行工作流程的阐述,并展现实现此模块的主要代码及效果图。第六章 系统测试,对系统的各个模块进行测试。第七章 总结与展望,对此次论坛系统的开发过程进行一个简短的总结,并对后续论坛的完善工作进行展望。2 J2EE及相关技术介绍2.1 J2EE平台基于J2EE开发的系统,可以运行在Windows、Linux、Unix等不同的操作系统上。Java通过虚拟机来实现跨平台。它先将Java源程序编译成字节码文件格式,此格式对于不同的系统有着统一的标准。然后,将得到的文件格式放在虚拟机上解析,虚拟机作为一个中介的作用,将此字节码文件翻译成能被特定系统识别的.exe文件分别运行在各个系统中,继而实现跨平台。Java标准使得世界各地的Java开发者对于开发Java程序有了一个共同的约束,并使得世界各地的应用系统服务商对于提供给Java开发者的服务也有了一个基于标准的共同约束,继而实现了服务的跨平台。由此,企业级应用开发者可以集中于业务逻辑的开发,不必在企业级应用程序中考虑如何提供这类系统级服务。另外,开发基于J2EE的组件,可以在多个软件系统上重复使用,也可以移植到不同系统上。重用已经建立的组件,不仅使企业级应用开发速度增快,而且减少了处理各种技术所带来的设备与人员开销。2.2 B/S体系结构B/S,即浏览器/服务器,又称三层的C/S,大致由客户、应用及数据库层组成。客户层又称表示层,只实现极少的事务逻辑,用于接收用户的输入,并向应用服务器发送请求,显示处理结果;应用层又称业务逻辑层,用于执行业务逻辑,并向数据库传达用户的请求,随后再将数据库层的处理结果进行整理,将其反馈给客户层。数据库层用于对数据库中的数据进行操作,并将操作后的结果反馈给应用层。客户层通过客户端向用户展现炫丽迷人的界面,吸引用户的眼球并与用户进行互动。当用户与系统进行交互时向系统发送请求,则应用层立即对请求进行接收,并进行必要的业务逻辑处理。有时由于问题需要,还需将请求转发至数据库层进行更进一步的解答,即对数据库中的数据进行操作。数据库层解答完毕后将结果传送至应用层,应用层接收到后立即对其结果进行整理,并将整理后的结果反馈给客户层。客户层接收到应用层反馈给它的结果后,对其进行结构上的调整,并将调整后的结果展现在客户端上以供用户查阅。B/S体系结构图如图2_1所示。客户端浏览器客户端浏览器客户端浏览器数据库服务器应用服务器HTTP请求HTTP响应HTTP请求HTTP响应HTTP请求HTTP响应请求响应图2_1 B/S体系结构图2.3 JSP技术JSP是指在HTML中穿插Java代码。在JSP文件中,Java代码编译成字节码文件后被虚拟机执行,之后将执行后的结果再穿插至HTML代码中,将其一起发送给客户端。JavaBean是一种用Java语言编写的可重用组件。JSP支持在Web应用中集成JavaBean 组件。通过使用JavaBean组件可以使得开发的时间比预期的短一点,JSP代码的长度也能简短一些。利用跨平台运行的JavaBean组件,JSP实现了表示层与业务逻辑层的分离。2.4 MVC模式MVC是一种博大精深的软件编程设计思想。它主张将用户界面、业务逻辑以及数据处理分别进行提取,向上抽象为三层结构。用户界面仅仅负责用户与系统之间的交互。而业务逻辑则封装为一个一个的组件,方便用户界面进行更新时不需要对业务逻辑进行相应的操作。MVC最早用于桌面程序中,MVC分别表示业务模型,用户界面以及控制器。所以大多数程序员都会采用MVC模式进行系统的开发,将系统的数据处理与页面显示进行分离,从而有效的缩短系统开发周期,降低层与层之间代码的依赖性。MVC是一个软件编程模式,它将应用程序向上进行抽象封装,使得应用程序分成模型、视图以及控制器这三个部件。最典型的MVC模式就是Servlet + JSP + Javabean的模式。视图是为用户所提供的部件。对于早前的Web程序来说,视图主要通过HTML实现的。在新式的Web应用程序中,涌现出了一批新型元素,如XHTML、XML以及WML等。模型是对数据库中的数据进行处理,处理后的结果不依赖于具体数据库中的数据格式。故多个视图可以对其进行共享,而不需要针对各个视图分别进行处理,从而减少了代码的冗余,使得代码更加清晰简洁。控制器在视图与模型之间起到一个调度者的作用。它通过对用户请求进行分析,选择调用哪个具体的模型对用户的请求进行解答。当模型对用户的请求解答完毕后,它再对该解答结果进行辨别,选择调用哪个具体的视图将解答得到的结果展现给用户。2.5 MySQLMySQL作为关系型数据库管理系统(RDBMS)的代表,它对数据库的管理是通过SQL实现的。由于MySQL是开放源码的,因此开发者可以在取得通用许可证的前提下下载使用MySQL,并根据自身的需要进行修改。MySQL凭借其体积小、速度快、成本低、可靠性高和适应性强等特性备受关注。MySQL提供了许多连接数据库的方法,如TCP/IP、ODBC和JDBC等,使用起来非常方便。 由于MySQL具有操作简单,功能强大,高效可靠等优点,所以本系统采用MySQL作为后台数据库。3 需求分析3.1 功能性需求本系统的功能性需求大致上由用户、版块与公共信息、帖子与管理员模块组成。下面使用UML用例图对本系统的四个核心功能模块的功能需求进行分析。UML用例图是处在用户的角度来描述各个模块所需实现的功能,并指出各个模块的参与者。它只涉及参与者与功能用例,不涉及具体实现。所以可以很方便绘制,也很方便用户理解。3.1.1 用户模块用户模块是一个以用户为核心的模块。这个模块要解决的问题是围绕用户展开的。当游客浏览本高校BBS论坛系统时,可以通过注册登录到本系统成为用户。故本系统需提供用户注册登录功能。当用户的个人信息有变动时,需要修改其自身的相关信息。所以要实现修改用户个人资料的功能。此外,为了增进用户彼此之间的了解,需实现查看其他用户信息的功能。为方便用户之间更好的通信,需实现与其他用户联系的功能。综上所述,用户模块所涵盖的功能需求有以下几个:(1)用户注册(2)用户登录(3)修改用户个人资料(4)浏览其他用户信息(5)与其他用户联系。用户模块的功能用例图如图3_1所示。图3_1 用户模块功能用例图3.1.2 版块与公共信息模块版块与公共信息模块所涵盖的功能需求可以大致分为两部分:版块模块和公共信息模块。(1)版块模块论坛系统作为一个庞大的信息系统,显然不能全盘展现。这就需要对论坛系统进行细分,而版块的出现很好的解决了这一难题。与此同时,对论坛的帖子进行了分类,使得整个高校BBS论坛系统的架构比较清晰明朗,便于用户浏览。所以对版块的管理就显得格外重要。如果一个版块的帖子数量很多,可以考虑从中提取一个分支,再增加一个版块;如果一个版块的帖子数量很少,可以考虑将其归纳至其他的版块,而将这个版块删除;如果版块的最初定义与后期版块的发展有出处,可以考虑修改版块的相关信息。综上所述,版块模块所涵盖的功能需求有以下几个:浏览版块管理版块 管理版块又包括添加、删除以及修改版块。版块模块的功能用例图如图3_2所示。图3_2 版块模块功能用例图(2)公共信息模块公共信息是向用户展示此时论坛系统信息以及发布一些论坛公告的部分。它是对全体用户开放的,其内容的传递性极广,故对公共信息的管理显得十分必要。当需要告知论坛系统的所有用户一些信息时,可以考虑发布一条公告;当有些系统信息或公告过时了,可以考虑将其删除。当论坛系统信息进行了更新时,可以考虑将其修改。综上所述,公共信息模块所涵盖的功能需求有以下几个:浏览公共信息 管理公共信息 管理公共信息又包括发布、删除以及修改公共信息。公共信息模块的功能用例图如图3_3所示。图3_3 公共信息模块功能用例图3.1.3 帖子模块帖子是高校BBS论坛系统中最基本的内容。成功登录的用户可以根据自己的喜好选择帖子进行查阅及回复;当用户遇到难题时,可以将其问题阐述清楚后发表至论坛的相关版块上,以供其他用户帮助他解决难题;当用户需要查找帖子时,可以在各个版块上进行搜索。而当帖子的数量很多时,就必定有理由要对帖子进行管理。当用户发表的帖子中有不法言论时,应将其删除;当用户发表的帖子十分重要时,可以将其置顶,以突出它的重要性;当用户发表的帖子含金量很高时,就有必要将它置为精华,以便让好的帖子发挥它的最大化作用。综上所述,帖子模块所涵盖的功能需求有以下几个:(1)浏览帖子(2)发表帖子(3)回复帖子(4)搜索帖子(5)管理帖子 管理帖子又包括删除、置顶、置精华等操作。帖子模块的功能用例图如图3_4所示。图3_4 帖子模块功能用例图3.1.4 管理员模块管理员模块要解决的问题是围绕管理员展开的。管理员作为本系统的最高级用户,它需要对本系统的参数进行设置。当用户的行为不符合论坛宗旨时,将其删除;当管理人员不够时,可以添加管理员。因为每个版块都有一个版主和多个普通用户,它们的权限有所不同,所以需要通过管理员对它们的权限进行设置。综上所述,管理员模块所涵盖的功能需求有以下几个:(1)系统参数设置(2)管理用户 管理用户又包括添加、删除用户以及对用户设置权限。管理员模块的功能用例图如图3_5所示。图3_5 管理员模块功能用例图3.1.5 扩展性功能需求为使本系统的内容更加充实,功能更加完善,本系统欲实现下面几个扩展性功能:(1)邮箱通知(2)非法言论过滤3.2 非功能性需求前面对功能性需求进行了重点介绍,下面对非功能性需求进行简短的论述。3.2.1 性能、可靠性以及可用性需求性能需求通常包括速度、容量、安全性等方面的需求。可靠性需求是指系统在特定条件下指定时间内能够完成相应的功能。可用性需求是指系统在哪些环境下能够使用,而对于不能使用的环境又有哪些必要的处理。3.2.2 出错处理和接口需求出错处理需求表示系统如何对突发状况进行处理。接口需求是指本系统需要通过哪些接口与外界进行沟通。3.2.3 约束及逆向需求约束是指开发系统时所受的制约。常见的约束有:精度;工具与语言约束;设计约束;应该使用的标准;应该使用的硬件平台。逆向需求表示使用逆向思维去考虑本系统的需求,即系统不应该有哪些功能。3.2.4 扩展性需求扩展性需求有利于丰富系统的内容,完善系统的功能。并且在还没有明确的扩展性需求时,对其进行考虑,有利于对后期的扩展做充分的准备。4 总体设计4.1 系统概述本论坛系统主要由四个模块构成,分别为用户模块、版块和公共信息模块、帖子模块和管理员模块。本系统概述图如图4_1所示。版块与公共信息模块管理员模块帖子模块用户模块基于J2EE的高校BBS论坛图4_1 系统概述图将系统概述图进一步细化。最初进入高校BBS论坛系统时是以游客的身份进入的。游客由于还不是本论坛系统的真实用户,所以本论坛系统给予它的权利较少,只能查看公共信息和帖子。如果需要进行发帖、回帖、搜索帖子,则需要注册登录成为本高校BBS论坛系统的用户。而如果是以管理员的身份进入本高校BBS论坛系统,则该管理员享有最高权限。他可以对论坛系统参数进行设置,对用户进行管理。本系统基本流程图如图4_2所示。开始游客登录判定管理员用户用户注册用户登录浏览帖子搜索帖子发表帖子回复帖子浏览版块浏览公共信息修改注册信息查看其他用户联系其他用户系统参数设置管理用户管理版块退出系统结束图4_2 系统基本流程图4.2 系统功能模块设计根据上面对本系统的概述,本系统主要分为四大模块:用户模块、版块与公共信息模块、帖子模块以及管理员模块。将各个模块所需实现的功能全部展现出来,得到本系统的系统功能模块结构图如图4_3所示。用户模块用户登录用户注册修改个人资料浏览其他用户联系其他用户基于J2EE的高校BBS论坛系统删除帖子帖子置顶帖子置精华帖子模块浏览帖子发表帖子回复帖子搜索帖子管理帖子添加版块删除版块修改版块浏览版块浏览公共信息添加公共信息删除公共信息修改公共信息版块与公共信息模块版块模块公共信息模块管理员模块系统参数设置添加用户删除用户设置权限管理用户图4_3 系统功能模块结构图如上图所示,各个模块所需实现的功能繁多,下面对各个模块所需实现的功能进行具体的阐述。4.2.1 用户模块用户模块所需实现的功能是用户注册、用户登录、修改个人资料、浏览其他用户以及与其他用户联系。(1)用户注册:未注册的用户可通过此功能进行注册,并将注册信息提交给系统。经审核无误后便可登录本论坛系统,使用本论坛系统提供给用户的功能。(2)用户登录:拥有本论坛系统用户账户的用户,可以登录本论坛系统,使用本论坛系统提供给用户的功能。(3)修改个人资料:已经成功登录的用户,可以通过此功能对自身资料进行修改,如对密码的修改,对邮箱的修改以及对生日的修改等。(4)浏览其他用户:已经成功登录的用户,可以对论坛上其它已注册的用户的资料进行查看,如查看其它用户的电子邮箱等。(5)联系其他用户:已经成功登录的用户,可以与论坛上其它已注册的用户进行通信,如通过发送短消息与其它用户交流。4.2.2 版块与公共信息模块将版块与公共信息模块划分为:版块模块和公共信息模块。(1)版块模块所需实现的功能是对版块进行增删改查。游客及登录成功的用户可以对版块的分类进行查看,并根据自己的喜欢进行具体版块的查阅。管理员在后台可以对版块进行增删改,即增加版块的分类,删除某一特定的版块以及修改某一具体的版块。(2)公共信息模块所需实现的功能是对公共信息进行增删改查。用户通过此模块可以获知本论坛系统此时的状态以及本论坛系统近日的公告。管理员在后台可以对公共信息进行增删改,即发布最新的、删除过时的以及修改已发布的公共信息。4.2.3 帖子模块帖子模块所需实现的功能是发帖、回帖、搜索帖、浏览帖以及管理帖。其中管理帖又包括对帖子删除、置顶及置精华等功能。(1)浏览帖子:游客及登录成功的用户可以对帖子进行查阅。(2)发表、回复帖子:只有登录成功的用户才能发表、回复帖子。发帖、回帖必然需要填写有关帖子的详情。(3)搜索帖子:游客及登录成功的用户可以对帖子进行搜索。每个版块中都应提供搜索功能,以便用户快速查找自己想要的信息。(4)管理帖子:管理员通过此模块可以对非法帖子进行删除、对重要帖子置顶以及对优秀帖子置精华。4.2.4 管理员模块管理员模块需实现系统参数的设置和管理用户的功能。而管理用户又包括添加、删除用户以及对用户设置权限的功能。(1)系统参数的设置:管理员通过此模块可以对系统参数进行设置。如设置论坛的名称、论坛的在线人数上限、论坛的过滤词等。(2)管理用户:管理员通过此模块可以对用户进行添加、删除,对各个用户设置不同的权限。如对多次发表非法帖子的用户予以删除、对每个版块设置一个版主等。4.2.5 扩展性功能本系统实现的扩展性功能有两个:(1)邮箱通知:用户回帖时可以选择发通知至楼主邮箱,以便在紧急情况下可以快速、高效的通知对方,从而进行沟通交流。(2)非法言论过滤:管理员可以对本论坛系统进行设置,使系统对非法词语进行过滤。4.3 系统数据库设计4.3.1 数据库概要设计数据库概要设计是对用户需求进行抽象,将用户需求抽象为概念结构。只有这样,后期才能更好更快地将其转化特定数据库中的数据模型,并用特定的数据库管理系统完成用户需求。描述概念结构的常用方法是画E-R图。本高校BBS论坛系统的E-R图如图4_4所示。用户版块公共信息系统信息管理员管理添加修改删除11nnn(1)用户帖子版块发表涵盖1nn1(2)(3)用户拥有短消息收藏夹好友1nn1图4_4 论坛系统的E-R图4.3.2 数据库逻辑设计数据库逻辑设计的目标是将上个阶段所抽象的概念结构转化为特定数据库的逻辑结构。在本高校BBS论坛系统中,就是把上述论坛系统的E-R图转化为MySQL所支持的逻辑结构。描述逻辑结构的形式可以是对数据库表的创建。下面对基于J2EE的高校BBS论坛系统的部分数据库表设计进行阐述。本论坛系统所设计的所有表的相关信息如表4_1所示。表4_1 高校BBS论坛系统数据库表序号表名说明1tab_user用户信息表2tab_board版块信息表3tab_post帖子信息表4tab_favorite收藏夹信息表5tab_friend好友列表6tab_message短消息信息表7tab_online在线用户表8tab_common公共信息表9tab_forum系统信息表(1)用户信息表用户信息表详细信息如表4_2所示。表4_2 用户信息表tab_user序号列名数据类型注释说明1f_i_userIdint用户编号主键 自增2f_userNamevarchar(50)用户名非空3f_userPasswordvarchar(20)密码非空4f_userEmailvarchar(255)电子邮件非空5f_userSexvarchar(2)性别6f_t_userBirthdaydatetime生日7f_userMsgvarchar(30)用户消息8f_b_userHiddentinyint是否隐身默认为09f_userSignvarchar(255)用户签名10f_userFriendsvarchar(255)用户好友分组11f_t_userRegTimedatetime注册时间12f_t_userLastLogindatetime最后登录时间13f_userLastIPvarchar(30)最后登录IP14f_i_userLoginNumint登录次数15f_i_userViewsNumint信息被浏览次数16f_i_userPostNumint发帖数17f_i_userTopicNumint发布主题数18f_i_userDelNumint被删主题数19f_i_userBestNumint精华帖子数(2)版块信息表版块信息表详细信息如表4_3所示。表4_3 版块信息表tab_board序号列名数据类型注释说明1f_i_boardIdint版块编号主键 自增2f_boardNamevarchar(50)版块名称非空3f_boardDescriptionvarchar(255)版块描述4f_i_boardMasterIdint版主编号5f_i_boardPostNumint发帖数量6f_i_boardTopicNumint主题数量7f_i_boardTodayNumint今日发帖数8f_boardImagevarchar(255)版块图像(3)帖子信息表帖子信息表详细信息如表4_4所示。表4_4 帖子信息表tab_post序号列名数据类型注释说明1f_i_postIdint帖子编号主键 自增2f_i_postParentIdint上级帖子编号非空3f_i_postRootIdint根帖子编号非空4f_i_postBoardIdint版块编号非空5f_i_postUserIdint发帖用户编号非空6f_postTopicvarchar(255)帖子主题非空7f_postContenttext帖子内容非空8f_t_postTimedatetime发帖时间9f_i_postFloorint楼层10f_i_postViewNumint帖子阅读数量11f_i_postReplyNumint帖子回复数量12f_b_IsNoticetinyint是否使用邮件通知默认为013f_b_IsToptinyint是否置顶默认为014f_b_IsBesttinyint是否精华默认为015f_b_IsAccessorytinyint是否有附件默认为016f_b_IsAudiotinyint是否有音频默认为0(4)收藏夹信息表收藏夹信息表详细信息如表4_5所示。表4_5 收藏夹信息表tab_favorite序号列名数据类型注释说明1f_i_favIdint收藏夹编号主键 自增2f_i_favUserIdint收藏夹用户编号非空3f_favURLvarchar(100)收藏的网页地址非空4f_t_favTimedatetime收藏的时间(5)好友列表好友列表详细信息如表4_6所示。表4_6 好友列表tab_friend序号列名数据类型注释说明1f_i_fdIdint编号主键 自增2f_i_fdUserIdint用户编号3f_i_fdFriendIdint好友编号4f_t_fdAddTimedatetime添加时间(6)短消息信息表短消息信息表详细信息如表4_7所示。表4_7 短消息信息表tab_message序号列名数据类型注释说明1f_i_mseIdint短消息编号主键 自增2f_mseTopicvarchar(255)短消息主题非空3f_mseContenttext短消息内容非空4f_i_mseSenderIdint发送者编号非空5f_i_mseReceiverIdint接收者编号非空6f_t_mseTimedatetime发送时间7f_b_mseViewFlagtinyint阅读标识默认为08f_b_mseIsSendtinyint已发送标识默认为09f_b_mseSdDelFlagtinyint发送者删除标识默认为010f_b_mseReDelFlagtinyint接收者删除标识默认为0(7)上线用户表上线用户表详细信息如表4_8所示。表4_8 上线用户表tab_online序号列名数据类型注释说明1f_i_onlineIdint编号主键 自增2f_i_onlBoardIdint版块编号非空3f_i_onlUserIdint用户编号非空4f_t_onlineTimedatetime上线时间5f_t_onlLastOPTimedatetime最后操作时间(8)公共信息表公共信息表详细信息如表4_9所示。表4_9 公共信息表tab_common序号列名数据类型注释说明1f_i_commonIdint公共信息编号主键 自增2f_commonTopicvarchar(255)公共信息主题非空3f_commonContenttext公共信息内容非空4f_t_commonTimedatetime公共信息发布时间(9)系统信息表系统信息表详细信息如表4_10所示。表4_10 系统信息表tab_forum序号列名数据类型注释说明1f_i_fmIdint论坛编号主键 自增2f_fmNamevarchar(50)论坛名称非空3f_fmVersionvarchar(50)论坛版本4f_fmSuperAdminvarchar(255)超级管理员5f_i_fmUserNumint论坛用户数6f_i_fmMaxOnlNumint最多在线人数7f_i_fmBoardNumint论坛版块数8f_i_fmMaxPostNumint最大发帖数9f_i_fmTopicNumPint单页主题数10f_i_fmPostNumPint单页帖子数11f_i_fmTodayPNumint今日发帖数12f_i_fmYedayPNumint昨日发帖数13f_i_fmTopNumint论坛置顶数14f_i_fmBestNumint论坛精华数15f_fmBadWordsvarchar(255)过滤词16f_fmLockIPvarchar(30)锁定的IP17f_fmCookiesPathvarchar(50)Cookie存储路径5 详细设计与实现由于篇幅所限,下面仅对本系统中较为重要的几个模块进行详细设计与实现的具体阐述。5.1 注册模块(1)用户注册模块的工作流程由于在本论坛系统中,可以通过用户名区别不同的用户,如果在注册时输入的用户名已被注册,则系统会弹出提示框“该用户名已注册”,用户需另起一名重新注册。如果用户输入的密码与确认密码不相符,则系统会弹出提示框“两次密码不一致”,用户需核对后再次填写。如果在注册时用户输入的邮箱格式不对,则系统弹出提示框“此邮箱格式不合法”,用户需核对后再次填写。如果用户提交时,系统审核通过,则弹出提示框“注册成功”,并跳转至首页。用户注册模块流程图如图5_1所示。开始用户名是否已被注册两次密码是否一致邮箱是否合法注册成功返回首页注册失败继续注册结束是否否是是否图5_1 用户注册模块流程图(2)用户注册模块的部分实现代码及效果图部分实现代码如图5_2所示。图5_2 用户注册模块部分代码效果图如图5_3所示。图5_3 新用户注册页面5.2 登录模块(1)用户登录模块的工作流程当用户进入本论坛首页时,可在首页左侧进行登录操作。倘若用户名或密码为空,则系统弹出提示框“用户名或密码不能为空”,用户需核对后重新填写。倘若用户名与密码与数据库中的数据不相符,则系统弹出提示框“您输入的用户名或密码有误”,用户需核对后重新填写。倘若用户名与密码与数据库中的数据相符,则系统自动跳转至登录成功界面。用户登录模块流程图如图5_4所示。开始用户名或密码为空用户名和密码是否匹配是否是登录成功重新填写否结束图5_4 用户登录模块流程图(2)用户登录模块的部分实现代码与效果图部分实现代码如图5_5所示。图5_5 用户登录模块部分代码效果图如图5_6所示。图5_6 老用户登录页面5.3 用户通信模块(1)联系其他用户模块的工作流程成功登录本论坛系统的用户,如果需要与其他用户进行沟通交流,则可以在论坛首页左侧点击“我的短消息”链接,进入我的短消息页面,再点击“发送短消息”按钮,进入发送短消息的页面。在该页面中,用户需要填写收信人的信息,以及短消息的标题以及内容。当用户点击“发送”按钮时,系统会对用户提交的信息进行审核。如果收信人、标题或内容为空,则系统会自动提示用户“收信人、标题或内容不能为空”,用户需将信息完善。如果用户填写的收信

温馨提示

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

评论

0/150

提交评论