欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    软件技术毕业论文基于JSP的学生论坛系统的设计与实现.doc

    • 资源ID:3973618       资源大小:774KB        全文页数:40页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件技术毕业论文基于JSP的学生论坛系统的设计与实现.doc

    天津工业大学天津工业大学 毕业设计(论文)毕业设计(论文) 基于基于 jspjsp 的学生论坛系统的设计与实现的学生论坛系统的设计与实现 姓姓 名名 xxx 学学 院院 计算机科学与软件计算机科学与软件 专专 业业 软件技术软件技术 指导教师指导教师 xx 职职 称称 讲师讲师 2011 年年 05 月月 07 日日 目目 录录 前前 言言I I 第第 1 1 章章 概概 述述1 1 1.1 课题研究的背景和来源1 1.2 课题研究成果应用的实际意义1 1.3 本文的内容及主要工作2 第第 2 2 章章 相关技术简介相关技术简介3 3 2.1 B/S 架构的介绍 3 2.2 JSP 技术的介绍 3 2.3 JSP 技术的优势与劣势 4 2.4 STRUTS 框架 4 2.5 本章小结7 第第 3 3 章章 需求分析需求分析8 8 3.1 系统实现目标8 3.2 系统运行环境8 3.3 系统的开发环境9 3.4 功能性需求描述9 3.5 文件夹组织结构.13 3.6 非功能性需求描述.13 3.7 本章小结.14 第第 4 4 章章 系统设计系统设计1515 4.1 系统设计原则.15 4.2 数据库设计.15 4.3 用户发布主题模块设计.19 4.4 本章小结.20 第第 5 5 章章 系统实现系统实现2222 5.1 发布主题实现过程.22 5.2 本章小结.29 第第 6 6 章章 系统测试系统测试3030 6.1 测试的概念.30 6.2 本系统的测试方法.30 6.3 本章小结.31 第第 7 7 章章 总总 结结3232 7.1 工作总结.32 7.2 系统的完善和心得.32 参考文献参考文献3333 致致 谢谢3535 天津工业大学 2011 届高职生毕业设计(论文) I 前前 言言 随着网络时代的来临和冲击,全球经济一体化的趋势加强,各国都面临着 前所未有的机遇和挑战。论坛作为一种先进的交流方式和管理技术,被广泛认 为是企业和网站在运作中一种新型和快捷的交流形式,提高了用户对企业和网 站的认知,方便了用户回馈意见,在企业的竞争和发展中发挥着重要作用。论 坛作为网络时代的代表性标志之一,越来越多的被人们喜欢上了这种新的研究 问题的形式。随着论坛的热度逐渐升高,网络论坛进入战国时代,大大小小的 网络论坛生长着消亡着,而随着网络的迅猛发展,网民们也逐渐分野细化,分 类细化的网络社区呼之欲出。在对如今如此激烈的各种论坛中,结合不同的的 要求和业务需要,设计了一个适合于各种企业需要的,具有较强扩展性的论坛 系统。 系统的主要功能是建立一个可以讨论各种问题的专区,可以让用户和游客 发表自己的意见和建议,通过这样不断的完善企业或者网站的建设,同时也给 用户提供了一个交流的平台。本论坛同时具备管理员管理系统,方便专门负责 的管理员管理用户的信息、权限,发表的主题等。系统采用 B/S 架构,易于论 坛拥有者要求的不同进行扩展。论坛的用户可以到自己喜欢的论坛栏目下进行 讨论,极大的方便了企业公司或者其他网站等同用户间的联系,更好的了解用 户的想法。同时对于企业或网站的宣传起到了极大的促进作用。 目前活跃的网络论坛有强国论坛、中青论坛、球迷一家等。强国论坛是人 民网开设的论坛,目的是为那些爱国无门又有一腔热血堵在心头的爱国志士们 设立的。中青论坛是中青在线的论坛,其中的青年话题是人气最旺的论坛,由 中青报编辑李方主持,以为文学女青年排忧解难和抒发小资情调为宗旨。球迷 一家和前面提到的天涯社区都属于海南在线,主要收容当年从新浪体育沙龙逃 亡的散兵游勇。 还有一些人气未必很高但声望不低的专业类论坛。IT方面有新浪IT业界论 坛和DONEWSIT写作社区,摄影类有第三只眼和江湖色论坛,文学类有橄榄树 和诗生活等。这些论坛有个共同的特点:在喧闹的网络背景下,惨淡经营,低 调运作。而混迹于其中的网民图的是,有朝一日,能脱颖而出,在业界找到自 己的一席之地,所以论坛系统对于企业和用户的作用都是巨大的。总之,随着 论坛技术的发展,论坛领域的不断扩大,越来越多的网站如雨后春笋一样出现 在网络上,这些论坛不仅能提供给用户一个交流的平台,更为企业和一些知名 网站提高了影响力和知名度。在这个信息化的时代中,论坛逐渐成为了一种引 天津工业大学 2011 届高职生毕业设计(论文) II 领企业进步,甚至是整个社会进步的标志性文化 天津工业大学 2011 届高职生毕业设计(论文) 1 第 1 章 概 述 1.1 课题研究的背景和来源 BBS 的英文全称是 Bulletin Board System,翻译为中文就是“电子公告板” 。BBS 最早是用来公布股市价格等类信息的,当时 BBS 连文件传输的功能都没 有,而且只能在苹果计算机上运行。早期的 BBS 与一般街头和校园内的公告板 性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始 普及之后,有些人尝试将苹果计算机上的 BBS 转移到个人计算机上,BBS 才开 始渐渐普及开来。近些年来,由于爱好者们的努力,BBS 的功能得到了很大的 扩充。目前,通过 BBS 系统可随时取得国际最新的软件及信息,也可以通过 BBS 系统来和别人讨论计算机软件、硬件、Internet、多媒体、程序设计以及 医学等等各种有趣的话题,更可以利用 BBS 系统来刊登一些“征友”、“廉价 转让”及“公司产品”等启事,而且这个园地就在你我的身旁。只要您拥有 1 台计算机、1 只调制解调器和 1 条电话线,就能够进入这个“超时代”的领域, 进而去享用它无比的威力! 从构建的方式上分,BBS 可以分为 PC BBS 和 Internet BBS。PC BBS 是利 用现有的电话网组成的 BBS 系统,由于构建费用较少,所以上面所说的 BBS 一 般都是基于这种方式构建的。当业余 BBS 站的发展如火如荼的时候,随着 ChinaNet 的全面开通,越来越多的人用上了 Internet,并从中体会到了使用它 的方便与乐趣。建立在 Internet 基础上的 BBS,也就是 Internet BBS,已经开 始发展。但是,由于目前构建 Internet BBS 的费用较高,所以还没有形成较大 的规模。相信随着 Internet 使用费用的下降,这种类型的 BBS 将会越来越多。 BBS 的发展过程中,也出现了一些问题。由于国内使用的 BBS 架站软件, 都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一 些资料,但是仅靠这些是远远不够的。另外,有些站台的设立是相互抄袭,所 以在结构上难免有雷同之处。 1999 年是中国网络的发展年。但是,我们应该清醒地认识到,目前一些 BBS 站并没有走上“简单、易用”这一层次。包括一些厂商架设的 BBS 站,实 用性还需要加强。今后,国内的 BBS 站将向着个性化和专业化的方向发展。 综上所述,一套好的 BBS 站台对于一个企业或者网站是十分重要,它与整 个企业或者网站的发展息息相关,所以本人制作了一个扩展性极强,操作简便 的 BBS 论坛站台。 1.2 课题研究成果应用的实际意义 天津工业大学 2011 届高职生毕业设计(论文) 2 本文研究的主要目的是实现一个BBS论坛,能使用户发表自己的想法,同时 管理员可以管理论坛的情况,并在此基础上实现企业与用户之间沟通的功能。 由于各个企业和网站有各自的项目和产品的不同,各式各样的的论坛不断 的如雨后春笋滋生出来。平时对于企业的宣传开发的过程中,需要对不同的企 业实现不同的设计。而在论坛系统开发的时候,只需要把该企业的需要的模块 添加到论坛设置好的模块中即可。这种形式的论坛开发方式偏重于应用和扩展 性,极大的方便了企业的管理和规划。普通的广告形式如果需求有了变化,往 往要大面积地修改代码,甚至是重新开发。这样就浪费了大量的人力物力。要 达到降低开发成本的目的,最直接的方法就是复用以前的系统。论坛系统只需 要管理员不断的对已经形成好的模块形式进行更新就可以达到需要的目的,这 就是论坛系统相对于其他的形式的网站的优越性。 本课题研究的系统,就是要通过 Web 服务器在企业的不同网站间架设属于 本企业的论坛。为企业与用户间搭建起一个桥梁,并在此基础上添加注册用户, 管理用户等功能,实现企业中的技术讨论,社区建设,更好的为企业服务。 1.3 本文的内容及主要工作 本文在分析介绍了 B/S 结构下,Struts 框架和 JSP 的基础上,基于论坛系 统的需求特点,介绍了 JSP 模式的优点,并且实现了论坛系统的基本功能。 各章的内容组织如下: 第 1 章介绍了课题研究的背景及实际的应用意义; 第 2 章介绍了 B/S 结构,JSP 技术优越性以及 Struts 框架技术; 第 3 章分析了系统的开发环境,利用用例建模分析系统的功能需求,并且 根据实际情况补充了部分需求,提出了非功能性需求,并描述了系统术语表; 第 4 章对系统进行总体设计,并对服务层、Web 服务层、数据访问层、消 息处理部分等进行详细设计,对系统中用户注册、用户登陆、权限控制、发表 言论等功能进行了详细设计,对介绍了系统中数据库表; 第 5 章主要介绍了JavaScript语言的面向对象和事件驱动的实现,展示了 Web客户端根据相关协议与服务器交互的流程,并介绍了客户端框架的实现以及 定时更新机制的实现。最后是服务器端的具体实现,展示了安全控制机制下用 户访问服务器的流程,重点介绍了用户注册、用户登陆、发表贴子、管理员与 用户之间进行操作等的处理流程; 第 6 章测试部分主要讲解测试的概念以及本论文所需要的测试 第 7 章结论部分是对整个论文工作的总结以及下一步工作的展望,指出我 们工作中有待改进的地方,同时指明了下一步的研究方向。 天津工业大学 2011 届高职生毕业设计(论文) 3 第 2 章 相关技术简介 2.1 B/S 架构的介绍 B/S 结构:(Browser/Server,浏览器/服务器模式):是 WEB 兴起后的 一种网络结构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了 客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维 护和使用。 客户机上只要安装一个浏览器(Browser),如 Netscape Navigator 或 Internet Explorer,服务器安装 Oracle、Sybase、Informix 或 SQL Server 等数据库。浏览器通过 Web Server 同数据库进行数据交互。 B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。 B/S 结构的使用越来越多,特别是由需求推动了 AJAX 技术的发展,它的程 序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增 加了交互性,能进行局部实时刷新。 2.2 JSP 技术的介绍 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产 生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端 的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基 于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。Web 服务器在 遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、 重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给客户端的就 是一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范。 目前较新的是 JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客 户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户 端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开 发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用, 完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 天津工业大学 2011 届高职生毕业设计(论文) 4 JSP 可用一种简单易懂的等式表示为:HTML+Java=JSP。 2.3 JSP 技术的优势与劣势 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客 户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户 端的浏览器。Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开 发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用, 完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点, 这是 JSP 的天然优势。 JSP 的优势: (1)一次编写,到处运行。在这一点上 Java 比 PHP 更出色,除了系统之外, 代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任 意环境中进行系统部署,在任意环境中扩展。相比 ASP/PHP 的局限性是显而易 见的。 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/JSP, 到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消 息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经有 了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以 顺利的运行于多种平台之下。 JSP 的劣势: (1) 与 ASP 一样,Java 的一些优势正是它致命的问题所在。正是由于为了 跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2) Java 的运行速度是用 class 常驻内存来完成的,所以它在一些情况下 所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面, 它还需要硬盘空间来储存一系列的 java 文件和 class 文件,以及对应的版本文 件。 2.4 Struts 框架 2.4.1 Struts 框架介绍 Struts 最早是作为 Apache Jakarta 项目的组成部分,项目的创立者希望通过 对该项目的研究,改进和提高 JavaServer Pages 、Servlet、标签库以及面向对象 的技术水准。Struts 这个名字来源于在建筑和旧式飞机中使用的支持金属架。这 个框架之所以叫“Struts“,是为了提醒我们记住那些支撑我们房屋,建筑,桥梁, 天津工业大学 2011 届高职生毕业设计(论文) 5 甚至我们踩高跷时候的基础支撑。这也是一个解释 Struts 在开发 Web 应用程序 中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为 建筑的每一层提供支持。同样,软件工程师使用 Struts 为业务应用的每一层提 供支持。它的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用 的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的 工作。如果想混合使用 Servlets 和 JSP 的优点来建立可扩展的应用,Struts 是一 个不错的选择。 Struts 框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于 MVC 的 web 应用程序的开发 本章详细讨论 struts 架构。我们将看到 struts 是如何清晰地区分控制,事务 逻辑和外观,从而简化了开发应用程序过程的。我们还将介绍 struts 提供的类 如何使得开发工作更加简单,这些类包括: (1)控制程序流程的类。 (2)实现和执行程序事务逻辑的类。 (3)自定义的标记库使得创建和验证 HTML 表单更加容易。 2.4.2 Struts 压缩包内容 文件夹 jakarta-struts-1.0.2 包含两个目录,lib 和 webapps。在 lib 目录中有 使用 struts 创建应用程序是所需的文件: 文件描述 jdbc2_0-stdext.jar 包含 JDBC2.0 Optional Package API 类。如果我们要使用 struts 提供的数据资源,就需要将这个文件拷贝到 WEB-INFlib 下 Struts.jar 包含 struts 中所有的 java 类。同样也需要拷贝到 WEB-INFlib 下 *.tld 标记库描述器文件,描述了多个 struts 标记库中的自定义标记。同样 要拷贝到 WEB-INFlib 下 在 webapps 目录下有如下文件: Web 应用程序描述 Struts-blank.war 一个简单的 web 应用程序 Struts-documentation.war 包含 struts 站点上所有 struts 文档 Struts-example.war Struts 很多特性的示范 Struts-exercisetaglib.war 主要用于对自定义标签库进行增加而使用的测试页, 但也可以示范如何使用 struts 标记 Struts-template.war 包含 struts 模板标记的介绍和范例 天津工业大学 2011 届高职生毕业设计(论文) 6 Struts-upload.war 一个简单的例子,示范如何使用 struts 框架上传文件 2.4.3 Struts 体系结构 让我们从 MVC 角度观察 struts 框架中的组件 框架中三个部分:模型,视窗和控制器。 模型 在 struts 框架中,模型分为两个部分: 系统的内部状态 (1)可以改变状态的操作(事务逻辑) (2)内部状态通常由一组 ActinForm JavaBean 表示。根据设计或应用程序复 杂度的不同,这些 Bean 可以是自包含的并具有持续的状态,或只在需要时才获 得数据(从某个数据库)。 大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥 有状态信息的 bean 调用。比如购物车 bean,它拥有用户购买商品的信息,可能 还有 checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。 小型程序中,操作可能会被内嵌在 Action 类,它是 struts 框架中控制器角 色的一部分。当逻辑简单时这个方法很适合。 建议用户将事务逻辑(要做什么)与 Action 类所扮演的角色(决定做什么) 分开。 视窗 由 JSP 建立,struts 包含扩展自定义标签库,可以简化创建完全国际化用户 界面的过程。 控制器 struts 中,基本的控制器组件是 ActionServlet 类中的实例 servelt,实际使用 的 servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)进行定义。 2.4.4 Struts 框架中的组件 框架中所使用的组件: ActionServlet 控制器 ActionClass 包含事务逻辑 ActionForm 显示模块数据 ActionMapping 帮助控制器将请求映射到操作 ActionForward 用来指示操作转移的对象 天津工业大学 2011 届高职生毕业设计(论文) 7 ActionError 用来存储和回收错误 Struts 标记库 可以减轻开发显示层次的工作 2.5 本章小结 本章首先对 B/S 结构进行了介绍,然后对 JSP 技术以及 JSP 优点和缺点的 概述;同时介绍了 Struts 框架的结构、内容、体系等。 由本章的分析可知, Struts 是一种非常规范的构建网站论坛框架,有利于 网站系统的开发和修改,所以本人选用了在 Ecplice 平台下进行开发,以支持 Struts 强大的架构和需要的插件。 天津工业大学 2011 届高职生毕业设计(论文) 8 第 3 章 需求分析 需求分析是软件开发流程中重要的一个环节,需求分析的基本任务是根据 用户的需求,准确定义要完成的系统的目标,回答系统必须“做什么”的问题。 它的主要用途是明确系统需求,是用户和开发人员之间进行讨论的基础,并作 为系统设计、实现以及测试的依据。 只有准确全面的需求获取与分析才能保证系统设计、系统实现的顺利进行, 为后期测试提供必要的支持。在参考了现有的 BBS 论坛系统的功能,并且考虑 到了系统的扩展性和成本的基础上,最后制定了本系统的具体需求。 3.1 系统实现目标 校园架设论坛,首先需要用户在此论坛注册,用户注册了以后管理员才能 进行管理,了解用户的情况和发帖的情况,同时要求游客只能够浏览论坛,不 能发表主题或回复,只有在论坛内注册的用户才可以发表主题。管理员具有管 理整个论坛的权限,可以管理已注册用户和论坛模块等。 为保证物论坛系统能够有效地为企业和网站服务,从功能上必须达到以下 目标: (1) 必须实现论坛所有必需功能。作为论坛系统,系统必需能够实现用户 注册,用户登陆,发表主题,发表回复等功能,保证论坛实现交流信息技术的 功能。 (2) 必须保证管理员得到用户信息的准确性和真实性。管理员作为整个系 统的调度者,系统的信息必须能够清楚显示给管理员。对于发表的不良信息, 管理员应及时删除,保证论坛内部模块的秩序,防止有人恶意损坏论坛的形象。 (3) 必须保证管理员能和用户之间通信。对于论坛系统来说,系统的实时 管理是十分重要的,管理员可以设立某个模块的版主,来帮助管理员管理其中 的内容和调动论坛的活跃度。所以,要保证管理员和用户间通信联系的及时性, 提高论坛的知名度与效率。 3.2 系统运行环境 为了能使学校更好的应用现有软硬件资源,在保障数据信息系统稳定、高 效运行的前提下,实现论坛的目的。根据系统需求,设定了 BBS 论坛系统的运 行环境。 天津工业大学 2011 届高职生毕业设计(论文) 9 网络环境: 服务器的终端和操作主机都需要连接到 Internet。 硬件环境: (1) 服务器主机配置:CPU 使用 Intel P 4 Xeon, 双 CPU,内存为 2GB,选 用 2 块 120GB 的 SCSI 硬盘进行同时读写。 (2) 操作主机配置:CPU 最低 Intel P4 2.0GHz 以上,内存 1GB 以上。 (3) 用户端配置:无严格要求,可以登陆 Internet 访问此网站便可。 软件环境: 服务器: Windows 2000 服务器版操作系统,Tomcat5.5 服务器, MyEcplice5.5 开发工具,MySql 5.0 数据库。 管理员操作端:Windows 98 操作系统以上,IE6.0 以上。 用户端:Windows 98 操作系统以上,IE6.0 以上。 3.3 系统的开发环境 考虑到系统成本问题,全部采用开源软件和框架来构建此系统。相对来说, 开源软件成本低,功能相对简单。 服务器端软件环境:Web 服务器采用 Tomcat5.5,它部署和使用起来都很 方便,支持的功能对本系统来说已经足够。论坛的制作方面选用 MyEcplice 5.5 开发,它是一个全面的多语言环境的编程软件,能够实现实用多种语言同时更 好的编写程序。数据库服务器采用的 PowerDesinger 完成建模工作,并将其导 入 MySql 中,为了节省本系统的资源,所以采用了小型数据库 MySql。在实际 应用中,企业可以根据自己的需要更换其他的的数据库管理。 开发工具与支持环境:系统开发采用 MyEclipse。考虑到系统的扩展性和实 体类的独立性,采用 Struts 作为 J2EE 实现的服务器端容器,数据库访问则采用 JDBC 组件实现。这些开源软件的采用,降低了系统开发难度,提高了软件的 可复用性。 3.4 功能性需求描述 在面向对象的系统分析中,获取功能需求的最常用的技术就是用例建模技 术。它能够直观地向客户展示系统的功能,方便技术人员准确地获取需求。在 项目开发的前期,它帮助开发人员理解系统的需求而不考虑具体的实现方法。 用例,表示系统的一种行为或者某个功能。它是在特定条件下,为了达到某种 目的,系统和用户之间进行交互的一个序列。用例模型由参与者和用例组成。 天津工业大学 2011 届高职生毕业设计(论文) 10 参与者是与系统进行交互的外部实体,可能是某个人或者是某个事物。图 3.1 显示的就是本系统的业务流程图。本系统中,参与者有两个,管理员和普通用 户,相关的用例描述如下。 图 3.1 论坛系统流程图 3.4.1 用户注册 用例标识:1.0参与者: 浏览本论坛的游客 简要说明:游客在浏览本论坛系统的时候可以注册成为本论坛的用户。 基本事件流: (1) 先单击论坛右上方“注册用户”导航按钮,进入注册界面。 (2) 客进入注册界面填写个人的基本信息,包括用户名、密码、真实姓名、 性别、OICQ、头像等信息。 (3) 提交注册信息,必填项目必须填写,如果用户名重复,两次密码输入 不同,则系统显示请从新填写。 (4)注册成功,页面自动跳转回论坛首页。 3.4.2 浏览论坛 用例标识:2.0参与者:管理员,注册用户,游客 简要说明:此用例中操作者为管理员,注册用户,游客均可,系统以列表 的方式显示论坛的当前状态以及其他基本信息。 基本事件流: 天津工业大学 2011 届高职生毕业设计(论文) 11 (1) 凡登陆本论坛者,都可以可以随意浏览本论坛基本信息。 (2) 管理论坛的信息只有管理员登陆后可见。 (3) 论坛模块信息只有注册用户或管理员可见。 3.4.3 发表回复 用例标识:3.0参与者:管理员,注册用户 简要说明:浏览本站的用户可以在自己感兴趣的论坛区中查看主题贴子并 发表回复。 基本事件流: (1) 登陆网站首页,在首页的右上方的登陆框内登陆用户的用户名和密码。 (2) 登陆成功后,可选择相关的论坛模块,点击即可进入。 (3) 进入相应的论坛模块后,可以查看已发的主题贴子并进行回复。 3.4.4 发表主题 用例标识:4.0参与者: 管理员,注册用户 简要说明:管理人员通过输入要查询项和查询条件,来完成对系统中某类 信息的查询,结果采用列表的方式显示。 基本事件流: (1) 登陆网站首页,在首页的右上方的登陆框内登陆用户的用户名和密码。 (2) 登陆成功后,可选择相关的论坛模块,点击即可进入。 (3) 进入相应的论坛模块后,点击论坛右上角的发布主题选项即可发布新 主题。 3.4.5 用户管理 用例标识:5.0参与者:管理员 简要说明:管理员可以对已经在本论坛的注册的用户进行管理,根据不同 的需求和形式,进行不同的管理。 基本事件流: (1) 点击网页右上方的的“管理员登陆”导航按钮,然后进如管理员管理 页面。 (2) 进入管理员操作界面以后,单击左侧的“用户管理”按钮。 (3) 可以根据用户对论坛的贡献进行提升为管理员或删除。 天津工业大学 2011 届高职生毕业设计(论文) 12 3.4.6 主题管理 用例标识:6.0参与者:管理员 简要说明:管理员可以通过管理员登陆系统进入主题管理系统,查看并管 理用户发表的主题。 基本事件流: (1)点击网页右上方的的“管理员登陆”导航按钮,然后进入管理员管理页 面。 (2 进入管理员操作界面以后,单击左侧的“主题管理”按钮。 (3) 可对不文明的主题或恶意宣传的主题进行删除。 3.4.7 栏目管理 用例标识:7.0参与者:管理员 简要说明:管理员可以对某个栏目做出杰出贡献者进行任命,将其设为版 主。 基本事件流: (1) 点击网页右上方的的“管理员登陆”导航按钮,然后进入管理员管理 页面。 (2) 进入管理员操作界面以后,单击左侧的“栏目管理”按钮。 (3) 进入栏目管理页面后,可以将用户设置为某个栏目模块的版主,其名 字会显示在论坛首页栏目名字的下方。 3.4.8 回复管理 用例标识:8.0参与者:管理员 简要说明:管理员可以通过管理员登陆系统进入主题管理系统,查看并管 理用户发表的主题。 基本事件流: (1)点击网页右上方的的“管理员登陆”导航按钮,然后进入管理员管理页 面。 (2 进入管理员操作界面以后,单击左侧的“回复管理”按钮。 (3) 可对不文明的回复或恶意宣攻击他人,传播不良文化等的回复进行删 除。 3.4.9 用户注销 用例标识:9.0参与者:注册用户,管理员 天津工业大学 2011 届高职生毕业设计(论文) 13 简要说明:注册用户和管理员在结束操作以后可以点击“注销”按钮退出 登录。 基本事件流: (1) 用户或管理员已经登陆本论坛系统。 (2) 确定执行的所有操作均已完成。 (3) 点击论坛首页左上方的“注销”按钮,安全退出。 3.5 文件夹组织结构 在开发系统前,将可能用到的文件夹创建出来,可以方便以后的开发工作, 还可以规范论坛的整体架构,BBS 系统的文件夹组织结构如图 3.2 所示。 图 3.2 论坛组织文件夹结构图 3.6 非功能性需求描述 天津工业大学 2011 届高职生毕业设计(论文) 14 非功能性需求在整个系统中占有非常重要的位置,对系统的非功能性需求 的满足是系统成功的基础,下面列出本系统的非功能性需求: (1) 系统能够长时间的持续工作。 对于企业应用级的系统来说,系统的稳定性与正确性一样重要。考虑到本 系统的实际情况,服务器端必须能够在 24*7 小时内不间断地稳定运行。 (2) 客户端信息更新更新等待时间不能大于 5 秒。 (3) 系统要采用 B/S 架构进行构建。 考虑到 B/S 架构部署以及升级的简单化,所以要求采用 B/S 架构进行构建。 3.7 本章小结 本章首先介绍了系统的实现目标、运行环境和开发环境。然后通过用例分 析的方式获取和分析了系统的功能性需求,对需求进行了补充,提出了系统的 非功能性需求。从而对系统的整体需求有了完整的了解。 从本章的需求分析中可以得出,系统的功能性需求相对来说比较易于实现, 而非功能性需求比较严格。对于非功能性需求影响最大的就是系统的架构,所 以在设计和实现系统时,要在对系统的架构给予充分重视的前提下,实现功能 性需求。 天津工业大学 2011 届高职生毕业设计(论文) 15 第 4 章 系统设计 4.1 系统设计原则 (一)低成本。随着技术的进步和系统复杂性的增加,论坛成本在整个系统 中所占的比重越来越大,企业应用中已经达到 80%左右拥有属于自己的论坛, 而且有继续增加的趋势。为了降低系统的成本,系统中各个模块都采用开源项 目中的组件完成。它们不仅能够提供比较完善的功能,而且还能根据系统需求 进行适当扩展。 (二) 规范性。从使用周期上来考虑,论坛系统维护阶段在软件生命周期或 生存期中占较大比重,有的可达系统生存周期的 50-70%。所以需要系统在设计 的过程中积极遵循各种规范,保证后期维护和开发人员能够快速整理和修改。 (三) 易扩展。系统的设计直接决定可扩展性。可扩展性是软件工程追求的 目标,能够大大提高系统的复用程度,较低开发成本。本系统中采用标准的 Struts 框架作为服务器端的容器,其中的提供了可扩展的 Action 类,用户处理 特定的 HTTP 请求。另外系统采用分层机制设计,建立专门的数据访问层、服 务层、业务逻辑层等,采用设计模式中的思想优化设计,从而最大程度上提高 系统可扩展性。 4.2 数据库设计 数据是系统的基础,数据库设计关系到系统开发的成败,所以数据库设计 这一环节在系统开发中显得尤为重要。数据库设计就像一座建筑的地基一样, 如果设计不合理,将会影响到整个系统开发的全过程,甚至会给后期维护带来 极大的不便。 4.2.1 数据库分析 本系统采用 MySql 数据库,相对于 Oracle 等大型数据库来讲,MySql 数据 库更适用于中小型系统,其存取数据的方便、快捷为系统开发带来了便利。由 于本系统数据量并不算庞大,为了减少工程成本,所以选择使用 MySql 数据库。 4.2.2 数据库概念设计 根据以上对系统所做的需求分析、流程设计及功能结构的确定,每个功能 模块可以抽象出一个或多个实体对象,例如用户、论坛、主题、回复主题实体 对象等。这些实体对象彼此互相联系,并且最重将被创建成数据表结构。 天津工业大学 2011 届高职生毕业设计(论文) 16 (1) 用户实体对象 用户实体包括用户编号、用户名、用户签名、用户头像、用户级别等用户 相关属性。用户编号是识别用户实体的唯一编号,也就是数据表的主键,它的 数据类型为 int 型,并且具有自增特性;用户级别属性是标明用户在本系统中的 功能管线;其他属性都是描述此用户相关信息的属性,例如用户头像、用户联 系地址、用户个人主业等。用户实体 E-R 图如图 4.1 所示。 图 4.1 用户实体 E-R 图 (2) 论坛实体对象 论坛实体对象包括论坛编号、论坛名称、版主、创建时间等相关属性。论 坛实体对象中的论坛编号属性与用户实体对象中的用户编号属性类型相同,都 为 int 型,并具有自增特性;其他属性都是描述此论坛的相关信息。论坛实体 E-R 图如图 4.2 所示。 天津工业大学 2011 届高职生毕业设计(论文) 17 图 4.2 论坛实体 E-R 图 (3) 主题实体对象 主题实体包括主题编号、主题标题、主题内容、主题作者、发表时间、论 坛编号、论坛名称、人气等相关属性。主题编号属性类型为 int 型,并且具有自 增特性;论坛编号属性标明此主题发表在哪个论坛中;由于在使用主题实体对 象时,频繁用到论坛实体对象中的论坛名称属性,所以在这里将论坛名称属性 定义到主题实体中;人气属性用于标明此主题被访问过的次数;其他属性都是 描述主题实体对象的相关信息。主题实体 E-R 图如图 4.3 所示。 图 4.3 主题实体 E-R 图 (4) 回复主题实体对象 回复主题实体对象包括回复主题编号、回复主题标题、回复主题内容、回 复主题作者、回复主题时间、主题编号、主题名称、回复作者心情等属性。除 了主题编号与主题名称属性之外,其余属性都是描述回复主题实体对象相关信 息。回复主题实体 E-R 图如图 4.4 所示。 天津工业大学 2011 届高职生毕业设计(论文) 18 图 4.4 回复主题实体 E-R 图 4.2.3 PowerDesigner 数据库建模 在数据库概念设计中已经分析了用户、论坛、主题、回复主题等主要数据 库实体对象,这些实体对象最终将被定义为数据表,形成整体的数据结构。在 这里,本人使用 PowerDesigner 软件完成数据库建模工作。建模结构如图 4.5 所 示。 图 4.5 数据库模型图 天津工业大学 2011 届高职生毕业设计(论文) 19 图 9.5 中的数据库模型描述了整个 BBS 系统的数据结构,包括用户、论坛、 主题、主题回复等实体,这 4 个实体之间没有直接关联关系,这就意味着开发 过程比较简单。 4.2.4 创建数据库 通过 PowerDesigner 建模后,可以使用此软件生成相应的数据库脚本,本 人将本系统数据库脚本命名为 db_bbs.sql,然后使用脚本在 MySql 中创建数据 库。具体步骤如下: (1) 选择“开始”/“程序”/MySQL/MySQL Server 5.0/MySQL Command Line Client 命令,弹出窗口,输入 root 用户密码,窗口提示符变为“mysql

    注意事项

    本文(软件技术毕业论文基于JSP的学生论坛系统的设计与实现.doc)为本站会员(小小飞)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开