BBS论坛毕业设计论文

上传人:沈*** 文档编号:149090738 上传时间:2022-09-06 格式:DOC 页数:59 大小:1.55MB
收藏 版权申诉 举报 下载
BBS论坛毕业设计论文_第1页
第1页 / 共59页
BBS论坛毕业设计论文_第2页
第2页 / 共59页
BBS论坛毕业设计论文_第3页
第3页 / 共59页
资源描述:

《BBS论坛毕业设计论文》由会员分享,可在线阅读,更多相关《BBS论坛毕业设计论文(59页珍藏版)》请在装配图网上搜索。

1、基于JSP的计算机技术交流论坛系统的设计与实现Abstract摘 要进入二十一世纪,计算机技术迅速向着网络化、集成化方向发展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件。BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”, BBS在国内一般称作网络论坛。BBS作为一种新兴的网络版应用软件,在交友互动、商业、新闻报道上都有广泛的应用前景,1978年在美国芝加哥开发出一套基于8080芯片的CBBS/Chicago,此乃最早的一套BBS系统。国内大约是从1991年开始,开始了第一个BBS站。经过

2、长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。1996年更是以惊人的速度发展起来。在计算机网络飞速发展的今天,BBS已经成为人们网上交流的重要平台,因此对BBS的研究是十分必要的。本文就是基于Web技术,采用软件工程的结构化开发方法,设计和开发了一个简单实用的网上论坛。本文详细记录了整个论坛的开发过程,包括系统的分析阶段、设计阶段、测试阶段和实施阶段,并通过文字、图形和表格的形式,详细介绍了这个网络论坛的整体架构和设计特点。本论坛采用目前最流行的JSP技术,结合数据库技术,开发出了这个伸缩性好,扩展性强,能兼容、易维护、界面美观,功能实用的BBS系统。关

3、键词:网络论坛;BBS;JSP技术;数据库;Web技术;软件工程目录AbstractInto the 21st century, computer technology rapidly towards network-based, integrated direction. Traditional stand-alone application software is gradually leave the stage, replaced by support networks to support multiple data (multimedia) version of a new gen

4、eration of Web applications.BBS English full name is the Bulletin Board System, is the Chinese translation of electronic Bulletin Board, BBS in domestic generally called network BBS.The rapid development of computer networks today, BBS has become an important platform for online communication, so BB

5、S research is very necessary. This article is based on Web technology, using software engineering, structured development methods, design and develop a simple and practical on-line forum. This paper records the entire development process of the Forum, including the system analysis phase, design phas

6、e, testing and implementation stages, and through text, graphics and tabular form, detailing the overall structure of the network forum, and design features. The most popular forum using JSP technology, combined with database technology to develop this flexibility is good, extensible, compatible, ea

7、sy to maintain, attractive interface, features practical BBS systems.Keyword:Forum;BBS;JSP Technology;Database;Web Technology;Software Engineering目录摘 要IAbstractII引 言1第一章 系统概要31.1 背景与意义31.2 开发方法41.2.1 JAVA和JSP技术简介41.2.2 SQL Server 2005概述51.2.3 Tomcat 6.0服务器架构61.2.4 运行环境的选择6第二章 系统需求分析82.1 系统功能概述82.1.1

8、 系统功能需求82.1.2 用例分析82.1.3 概念层类图102.2 系统性能要求112.2.1 系统灵活性112.2.2 输入输出要求122.2.3 数据管理能力要求122.3 可行性分析122.3.1 社会可行性122.3.2 技术可行性122.3.3 经济可行性132.3.4 操作可行性13第三章 系统概要设计143.1 设计目标143.2 网络论坛数据流图153.3 面向数据流的设计方法163.3.1 系统层次图(H图)173.4 系统数据库设计183.4.1 数据库设计原则183.4.2 数据库概念结构设计193.4.3数据库表设计20第四章 系统的详细设计234.1 代码标识设计

9、234.2 代码设计原则234.3 系统主要功能流程及模块244.3.1 前台显示设计244.3.2 发表帖子模块设计284.3.3 根帖操作设计294.3.4 搜索帖子操作设计314.3.5 用户注册操作设计324.4 论坛后台管理模块设计334.4.1 论坛版面管理334.4.2 论坛类别管理374.4.3 论坛用户管理40第五章 系统测试435.1 程序的测试方法435.2 软件的功能测试445.2.1 链接测试445.2.2 功能模块测试455.2.3 验证功能模块测试465.3 软件的可用性测试46结 论48致 谢49参考文献50附录 附录清单A51附录 附录清单B57引言引 言伴随

