




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连交通大学2011届本科生毕业设计(论文)第一章 绪论1.1 背景与意义BBS(Bulletin Board Service,公告牌服务)是Internet上的一种电子信息服务系统,它提供一块公共电子白板,每个用户都可以在上面书写,并且可发布信息或提出看法。大部分BBS由教育机构、研究机构或商业机构管理,象日常生活中的黑板报一样,电子公告牌按不同的主题,分主题分成很多个布告栏。布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。同样地,别人对你的观点的回应也是很快的。如果需要独下的交流,也可以将想说的话直接发到某个人的电子信箱中,如果想与正在使用的某个人聊天,可以启动聊天程序加人闲谈者的行列。虽然谈话的双方素不相识,却可以亲近地交谈。在BBS里,人们之间的交流打破了空间、时间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌、健康状况,而这些条件往往是人们在其他交流形式中无可回避的。同样地,也无从知道交谈的对方的真实社会身份。这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。这对于现有的所有其他交流方式来说是不可能的。目前国内的BBS已经十分普遍,可以说是不计其数,其中BBS大致可以分为5类:1、校园BBS CERNET建立以来,校园BBS恨快地发展了起来。目前很多大学都有了BBS,几乎遍及全国上下,像清华大学、北京大学等等都建立了自己的BBS系统。清华大学的水木清华很受学生和网民们的喜爱。2、商业BBS站,这里主要是进行有关商业的商业宣传、产品推荐等等。目前手机的商业站、电脑的商业站、房地产的商业站比比皆是。 3、专业BBS站,这里所说的专业BBS主要用于建立地域性的文件传输和信息发布系统。4、情感BBS,主要用于交流情感,是许多娱乐网站的首选。 5、个人BBS,有些个人主页的制作者们在自己的个人主页上建设了BBS,用于接受别人的想法,更有利于与好友进行沟通。系统主要分为前台和后台。前台包括查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台是管理界面,主要包括论坛类别的管理版面管理和用户管理的操作。1.2 开发方法本次设计的论坛管理系统是一个基于JSP语言的小型网络论坛系统,它具有一般BBS的基本功能,如用户注册、登陆、发帖、回帖、看帖、查找帖子,以及管理人员对BBS的各种管理功能。这所有的操作都在用户的客户端的浏览器中完成,由JSPWeb程序处理后,对服务器的数据库进行操作,再处理成HTML文件传到用户客户端浏览器,响应用户的需求。整个系统采用的是web体系,科学的开发过程对系统的完整性和精确性将有很大的影响。本系统采用了Struts框架进行开发,Struts框架实现了MVC设计思想,所以应用该框架,使得开发的程序层次结构清晰,便于功能的扩展和后期的维护。因此,这次开发系统的过程严格遵循的软件工程的设计思想,从需求分析到过程设计都有详细的记录,使得系统高度模块化,可读性、可重用性以及可维护性好。1.2.1 JAVA和JSP技术简介1、将内容的生成和显示进行分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans 中,所以 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器 端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans 组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。2、可重用组件大多数 JSP 页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在现有的技能和优化结果的开发努力中得到平衡。3、采用标识Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的 XML 标识中进行动态内容生成所需要的。标准的 JSP 标识能够访问和实例化JavaBeans 组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。4、适应平台几乎所有平台都支持 Java,JSP几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP 甚至不用重新编译,因为Java 字节码都是标准的与平台无关的。5、数据库连接Java 中连接数据库的技术是 JDBC,Java 程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBCODBC bridge,利用此技术 Java 程序可以访问带有 JDBC 驱动程序的数据库,目前大多数数据库系统都带有 JDBC 驱动程序,所以Java 程序能访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等数据库。1.2.2 SQL Server 2005概述SQL Server 是美国Microsoft公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。Microsoft SQL Server 2005在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。Microsoft SQL Server 2005 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地位,使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。SQL Server 的主要功能:1、数据库管理功能作为数据库管理系统,SQL Server 自然应该具有数据库管理功能。Microsoft SQL Server 2005的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。2、数据仓库功能SQL Server 2005提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。SQL Server针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能。3、网络论坛SQL Server 不仅提供网络论坛所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。SQL Server2005 不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。4、完备的 Web 功能SQL Server2005允许通过HTTP协议,在 Web上进行高性能、基于标准的安全访问。基于Web的客户端拥有访问关系型数据存储和访问分析服务的能力。5、分布式数据复制功能可以将一个数据库中的数据复制到通过局域网、广域网或 Internet 网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。1.2.3 Tomcat 6.0服务器架构Tomcat 6.0由Apache 组织开发的一种常用 Web 服务器,提供 Web 服务。一种 JSP 引擎,本身具有 Web 功能,可以作为独立的 Web 服务器使用。但是,在作为 Web 服务器方面,Tomcat 处理静态 HTML 页面时不如 Apache 迅速,也没有Apache 健壮,一般选用 Tomcat 与 Apache 结合的方式,让后者对网站的静态页面的请求提供服务,而 Tomcat 作为专用的 JSP 引擎,提供 JSP 解析,得以更好的性能。1JDK 的安装与配置(1)找到 path 变量后单击编辑按钮;弹出编辑系统变量对话框。在变 量值文本框中输入“c:jdkbin”,然后单击确定按钮。同时新建 CLASSPATH 变量;(2)在系统变量选项组中单击新建按钮,在变量名文本框中输入“CLASSPATH”, 在 变量值文本框中输入“ c:jdklibtools.jar ;c:jdklibdt.jar;”然后单击确定按钮。(3)用同样的方法把 c:jdk 添加到 JAVA_HOME 环境变量中;2TOMCAT 的安装与配置在这里设默认安装目录为 c:Tomcat 安装完毕,更改环境变量,用同样的方法把 c:Tomcat 添加到 TOMCAT_HOME 环境变量中。启动 Tomcat,在浏览器 的地址下拉列表框中输入“http:/localhost:8080/”,如果看到的是在左上 方有一只可爱的小猫,则表示 Tomcat 安装成功。1.2.4 运行环境的选择信息系统是以计算机系统为核心建立的,系统硬件和软件配置是系统设计的主要内容。本系统采用目前比较流行的B/S(浏览器和/服务器端)模式,因而,硬件配置要从此模式出发。另外,由于计算机发展迅速,为将来升级的考虑,这里所提供的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。1软件环境:操作系统:采用Windows 2003或Windows XP;Web服务器:Tomcat6.0;浏览器:IE6.0以上;前台开发工具:JSP;后台开发工具:Microsoft SQL Server 2005 ,JSP;2硬件环境:服务器配置:应具有较高的配置,因为本系统服务器和客户端为一台机器,所有数据信息都保存在服务器中,各业务处理需要访问服务器端数据库。因此,配置为,CPU:Intel Core 2 Duo T6570处理器,主频2.1GHz;内存:2G;硬盘:250G;网卡:100M。第二章 系统需求分析需求分析是指理解用户需求,就软件功能与客户达成一致,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求,具有决策性、方向性、策略性的作用4。2.1 系统功能概述本系统最基本的功能是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和回复者信息,系统还需要提供用户注册和登陆的功能。只有注册的用户登陆后才能够发表和回复主题,浏览者即游客只能浏览主题信息。根据用户的需求和上面的分析,论坛需要具备以下功能:显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理。2.1.1 系统功能需求1、用户注册登陆功能,是针对服务器判定为游客身份的用户可以使用的功能。2、修改个人信息功能,已登陆的注册用户可以在论坛中修改自己个人信息。3、基本帖子操作功能,基本帖子操作功能包括浏览主题、发表主题、搜索主题和回帖。4、论坛管理功能,这个功能主要是针对论坛的管理人员,如版主和超级管理员,这个功能所包含的内容有修改版面信息、修改类别信息、修改用户权限、修改主题属性、删除主题、删除回帖和删除用户。2.1.2 用例分析UML提供了用例图用于了解用户需求,用例图强调系统的整体性,强调系统外在的功能,强调系统对使用者有什么帮助和好处,强调系统与外部的交互,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图图符如下表2-1所示:表2-1 用例图图符可视化图符名称描述系统系统边界,用例放其中 用例用例图中的用例 执行者描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例1、系统边界:通过以上功能需求分析可知,系统边界为计算机系统和数据库服务器之间。2、系统执行者:注册用户、游客、管理员、版主3、用例:显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖内容、用户注册、用户登录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理,本系统的主要用例图如图2-1所示。图2-1 论坛管理系统主要用例图2.1.3 概念层类图概念层类图主要描述应用领域中的概念,一个概念模型应独立于具体实现的软件和程序设计语言,单纯属于概念上的理解,在类描述中一般只给出主要类及主要类间关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间关系组成。类是具有相同属性和相同方法的对象的集合,基本图符如表2-2所示:表2-2 概念层类图可视化图符名称描述类具体的一个类,第一栏类名,第二栏属性,第三栏方法包一种分组机制,表示一个类图的集合关联类的对象间的关系,包括聚集关系和组成关系本系统中主要的类有根帖信息类tb_bbs、回复帖子信息类tb_bbsAnswer、版面信息类tb_board、论坛类别信息类tb_class、用户信息类tb_user,如图2.2所示的数据表之间的关系,该关系实际上反映了系统中各个实体之间的关系。当改变tb_user数据表的user_name字段时,tb_bbs数据表的bbs_sender字段也会级联更新或删除;当改变tb_board数据表的board_id字段时,tb_bbs数据表的bbs_boardID字段也会级联更新或删除;当改变tb_class数据表的class_id字段时,tb_board数据表的board_classID字段也会级联更新或删除。图2-2 网络论坛系统数据表图2.2 系统性能要求对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。2.2.1 系统灵活性说明对该网站的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:1、操作方式通俗易懂、容易上手,界面美观、大方,将Web程序转为控制台应用程序,符合用户操作习惯。2、本网站可以运行在IE6以上的所有版本;3、一个模块的改变不会影响其他的模块。2.2.2 输入输出要求能够对不完整的数据进行校验,保证数据的完整性和一致性,对特殊字符的过滤功能,输出能满足用户的需求。2.2.3 数据管理能力要求本网站采用的是SQL Server 2005数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。2.3 可行性分析可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。2.3.1 社会可行性当前社会是一个网络化的社会,网络就在人们周围无处不在,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。所以本系统具有社会可行性。2.3.2 技术可行性首先现在系统开发方法已经发展成熟,结构化、面向对象,都已经广泛使用,这使得系统开发的系统调查、系统分析、系统设计、系统实施更加规范,系统完成的更加科学。系统开发所需的硬件技术、软件开发技术、网络技术发展的非常成熟。其次网络论坛系统有以下特点:一是数据量大,要求及时查询的内容较多;二是数据处理较集中,内部数据处理量大,输出量大。三是即时处理,要不断更新最新的数据信息。基于以上三个特点,现有技术都可以达到要求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用JSP做前台,SQL Server 2005做后台来进行。前台可视化程度较高,人机交互能力较强,应用起来也较方便、直观,后台数据库功能强大,且更好的支持运行的系统。因此本系统采用三层结构,用SQL Server 2005数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;控制层采用Struts框架,Struts是Java Web开发中使用的比较热门的技术。服务器采用Tomcat服务器,它是一个开源软件。开发人员在学习了这些语言或工具之后,有能力开发本系统。 2.3.3 经济可行性对于投资费用主要包括:设备费用(计算机设备及软件配置的费用);人员费用(开发人员、运行人员、维护人员的费用);材料费用(消耗材料,如文档资料、用电,用纸等费用);其他费用(设备保养、折旧费用等)。现有的中小型网络论坛都有自身的运营经费,而且一般中小型规模的论坛都会配置电脑所以在硬件方面不必再投入;只需要在软件开发上面投入少许经费就可以了,这方面的投资网络论坛应该会愿意承担并且完全可以支付的起。同时,花费在人员培训上的费用是不会太高的。开发的系统是一个性能稳定,易于维护的系统,后期维护不会消耗大量的人力和物力,这样系统在人员方面的投资也可以支付。总之,经济可行性是指软件所带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。2.3.4 操作可行性本系统要求运行环境不高,可以在Windows 2005 Server操作系统平台上运行,Web服务器为Tomcat 6.0,数据库服务器为Microsoft SQL Server 2005,开发工具采用的MyEclipse。界面美观、易懂、容易操作、功能齐全,方便用户之间信息交流。综上所述,从经济、技术、操作可行性上来说,系统开发是完全可行的。第三章 系统概要设计系统开发工作经过需求分析阶段,已完全弄清了用户的需要,较好的解决了“做什么”的问题,建立了系统的逻辑模型。至此,本系统的开发阶段就进入了概要设计阶段,开始着手解决“怎么做”问题。也就是根据需求分析阶段所确定的系统的逻辑模型,完成系统的物理模型的设计。在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。3.1 设计目标网络论坛主要分为前台系统和后台系统两部分,前台系统:主要是用户查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台系统:主要是管理员进行论坛类别的管理版面管理和用户管理的操作。对于这个典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活的设计需求。本系统在设计时应该满足以下几个目标: 1、 采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。2、 全面展示系统所有分类的帖子,并进行分页显示。3、 给用户提供一个方便快捷的主题信息查看功能。4、 实现在线发表帖子。5、提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。6、 用户随时都可以查看自己发表的帖子。7、 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为错误。8、 系统运行稳定、安全可靠,并最大限度实现易维护性和易操作性。3.2 网络论坛业务流程图流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。流程图使用一些标准符号代表某些类型的动作,如决策用菱形框表示,具体活动用方框表示。但比这些符号规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。数据流程基本组成及符号说明如表3-1所示。表3-1 数据流图符号符号含义说明开始或结束表示系统的开始或结束行动方案在普通工作环节用数据流方向开始或结束决策表示问题判断或判定(审核/审批/评审)环节用本系统分为前后和后台,当游客进入前台页面时可以进行浏览首页、查看精华帖子、搜索根帖、查看版面下的根帖内容和用户注册,如果想要发表帖子或回复帖子,系统会判定用户是否已经登录,如果没有返回登陆界面,反之可继续进行操作。如果用户想要进行置顶帖子提前帖子设为精华帖删除根帖删除回复帖的操作,首先判定用户是否登录,符合后判定用户的权限,符合权限才可继续操作,不符合则提示无权操作,其前台系统流程图下所示:图3-1 论坛前台系统流程图在进入后台系统时,要判断用户是否登录和是否有权限进入后台,成功后可进行类别管理版面管理和用户管理,否则提示用户无权操作,其后台流程图如下所示:图3-2 论坛后台系统流程图3.3 面向数据流的设计方法系统结构设计是在对现有系统充分调查研究的基础上,采用一定的方法设计出能描述新系统物理结构的系统结构图,主要给出构成系统的模块及模块间的调用关系,表现在图中一般是用不同的层次体现的。结构化系统设计技术是在结构化程序设计思想的基础上,发展起来的一种用于复杂系统结构设计的技术,运用一套标准的设计准则和工具,采用模块的方法,进行新系统控制层次关系和模块专人分解设计,把用数据流程图表示的系统逻辑模型转变为用HIPO图表示的系统层次模块结构。结构化系统设计的核心是模块分解设计,模块化显著提高了系统的可修改性和可维护性,同时,为系统设计工作的有效组织和控制提供了方便条件。按照功能划分模块,对照数据流图,对本系统进行逐个级别的功能分解。3.3.1 系统层次图(H图)层次图(Hierarchy Chart图)简称HC图或H图,用于表示软件模块的分层结构,一般与IPO表一起使用,形成HIPO图。系统后台H图如图3-3所示,系统主要分为前台和后台。前台包括查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台是管理界面,主要包括论坛类别的管理版面管理和用户管理的操。图3-3 网络论坛系统后台功能结构图图3-4 网络论坛系统前台功能结构图3.4 系统数据库设计数据库设计是管理信息系统的重要组成部分。数据库设计是对于一个既定的环境,进行符合应用语义的逻辑设计,以及提供一个确定存储结构和物理设计,建立实现系统目标,并能有效存取数据和数据模型。建立良好的数据库结构和文件组织形式,使系统能快速、准确的获得所需信息是评价系统的主要指标。因此,是管理信息系统的重要组成部分。数据库设计的核心问题是设计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便。目前,微机数据库多采用关系型数据库模型。这里采用SQL Server 关系数据库。该数据库对行增、删、编辑、统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。3.4.1 数据库设计原则1、数据的共享性。2、数据独立性。3、数据的完整性,即保证数据库存中数据准确。4、灵活性,可在相当短的时间内回答用户的各种各样的复杂而灵活的查询问题。5、安全性与保密性,做到对数据指定保护级别和安全控制。3.4.2 数据库概念结构设计概念模型的表示方法很多,其中最为著名最为常用的是E-R图。简单的说,E-R图用来分析数据关系的。下面具体列出网上商城购物系统主要的实体图及E-R图。根帖实体图如图3-5所示:主要属性有编号、所属版面、标题、内容、发布者、发布时间、表情、对帖子进行操作的时间、是否为置顶帖子、被置顶的时间、是否为精华帖子和被设置为精华帖子的时间。其中是否为置顶帖子与是否为精华帖子属性分别用来标识帖子是否被设置为置顶或精华帖子,1表示“是”,0表示“否”。内容跟帖是否跟帖编号所属版面标题发布时间置顶时间是否置顶精华时间发布者图3-5 根帖信息实体图头像性别用户信息表实图如图3-6所示:主要有编号、用户名、密码、头像、性别、联系方式、QQ号码、邮箱、籍贯、权限。权限分为三种:0表示普通用户,1表示版主,2表示管理员联系方式密码用户名QQ号码编号邮箱籍贯 用户权限 图3-6 用户信息实体图回复帖实体图如图3-7所示:主要有编号、根帖ID、标题、内容、回复者、回帖时间和表情属性。回复帖回复者内容根帖ID表情编号回帖时间标题图3-7 回复帖实体图版面实体图如图3-8所示:主要有编号、所属类别ID、版面名称、版主、版面公告。版面版主版面名称编号版面公告告所属类别idIDIDID图3-8 版面实体图论坛类别实体图如图3-9所示:主要有编号、类别名称、介绍。编号介绍类别名称论坛类别图3-9 论坛类别实体图3.4.3 数据库表设计根据E-R图可以对数据库进行设计,以下列出主要的数据表。根帖信息表,用于保存发布的全部根帖信息,该表具体字段如表3-2所示。表3-2 根帖信息表属性名称含义数据类型主要属性说明bbs_id帖子IDint(4)主键Not null用于自动存储帖子IDbbs_boardID所属版面IDSmallint(2)(-1)用于存储所属版面IDBbs_title帖子标题Varchar(70)null用于存储帖子标题bbs_content帖子内容Varchar(2000)null用于存储帖子内容bbs_sender帖子发布者Varchar(20)null用于存储帖子发布者bbs_sendtime帖子发布时间Datatime(8)null用于存储帖子发布时间bbs_face帖子表情Varchar(8)null用于存储帖子表情bbs_opTime帖子操作时间Datatime(8)null该操作只包括发表帖子和提前帖子,在显示非置顶帖子时,该字段降序排列bbs_isTop是否置顶Varchar(1)(0)1表示置顶帖子0表示非置顶帖bbs_isTopTime被置顶时间Datatimenull在显示置顶帖子时,按该字段降序排列bbs_isGood是否精华帖子Varchar(1)(0)1表示精华帖子0表示非精华帖bbs_isGoodTime被精华时间Datatime(8)null在显示精华帖子时,按该字段降序排列版面信息表用来保存论坛中版面信息,如表3-3所示。表3-3 版面信息表属性名称含义数据类型主要属性说明Board_id版面IDSmallint(2)主键not null用于自动存储版面IDBoard_classID所属类别IDSmallint(2) null版面所属类别的ID值Board_name版面名称Varchar(40) null用于存储版面名称Board_master版面版主Varchar(20) null用于存储版面版主Board_pcard版面公告Varchar(200) null用于存储版面公告回复帖子信息表用来保存回复帖子的信息,如表3-4所示。表3-4 回复帖子信息表属性名称含义数据类型主要属性说明BbsAnswer_id编号Int(4)主键not nullID值(自动编号)BbsAnswer _rootID根帖IDInt(4) null用于存储回复帖子的根帖IDBbsAnswer _title标题Varchar(70) null用于存储回复帖子的标题BbsAnswer _content内容Varchar(2000) null用于存储回复帖子的内容BbsAnswer _sender回复者Varchar(20) null用于存储回复帖子的回复者论坛类别信息表用来保存论坛类别信息,如表3-5所示。表3-5 论坛类别信息表属性名称含义数据类型主要属性说明Class_idID值Smallint(2)主键not null用于存储论坛类别ID值Class_name名称Varchar(40)null用于存储论坛类别名称Class_intro介绍信息Varchar(200) null用于存储论坛类别介绍信息论坛用户信息表用来保存论坛所有用户的详细信息,如表3-6所示。表3-6 用户信息表属性名称含义数据类型主要属性说明id用户IDSmallint(8)主键Not null用于自动存储用户IDuser_name名称Varchar(20)Null用于存储用户名称user_password密码Varchar(20)Null用于存储用户密码user_face头像Varchar(11)Null用于存储用户头像user_sex性别Varchar(2)Null用于存储用户性别user_phone联系方式Varchar(12)Null用于存储用户联系方式user_OICQQQ号码Varchar(14)Null用于存储用户QQ号码user_email邮箱Varchar(10)Null用于存储用户邮箱user_from籍贯Varchar(20)Null用于存储用户籍贯user_able权限Varchar(1)Null0表示普通用户1表示版主2表示管理员第四章 系统的详细设计网络论坛系统采用JSP编写,利用SQL Server 2005数据库存储信息。网页按实际需求及功能模块编写,按如下顺序详细介绍,包括前台显示设计,发表帖子模块设计,根帖操作设计和后台版面管理模块设计。4.1 代码标识设计代码设计问题是一个科学管理的问题。设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。在信息系统中,代码是人和机器的共同语言,是便于进行分类、核对、统计和检索的关键。代码设计是实现管理信息系统的关键,其目的是设计出一套为本系统各部分所共用的、优化的代码系统。代码设计的好坏,不仅直接影响到计算机进行数据处理时是否方便,是否能节省存储空间,是否能提高处理速度、效率和精度,而且还关系到系统能否实际运行起来。因此,在进行此设计之前,要设计出适合新系统的代码体系。代码设计可以使很多机器处理(如某些统计、校对查询等)变得十分方便。4.2 代码设计原则1唯一性:每个代码仅代表唯一的实体或属性6。2标准化:尽可能用国际、国家或行业标准,以便交换与维护。3合理性:代码结构要合理,尽量反映编码对象的特征,并与事物分类体系相适应, 以以便代码具有分类的标识作用。4易识别性:代码既要便于管理人员使用时的识别与记忆又要便于计算机的识别和分类。5可扩展性与灵活性:代码系统要考虑系统的发展变化。当增加新的实体或属性时,直接利用源代码加以扩充,而不需要变动代码系统。6实用性:尽量使用业务上已经使用的且行之有效的代码,方便使用。7可扩充性:代码设计时要留有余地,在将来系统发展与变化时可直接利用原代码体系加以追加,而不需要变动原代码体系。4.3 系统主要功能流程及模块4.3.1 前台显示设计论坛的前台显示主要包括:首页面的论坛类别显示、某版面下根帖的列表显示、我的帖子的列表显示、精华帖子的列表显示、搜索后根帖的列表显示和根帖与回复帖内容的详细显示。图4-1 论坛首页面类别显示首页面的论坛类别显示,首先通过Struts中的logic标签库中的iterate标签遍历存储在session范围里的List集合对象,该List集合对象是在处理用户访问论坛首页面时的请求处理类中实现的,其中存储的是封装了论坛类别信息的ActionForm;然后再使用bean标签库中的write标签输出从list集合对象中遍历出的ActionForm中的属性信息,即可实现论坛类别的显示。使用IndexAction类,调用OpClassListShow()方法和OpBoardListShow()方法获取论坛类别和版面信息。主要代码如下:HttpSession session=request.getSession();OpDB myOp=new OpDB();/创建业务对象List classType=myOp.OpClassListShow();/查询数据表,获取所有论坛类别if(classType!=null&classType.size()!=0)for(int i=0;iclassType.size();i+)String classID=(ClassForm)classType.get(i).getClassId();/获取当前论坛类别IDString sql=select * from tb_board where board_classID=?;Object params=classID;List oneboardlist=myOp.OpBoardListShow(sql,params);/获取当前论坛类别下所有版面session.setAttribute(class+classID,oneboardlist);/存储版面session.setAttribute(classType,classType); /保存论坛类别实现此过程主要代码:在遍历论坛存储论坛类别的list集合对象的iterate标签中,嵌套另一个iterate标签来遍历并输出当前论坛类别中的版面。logic:present name=class$classSingle.classId/获取当前论坛类别的ID值帖子总数:精华帖子:未 回 复:版主:图4-3 根帖显示(改)根帖与回复帖内容的详细显示,可通过根帖的ID查询数据表获取根帖的信息后封装到ActionForm中,然后存储到session对象中,在返回JSP页面后通过bean标签库中的write标签输出。实现显示根帖的回复帖,同样可通过根帖的ID值查询回复帖数据来获取,最后获取的是一个List集合对象,集合中的灭一个元素封装了回复帖信息的ActionForm,将该List集合对象存储在session对象内,在返回到JSP页面后,通过logic标签库中的iterator标签遍历输出。实现此过程主要代码如下:【主题】 4.3.2 发表帖子模块设计图4-4 用户发表帖子显示用户进行发表帖子,首先进行登录成功后,进行输入内容,才可完成发表帖子的功能。发表帖子模块使用了Validator框架验证表单,由开发人员自行设置验证规则。发表帖子时需要用户输入的信息有根帖标题、根帖表情和根帖内容,最后执行SQL语句完成发表帖子的操作,其主要代码有:/传递调用的方法/传递是否进行表单验证的参数/输出验证主题失败的提示信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年抗血小板药项目建议书
- 康复医学科工作总结计划
- 2025-2030中国金融行业市场深度调研及竞争格局与投资发展潜力研究报告
- 2025-2030中国钙片行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国量子点增强膜显示器行业市场发展趋势与前景展望战略分析研究报告
- 2025-2030中国重力辊道输送机行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国道路工程机械行业市场深度调研及竞争格局与投资研究报告
- 2025-2030中国运输包装行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国超分散剂行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国贵铁合金行业市场发展趋势与前景展望战略研究报告
- 《加强基层工会组织建设 规范基层工会换届选举》课件
- 职工代表提案培训
- 轧钢工技能理论考试题库(含答案)
- 精益六西格玛黄带认定考试题库及答案
- 《回归分析》 课件 第1章 绪论
- 2024年资格考试-对外汉语教师资格证考试近5年真题集锦(频考类试题)带答案
- 2024-2025学年上海黄浦区高三下学期第一次考试化学试题含解析
- 第十六届全国水利职业院校技能大赛(智能节水系统设计与安装)理论考试题库(含答案)
- 甘肃省科研经费管理办法
- 【课件收藏】幼儿园《古朗月行》教学课件
- 电气自动化行业中的职业生涯规划书
评论
0/150
提交评论