




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南涉外经济学院本科生毕业论文(设计) 湖 南 涉 外 经 济 学 院本科毕业论文(设计)题 目基于Struts2的BBS论坛系统设计与实现作 者 学 院信息科学与工程学院专 业计算机科学与技术专业学 号 指导教师 二一三年 五月 十五日湖南涉外经济学院本科生毕业论文(设计)摘 要随着时代的推进,网络统领时代潮流,如今已经普及于人类的生产和日常生活之中。互联网是对现实世界的模拟,互联网凭借着高效性,跨区域性,即时性,扩展和改变着我们所生活的现实世界。BBS作为一种简便、松散、充满个性的现代电子远程通讯手段,现在在国内得到广泛的应用。BBS论坛是互联网上很常见的一种实时动态的交流平台。本次设计的
2、基于J2EE的BBS论坛系统,定位于综合类业余论坛,主要用户群体是普通用户。该论坛在网络环境的支持下,具有支持用户进行发表文章等功能。具体包含3个模块,分别是会员模块,帖子模块和论坛管理模块。会员模块主要是对会员的个人属性管理,帖子模块是针对帖子的管理,而论坛管理模块针对论坛版块、公告和广告的管理。本论坛将采用B/S体系结构,在Struts框架的基础上,结合当今主流的网站开发技术Java语言以及JSP技术。人们通过浏览器就可以访问本网站的主页,保证服务器的安全。数据库采用免费,易用的MySQL数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点或对论坛的主题发表意见,我们还可以对网友的问题
3、及时地解决,获取对自己有用的知识。本系统严格按照软件项目开发的流程进行开发,系统开发的可行性分析、需求分析、概要设计、详细设计以及对系统的测试与维护都有详细的论述。关键字:Java;B/S;Struts;BBSAbstractAlong with the advancement of era, network has been spread in human production and daily life. The Internet is a simulation of the real world, with high efficiency, trans-regional, immedi
4、acy, and changing the world we live in a reality.BBS as a kind of simple and loose and full of personality in modern electronic communications, now widely used in China. BBS is a very common on the Internet a real-time dynamic communication platform. The BBS system based on J2EE is designed, aimed a
5、t amateur BBS, and its main user groups is ordinary users. The system with the support of network environment will support users publish articles, etc. The System includes three modules, respectively is member module, the posts module and management module. Member module is the management of persona
6、l property. Posts module manage posts and management module manage section, announcements, and advertising.BBS adopts B/S architecture, on the basis of the Struts framework, combined with todays mainstream Java language website development technology and JSP technology. People can access the site vi
7、a a browser page, and ensure the safety of server. The MySQL database is adopted which free and easy-to-use. The BBS function is relatively complete. Here you can freely published their own views and opinions on the theme of the BBS, and also can solve problems in a timely manner of online friends,
8、to get useful knowledge. The system is developed in strict accordance with the process of software development. The system development accessibility analysis, requirements analysis, outline design, detailed design and system testing and maintenance are discussed in detail.Key words:Java;B/S;Struts;B
9、BS目 录 TOC o 1-3 h z u HYPERLINK l _Toc356200561 摘 要 PAGEREF _Toc356200561 h I HYPERLINK l _Toc356200562 Abstract PAGEREF _Toc356200562 h II HYPERLINK l _Toc356200563 第一章 绪论 PAGEREF _Toc356200563 h 1 HYPERLINK l _Toc356200564 1.1选题背景 PAGEREF _Toc356200564 h 1 HYPERLINK l _Toc356200565 1.2系统简介 PAGEREF
10、 _Toc356200565 h 1 HYPERLINK l _Toc356200566 1.2.1 BBS研究现状 PAGEREF _Toc356200566 h 1 HYPERLINK l _Toc356200567 1.2.2 Struts2框架 PAGEREF _Toc356200567 h 2 HYPERLINK l _Toc356200568 1.3 系统设计目的 PAGEREF _Toc356200568 h 3 HYPERLINK l _Toc356200569 1.4 系统设计意义 PAGEREF _Toc356200569 h 3 HYPERLINK l _Toc35620
11、0570 1.5 论文结构 PAGEREF _Toc356200570 h 4 HYPERLINK l _Toc356200571 第二章 系统分析 PAGEREF _Toc356200571 h 6 HYPERLINK l _Toc356200572 2.1 系统开发初步调查 PAGEREF _Toc356200572 h 6 HYPERLINK l _Toc356200573 2.1.1 论坛规模大小 PAGEREF _Toc356200573 h 6 HYPERLINK l _Toc356200574 2.1.2 管理机制是否健全 PAGEREF _Toc356200574 h 6 HY
12、PERLINK l _Toc356200575 2.1.3 论坛信息时效性 PAGEREF _Toc356200575 h 6 HYPERLINK l _Toc356200576 2.2 系统可行性研究分析 PAGEREF _Toc356200576 h 7 HYPERLINK l _Toc356200577 2.3 需求分析 PAGEREF _Toc356200577 h 7 HYPERLINK l _Toc356200578 2.4 数据流图与设计 PAGEREF _Toc356200578 h 8 HYPERLINK l _Toc356200579 2.4.1 数据流图设计 PAGERE
13、F _Toc356200579 h 9 HYPERLINK l _Toc356200580 2.4.2 论坛业务流程图 PAGEREF _Toc356200580 h 10 HYPERLINK l _Toc356200581 2.5 开发平台与开发工具 PAGEREF _Toc356200581 h 11 HYPERLINK l _Toc356200582 第三章 总体设计 PAGEREF _Toc356200582 h 12 HYPERLINK l _Toc356200583 3.1 功能模块 PAGEREF _Toc356200583 h 12 HYPERLINK l _Toc356200
14、584 3.2 数据库概念设计 PAGEREF _Toc356200584 h 12 HYPERLINK l _Toc356200585 3.2.1 设计方法 PAGEREF _Toc356200585 h 13 HYPERLINK l _Toc356200586 3.2.2 设计步骤 PAGEREF _Toc356200586 h 13 HYPERLINK l _Toc356200587 3.2.3 设计范式 PAGEREF _Toc356200587 h 14 HYPERLINK l _Toc356200588 3.3 E-R模型图 PAGEREF _Toc356200588 h 16 H
15、YPERLINK l _Toc356200589 3.3.1 用户与帖子实体分析 PAGEREF _Toc356200589 h 16 HYPERLINK l _Toc356200590 3.3.2 帖子与版块实体分析 PAGEREF _Toc356200590 h 17 HYPERLINK l _Toc356200591 3.3.3 全局E-R分析 PAGEREF _Toc356200591 h 17 HYPERLINK l _Toc356200592 3.4数据库逻辑设计 PAGEREF _Toc356200592 h 18 HYPERLINK l _Toc356200593 第四章 系统
16、设计与实现 PAGEREF _Toc356200593 h 21 HYPERLINK l _Toc356200594 4.1 开发框架说明 PAGEREF _Toc356200594 h 21 HYPERLINK l _Toc356200595 4.1.1 框架工作原理 PAGEREF _Toc356200595 h 21 HYPERLINK l _Toc356200596 4.1.2 框架工作流程 PAGEREF _Toc356200596 h 22 HYPERLINK l _Toc356200597 4.2 系统架构设计 PAGEREF _Toc356200597 h 22 HYPERLI
17、NK l _Toc356200598 4.3 系统设计模式 PAGEREF _Toc356200598 h 23 HYPERLINK l _Toc356200599 4.4 系统实现 PAGEREF _Toc356200599 h 25 HYPERLINK l _Toc356200600 4.4.1 数据访问接口包Dao PAGEREF _Toc356200600 h 25 HYPERLINK l _Toc356200601 4.4.2 系统实体包Model PAGEREF _Toc356200601 h 28 HYPERLINK l _Toc356200602 4.4.3 工具类包Util
18、PAGEREF _Toc356200602 h 30 HYPERLINK l _Toc356200603 4.4.4 控制类包Web PAGEREF _Toc356200603 h 33 HYPERLINK l _Toc356200604 4.5 系统运行 PAGEREF _Toc356200604 h 35 HYPERLINK l _Toc356200605 第五章 系统测试 PAGEREF _Toc356200605 h 37 HYPERLINK l _Toc356200606 5.1 系统测试环境 PAGEREF _Toc356200606 h 37 HYPERLINK l _Toc35
19、6200607 5.2 单元测试 PAGEREF _Toc356200607 h 37 HYPERLINK l _Toc356200608 5.2.1 黑盒测试 PAGEREF _Toc356200608 h 37 HYPERLINK l _Toc356200609 5.2.2 白盒测试 PAGEREF _Toc356200609 h 38 HYPERLINK l _Toc356200610 5.2.2 模块接口测试 PAGEREF _Toc356200610 h 39 HYPERLINK l _Toc356200611 5.3 集成测试 PAGEREF _Toc356200611 h 40
20、HYPERLINK l _Toc356200612 5.3.1 自顶向下集成 PAGEREF _Toc356200612 h 40 HYPERLINK l _Toc356200613 5.4 确认测试 PAGEREF _Toc356200613 h 40 HYPERLINK l _Toc356200614 总结 PAGEREF _Toc356200614 h 41 HYPERLINK l _Toc356200615 参考文献 PAGEREF _Toc356200615 h 42 HYPERLINK l _Toc356200616 致谢 PAGEREF _Toc356200616 h 43 HY
21、PERLINK l _Toc356200617 附录 代码示例 PAGEREF _Toc356200617 h 44 HYPERLINK l _Toc356200618 分页类的实现 PAGEREF _Toc356200618 h 44 HYPERLINK l _Toc356200619 数据库连接类的实现 PAGEREF _Toc356200619 h 47 HYPERLINK l _Toc356200620 用户操作数据库类 PAGEREF _Toc356200620 h 49 HYPERLINK l _Toc356200621 系统配置文件 PAGEREF _Toc356200621 h
22、 56第一章 绪论1.1选题背景随着网络的迅猛发展,网络用户要求不断提高计算机科学技术的发展水平,特别是新兴的网络论坛,各个网站中都需要用户注册,才能进行该网站的更多娱乐操作,而且在网站中还设有浏览者留言、意见反馈等功能,这些功能都只是为了网络开发部及网络维护员们对该网站进行修改和更新。在这些现状中我们可以发现这样一个事实,每个用户在浏览网页上的内容时,只是对网站的部分内容感兴趣,而且这种兴趣会持续一段时间。因为在浏览了这个网页之后,用户只是单纯的浏览了网页的内容,其他的所有用户都是如此,这样大大减少了用户再次登录该网站进行浏览的可能性,这是网站的点击率的一个重要缺陷。正如我们的BBS(Bul
23、letin Board System,简称BBS,电子公告板系统)系统能够添加到其中就能弥补这个缺陷,BBS论坛是各个用户在浏览了网站内容后,可以发表自己对网站的意见,各个用户之间也可以通过发帖的形式进行技术和经验的交流。1.2系统简介1.2.1 BBS研究现状BBS全称为电子公告板,是Internet上的一种电子信息服务系统,是目前流行网络论坛的前身。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法;它是一种交互性强,内容丰富而及时的Internet电子信息服务系统,用户在BBS站点上可以获得各种信息服务、发布信息、进行讨论、聊天等等1。早期BBS的型态大多在终端机上以
24、单色或彩色的纯文字呈现画面,并使用调制解调器拨接或Telnet协议连接。但随着HTTP网络协议及HTML等网页技术的发展,BBS的型态也转变为网络论坛或网络社区等多元样貌,早期拨接与Telnet式的BBS系统则快速式微1。本文设计的论坛系统指的是以HTTP协议连接,能够提供web服务的论坛系统。在计算机技术发达的西方国家,特别是美国,BBS发展迅速。随着互联网技术的发展与完善,就美国而言,目前BBS的主要发展方向是新闻类、电子商务和博客类,这三类网站经过整合逐步从BBS中分离出来,并成为各自的门户。第四个功能互动式问答正在分离,但还没有出现该领域的门户网站,这一类网站模式被成为威客(译自英文w
25、itkey)模式1。近几年,美国的BBS系统主要采用的是PHP(Hypertext Preprocessor,简称PHP,英文超文本预处理语言)技术,因为此语言风格类似于C语言,加之C语言在美国使用广泛,所以PHP才得以推广使用。其实,国外对BBS的直接研究很少,间接的研究主要集中在对网络社会、虚拟社区方面,这些不属于本文讨论的范围。由于种种原因,国内的计算机技术水平远远落后于西方国家。中国的BBS起步于90年代,由于互联网尚未得到广泛的普及,当时的用户访问量每天只有几十人,导致对BBS的研究较为缺乏。近几年,国内计算机技术水平的发展,使得BBS系统进入了调整和成熟期。就国内大陆高校的BBS而
26、言,主要体现了四个特点,分别是普及率高,影响深刻和注重管理。高校中的BBS具有广告少、访问速度快、用户认同感等特点,因此在高校师生中普及率相当高。同时,高校BBS中的信息与学校日常工作、校园生活有关,成为广大高校师生乐于使用的信息平台,交友平台,甚至在一定程度上发挥了校园门户的作用3。国内BBS的发展,很大程度上借鉴了美国BBS。因此,在建站技术上,也采用了用户群较广的PHP语言。虽然PHP语言的语法简单,有成熟的社区支持,但是,面对企业级的开发,则显得力不从心。PHP语言对多线程和网络编程支持不好,语法不严谨,第三方开源的系统框架较少6,12。这些都制约了BBS的发展。因此,这也是本文不采用
27、PHP语言开发而采用Java语言结合第三方开源框架开发的原因。目前,国内BBS数量巨大,各种各样的BBS如同网络雨后春笋般的出现。论坛几乎涵盖了我们生活的各个方面,每个人都可以找到一个自己感兴趣的论坛。论坛按其盈利性质可以分为商业论坛和业余论坛,按其专业性质可以分为综合类论坛和专题类论坛。综合类的论坛包含的信息比较丰富和广泛,能够吸引几乎全部的网民来到论坛,通常大型的门户网站有足够的人气和凝聚力以及强大的后盾支持能够把门户类网站做到很强大,但是对于小型规模的网络公司,或个人简历的论坛网站,就倾向于选择专题性的论坛,来做到精致。专题类的论坛,能够吸引真正志同道合的人一起来交流探讨,有利于信息的分
28、类整合和搜集,专题性论坛对学术科研教学都起到重要的作用,但是缺点是受众人群较小,很难得到推广。本文设计的基于Struts2框架的BBS论坛系统,定位于综合类业余论坛,主要用户群体是普通用户。该论坛在网络环境的支持下,具有支持用户进行发表文章等功能。具体包含3个模块,分别是会员模块,帖子模块和论坛管理模块。会员模块主要是对会员的个人属性管理,帖子模块是针对帖子的管理,而论坛管理模块针对论坛版块、公告和广告的管理。1.2.2 Struts2框架Struts2是一个用于创建企业级Java web应用程序的优雅的、可扩展的框架。该框架旨在简化开发的整个周期,从建设、部署到维护应用程序。Struts2最
29、初称为WebWork2。在独立工作好几年后,WebWork和Struts社区联手创建Struts2。这个新版本的Struts是简单的使用。因为Struts2的本质是采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。因为Struts2以WebWork为核心,所以Struts2可以理解为WebWork的更新产品2。Struts2是一个相当强大的MVC Web开源框架。它的框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。同时,它还提供了强大的OGNL(Object-GraphNavigationLanguage,简称OGNL,表达
30、式语言)进行参数传递,成为Struts2里访问各种作用域中数据的简单方式,你可以方便获取Request、Attribute等中的数据,大大简化了开发人员在获取数据时的代码量8。Struts2已经把模块化作为了体系架构中的基本思想,可以通过三种方法来将应用程序模块化:将配置信息拆分成多个文件;把自包含的应用模块创建为插件;创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。Struts2最大的优点在于它的拦截器。它的核心就是拦截器,是一个Action级别的AOP(AspectOrientedProgramming,简称AOP,面向切面编程),Struts2中的许多特性都
31、是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能5。1.3 系统设计目的当今网络技术逐渐渗入社会生活各个层面,以前网站上的论坛管理系统要求用户登陆以后才能进行相关访问及互动。而随着网络互联技术的进步,现在网站投票只需打开网页就可进行论坛留言。论坛对象是很多的,各个层次的人群都可进行论坛访问,大至国家领导,小至一个普通干部,从当初指定用户书面表达到现在通过网络直接点击相应主题就可进行留言。网上论坛管理系统可解决游客访问及留言,所以现在几乎各个网站都有各种类型网站论坛
32、管理系统,管理者可以直观快捷的解决游客或用户的留言或提问。因此本文提出了本课题的研究,建立一个友好的、多功能的、轻松的交流平台,方便所有在线用户之间的交流沟通;为大家提供一个美观、文明的畅聊平台,论坛中还为帖子按类型进行分类,既方便了管理员对论坛的管理,又方便了用户对帖子和论坛信息的了解,为用户提供了最高的效率和最便捷的手段。本论坛定位于个人业余综合类论坛,因此,无论开发成本还是系统的规模,都在可控的范围内。设计本系统的目的不仅方便论坛会员之间的交流与学习,同样也对以前的信息管理、论坛管理提出了革新的要求。相对于以前人们获取信息的途径,本次设计的论坛不仅缩短了用户之间的时空距离,同时加快了信息
33、的获取速度。论坛的管理,一直是管理员们较为棘手的问题,一是从人员的流动性以及数量上来说,人员比较难管理;二是从信息的特性上来说,信息需要分类及更新,因此也是比较难管理。1.4 系统设计意义随着网络交流平台的发展,网络发帖的论坛方式已经成为了主要的交流平台,现在论坛交流方式越来越平凡,用户只要上网就能了解更多的网络信息和跟其他的用户进行经验交流、信息采纳。通过这种在网上畅快的留言,发表见解的交流方式,并且网络界中各方面人才众多,你便可以与别人分享和交流经验,最终达到彼此共进步的目的。论坛网站简单大方、美观,使人容易浏览,像这样的网站针对的对象是广大的上网者,他们都有权在该网站注册并进行畅谈;网站
34、不断的更新帖子,网络浏览者不会对该网站厌倦,并且对该论坛有什么不满都可以发表意见,使管理者与用户之间也进行了交流,使得交流面更加广泛。论坛网站的设计,不仅给用户带来人性化的体验,而且也对论坛的日常管理也有重大意义。在当代计算机技术飞速发展的大环境下,计算机技术和软件技术的更新是论坛完全有可能也有能力采用这样先进的管理技术。因此本系统对论坛管理带来的影响可以看到:对传统信息交流理念的冲击,可能引起信息交流管理的变动;对论坛工作人员的要求提高,使论坛在一定的可能下进行整合与发展,迫使工作人员继续学习新知识,拓宽论坛在市场环境下的生存空间。1.5 论文结构本文主要从五个章节对整个BBS系统进行详细介
35、绍,从系统的分析、设计到具体的实现,完全按照软件开发的标准流程进行,各章的主要内容如下:第二章主要是对课题的需求调研,不管是专题类的BBS还是综合类的BBS,都经过详细的调查与研究,熟悉BBS的业务流程以及网站运营的管理。通过网上的调研结果得到系统的可行性分析以及需求分析,并根据当前综合类的BBS确定出系统的设计方案,最后结合设计方案对系统的经济、技术和社会三个方面进行可行性分析,确定系统是否可以开发、是否值得开发。本章的核心是系统的可行性分析和需求分析,最后结合这两点以数据流图的方式进行详细的说明。第三章主要是课题的开发前期系统模块的总体设计,将通过第二章的需求分析得到的数据流图转换成数据、
36、软件结构。详细说明系统中可能存在的功能模块,绘制出模块图,并进行说明。通过E-R模型图,详细分析用户与帖子,版块与帖子的关系,最后得出系统的全局E-R图。确定数据库的设计方法和步骤,结合设计范式,把数据库的设计从概念设计转变成逻辑设计。本章的核心是确定系统模块,结合分析系统得到的E-R图,完成数据库的逻辑设计。第四章主要是系统的设计与实现。首先介绍本系统所采用的开发框架,了解其运行原理和流程。然后介绍系统开发所采用的架构和设计模式,并对特殊的设计模式进行详细说明。最后介绍系统实现运行的效果,结合图片以及文字说明,详细描述系统的运行状况。本章的核心是介绍系统所采用的技术,并描述系统运行实现的结果
37、,并以图表文字的方式展现其过程。第五章主要是系统的测试。在了解和明确系统测试的原则后,搭建测试平台和测试环境。测试前期,制定详细的测试用例,结合黑盒测试和白盒测试方法进行测试。最后采用集成测试,整合模块进行测试,并详细记录测试结果。本章的核心是通过不同的测试方法,测试系统是否符合性能和功能要求。最后一章主要是针对课题的总结。介绍本次设计的优缺点,并对开发过程进行总结。自我的心得体会,总结开发的收获,以及对未来的展望。第二章 系统分析可行性分析的目的是用最小的成本在尽可能短的时间内确定该系统是否可能开发、是否可以开发、是否值得开发。其实质是在较高层次上以较抽象方式进行的、简化的、压缩的需求分析和
38、概要设计过程7。本次对课题的需求调研,不管是专题类的BBS还是综合类的BBS,都经过详细的调查与研究,熟悉BBS的业务流程以及网站运营的管理。通过网上的调研结果得到系统的可行性分析以及需求分析,并根据当前综合类的BBS确定出系统的设计方案,结合设计方案对系统的经济、技术和社会三个方面进行可行性分析,确定系统是否可以开发、是否值得开发。2.1 系统开发初步调查系统可行性研究的基础是在开发的前期进行各项调查并明确系统的开发目标和规模。BBS论坛在其传播与发展中,由一个互联网的常规应用发展成为一种日趋普遍的社会现象。它的规模和大小主要依据兴办单位的规模和实力来定位的,大的论坛有国家级的论坛和一些省市
39、所投资建设的论坛,小一些的则像爱好者自建的论坛等。所以,考虑系统面向的场所和规模,为系统的开发做准确的定位是十分必要的。以下是本文所做的系统开发调查:1.论坛规模。以学校的论坛来说,它面向的对象大都是学生和教师等范围,在学校这样一个不是很大范围内,规模没有必要达到一些较大论坛的规模,只要能够满足学校范围内的需求就可以了。当然,如果能够作到尽善尽美更好,但是学校的资金和人力管理能否达到也是要考虑的。所以,面向的对象决定论坛的规模。本文设计的论坛规模较小,适合学校等用户群体使用。2.管理机制。BBS论坛的管理成为国内网络政治思想教育及网络舆论调控的一个核心问题。一个好的论坛不仅仅看它的功能和规模是
40、否齐全,还要看它的管理机制是否健全。这不仅仅是人的因素,还有操作手段和途径,比如一个好的论坛管理系统。本文设计的论坛,以国家法律法规作为开发规范,并且赋予系统管理员审核帖子的权限,因此,本系统在管理机制方面,是健全的。3.论坛信息时效性。论坛需要统一信息的管理,对各类信息情况和论坛信息的数量,种类要及时掌握,这就要求它具有很强的时效性。为了减少过时信息和大量内容重复多余的信息占用有限的空间而又要尽量做到信息种类的齐全,作为论坛的管理人员来说需要及时地对信息进行登录和注销的处理。有些信息如新闻,即时消息等更换的频率较高,有时需要每天更换,而有些大型信息则可能几年才更换一次。这些信息的发布和注销要
41、求管理员及时掌握,时效性非常重要。本文设计的系统,无论是管理员还是版主,会随时监控帖子的时效性,保证帖子的更换频率,使得每位用户能够掌握自己所需的信息。2.2 系统可行性研究分析可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性、经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,本文认为论坛系统的可行性分析如下:1.经济可行性分析。按论坛可以分为营利和非营利,无论哪种性质的论坛,都需要前期的经济投入,主要是支出的费用:其中包括设备购置费、软件开发费用、管理和维护费、人员工资和培训费等。由于各个论坛实行统一操作,系统共享,
42、人员工资,维护费用相对较少,前期的资金投入主要集中于购置设备上。建立论坛管理中心,可将来自各方面的信息集中管理,提高信息管理的计划性,快速地反馈市场信息。2.技术可行性分析。技术上的可行性分析要考虑的情况主要有技术、资源(广义而言,技术也是一类特殊而且高价值的资源)、约束与限制等因素7。论坛系统的工作主要是为网络用户之间提供一条渠道,能相互沟通信息和共享信息。当代社会,计算机技术飞速发展,软件和硬件的发展也是前所未有的,加上网络的共享性,开放性,互通性等特点,为本论坛系统的实现提供了技术条件。 3.社会可行性分析。社会可行性分析,主要是评估对新系统及其开发工作与社会的相容程度,确定新系统是否可
43、以开发。在当代计算机技术飞速发展的大环境下,计算机技术和软件技术的更新是论坛完全有可能也有能力采用这样先进的管理技术。它对论坛带来的影响可以看到:(a)对传统信息交流理念的冲击,可能引起信息交流管理的变动。(b)对论坛工作人员的要求提高,使论坛在一定的可能下进行整合与发展,迫使工作人员继续学习新知识,拓宽论坛在市场环境下的生存空间。本系统开发使用的是正版操作系统,正版开发软件和免费版数据库,所有的软件都有合同证明其合法性,开发的系统也具有相应的合同制约,所以不存在侵权问题。同时也符合其他相关的法律法规和社会道德规范。2.3 需求分析需求分析的目的是调查系统应用领域,对该应用领域中的信息和操作要
44、求进行详细分析,形成需求分析说明书7。本设计通过详细的市场调研,了解目前中小型论坛运作所需要的常用功能,参照已稳定运行且技术成熟的同类型系统,以及借鉴其中的优良设计方案和设计理念从而完成设计。通过之前的系统可行性分析,本文认为本次研究的系统可以开发,也值得开发。通过调研,本文认为一个成熟的BBS论坛系统,它不仅能够满足用户之间交流的需求,还能满足用户之间相互学习的需求。以往的论坛系统,由于界面过于花哨,导致用户无法集中精力,浏览自己所喜欢的帖子,并且这会导致一种恶性循环,影响用户的再次登录。其次,以往的论坛系统,在系统的组织结构上,存在过于繁琐,甚至组织冗余,这将导致管理员对系统管理的效率。有
45、的论坛,普通用户在初次使用时,会感觉无从下手,甚至没有导航栏目,以至于用户根本无法抓住重点综上所述,在经过详细分析后,本人设计的系统不仅界面直观、简洁,而且在组织上也达到简练的目的。本系统的设计不针对特定用户群体,也不是特定的专业论坛,所以任何普通用户都可以使用本论坛。本系统具体包含3个模块,分别是会员模块,帖子模块和论坛管理模块。会员模块主要是对会员的个人属性管理,帖子模块是针对帖子的管理,而论坛管理模块针对论坛版块、公告和广告的管理。以下为各模块的详细描述:1.会员模块:本模块包含3个功能,分别是会员注册、会员登录和资料修改。本人认为,当用户浏览论坛时,对感兴趣的帖子想发表意见或者想发表主
46、题时,就必须成为论坛会员,此做法为了保证论坛的安全性。因此,用户需要先注册成为会员。会员管理该模块实现对会员的增加、修改功能,不会实现删除功能,以免误删会员。2.帖子模块:这个模块包含3个子功能,分别是发帖管理、回帖管理和删帖管理。该模块主要是针对论坛的帖子管理。当会员发表新帖时,本文会把当前主题保存在数据库中的一张表,其他会员回帖时,必须与该主题相关,否则无法存储在数据库中另一张内容表中。主要功能是对帖子的增删改。3.论坛管理:该模块包含4个功能,分别是公告管理、版块管理、广告管理和帖子管理。此模块的功能主要是管理员、版主所独有。每个论坛都有自己的广告投放区域,这也是论坛盈利的一部分,因此本
47、人设计的论坛也有此功能,管理员有对广告的增加、删除功能。论坛都有重要新闻或者主题动态的展示,在论坛的最上边,此功能属于管理员所有,因此管理员有对广告的增加、删除功能。版块管理是管理员、版主所独有的功能,他们可以开辟新的版块供用户使用,因此对于版块实现的功能是增加、删除、修改的功能。 2.4 数据流图与设计数据流图(Data Flow Diagram),简称DFD,是一种帮助用户理解和分析整个系统数据流程的图形工具,它抛开了系统信息和具体内容,精确的在逻辑上描述系统的功能、输入、输出和数据存储等,是系统逻辑模型的重要组成部分。数据流图描绘的是数据从系统输入到系统输出的过程所经受的转换,它是从数据
48、加工和传递的角度,来刻画数据变化的过程的4。数据流图的基本组成部分有4种,分别是数据流、加工、数据存储和外部实体。以下是各组成部分的详细描述4:1.数据流:是由一组固定成分的数据组成,来表示数据的流向。值得注意的是,数据流图中描述的是数据流,而不是控制流。除了流向数据存储或从数据存储流出的数据不必命名外,每个数据流必须要有一个合适的名字,以反映该数据流的含义。由于数据流是流动的数据,因此必须标明流向。2.加工:描述了输入数据流到输出数据之间的变换,也就是输入数据流经过什么处理后变成了输出数据。每个加工都有一个名字和编号。编号能反映该加工位于分层的数据流图的哪个层次和哪张图中,能够看出它是由哪个
49、加工分解出来的子加工。3.数据存储:数据存储表示暂时存储的数据。每个数据存储都有一个名字,可以是文件或文件的一部分、数据库的元素等。4.外部实体:外部实体是存在于软件系统之外的人员或组织,它指出数据所需要的发源地或系统所产生的数据的归属地,可以是人、物或其他系统。2.4.1 数据流图设计在本次设计的BBS论坛系统中,实体用垂直长方形表示,流程的数据处理用椭圆表示,数据流用箭头表示,详细描述如图2.1所示: 实体 数据存储 数据处理 数据流图2.1 数据流符号说明普通用户在进入论坛时,可以选择注册成为论坛会员,当执行注册动作时,系统会根据用户输入的用户名去数据库中查找是否存在该用户名,不存在时,
50、则存储用户的相关注册信息到用户表中,详细描述如图2.2所示:图2.2 用户注册数据流图当然用户注册成为论坛会员后,系统需要强制用户登录。用户必须填写正确的用户名、密码和验证码,才能登陆成功,详细描述如图2.3所示:图2.3 用户登录数据流图用户成功登录后,有权在论坛上发表帖子,发表后的帖子会在本论坛中用户所关注的版块中列出,详细描述如图2.4所示:图2.4 用户发帖数据流图当用户对感兴趣的话题回复时,回复的帖子会追加在当前主题下面,并且持续的追加,并采用分页形式显示,避免回复过长,详情描述如图2.5所示:图2.5 用户回帖数据流图2.4.2 论坛业务流程图在本论坛系统中,系统中的人员用椭圆表示
51、,条件判定用菱形表示,信息流用箭头表示,过程处理用矩形表示,具体业务流程图的符号说明如图2.6所示: 系统中人员 条件判定 信息流 处理图2.6 业务流程图符号BBS论坛系统业务流程图如图2.7所示:图2.7 业务流程图2.5 开发平台与开发工具在应用开发领域中,目前系统平台的体系结构主要有两种,即C/S(Client/Server)结构和B/S(Brower/Server)结构。 C/S结构,即大家熟知的客户机和服务器结构。此模式的服务器端通常是使用较高性能的PC机、工作站或者小型机,并采用大型数据库来进行数据持久。客户端通常需要安装专用的客户端软件以运行系统。B/S结构,即浏览器和服务器结
52、构。该模式是互联网兴起后的一种新模式。使用此模式客户将不需要安装专用的客户端,直接使用浏览器访问系统的域名即可使用系统同数据库进行数据交互。在这种结构下,用户界面完全通过浏览器访问WWW实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。因此本系统采用了B/S结构。本系统采用Java技术搭载MySQL开发,所以系统运行将需要安装有Java Runtime Environment(Java运行环境)。它是一种是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的
53、、性能很优异的、多线程的、动态的编程语言。用Java编写的程序可读性好,生成的代码质量高。MySQL 具有安全性高、可靠性、可扩展必好,对于海量、高效、智能化方面的问题有很好处理能力。第三章 总体设计总体设计,又称系统概要设计。概要设计的目的是把通过需求分析所得到的DFD转换成为软件结构和数据结构4。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。3.1 功能模块本BBS论坛系统从大的方面来说,主要
54、分为三个模块:会员模块、帖子模块和论坛管理。会员模块主要是会员进行管理,如会员注册、会员资料修改等。帖子模块主要是对帖子的管理,如发帖、回帖、删帖等。论坛管理主要是管理员对版块、公告广告及帖子审查的管理。当用户浏览论坛时,对感兴趣的帖子想发表意见或者想发表主题时,就必须为论坛会员,此做法为了保证论坛的安全性。当会员发表新帖时,本文会把当前主题保存在数据库中的一张表,其他会员回帖时,必须与该主题相关,否则无法存储在数据库中另一张内容表中。此模块的功能主要是管理员、版主所独有的。论坛的部分盈利来自于广告,公告用于展示重大新闻或者特殊主题。如图3.1所示:图3.1 论坛系统功能模块图3.2 数据库概
55、念设计概念设计是将通过需求分析得到的用户需求,抽象为信息结构的过程,是数据库设计的关键之一。其结果是数据库的概念模式(概念模型)。概念模型不依赖于数据库逻辑结构和支持数据库的DBMS。在需求分析和逻辑设计之间插入概念设计,使设计者仅从用户角度看待数据及处理要求和约束,将注意力从复杂、繁琐的实现细节中解脱出来,集中在最重要的信息组织结构和处理模式设计上。因此概念结构设计是整个数据库设计的重要步骤所在4。3.2.1 设计方法概念数据库设计的方法主要有两种:一种是集中式设计方法,另一种是视图综合设计方法4。1.集中式设计方法。集中式设计方法首先合并在需求分析阶段得到的各种应用的需求;其次在此基础上设
56、计一个概念数据库模式,满足所有应用的要求。2.视图综合设计方法。视图综合设计方法由一个视图设计阶段和一个视图合并阶段组成,不要求应用需求的合并。本文所涉及到的数据库设计,采用集中式设计方法。明确了解需求分析阶段得到的各种应用的需求并将相关需求合并。会员模块,主要的业务分为会员注册、会员登录和会员资料修改。这个模块的需求是为了记录在网站注册的会员的个人身份信息,比如用户名和密码。其中,用户群体分为普通用户和管理员,他们的权限是不同的。这些需求说明,数据库的设计必须包含会员的个人身份字段,比如说会员的编号、会员的用户名、会员的密码等。帖子模块,主要的业务分为会员的发帖、会员的回帖和管理员的删帖。这
57、个模块的需求是帖子的使用,确切的说,是用户对帖子的操作。其中,用户分为管理员和普通用户。普通用户权限较低,只能在特定的版块内发帖和回复特定的帖子。而管理员权限较高,拥有对帖子的删除操作,也就是说,管理员可以审核帖子是否符合国家法律。帖子的发表必须在特定的版块内,不能随便发表,并且回复的帖子也需要针对当前帖子进行回复。这些需求表明,数据库的设计需要将帖子的内容与用户身份、版块和回帖进行关联,因此帖子表、版块表和回帖表都需要加上相关的外键。论坛管理模块,主要业务是公告管理、广告管理、版块管理和帖子管理。这个模块的主要用户群体是管理员,因为这是管理的模块。公告管理,管理员需要将一段时期内的重大新闻和
58、优秀主题进行展示。这些信息时效性较强,因此管理员需要经常更换这些信息。广告管理,和公告管理有点类似,但是不同的是广告是论坛招商引资的途径,这就需要管理员对广告进行筛选和分类。版块管理,管理员可以随时开辟新的版块或者删除版块,这就需要记录版块存在的状态。版块表中需要有一个字段进行记录当前版块是否存在,如果不这样设计,只是单纯的删除,这对系统管理存在一定影响。帖子管理,主要是管理员对帖子的审核,删除不合格的帖子。这个需求与帖子模块的需求合并。同样,帖子的删除也需要加一个字段表示存在状态。3.2.2 设计步骤概念结构的设计策略主要有自顶向下、自底向上、自内向外和混合策略四种。这些方法中最常用的是自底
59、向上方法,下面就介绍基于自底向上方法的概念设计的步骤4。1.设计局部概念模式。先从局部用户需求出发,为每个用户建立一个相应的局部概念结构。在此过程需要对需求分析的结果进行细化、补充和修改,例如数据项的拆分,数据定义的修改等。2.综合局部概念模式成全局概念模式。这一步骤主要是综合各局部概念结构,得到反映所有用户需求的全局概念结构。在这一过程中,主要处理各局部模式对各种对象定义的不一致等各种冲突问题,同时还要注意解决各局部结构合并时可能产生的冗余问题等,必要时还需要对信息需求再调整、分析与重定义。3.评审。最后一步是把全局结构提交评审。评审分为用户评审与开发人员评审两部分。用户评审的重点是确认全局
60、概念模式是否准确完整地反映了用户的信息需求,是否符合现实世界事物属性间的固有联系;开发人员评审则侧重于确认全局结构是否完整,各种成分划分是否合理,是否存在不一致性,以及各种文档是否齐全等。本文所使用的数据库概念结构设计策略就是上文所提到的自底向上方法。首先,定义各局部应用的概念结构,然后将它们集成,得到全局概念结构。局部应用的概念结构需要从局部用户需求出发,以每一个用户为基础,建立局部概念结构。用户与帖子是存在关系的。作为概念结构的个体,每一个用户其自身也有很多属性,比如用户的姓名和密码。每一个帖子也有其自身的属性,比如帖子的发表时间和所属版块。用户与帖子的关系表现在用户发表和回复帖子。他们之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025建筑工程渗漏维修合同示范文本
- 2025企业与个人之间的借款合同范本大全
- 加压泵房、消防水池、深井泵房分包合同
- 股权投资转让协议
- 2025混凝土浇筑施工合同(大清包)
- 自愿赠与所有财产合同
- 建筑工程三方付款协议书范本
- 设立公司房屋租赁合同范本
- 2025大连煤炭产品代理合同范本
- 2025乡村联合住宅开发合同
- 土豆的介绍课件
- 人民法院第一审行政判决书及范例
- 南京大学仪器分析习题集
- 《中国名山介绍模板》课件
- 粘液囊肿病例
- 如何帮助大学生克服游戏成瘾问题
- Rational Rose 建模-家庭收支管理系统
- 旅游策划期末试卷B卷-旅游策划(哈工大出版社)配套材料
- 生物制药技术专业建设方案
- TY/T 1106-2023群众体育赛事活动运营服务规范
- 无锡星洲工业园低碳园区规划方案
评论
0/150
提交评论