10、着计算机技术的发展,人们生活水平的提高,传统的社交方式越来越难以满足人们的需要。而现在,随着中国的网名人数迅速增加,地区的信息网络化越来越普及,人们更愿意借助网络这种全新的方式来交流,于是网络论坛便应运而生。网络论坛一般就是大家口中常提的BBS。什么是BBS呢,BBS的英文全称是Bulletin Board System,翻译为中文就是“电子公告板”。它是Internet上的一种电子信息服务系统。在较早的时期,BBS仅仅是提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。象日常生活中的黑板报一样,电子公告牌按不同的主题、分成很多个布告栏,布告栏的设立的依据是大多数BBS使用

11、者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法(几秒钟前别人刚发布过的观点),也可以将自己的想法毫无保留地贴到公告栏中。现在,BBS可以说是一种极为常见的互动交流服务系统。大家不仅可以在此发表自己的想法,交流技术、经验以及人生的感悟,也可以作为用户与商家交流的渠道,商家可以开设BBS作为售后服务信息收集和反馈中心,在此回答用户提出的问题式发布消息。在web2.0时代到来的大环境下,BBS即将朝着两个方向发展:一是朝着即时性发展,随着信息产生和更新的速度越来越快,人们对信息的需求越来越大,对获取信息方式的要求越来越高,这便要求了BBS需要具有越来越高的即时性。现在动态网站出现的新技术A

12、jax,可以不需要刷新页面就可以更新数据,这就使得web站点看起来是即时响应的。二是朝着图形化方向发展,由于使用BBS进行交流的用户越来越多,这就要求BBS必须得有富有特色的,友好的界面来吸引来自天南海北的朋友的目光。图形虚拟社区可以非常具体和形象化地模拟整个现实社区的生活,并且具备无限的可扩充性。随着人们生活水平的不断提高,在家里,在宿舍,在办公室,上网已经不是什么很困难的事情,通过BBS,人们可以参与各种自己自己喜欢的话题,与志同道合的朋友一起交流心得,特别是对于IT技术人员,BBS更是一个非常重要的学习交流的场所。本文讨论的便是一个基于JSP语言的中型网络论坛系统,它具有一般BBS的基本

13、功能,如用户注册、登陆、发帖、回帖、看帖、查找帖子,以及管理人员对BBS的各种管理功能。这所有的操作都在用户的客户端的浏览器中完成,由JSPWeb程序处理后,对服务器的数据库进行操作,再处理成HTML文件传到用户客户端浏览器,响应用户的需求。整个系统采用的是web体系,科学的开发过程对系统的完整性和精确性将有很大的影响。因此,这次开发系统的过程严格遵循的软件工程的思想,从需求分析到过程设计都有详细的记录,使得系统高度模块化,可读性、可重用性以及可维护性好。本文中共分5章。第一章绪论,主要讲网上论坛的背景、意义,开发方法及开发工具简介;第二章系统需求分析,主要讲系统功能需求、性能需求及可行性分析

14、;第三章概要设计,主要介绍系统工作流程、功能结构图及数据库表设计;第四章详细设计,主要讲各个功能的工作流程及具体的实现过程。第五章系统测试,主要介绍系统使用的测试方法及测试用例并计算系统的稳态可用性。每章附有本章重点介绍的功能图例及详细讲解,帮助理解系统的各部分功能。54第1章 系统概要第1章 系统概要1.1 背景与意义BBS(Bulletin Board Service,公告牌服务)是Internet上的一种电子信息服务系统,它提供一块公共电子白板,每个用户都可以在上面书写,并且可发布信息或提出看法。大部分BBS由教育机构、研究机构或商业机构管理,象日常生活中的黑板报一样,电子公告牌按不同的

15、主题,分主题分成很多个布告栏。布告栏的设立的依据是大多数BBS使用者的要求和喜好,使用者可以阅读他人关于某个主题的最新看法,也可以将自己的想法毫无保留地贴到公告栏中。同样地,别人对你的观点的回应也是很快的。如果需要独下的交流,也可以将想说的话直接发到某个人的电子信箱中,如果想与正在使用的某个人聊天,可以启动聊天程序加人闲谈者的行列。虽然谈话的双方素不相识,却可以亲近地交谈。在BBS里,人们之间的交流打破了空间、时间的限制。在与别人进行交往时,无须考虑自身的年龄、学历、知识、社会地位、财富、外貌、健康状况,而这些条件往往是人们在其他交流形式中无可回避的。同样地,也无从知道交谈的对方的真实社会身份

