1、东北大学本科生毕业设计(论文)专用纸-摘要当今社会正处在网络时代,信息化大潮席卷全球,网络正以前所未有的速度在我国普及开来。网站以其独特的优势在信息化的过程中占有重要的一席。为了方便信息的交流,在结合 JAVA 和 S.S.H 技术之下开发了这个快捷、界面友好的交流系统,实现了一个功能相对齐全的论坛系统,网友可以自由地提出问题以及帮助他人解决问题,或者交流经验。论坛在 StrutsHibernateSpring 扩展 Struts 框架的基础上,用当今主流的网站开发技术 jsp 语言进行开发。论坛将采用 B/S 体系结构,人们通过浏览器就可以访问教学网站的主页,保证的服务器的安全。数据库采用免
2、费,小巧,易用的 mysql 数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点和对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。该论坛还有一些特殊的功能,如在线人员显示、强大的搜索功能。本网站严格按照软件项目开发的流程进行开发,对于网站开发的可行性分析、需求分析、概要设计、详细设计以及对网站的测试与维护都有详细的论述和实现过程。本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型 BBS 论坛!关键词:BBS ,S.S.H(Struts ,Hibernate ,Spring),JAVA , MySQL ,JSP东北大学本科生毕业设
3、计(论文)专用纸-I目 录摘要Abstract.目 录.第一章系统概述.11.1 总体概述.11.2 开发背景.21.3 开发 目的.3第二章系统 分析.42.1 技术可行性分析.42.1.1 开发语言综述42.1.2 MySQL 数据库的选用.52.1.3 S.S.H 框架优点62.1.4 系统层次 设计.92.1.5 技术可行性 综述.102.2 时间可行性(项目开发计划).102.3 系统需求分析.102.3.1 系统开发运行环境.102.3.2 业务描述112.3.3 系统功能概述.122.3.4 数据流程.122.4 系统总体结构分 析结论15第三章系统设计.163.1 数据库设计.
4、163.1.1 概念模型 设计(E -R 图)163.1.2 数据库表及 关系 建立183.1.3 详细数据库结 构设计183.2 系统概 要设计.233.2.1 功能模块设计233.2.2 系统界面 设计263.2.3 系统的组件 设计28第四章系统的详细设计 与实现.314.1 系统框架实现.314.1.1 底层数据库的建立314.1.2 持久化层的建立 (hibernate)324.1.3 业务逻辑层的 建立334.1.4 表示层的 建立36东北大学本科生毕业设计(论文)专用纸-II4.2 系统功能 模块实现.364.2.1 会员模块实现.364.2.2 帖子模块实现.394.2.3 后
5、台管 理模块实现.424.3 系统设计总结.44第五章系统的调试 与测试.455.1 测试概述.455.1.1 软件测试的目的.455.1.2 软件测试的任务.455.1.3 测试环境.465.2 单元测试 465.2.1 黑盒测试.465.2.2 白盒测试.475.2.3 模块接 口测试.485.3 集成测试.505.3.1 自顶向 下集成.505.3.2 确认测试标准.51第六章结论.52参考 文献.53致 谢.54附录 A 英 文文献.55附录 B 翻译.68东北大学本科生毕业设计(论文)专用纸-0第 1 章 系统概述1.1 总体概述进入二十一世纪,计算机技术迅速向着网络化、集成化方向发
6、展。传统的单机版应用软件正在逐渐退出舞台,取而代之的是支持网络、支持多种数据信息(多媒体)的新一代网络版应用软件,而目前网络版软件中似乎存在着两种不同的趋势,一种是称为客户端服务器的 C/S 结构,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,被广泛运用于局域网中。而另一种,也是本毕业设计所采用的,是称为浏览器服务器的 B/S 结构,它的特点是在客户端直接采用了功能强大的浏览器软件作为界面,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,即适用于局域网,更适用于 Internet,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是
7、去租用,甚至是免费使用 ISP 的服务器资源,因而受到越来越多中小型单位的青睐。随着 Internet 技术的不断发展,以及用户群爆炸性地增长,网络不再仅仅是信息的被动获取来源,更成为人们探讨间题、交换观点的场所,其中,网上论坛扮演了极其重要的角色,随着时间的推移,论坛站点中积存了丰富的信息资源,不但有各类技术资料和新闻文档,还包含着用户的判断和评论,论坛站点己成为Web 信息库的重要组成部分,自网上论坛诞生 20 多年以来,随着 Web 技术的发展,己经由原来简单的电子公告板系统发展为功能丰富的网上论坛和虚拟社区模式。各种论坛随着网络迅速发展,几乎充实着生活工作的每一个方面,无论是商界、政界
8、,还是娱乐界,都有各种论坛。互联网正在融入我们的生活,网络提供给我们的不只是一个获取信息的来源,而且还是一个可以相互交流的空间,网上论坛正是一种供人们进行交流的网络空间, 影响和改变着我们的生活。东北大学本科生毕业设计(论文)专用纸-11.2 开发背景1978 年在美国芝加哥开发出一套基于 8080 芯片的 CBBS/Chicago (Computerized Bulletin Board System/Chicago),此乃最早的一套 BBS 系统。之后随着苹果机的问世,开发出基于苹果机的 Bulletin Board System 和大众信息系统(Peoples Message Syste
9、m)2 种 BBS 系统。1981 年 IBM 个人计算机诞生时,并没有自己的 BBS 系统。直到 1982 年,Buss Lane 才用 Basic 语言为 IBM个人计算机编写了一个原型程序。其后经过几番增修,终于在 1983 年通过Capital PC User Group(CPCUG)的 Communication Special Interest Group会员的努力,改写出了个人计算机系统的 BBS。经 Thomas Mach 整理后,终于完成了个人计算机的第 1 版 BBS 系统RBBS-PC。这套 BBS 系统的最大特色是其源程序全部公开,有利于日后的修改和维护,因此后来在开发
10、其他的 BBS 系统时都以此为框架,所以 RBBS-PC 赢得了 BBS 鼻祖的美称。大约是从 1991 年开始,国内开始了第一个 BBS 站。经过长时间的发展,直到 1995 年,随着计算机及其外设的大幅降价,BBS 才逐渐被人们所认识。1996年更是以惊人的速度发展起来。国内的 BBS 站,按其性质划分,可以分为 2 种:一种是商业 BBS 站,如新华龙讯网;另一种是业余 BBS 站,如天堂资讯站。由于使用商业 BBS 站要交纳一笔费用,而商业站所能提供的服务与业余站相比,并没有什么优势,所以其用户数量不多。多数业余 BBS 站的站长,基于个人关系,每天都互相交换电子邮件,渐渐地形成了一个
11、全国性的电子邮件网络 China FidoNet(中国惠多网) 。于是,各地的用户都可以通过本地的业余 BBS 站与远在异地的网友互通信息。这种跨地域电子邮件交流正是商业站无法与业余站相抗衡的根本因素。由于业余 BBS 站拥有这种优势,所以使用者都更乐意加入。这里“业余”2 字,并不是代表这种类型的 BBS 站的服务和技术水平是业余的,而是指这类 BBS 站的性质。一般 BBS 站都是由志愿者开发的。他们付出的不仅是金钱,更多的是精力。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平东北大学本科生毕业设计(论文)专用纸-2国内的 BBS 站,大多数还是大型综合性 BBS
12、站。随着计算机的普及,特别是宽带的普及,BBS 的活动将会进一步高涨。但是,随之而来对专注于领域方面的BBS 将会慢慢增加需求。尽管 BBS 站台的数量在不断增长,但 BBS 的发展过程,也出现了一些问题。由于国内使用的 BBS 架站软件,都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所以在结构上难免有雷同之处。 而国内自己开发的 BBS 基本上都是处于最原始的 JSP MODEL1 模式, 这种模式是控制层与表示层合二为一,虽然开发简单,但是拥有很差的扩展性,可维护性,这样极大的限制了 BBS 站点的扩展
13、,于是在这种情况下,本文提出了目前比较流行的,基于 MVC 模式的 S.S.H 框架(Sturts+Spring+hibernate)的 BBS 论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型 BBS 论坛!1.3 开发目的综上所述,本文提出了目前比较流行的,基于 MVC 模式的 S.S.H 框架(Sturts+Spring+hibernate)的 BBS 论坛,本套论坛的优点在于它具有强大的可扩展性和可维护性,非常适合网民创建自己的中小型 BBS 论坛!东北大学本科生毕业设计(论文)专用纸-3第 2 章 系统分析2.1 技术可行性分析2.1.1 开发语言
14、综述本系统是基于面向对象思想的 JAVA 语言中 J2EE 平台进行编写,J2EE 平台具有以下优点1.简化结构:J2EE 平台支持简化的、基于组件开发模型,由于 J2EE 基于Java 编程语言和 J2SE 平台,它提供了编写一次,随处运行的可移植性,遵循J2EE 标准的所有服务器都支持该模型。EJB 组件使编写应用程序更为简单。尽管 EJB 体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码,EJB 容器会实现系统级的服务,例如,事务、安全性等。另外,J2EE 还支持异构环境。基于 J2EE 的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于 J2EE 的程
15、序只需开发一次就可以部署到各种平台,这在典型的异构企业算环境中是十分关键的。J2EE 标准还允许客户订购与 J2EE 兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。2. 提高开发效率:由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。例如:图形设计师创建 JSP 模板,商业逻辑由该领域的专家完成,JSP 页面和 EJB 由 Java 工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。3.可移植性强:除了 Java 语言固有的可移植性外,EJB 体系结构在 B
16、ean 和支持该 Bean 的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将 Bean 从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。东北大学本科生毕业设计(论文)专用纸-44.重用性好:由于在 EJB 模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的 JavaBean 可以装配出客户端应用程序一样,使软件能够重用。5.易于维护:基于组件的设计简化了应用程序的维护。由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。6.可伸缩性:企业必须要选择一种服务器端平台,以便满足那些在它
17、们系统上进行商业动作大批新客户。基于 J2EE 平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端 UNIX 或其他的大型机系统上。J2EE 领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。7.被广泛接受:主要的 IT 供应用商都采纳 EJB 体系结构,不同供应商的产品只要符合 EJB 体系结构,就都是可互操作的。2.1.2 MySQL 数据库的选用MySQL 是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统(DBMS)来说,MySQL 具有小巧、功能齐全、查询迅捷等优点,关键的是它是免费
18、的,可以在 Internet 上免费下载到,并可免费使用,对于一般中小型,甚至大型应用都能够胜任MySQL 具有以下优点:1、首先是速度。对于 MySQL 来说,速度是他们追求的主要目标之一,基于这个原因,MySQL 在以前的文档中也曾经说过并不准备支持事务和触发器。但是在最新的文档中,我们看到 MySQL 4.0.2-alpha 已经开始支持事务,而且在MySQL 的 TODO 中,对触发器、约束这样的注定会降低速度的功能也列入了日程。但是,仍然有理由相信,MySQL 将有可能一直保持速度的优势。2、MySQL 更流行,流行对于一个商业软件来说,也是一个很重要的指标,东北大学本科生毕业设计(
19、论文)专用纸-5流行意味着更多的用户,意味着经受了更多的考验,意味着更好的商业支持、意味着更多、更完善的文档资料。3、MySQL 更适宜在 Windows 环境下运行。MySQL 作为一个本地的Windows 应用程序运行( 在 NT/Win2000/WinXP 下,是一个服务 ), 在 Windows运行中,MySQL 更加的稳定。4、MySQL 使用了线程,在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。5、MySQL 可以适应 24/7 运行。在绝大多数情况下,你不需要为 MySQL 运行任何清除程序。6、MySQL 在权限系统上更为完善。MySQL 允许你
20、定义一整套的不同的数据级、表级和列级的权限。对于列级的权限。MySQL 还允许你指定基于主机的权限。7、由于 MySQL 4.0.2-alpha 开始支持事务的概念,因此事务对于 MySQL 不再仅仅成为劣势。相反,因为 MySQL 保留无事务的表类型。这就为用户提供了更多的选择。 8、MySQL 的 MERGE 表提供了一个独特管理多个表的方法。9、MySQL 的 myisampack 可以对只读表进行压缩,此后仍然可以直接访问该表中的行。2.1.3 S.S.H 框架的优点S.S.H 框架是 J2EE 应用中 struts+spring+hibernate 三大免费开源框架的结合使用, 它可
21、以看成工具,也是中间件。他是用来提高我们的开发效率,提高我们软件产品的可维护性、可扩展性乃至敏捷性的。他们里面有很多优秀的设计理念及模式应用。比如,struts 属于 MVC 框架,关键是要了解 MVC 的概念及大致原理;而 hibernate 属于 ORM 系统,属于持久层的解决方案,同样需要对 ORM 的概念及原理有一个总体的了解。而 spring 属于应用程序框架,其核心是 IOC 容器东北大学本科生毕业设计(论文)专用纸-6以及 AOP,Spring 中还集成了很多适用东西,比如对 JDBC 的封装、自己的 MVC、对动态语言的简洁访问等,它由以下 3 个框架构成:1.Struts 框
22、架Struts 是 Apache 组织的一个开放源码项目。Struts 是一个比较好的 MVC 框架,提供了对开发 MVC 系统的底层支持,它采用的主要技术是 Servlet,JSP 和Custom tag library。其基本构成如图 2.1 所示。图 2.1 Struts 框架工作流程2.Spring 框架Spring 的核心是个轻量级(Lightweight)的容器(Container) ,它是实现IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供 AOP(Aspect-oriented programming)概念的实现方式,提
23、供对持久层(Persistence) 、事务(Transaction)的支持,提供 MVC Web 框架的实现,并对一些常用的企业服务 API(Application Interface)提供一致的模型封装,是东北大学本科生毕业设计(论文)专用纸-7一个全方位的应用程序框架(Application framework) ,除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等) ,Spring 也提供了与它们相整合的方案。Spring 框架由以下 7 个部分组成图 2.2 Spring 框架构成3.Hibernate 框架Hibernate 是一个开放源码的 ORM 持久层
24、框架。作为优秀的持久层框架实现,Hibernate 框架提供了强大、高性能的对象到关系型数据库的持久化服务,开发人员可以使用面向对象的设计进行持久层开发。简单的说,Hibernate 只是一个将持久化类与数据库表相映射的工具,每个持久化类实例均对应于数据库表中的一个数据行而已。用户只需直接使用面向对象的方法操作此持久化类实例,即可完成对数据库表数据的插入、删除、修改、读取等操作。东北大学本科生毕业设计(论文)专用纸-8图 2.3 Hibernate 框架2.1.4 系统层次设计系统很据 S.S.H 框架的特点,决定使用四层结构,这样做的优点是(1)可以分层开发,访问数据库与业务逻辑实现能够分开
25、。(2)提高代码的复用表示层业务逻辑层持久化层数据库层图 2.4 LeafBBS 系统的分层结构2.1.5 技术可行性综述综上所述,这些成熟的框架和优秀的设计思想,为系统建设提供了技术条件。东北大学本科生毕业设计(论文)专用纸-9计算机等基础设施的更新换代也紧跟潮流的发展,这就为开发系统提供了坚实基础。2.2 时间可行性(项目开发计划)本系统的难点在于三大框架的结合使用,但目前有很多优秀的书籍可供参阅,且参加过类似项目的开发,预计本系统在规定时间内,基本能够完成.开发计划如下:2007.01.01-03.30 调研2007.04.31-04.13 资料查阅2007.04.16-04.20 方案
26、设计2007.04.02-05.18 编写程序2007.05.07-05.18 撰写论文2.3 系统需求分析2.3.1 系统开发运行环境鉴于系统的开发语言和数据库,采用如下的开发环境开发环境: Windows 2000NT TomCat6.0 JDK1.5硬件实现: Pentium2.4G 1G 内存 80G 硬盘开发语言: Java数 据 库: MySQL开发工具: MyEclipse5.1 东北大学本科生毕业设计(论文)专用纸-10预期成果: 一个可扩展的基于 MVC 模式的 BBS 论坛2.3.2 业务描述对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比
27、如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等,系统的用例图如下:会员用户 临时用户浏览帖子发表帖子回复帖子修改资料会员搜索管理员会员管理帖子管理论坛信息管理图 2.5 系统用例图2.3.3 系统功能概述本系统是一套网上交流的 BBS 软件,根东北大学本科生毕业设计(论文)专用纸-11据用户的需要和实际的管理条件,应由用户功能实现,帖子功能实现和后台管理等几个模块所构成,用户可以对一些数据进行查找和修改,并且注册的用户可以对帖子进行特定的操作,而管理员可以对用户和帖子进行相关的管理.鉴于本系统的性质,系统应该实现以下功
28、能.1.用户功能实现(1).用户的登录(2).用户的注册(3).用户的查找(4).用户资料的修改2.帖子功能实现(1).帖子的发表(2).帖子的回复(3).帖子的查找3.后台管理(1).用户的管理(2).帖子的管理(3).论坛信息的管理(4).图片的管理2.3.4 数据流程本系统是为了提供给广大用户一个网上交流的平台,所以论坛的流程是以用户为中心进行的.数据流图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种符号综合地反映出信息在系统中的流动、处理和存储情况。数据流图具有以下两个特性:(1)抽象性:表现在它完全舍去了具体的物质,只剩下数据的流动、加工处东北大学本科生毕业设计(论文
29、)专用纸-12理与存储。(2)概括性:表现在它可以把信息中的各种不同业务处理过程联系起来,形成一个整体。数据流图由以下四种基本元素组成,既外部实体、数据流、处理(功能) 、数据存储等,数据流图中所用的符号如下:外部实体 处理 数据流 数据存储LeafBBS 论坛系统的数据流程图如下东北大学本科生毕业设计(论文)专用纸-13用户查看帖子P2 F1 帖子资料P3回复帖子P1发表帖子P4搜索帖子P5搜索用户F2 用户资料P6资料修改(1)(3)(2)(4)(5)(5)(6)(7)(8)(9)(10)(11) (12)(13)说明:访问信息,用户信息,发表帖子信息,更新帖子信息,搜索信息获取帖子信息,
30、回复信息,搜索用户,更新用户信息,获取用户资料图 2.6 数据流程图东北大学本科生毕业设计(论文)专用纸-142.4 系统总体结构分析结论通过对系统框架及数据库的选择,和总体的需求分析,完成了前期对系统模块的划分,数据的流程,以及一些可行性的分析.在此基础上,可以系统的数据库和功能模块进行概要设计.东北大学本科生毕业设计(论文)专用纸-15第 3 章系统设计在前期的系统结构分析的基础上,对系统进行概要设计.3.1 数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求).数据库和设计概述(
31、1)数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。(2)数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。(3)数据库设计是信息系统开发和建设的重要组成部分。3.1.1 概念模型设计(E-R 图)数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。E-R 模型的基本概念 ER 图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER 图的
32、理念是:项目所有参与者能理解 ER 图。ER 图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性东北大学本科生毕业设计(论文)专用纸-16用于描述实体,关系用于实体之间(1)实体:现实世界中的事物; (2)属性:事物的特性; (3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。本系统的 ER 图用户M发表N帖子 详细资料11N管理 管理员 1N添加1修改论坛图 3.1 系统 E-R 图东北大学本科生毕业设计(论文)专用纸-173.1.2 数据库表及关系建立根据以上这些步骤就可以创建一个数据库,依次建立下列表结构.1.
33、用户基本资料表2.用户详细信息表3.论坛文章表4.论坛版区表 5.论坛初始化信息表 (1).用户基本信息表 和用户详细信息表是一对一的关系,一个用户只对应一个详细的信息表(2).用户基本信息表和文章表是一对多的关系,即一个用户可以发表多篇文章和回复.(3).论坛版区表和论坛文章表是一对多的关系,在一个论坛中可以含有多个文章和回复.3.1.3 详细数据库结构设计(1).用户基本资料表:用户基本资料表中存放的是用户登陆时所需要或者记录用户的基本信息,包含比如登陆名,密码,最后登陆时间等.用户基本信息表的建立主要是记录用户最常用的一些信息.东北大学本科生毕业设计(论文)专用纸-18表 3.1 lea
34、fbbs_userinfo字段名 数据类型 长度 主键 索引 外键 可空 说明ID bigint 20 是 否 否 代理主键UserName Varchar 20 否 是 否 用户名NickName Varchar 60 否 否 否 昵称Passwd Varchar 40 否 否 否 密码Email varchar 255 否 否 否 电子邮件Question varchar 255 否 否 否 提示问题Answer varchar 255 否 否 否 提示答案RegTime datetime 否 否 否 注册时间LoginTime datetime 否 否 否 最后登陆时间LoginIP v
35、archar 20 否 否 否 最后登陆 IPLoginTimes int 11 否 否 否 登陆次数StayTime bigint 20 否 否 否 停留时间SignDetail text 否 否 是 用户签名HavePic tinyint 1 否 否 是 是否有头像PicFileName varchar 255 否 否 是 头像地址TimeZone varchar 20 否 否 是 地区东北大学本科生毕业设计(论文)专用纸-19(2).用户详细信息表:用户详细信息表中存放的是用户的身高,体重,联系方式等详细资料,建立此表的目的是把一些用户不经常用到的详细信息,单独存放到一张表中,可以节约系
36、统的资源.表 3.2 leafbbs_userdetai字段 数据类 长度 主键 索引 外键 可空 说明ID bigint 20 是 是 否 代理主键Height varchar 20 否 否 是 身高Weight varchar 20 否 否 是 体重FavourPeople varchar 255 否 否 是 最喜欢的人DreamJob varchar 255 否 否 是 向往工作FavourMusic varchar 255 否 否 是 喜欢的音乐FavourPlace varchar 255 否 否 是 喜欢的地方FavourMovie varchar 255 否 否 是 喜欢的电影H
37、omePage varchar 255 否 否 是 主页OicqNo varchar 255 否 否 是 QQ 号码IcqNo varchar 255 否 否 是 ICQ 号码MSN varchar 255 否 否 是 MSN 号码Sex tinyint 1 否 否 是 性别Brief text 否 否 是 简介东北大学本科生毕业设计(论文)专用纸-20(3).论坛文章表:论坛文章表存放的是用户所发表的文章信息,也包括回复信息.而在数据库的设计中主要问题是鉴别帖子信息和回复信息.表 3.3 leafbbs_forum字段名 数据类型 长度 主键 索引 外键 可空 说明ID bigint 20
38、是 否 否 代理主键ParentID bigint 20 否 否 否 父帖 IDMainID bigint 20 否 否 否 主帖 IDBoardID bigint 20 否 否 否 版区 IDBoardName varchar 60 否 否 否 版区名字ReNum int 11 否 否 否 回复数量ClickNum int 11 否 否 否 点击次数UserID bigint 20 否 否 否 发表者 IDUserName varchar 20 否 否 否 发表者姓名NickName varchar 60 否 否 否 发表者昵称Title varchar 150 否 否 否 文章标题Deta
39、il text 否 否 否 文章内容Sign text 否 否 否 文章说明ArtSize int 11 否 否 否 文章字节数postTime bigint 20 否 否 否 发表时间LastTime bigint 20 否 否 否 最后回复时间IPAddress varchar 20 否 否 否 发表者 IPIsNew tinyint 1 否 否 否 是否是新IsHidden tinyint 1 否 否 否 是否隐藏IsTop tinyint 1 否 否 否 是否置顶IsLock tinyint 1 否 否 否 是否被锁定东北大学本科生毕业设计(论文)专用纸-21(4).论坛版区表:论坛版
40、区表是存放的是论坛中版块信息.而论坛也划分为父论坛和子论坛,区分他们也靠表中的某个字段来实现的.具体实际的设计如下.表 3.4 leafbbs_board字段名 数据类型 长度 主键 索引 外键 可空 说明ID bigint 20 是 否 否 代理主键ParentID bigint 20 否 否 否 父版区 IDChildIDs varchar 255 否 否 否 子版区 IDBoardName varchar 255 否 否 否 版区名字Explains text 否 否 否 版区描述BoardPic varchar 200 否 否 否 图片地址Orders int 11 否 否 否 显示顺
41、序IsHidden tinyint 1 否 否 否 是否隐藏PostNum int 11 否 否 否 文章数量NeedPasswd tinyint 1 否 否 否 是否加密Passwd varchar 100 否 否 是 密码(5).论坛初始化信息表:论坛初始化信息表是存放初始化信息和管理员的帐号密码等信息,初始化信息是在论坛在加载过程中读取的或者以后经常用的一些信息.表 3.5 leafbbs_config 表字段名 数据类型 长度 主键 索引 外键 可空 说明ID varchar 50 是 否 否 初始化标题ConfContext text 否 否 否 初始化信息东北大学本科生毕业设计(论
42、文)专用纸-223.2 系统概要设计根据需求分析的结果,对系统进行详细的概要设计3.2.1 功能模块设计绘制出的用例图,将本系统分为三个大的模块,他们分别是会员资料模块,帖子资料模块和后台管理模块!本系统的功能层次图如图 3.2.1 所示Leafbb 系统会员模块帖子模块后台管理会员登录会员注册资料修改帖子发表回复帖子帖子查找论坛管理帖子管理图片管理会员管理会员查找图 3.2 系统功能层次图东北大学本科生毕业设计(论文)专用纸-23如图 3.2.1,leafbbs 系统实现了如下的功能.(1).会员模块:此模块用来实现会员的登陆注册和会员资料的修改和查找.1.会员登陆模块:会员可以通过此模块对
43、论坛进行登陆,登陆后便可以使用所有的会员功能,比如发帖回复等等.2.会员注册模块:没有会员帐号的用户,可以通过此模块添加会员信息,添加成功后便可登陆论坛,使用会员功能.3.资料修改模块:已注册的会员在登陆后,可以通过此模块,对会员的基本资料,联系方式,密码,头像等资料进行修改.4.会员查找模块:已注册的会员在登陆后, 可以通过此模块,对会员进行查找,并可以查看对方的资料,联系方式等等,从而方便会员之间的联系.(2).帖子模块:1.帖子发表模块:已注册的会员在登陆后,可以在相应的论坛中,发表或转载自己的大作,发表成功后,其他会员便可以在相应的论坛中看到这篇帖子,并可以对其进行回复等操作.2.帖子
44、回复模块:会员在发表完帖子后,用户便可查看相关文章,并可以在文章中对已发表的帖子进行回复,3.帖子查找模块会员可以通过此模块,根据帖子的标题和作者,对相关的帖子进行查找.东北大学本科生毕业设计(论文)专用纸-24(3).后台管理:1.帖子查找模块:此模块和帖子模块中的帖子查找类似,只是管理员的搜索条件比普通用户更加的广泛,使搜索变的便捷.2.帖子管理模块:帖子管理模块是管理员对帖子管理的平台,如果管理员查看到帖子有不适宜发表的内容时,可以对帖子选择删除或者锁定等操作,如果看到优秀的帖子,还可以将帖子进行置顶,加精,帖子管理模块帖子修改帖子删除帖子锁定帖子置顶帖子加精图 3.3 帖子管理模块功能
45、层次图3.会员管理模块:管理员可以通过此模块,对会员进行管理,对一些不法的用户可以修改或者删除资料,4.论坛管理模块.管理员对论坛的添加,创建,删除等功能都是在此模块里进行处理.5.图片管理模块管理员可以管理用户上传的头像,和在文章里发表的图片,从而加强对图片的控制东北大学本科生毕业设计(论文)专用纸-253.2.2 系统界面设计对于系统来说,用户界面设计将非常重要,因为一个交互良好的界面能够加深浏览者的印象.设计的实现可以分为两个部分。第一部分为站点的规划及草图的绘制,这一部分可以在纸上完成。第二部分为网页的制作,这一过程是在计算机上完成的.设计首页的第一步是设计版面布局。我们可以将网页看作传统的报刊杂志来编辑,这里面有文字、图像乃至动画,我们要做的工作就是以最适合的方式将图片和文字排放在页面的不同位置。 除了要有一台配置不