16、。这样,参与BBS的人可以处于一个平等的位置与其他人进行任何问题的探讨。这对于现有的所有其他交流方式来说是不可能的。目前国内的BBS已经十分普遍,可以说是不计其数,其中BBS大致可以分为5类:(1)校园BBS CERNET建立以来,校园BBS恨快地发展了起来。目前很多大学都有了BBS,几乎遍及全国上下,像清华大学、北京大学等等都建立了自己的BBS系统。清华大学的水木清华很受学生和网民们的喜爱。(2)商业BBS站,这里主要是进行有关商业的商业宣传、产品推荐等等。目前手机的商业站、电脑的商业站、房地产的商业站比比皆是。 (3)专业BBS站,这里所说的专业BBS主要用于建立地域性的文件传输和信息发布

17、系统。(4)情感BBS,主要用于交流情感,是许多娱乐网站的首选。 (5)个人BBS,有些个人主页的制作者们在自己的个人主页上建设了BBS,用于接受别人的想法,更有利于与好友进行沟通。系统主要分为前台和后台。前台包括查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台是管理界面,主要包括论坛类别的管理版面管理和用户管理的操作。1.2 开发方法本次设计的论坛管理系统是一个基于JSP语言的小型网络论坛系统,它具有一般BBS的基本功能,如用户注册、登陆、发帖、回帖、看帖、查找帖子,以及管理人员对BBS的各种管理功能。这所有的操作都在用户的客

18、户端的浏览器中完成,由JSPWeb程序处理后,对服务器的数据库进行操作,再处理成HTML文件传到用户客户端浏览器,响应用户的需求。整个系统采用的是web体系,科学的开发过程对系统的完整性和精确性将有很大的影响。本系统采用了Struts框架进行开发,Struts框架实现了MVC设计思想,所以应用该框架,使得开发的程序层次结构清晰,便于功能的扩展和后期的维护。因此,这次开发系统的过程严格遵循的软件工程的设计思想,从需求分析到过程设计都有详细的记录,使得系统高度模块化,可读性、可重用性以及可维护性好。1.2.1 JAVA和JSP技术简介1、将内容的生成和显示进行分离用JSP技术,Web页面开发人员可

19、以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans 中,所以 Web 管理人员和页面设计者,能够编辑和使用 JSP 页面,而不影响内容的生成。在服务器 端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans 组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏

20、览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。2、可重用组件大多数 JSP 页面依赖于可重用的、跨平台的组件(JavaBeans)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在现有的技能和优化结果的开发努力中得到平衡。3、采用标识Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的 XML 标识中进行动态内容生成所需要的。标准的 JSP 标识能够访问和实例化JavaB

21、eans 组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。4、适应平台几乎所有平台都支持 Java,JSP几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP 甚至不用重新编译,因为Java 字节码都是标准的与平台无关的。5、数据库连接Java 中连接数据库的技术是 JDBC,Java 程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等操作。Sun 公司还开发了 JDBCODBC bridge,利用此技术 Java 程序可以访问带有 JDBC 驱动程序的数据库,目前大多数数据库系统都带有 JDBC 驱动程序,所以Java 程序能

22、访问诸如 Oracle、Sybase、MS SQL Server 和 MS Access 等数据库。1.2.2 SQL Server 2005概述SQL Server 是美国Microsoft公司开发的一个关系型数据库管理系统,是目前世界上最著名的关系数据库管理系统之一。Microsoft SQL Server 2005在性能和可扩展方面确立了世界领先的地位,是一套完全的数据库和数据分析解决方案,使用户可以快速创建下一代的可扩展电子商务和数据仓库解决方案。Microsoft SQL Server 2005 在数据库服务器自动调整和自动管理技术方面在数据库领域中处于领先地位,使客户可以集中精力处

23、理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。SQL Server 的主要功能:1、数据库管理功能作为数据库管理系统,SQL Server 自然应该具有数据库管理功能。Microsoft SQL Server 2005的数据库由包含数据的表集合和其他对象(如视图、索引、存储过程和触发器)组成,目的是为执行与数据有关的活动提供支持。存储在数据库中的数据通常与特定的主题或过程相关。数据仓库功能SQL Server 2005提供了一套全新的综合分析服务系统。分析服务为商业活动提供了集成的OLAP服务和数据挖掘功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。

24、数据挖掘功能能够揭示出隐藏在大量数据中的倾向及趋势。SQL Server针对包括集成数据挖掘、OLAP服务、安全性服务及通过Internet对多维数据集进行访问和链接分析提供新的数据仓库功能。网络论坛SQL Server 不仅提供网络论坛所需的可伸缩性与可扩展性之外,还提供了丰富的数据库编程能力,以确保系统的协同工作和灵活性。SQL Server2005 不仅支持集中化数据库管理功能,而且还最大程度地实现了管理与优化工作的自动化,从而,减轻了有关管理人员的负担。完备的 Web 功能SQL Server2005允许通过HTTP协议,在 Web上进行高性能、基于标准的安全访问。基于Web的客户端拥

25、有访问关系型数据存储和访问分析服务的能力。分布式数据复制功能可以将一个数据库中的数据复制到通过局域网、广域网或 Internet 网络连接的不同地点服务器或同一服务器中的不同数据库中,并能够自动保持这些数据同步,使各个数据库中具有相同的数据。1.2.3 Tomcat 6.0服务器架构Tomcat 6.0由Apache 组织开发的一种常用 Web 服务器,提供 Web 服务。一种 JSP 引擎,本身具有 Web 功能,可以作为独立的 Web 服务器使用。但是,在作为 Web 服务器方面,Tomcat 处理静态 HTML 页面时不如 Apache 迅速,也没有Apache 健壮,一般选用 Tomc

26、at 与 Apache 结合的方式,让后者对网站的静态页面的请求提供服务,而 Tomcat 作为专用的 JSP 引擎,提供 JSP 解析,得以更好的性能。1JDK 的安装与配置(1)找到 path 变量后单击编辑按钮;弹出编辑系统变量对话框。在变 量值文本框中输入“c:jdkbin”,然后单击确定按钮。同时新建 CLASSPATH 变量;(2)在系统变量选项组中单击新建按钮,在变量名文本框中输入“CLASSPATH”, 在 变量值文本框中输入“ c:jdklibtools.jar ;c:jdklibdt.jar;”然后单击确定按钮。(3)用同样的方法把 c:jdk 添加到 JAVA_HOME

27、环境变量中;2TOMCAT 的安装与配置在这里设默认安装目录为 c:Tomcat 安装完毕,更改环境变量,用同样的方法把 c:Tomcat 添加到 TOMCAT_HOME 环境变量中。启动 Tomcat,在浏览器 的地址下拉列表框中输入“http:/localhost:8080/”,如果看到的是在左上 方有一只可爱的小猫,则表示 Tomcat 安装成功。1.2.4 运行环境的选择信息系统是以计算机系统为核心建立的,系统硬件和软件配置是系统设计的主要内容。本系统采用目前比较流行的B/S(浏览器和/服务器端)模式,因而,硬件配置要从此模式出发。另外,由于计算机发展迅速,为将来升级的考虑,这里所提供

28、的硬件设备要比能够运行该系统所需要的最低硬件标准高出一些。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。第2章 系统需求分析第二章 系统需

29、求分析需求分析是指理解用户需求,就软件功能与客户达成一致,需求分析的任务就是解决“做什么”的问题,就是要全面地理解用户的各项要求,并准确地表达所接受的用户需求,具有决策性、方向性、策略性的作用4。2.1 系统功能概述本系统最基本的功能是发表主题,其次是其他人员根据主题发表自己的看法。此外,为了记录主题的发表者和回复者信息,系统还需要提供用户注册和登陆的功能。只有注册的用户登陆后才能够发表和回复主题,浏览者即游客只能浏览主题信息。根据用户的需求和上面的分析,论坛需要具备以下功能:显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖内容、用户注册、用户登录

30、、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理。2.1.1 系统功能需求1、用户注册登陆功能,是针对服务器判定为游客身份的用户可以使用的功能。2、修改个人信息功能,已登陆的注册用户可以在论坛中修改自己个人信息。3、基本帖子操作功能,基本帖子操作功能包括浏览主题、发表主题、搜索主题和回帖。4、论坛管理功能,这个功能主要是针对论坛的管理人员,如版主和超级管理员,这个功能所包含的内容有修改版面信息、修改类别信息、修改用户权限、修改主题属性、删除主题、删除回帖和删除用户。2.1.2 用例分析UML提供了用例图用于了解用户需求,用例图强调系统的整体性,强调系统外在的功能,强调系统对使用

31、者有什么帮助和好处,强调系统与外部的交互,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图图符如下表2.1所示:表2.1 用例图图符可视化图符名称描述系统系统边界,用例放其中 用例用例图中的用例 执行者描述与系统功能有关的外部实体,可以是用户,也可以是外部系统关联连接执行者和用例1、系统边界:通过以上功能需求分析可知,系统边界为计算机系统和数据库服务器之间。2、系统执行者:注册用户、游客、管理员、版主3、用例:显示各论坛类别及版面、查看版面下所有根帖、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖内容、用户注册、用户登

32、录、发表帖子、回复帖子、进入后台、论坛类别管理、版面管理和用户管理,本系统的主要用例图如图2.1所示。图2.1 论坛管理系统主要用例图2.1.3 概念层类图概念层类图主要描述应用领域中的概念,一个概念模型应独立于具体实现的软件和程序设计语言,单纯属于概念上的理解,在类描述中一般只给出主要类及主要类间关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间关系组成。类是具有相同属性和相同方法的对象的集合,基本图符如表2.2所示:表2.2 概念层类图可视化图符名称描述类具体的一个类,第一栏类名,第二栏属性,第三栏方法包 一种分组机制,表示一个类图的集合关联类的对象间的关系,

33、包括聚集关系和组成关系本系统中主要的类有根帖信息类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_cl

34、assID字段也会级联更新或删除。图2.2 网络论坛系统数据表图2.2 系统性能要求对系统性能的要求包括对系统时间规定,灵活性,输入输出,数据管理能力,故障处理要求和运行环境规定等的要求。2.2.1 系统灵活性说明对该网站的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:1、操作方式通俗易懂、容易上手,界面美观、大方,将Web程序转为控制台应用程序,符合用户操作习惯。2、本网站可以运行在IE6以上的所有版本;3、一个模块的改变不会影响其他的模块。2.2.2 输入输出要求能够对不完整的数据进行校验,保证数据的完整性和一致性,对特殊字符的过滤功能,输出能满足用户的需求。2.2

35、.3 数据管理能力要求本网站采用的是SQL Server 2005数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,数据及其分量的存储量为10G,但能保证注册的用户都能登录进来,没有延时。2.3 可行性分析可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。这是保证正确投资的必要工作,从项目的审批程序上看这也是必不可少的一步。信息系统开发项目是一项复杂的高科技系统工程,可行性分析也是必不可少的,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统

36、设计方案有以下三个可行性。2.3.1 社会可行性当前社会是一个网络化的社会,网络就在人们周围无处不在,人们从网络上获取并发布信息,而本系统正是应这一需求而产生,为企业,个人发布,获取有价值的信息提供场所。所以本系统具有社会可行性。2.3.2 技术可行性首先现在系统开发方法已经发展成熟,结构化、面向对象,都已经广泛使用,这使得系统开发的系统调查、系统分析、系统设计、系统实施更加规范,系统完成的更加科学。系统开发所需的硬件技术、软件开发技术、网络技术发展的非常成熟。其次网络论坛系统有以下特点:一是数据量大,要求及时查询的内容较多;二是数据处理较集中,内部数据处理量大,输出量大。三是即时处理,要不断

37、更新最新的数据信息。基于以上三个特点,现有技术都可以达到要求的目标。在单机环境下组建管理信息系统,该系统的开发工作可以采用JSP做前台,SQL Server 2005做后台来进行。前台可视化程度较高,人机交互能力较强,应用起来也较方便、直观,后台数据库功能强大,且更好的支持运行的系统。因此本系统采用三层结构,用SQL Server 2005数据库作为后台数据库,安装和使用简单易学,方便操作;前台页面采用JSP动态页面,JSP相比ASP、PHP都有很大的优势;控制层采用Struts框架,Struts是Java Web开发中使用的比较热门的技术。服务器采用Tomcat服务器,它是一个开源软件。开发

38、人员在学习了这些语言或工具之后,有能力开发本系统。 2.3.3 经济可行性对于投资费用主要包括:设备费用(计算机设备及软件配置的费用);人员费用(开发人员、运行人员、维护人员的费用);材料费用(消耗材料,如文档资料、用电,用纸等费用);其他费用(设备保养、折旧费用等)。现有的中小型网络论坛都有自身的运营经费,而且一般中小型规模的论坛都会配置电脑所以在硬件方面不必再投入;只需要在软件开发上面投入少许经费就可以了,这方面的投资网络论坛应该会愿意承担并且完全可以支付的起。同时,花费在人员培训上的费用是不会太高的。开发的系统是一个性能稳定,易于维护的系统,后期维护不会消耗大量的人力和物力,这样系统在人

39、员方面的投资也可以支付。总之,经济可行性是指软件所带来的经济效益与开发设计所需要的投资费用相比较是否适当,软件是否会给使用者带来经济效益。首先随着计算机软件和硬件技术的飞速发展,计算机软、硬件价格不断下降,设计本系统所投入的资金下降。与使用本系统为企业发布、获取信息所节省的价值相比,应用本系统带来的收益较大,经济效益可观,所以在经济上是可行的。2.3.4 操作可行性本系统要求运行环境不高,可以在Windows 2005 Server操作系统平台上运行,Web服务器为Tomcat 6.0,数据库服务器为Microsoft SQL Server 2005,开发工具采用的MyEclipse。界面美观

40、、易懂、容易操作、功能齐全,方便用户之间信息交流。综上所述,从经济、技术、操作可行性上来说,系统开发是完全可行的。第3章 系统概要设计第3章 系统概要设计系统开发工作经过需求分析阶段,已完全弄清了用户的需要,较好的解决了“做什么”的问题,建立了系统的逻辑模型。至此,本系统的开发阶段就进入了概要设计阶段,开始着手解决“怎么做”问题。也就是根据需求分析阶段所确定的系统的逻辑模型,完成系统的物理模型的设计。在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。3.1

41、设计目标网络论坛主要分为前台系统和后台系统两部分,前台系统:主要是用户查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台系统:主要是管理员进行论坛类别的管理版面管理和用户管理的操作。对于这个典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活的设计需求。本系统在设计时应该满足以下几个目标: (1) 采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。(2) 全面展示系统所有分类的帖子,并进行分页显示。(3) 给用户提供一个方便快捷的主题信息查看

42、功能。(4) 实现在线发表帖子。(5) 提供登录模块,主要用于管理员登录系统和发表帖子时留下发表者的信息。(6) 用户随时都可以查看自己发表的帖子。(7) 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为错误。(8) 系统运行稳定、安全可靠,并最大限度实现易维护性和易操作性。3.2 网络论坛业务流程图流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。流程图使用一些标准符号代表某些类型的动作,如决策用菱形框表示,具体活动用方框表示。但比这些符号

43、规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。数据流程基本组成及符号说明如表3.1所示。表3.1 数据流图符号符号含义说明开始或结束表示系统的开始或结束行动方案在普通工作环节用数据流方向开始或结束决策表示问题判断或判定(审核/审批/评审)环节用本系统分为前后和后台,当游客进入前台页面时可以进行浏览首页、查看精华帖子、搜索根帖、查看版面下的根帖内容和用户注册,如果想要发表帖子或回复帖子,系统会判定用户是否已经登录,如果没有返回登陆界面,反之可继续进行操作。如果用户想要进行置顶帖子提前帖子设为精华帖删除根帖删

44、除回复帖的操作,首先判定用户是否登录,符合后判定用户的权限,符合权限才可继续操作,不符合则提示无权操作,其前台系统流程图下所示:图3.1 论坛前台系统流程图 在进入后台系统时,要判断用户是否登录和是否有权限进入后台,成功后可进行类别管理版面管理和用户管理,否则提示用户无权操作,其后台流程图如下所示:图3.2论坛后台系统流程图3.3 面向数据流的设计方法系统结构设计是在对现有系统充分调查研究的基础上,采用一定的方法设计出能描述新系统物理结构的系统结构图,主要给出构成系统的模块及模块间的调用关系,表现在图中一般是用不同的层次体现的。结构化系统设计技术是在结构化程序设计思想的基础上,发展起来的一种用

45、于复杂系统结构设计的技术,运用一套标准的设计准则和工具,采用模块的方法,进行新系统控制层次关系和模块专人分解设计,把用数据流程图表示的系统逻辑模型转变为用HIPO图表示的系统层次模块结构。结构化系统设计的核心是模块分解设计,模块化显著提高了系统的可修改性和可维护性,同时,为系统设计工作的有效组织和控制提供了方便条件。按照功能划分模块,对照数据流图,对本系统进行逐个级别的功能分解。3.3.1 系统层次图(H图)层次图(Hierarchy Chart图)简称HC图或H图,用于表示软件模块的分层结构,一般与IPO表一起使用,形成HIPO图。系统后台H图如图3.5所示,系统主要分为前台和后台。前台包括

46、查看版面下根帖信息、查看自己发表的帖子、查看精华帖子、搜索帖子、查看根帖信息、用户注册、发表帖子、回复帖子等,后台是管理界面,主要包括论坛类别的管理版面管理和用户管理的操作。图3.3 网络论坛系统后台功能结构图图3.4 网络论坛系统前台功能结构图3.4 系统数据库设计数据库设计是管理信息系统的重要组成部分。数据库设计是对于一个既定的环境,进行符合应用语义的逻辑设计,以及提供一个确定存储结构和物理设计,建立实现系统目标,并能有效存取数据和数据模型。建立良好的数据库结构和文件组织形式,使系统能快速、准确的获得所需信息是评价系统的主要指标。因此,是管理信息系统的重要组成部分。数据库设计的核心问题是设

47、计好的数据模型。在目前的数据库管理系统中有层次模型,网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便。目前,微机数据库多采用关系型数据库模型。这里采用SQL Server 关系数据库。该数据库对行增、删、编辑、统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。3.4.1 数据库设计原则1、数据的共享性。2、数据独立性。3、数据的完整性,即保证数据库存中数据准确。4、灵活性,可在相当短的时间内回答用户的各种各样的复杂而灵活的查询问题。5、安全性与保密性,做到对数据指定保护级别和安全控制。3.4.2 数据库概念结构设计概念模型的

48、表示方法很多,其中最为著名最为常用的是E-R图。简单的说,E-R图用来分析数据关系的。下面具体列出网上商城购物系统主要的实体图及E-R图。根帖实体图如图3.7所示:主要属性有编号、所属版面、标题、内容、发布者、发布时间、表情、对帖子进行操作的时间、是否为置顶帖子、被置顶的时间、是否为精华帖子和被设置为精华帖子的时间。其中是否为置顶帖子与是否为精华帖子属性分别用来标识帖子是否被设置为置顶或精华帖子,1表示“是”,0表示“否”。图3.5根帖信息实体图用户信息表实图如图3.8所示:主要有编号、用户名、密码、头像、性别、联系方式、QQ号码、邮箱、籍贯、权限。权限分为三种:0表示普通用户,1表示版主,2

49、表示管理员 图3.6 用户信息实体图回复帖实体图如图3.9所示:主要有编号、根帖ID、标题、内容、回复者、回帖时间和表情属性。回复帖回复者内容根帖ID表情编号回帖时间标题图3.7 回复帖实体图版面实体图如图3.12所示:主要有编号、所属类别ID、版面名称、版主、版面公告。版面版主版面名称编号版面公告所属类别idIDIDID图3.8 版面实体图论坛类别实体图如图3.13所示:主要有编号、类别名称、介绍。图3.9 论坛类别实体图3.4.3 数据库表设计根据E-R图可以对数据库进行设计,以下列出主要的数据表。根帖信息表,用于保存发布的全部根帖信息,该表具体字段如表3.15所示。表3.2 根帖信息表属

50、性名称含义数据类型主要属性说明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

51、帖子操作时间Datatime(8) null该操作只包括发表帖子和提前帖子,在显示非置顶帖子时,该字段降序排列bbs_isTop是否置顶Varchar(1) (0)1表示置顶帖子0表示非置顶帖子bbs_isTopTime被置顶时间Datatime null在显示置顶帖子时,按该字段降序排列bbs_isGood是否精华帖子Varchar(1) (0)1表示精华帖子0表示非精华帖子bbs_isGoodTime被精华时间Datatime(8) null在显示精华帖子时,按该字段降序排列版面信息表用来保存论坛中版面信息,如表3.16所示。表3.3 版面信息表属性名称含义数据类型主要属性说明Board_

52、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.17所示。表3.4 回复帖子信息表属性名称含义数据类型主要属性说明BbsAnswer_id编号Int(4)主键not nullID值(自动编号)BbsAn

53、swer _rootID根帖IDInt(4) Null用于存储回复帖子的根帖IDBbsAnswer _title标题Varchar(70) Null用于存储回复帖子的标题BbsAnswer _content内容Varchar(2000) Null用于存储回复帖子的内容BbsAnswer _sender回复者Varchar(20) Null用于存储回复帖子的回复者BbsAnswer _sendTime回复时间Datatime(8) Null用于存储回复帖子的时间BbsAnswer _face表情Varchar(10) Null用于存储回复帖子的表情论坛类别信息表用来保存论坛类别信息,如表3.18

54、所示。表3.5 论坛类别信息表属性名称含义数据类型主要属性说明Class_idID值Smallint(2)主键not null用于存储论坛类别ID值Class_name名称Varchar(40)null用于存储论坛类别名称Class_intro介绍信息Varchar(200) null用于存储论坛类别介绍信息论坛用户信息表用来保存论坛所有用户的详细信息,如表3.19所示。表3.6 用户信息表属性名称含义数据类型主要属性说明id用户IDSmallint(8)主键Not null用于自动存储用户IDuser_name名称Varchar(20)Null用于存储用户名称user_password密码V

55、archar(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(100)Null用于存储用户邮箱user_from籍贯Varchar(200)Null用于存储用户籍贯user_able权限Varchar(1)Null0表示普通用户1表示版主2表示管理员第4章 系统详细设计第4章 系统的详细设计

56、网络论坛系统采用JSP编写,利用SQL Server 2005数据库存储信息。网页按实际需求及功能模块编写,按如下顺序详细介绍,包括前台显示设计,发表帖子模块设计,根帖操作设计和后台版面管理模块设计。4.1 代码标识设计代码设计问题是一个科学管理的问题。设计出一个好的代码方案对于系统的开发工作是一件极为有利的事情。在信息系统中,代码是人和机器的共同语言,是便于进行分类、核对、统计和检索的关键。代码设计是实现管理信息系统的关键,其目的是设计出一套为本系统各部分所共用的、优化的代码系统。代码设计的好坏,不仅直接影响到计算机进行数据处理时是否方便,是否能节省存储空间,是否能提高处理速度、效率和精度,

57、而且还关系到系统能否实际运行起来。因此,在进行此设计之前,要设计出适合新系统的代码体系。代码设计可以使很多机器处理(如某些统计、校对查询等)变得十分方便。4.2 代码设计原则1唯一性:每个代码仅代表唯一的实体或属性6。2标准化:尽可能用国际、国家或行业标准,以便交换与维护。3合理性:代码结构要合理,尽量反映编码对象的特征,并与事物分类体系相适应, 以以便代码具有分类的标识作用。4易识别性:代码既要便于管理人员使用时的识别与记忆又要便于计算机的识别和分类。5可扩展性与灵活性:代码系统要考虑系统的发展变化。当增加新的实体或属性时,直接利用源代码加以扩充,而不需要变动代码系统。6实用性:尽量使用业务

58、上已经使用的且行之有效的代码,方便使用。7可扩充性:代码设计时要留有余地,在将来系统发展与变化时可直接利用原代码体 系加以追加,而不需要变动原代码体系。4.3 系统主要功能流程及模块4.3.1 前台显示设计论坛的前台显示主要包括:首页面的论坛类别显示、某版面下根帖的列表显示、我的帖子的列表显示、精华帖子的列表显示、搜索后根帖的列表显示和根帖与回复帖内容的详细显示。图4.1论坛首页面类别显示首页面的论坛类别显示,首先通过Struts中的logic标签库中的iterate标签遍历存储在session范围里的List集合对象,该List集合对象是在处理用户访问论坛首页面时的请求处理类中实现的,其中存

59、储的是封装了论坛类别信息的ActionForm;然后再使用bean标签库中的write标签输出从list集合对象中遍历出的ActionForm中的属性信息,即可实现论坛类别的显示。使用IndexAction类,调用OpClassListShow()方法和OpBoardListShow()方法获取论坛类别和版面信息。主要代码如下:HttpSession session=request.getSession();OpDB myOp=new OpDB();/创建业务对象List classType=myOp.OpClassListShow();/查询数据表,获取所有论坛类别if(classType!

60、=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值 logic:iterate id=boardSingle name=class$classSingle.c

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!