BBS论坛毕业论文——仅供参考.doc_第1页
BBS论坛毕业论文——仅供参考.doc_第2页
BBS论坛毕业论文——仅供参考.doc_第3页
BBS论坛毕业论文——仅供参考.doc_第4页
BBS论坛毕业论文——仅供参考.doc_第5页
免费预览已结束,剩余44页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题 目: BBS论坛用户中心模块的开发 学 院:软件学院专业名称:软件工程班级学号:08201233学生姓名:张 俊 儒指导教师:周 鑫 丽二O一二 年 四 月 毕业设计(论文)任务书I、毕业设计(论文)题目: BBS论坛用户中心模块的开发II、毕 业设计(论文)使用的原始资料(数据)及设计技术要求:1) 使用的原始资料: 沈阳东软实训中心提供的相关文档,主要有:BBS论坛系统软件开发需求说明书、详细设计说明书模板、论文格式模板、项目开发计划、项目周报。 项目开发过程文档,主要有:BBS论坛系统需求分析说明书、概要设计静态页面、详细设计说明书。 南昌航空大学软件学院提供的相关文档,主要有:南航论文模板、本科毕业设计(论文)教学指导手册。2) 设计的技术要求:项目开发采用B/S结构,以myEclipse8.5作为基本开发工具,表示层以JSP技术展现,使用的是Tomcat服务器,SQL Server 2005数据库,同时采用MVC开发模式,Struts2、Hibernate开发框架,用以保证项目的可维护性和高度兼容性。本项目的开发不仅要完成需求说明书中规定的功能点,更要保证系统设计和实现的科学合理性,在掌握开发技术的基础上理解软件项目管理的相关过程和技术。III、毕 业设计(论文)工作内容及完成时间:第一阶段:论文开题阶段 2011.12.12011.12.7 主要完成开题报告,确定毕业设计研究题目和方向。第二阶段:工程设计与实现阶段 2011.12.72011.12.30 完成项目中需求、设计、代码实现及测试阶段。第三阶段:论文资料收集阶段 2012.2.12012.2.15第四阶段:论文编写阶段 2012.2.152012.3.30第五阶段:论文修改阶段 2012.4.12012.4.18第六阶段:答辩 2012.4.192012.4.26第七阶段:论文修改阶段 2012.4.262012.5.30 、主 要参考资料:1 李刚. Struts2权威指南M. 北京:电子工业出版社. 2007年2 丁鹏. Struts2技术揭秘及Web开发实例M. 北京:清华大学出版社. 2004年3 孙卫琴. 精通hibernateM. 北京:电子工业出版社. 2005年4 郑阿奇. JavaEE基础实用教程M. 电子工业出版社. 2009年5 萨师煊,王珊. 数据库系统概论(第三版)M. 高等教育出版社. 1998年6 Gaving King,Christian Bauer. Hibernate Reference DocumentationJ. Addison-Wesley Publishing Company. 2003 学院 专业类 班学生(签名): 日期: 自 年 月 日至 年 月 日指导教师(签名): 助理指导教师(并指出所负责的部分): 系(室)主任(签名):学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌航空大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 作者签名: 日期:导师签名: 日期:摘要随着人们生活水平的提高,越来越多的人选择上网作为自己娱乐消遣的一种方式,并且随着互联网的发展,计算机的应用也越来越广泛,由于计算机和网络的发展,为了满足经常上网并且热爱在网上发表评论的人的需要,开发了以下的基于Struts2+Hibernate的BBS论坛社区。本论坛是一个网络应用软件以Eclipse为开发工具,以sqlserver2005为后台数据库。针对网络论坛爱好者作为用户而开发的,主要用来对网络论坛爱好者的信息进行管理并且提供了一个供论坛爱好者之间交流的平台。本系统前台采用流行的JSP、Ajax(Asynchronous JavaScript and XML)和JavaScript技术实现了富客户端及动态生成网页的功能。还采用了目前最流行的SH(Struts2 和Hibernate)组合技术实现了对业务逻辑的处理。本次开发选择B/S模式,采用多层体系结构,使用MVC设计模式来实现,且后台采用sqlserver2005实现了对用户数据的持久操作,所以本系统使用方便、操作灵活、运行稳定、安全可靠、以扩展和维护。我所负责的模块是:会员登录模块、个人信息模块、版主公告管理模块。本系统做的是一个BBS论坛,它是一个交流平台,而本人完成的用户中心管理模块是它的基本功能,实现了对用户基本信息和帖子公告以及板块的各种操作。系统可以在应用环境为Windows2000及以上版本运行具有界面直观友好、操作简单、功能强、自动化程度高等特点。而且本系统满足了用户在网络交流方面的需求,进一步拉近了兴趣相投的人的关系。关键词:BBS Struts2 Hibernate B/S模式iAbstractAs peoples living standard improve, more and more people choose the Internet as a way of entertainment, and along with the development of the Internet, computer applications are increasingly being used, due to the development of computer and network, in order to meet the regular Internet and those who love chat and comment online, we developed a BBS forum community which is based on the Struts2 + Hibernate as follows. The forum is a network application, and the software development tools are Eclipse-SqlServer2005 which used as back-end database. An online forums enthusiast as developed mainly used to manage online forums lovers and provides a platform for communication between forum fans. The FrontPage of the System uses popular JSP, Ajax (Asynchronous JavaScript and XML) and JavaScript technology to achieve a rich client and dynamically generated web pages. The most popular combination of SH (Struts2 and Hibernate) technology to achieve the logic processing business .I chose the B/S Model as development ,use the multi-layer architecture and MVC design patterns to realize . And the background of the Web use SqlServer2005 to achieve lasting operation of the user data.I am responsible for the module: Login module, personal information module, Moderator Notice Management Module.The page I do is a BBS system, which is an exchange platform. And what I want to complete is the user center management module, which is the basic functions of the various operations of the user basic information and post announcements and plate. The system can run on Windows 2000 and above versions and the corresponding Linux application environment. The system also has intuitive and friendly interface, simple operation, strong functions and high degree of automation. The system can withstand more than 500 users on-line to meet the needs of the users in the network exchange, which opens up a space for those who have the same interests.Keyword:BBS Struts2 Hibernate B/S Model ii目 录第1章 引言11.1 研究背景11.2 国内外发展前景11.3 研究目的21.4 术语2第2章 系统相关技术32.1 MVC设计模式32.2 Struts2介绍42.3 Hibernate介绍5第3章 BBS论坛系统分析83.1 系统需求描述83.1.1 功能需求.83.1.2 可行性需求.83.1.3 运行需求.93.2 用例图93.3 用例分析10第4章 系统设计184.1 模块设计184.2 数据库设计194.2.1 数据库概念结构设计.204.2.2 数据库逻辑结构设计.214.3 类图设计254.3.1 持久层.254.3.2 控制层.264.3.3 业务层.27第5章 BBS开发交流论坛系统的实现285.1 搭建系统开发环境285.2 创建Struts2配置文件295.3 用Hibernate实现数据持久层305.4 域模型对象315.5 持久化层实现325.6 业务逻辑层实现335.7 表示层实现335.8 页面功能介绍35第6章 总结38参考文献39致 谢40II南昌航空大学软件学院东软班学士学位论文 第1章 引言 第1章 引言 本章介绍基于Struts2+Hibernate技术相关开发的BBS论坛的研究,发展前景以及其研究目的。1.1 研究背景由于中国的BBS发展时间比国外晚了大约10年的时间,虽然中国BBS的技术人员水平不低,但是他们大多数是志愿者开发完成的。他们不仅付出了金钱,更多的是精力和时间。其目的是为了推动中国计算机网络的健康发展,提高广大计算机用户的应用水平。国内的BBS,大多数还是大型综合性BBS。随着计算机的普及,特别是宽带的普及,BBS的活动将会进一步高涨。但是,随之而来对专注于领域方面的BBS将会慢慢增加需求。尽管BBS站台的数量在不断增长,但BBS的发展过程,也出现了一些问题。由于国内使用的BBS架站软件,大都是从国外引进的,因此没有必要的中文说明。虽然一些热心的站长翻译了一些资料,但是仅靠这些是远远不够的。所以导致的结果就是:国内很多BBS难以维护,更不用说更新了。而国内自己开发的BBS基本上都是处于最原始的JSP MODEL1模式,这种模式是控制层与表示层合二为一的。虽然这样的开发比较简单,但是它却拥有很差的扩展性,可维护性。这样就极大地限制了国内BBS的扩展。于是在这种情况下,我们小组提出了目前比较流行的,基于MVC模式的S.H框架(Struts + Hibernate)的BBS论坛,而这种模式的论坛有点就在于它具有非常强大的可扩展性和可维护性,可以帮助国人创建真正属于自己的中小型BBS论坛。1.2 国内外发展前景 在国外,自从1978年美国芝加哥开发了一套基于8080芯片的CBBS / Chicago (Computerized Bulletin Board System/Chicago)这个最早的一套BBS系统开始,随后的BBS开始由着苹果机的问世开始迅猛发展。而国内却是在1991才开始出现第一个BBS论坛的,并且,经过长时间的发展,直到1995年,随着计算机及其外设的大幅降价,BBS才逐渐被人们所认识。不过,从此以后BBS在中国开始了晚了10年的发展。现在,BBS论坛不论是国内还是国外都在不停地完善和创造,使得无数新兴论坛破茧而出,为人们网上的服务变得更加人性化、合理化和全面化。不仅如此,由于网络越来越普及,使我们身处家中就可知天下事。论坛的出现也就意味着我们交流的地点从不同的地区,转化到了一起:江西的可以和沈阳的交流娱乐,中国的可以和外国的谈论国家实事等等。所以,BBS在物流网时代即将来临的如今,会更加快速的进步着,它在国内外的发展前景是无极限的!1.3 研究目的本次毕业设计所制作的是一个用于软件开发交流的BBS论坛,名称为“NCHU-IT”。研究目的在于网络BBS论坛系统是在Internet开放的网络环境下,基于B/S应用模式,实现用户相互交流信息,共享资源的平台。网络BBS论坛系统突破了地域和时间的限制,实现了全球性资源共享,有助于人们学习,工作,生活,同时提高了人们的交流信息、交流思想和解决问题的能力。1.4 术语BBS:Bulletin Board System(电子公告板),它是Internet上的一种交互性极强的、网友喜闻乐见的电子信息服务系统。管理员:该论坛的一种用户,其主要权限是对论坛实行会员管理、论坛管理、帖子管理等。版主:该论坛的一种用户,其主要权限是对自己版块的帖子进行管理。分区版主:该论坛的一种用户,其主要权限是对自己分区中的所有版块进行管理。超级版主:该论坛的一种用户,其主要权限是对论坛中所有的板块进行管理。普通会员:该论坛的一种用户,其主要权限是修改个人信息、查询帖子、浏览帖子,发表帖子,回复帖子。27南昌航空大学软件学院东软班学士学位论文 第2 章 系统相关技术第2章 系统相关技术 本章介绍MVC的设计模式、Struts2和Hibernate相关的技术及其方法,为后几章的进一步分析设计说明做好铺垫。2.1 MVC设计模式MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开、MVC把应用程序分成三个核心模块:模型(Model)、视图(View)和控制器(Controller),它们分别担负不同的任务,如图2-1所示。图中表现出了这几个模块各自的功能以及它们之间的相互关系。【1】 (模型)封装程序状态相应状态查询通知视图变化操纵模型通知改变查询状态(控制器)选择相应视图定义应用程序行为将用户动作映射到模型(视图)解释模型模型更新请求发送请求到控制器允许控制器选择视图选择视图用户请求图 2-1 MVC设计模式视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和XHTML,XML/XSL,WML等一些标识语言和Web Services. 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据【2】。2.2 Struts2介绍虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts1而言。Struts2与Struts1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展来的。从某种程度上来讲,Struts2没有集成Struts1的血统,而是集成WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得期待的框架。Struts2工作流程:1) 客户端初始化一个指向WEB容器(如TOMCAT)的请求。2) 请求经过一系列的过滤器(Filter)的过滤并传递给FilterDispatcher。3) FilterDispatcher接收到请求信息后,会根据URL在ActionMapper中搜索指定的Action的映射信息。ActionMapper是在HTTP请求和action调用请求之间的一个映射。4) 如果找到符合的映射信息,ActionProxy通过ConfigurationManager在配置文件中搜索被请求的Action类。ActionProxy是Action的一个代理类,也就是说Action的创建和调用是通过ActionProxy实现的;通过ConfigurationManager类,可以读取配置文件内容信息。5) ActionProxy创建一个被请求的Action的实例,该实例用来处理请求信息。6) 如果在一个struts.xml中存在与被请求的Action相关的拦截器配置,那么该Action的实例在被调用前后,这些拦截器也会被执行。7) Action对请求处理完毕后返回一个逻辑视图,由此逻辑视图寻找相应的物理视图(JSP、Velocity模板、FreeMarker模板等),并返回给客户端【3】。HttpServletRequstActionContextCleanUpOther filters(SiteMesh,etc)FilterDispatcherActionMapperActionInvocationInterceptor 1ActionProxyInterceptor 2Tag SubsystemHTML,Dojo,etcInterceptor 3ConfigurationManagerActionTemplateJSP,Freemarker,Velocity,etcResultStruts.xmlInterceptor 3Interceptor 2Interceptor 1HttpServletResponse图 2-2 Struts2工作流程图2.3 Hibernate介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任【4】。Business LayerLifecyclePersistentClassesInterceptorValidatableUserTypeSessionFactoryPersistent LayerSessionConfigurationQueryTransactionJTAJDBCJNDI图 2-3 Hibernate核心接口的层次架构关系Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。 SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口: Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query和Criteria接口: Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。使用Hibernate有7个步骤:1) Configuration2) 创建SessionFactory3) 打开Session 4) 开始一个事务 5) 持久化操作save/update/delete/find6) 提交事务7) 关闭Session【5】SessionFactoryConfigurationSessionTransactionQueryCriteria图 2-4 Hibernate的核心接口类的关系图南昌航空大学软件学院东软班学士学位论文 第3章 BBS论坛系统分析第3章 BBS论坛系统分析3.1 系统需求描述 该阶段通过对业务需求的初步调研和分析,对于系统的各个方面功能进行描述。在这里主要从功能需求、可行性需求和运行需求来论证和描述。3.1.1 功能需求BBS论坛是一个交流平台,而用户中心管理是它的基本功能,对于用户基本信息的查询和帖子公告相关操作更是不可或缺的部分。本人所负责的模块是用户中心模块,系统具有的功能如下:1) 用户登录2) 用户注册3) 用户修改个人资料设置4) 用户修改密码5) 用户查询自己所发帖6) 用户查询自己回复贴7) 用户查询自己所在身份和相关权限8) 用户对于公告的增加和删除(身份为版块版主、分区版主或超级会员)9) 用户对于板块的描述(对于自己负责的板块才能进行描述,身份为版块版主、分区版主或超级会员)3.1.2 可行性需求1)经济可行性:开发本系统所需的相关资料可以通过书本或者网络进行调查采集,所需的其他应用软件、硬件系统也易于获得。因此,开发成本较低。而引进本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力和财力。所以,从经济的角度来看,该系统可行。2)技术可行性:技术可行性要考虑现有的技术条件是否顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单, 当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。 软件方面来说,由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性高、价格低,完全能满足系统的需求。3)社会可行性:随着Internet技术的快速发展,BBS论坛已成为人们彼此沟通的主要方式。在论坛上,人们可以对某一领域提出自己遇到的问题,随后,论坛上的其他人会根据自己的学识、经验发表意见或提出问题的方法。BBS论坛接近了人们之间的距离,它早已成为人们网上生活的必备工具。所以说BBS论坛对当今社会是相当重要的。综上所述,本系统的开发无论从经济、技术还是社会上都是完全可行的。3.1.3 运行需求鉴于系统的开发语言和数据库,采用的开发环境如下:1) 操作系统:Windows XP/Windows 72) Web服务器:Tomcat6.03) Java开发包:JDK1.64) 数据库:SQLServer20055) 开发工具:MyEclipse8.06) 预期成果:一个可扩展的基于MVC模式的BBS论坛3.2 用例图 本人负责的是BBS论坛用户中心模块,它实现的是用户的注册、登录、修改资料、修改密码、查询所发主题贴、查询回复贴、查询权限、公告的操作(增、删、查)以及对板块的描述。具体操作参照用例图3-1所示。图 3-1 用户中心模块用例图3.3 用例分析各用例描述如下:表3-1 会员注册用例规约表用例名称会员注册用例标识号1.1参与者未注册用户(游客)简要说明未注册用户(游客)注册成为BBS论坛会员前置条件未注册用户(游客)进入注册界面基本事件流1) 输入账号和密码等个人资料2) 提交到数据库进行验证3) 验证是否存在该用户4) 输入成功则保存到数据库并显示注册成功5) 跳回登录界面 其他事件流3a1存在用户,跳回注册页面,用户重新注册4a1输入信息不完整或者不符合规范,显示失败信息,用户重新注册异常事件流如果注册中途退出,注册失败后置条件注册成功则保存到数据库注释用户注册成为会员业务流程描述(如图3-2):开始会员注册否填写注册信息信息是否正确是提交结束图3-2 会员注册流程图表3-2 会员登录用例规约表用例名称会员登录用例标识号1.2参与者已注册用户简要说明用户可以使用注册后的用户名和密码,登录论坛,使用更多的论坛功能前置条件用户已注册成为网络交友平台会员,并在登录页面基本事件流1) 输入账号和密码2) 提交到数据库进行验证3) 验证成功转向主页其他事件流2a1如果用户名或者密码错误,系统会拒绝用户登录,并提示错误信息异常事件流1b1输入密码错误次数超过五次,半小时内无法再进行密码输入后置条件用户登录成功后,数据库标示用户为在线,并将页面跳转到主界面注释已注册成为会员的用户登录业务流程描述(如图3-3):开始会员登录输入用户名和密码论坛主页否登录信息是否正确是结束图3-3 会员登录流程图表3-3 注销登陆用例规约表用例名称注销登录用例标识号1.3参与者已登录用户简要说明会员退出在BBS论坛的登录前置条件会员已经登录了BBS论坛基本事件流1) 点击“退出”按钮2) 系统显示“是否确认退出”对话框3) 点击“确认”,系统注销会员登录,并返回论坛首页其他事件流无异常事件流无后置条件会员注销登录,进入游客状态注释已登录的会员注销登录业务流程描述(如图3-4):开始返回主页面注销登陆开始图3-4 注销登录流程图表3-4 我的中心用例规约表用例名称我的中心用例标识号2.1参与者已登录用户简要说明当会员登录后,可以使用“我的中心”,来查询和维护用户的相关信息前置条件会员已经登录了BBS论坛基本事件流1) 会员点击“我的主题”(即由本用户发布的主题)2) 会员点击“我的回复”(即本用户所回复的帖子)3) 会员点击“用户类型&权限”其他事件流1a1主题的查询结果:显示主题的标题、所在版块、发布时间、主题状态(正常、已删除、关闭)2a1回复的查询结果:显示回复贴的所在的主题标题、所在板块、发布时间、回复贴状态(正常、已删除、关闭)3a1查询用户组&权限的结果:显示用户类型、基本权限、管理权限异常事件流无后置条件无注释已登录的会员进行个人中心信息的查询业务流程图(图3-5):开始我的中心查看类型&权限查看用户回复查看用户主题结束图3-5 我的中心流程图表3-5 个人资料设置用例规约表用例名称个人资料设置用例标识号2.2参与者已登录用户简要说明会员登录后使用“个人资料设置”来维护会员的所有个人信息前置条件会员进入了“个人资料设置”页面基本事件流1) 会员点击“登录信息设置”2) 系统跳入“登录信息设置”页面3) 会员在该页面可以重新设置密码、电子邮箱,但不可以修改用户名,修改完成后,显示“修改成功”对话框4) 会员点击“基本资料设置”5) 系统跳入“基本资料设置”页面6) 会员在该页面可以修改用户的相关信息,修改完成后,显示“修改成功”其他事件流3a1重新设置密码时(输入两次新密码),如果前后两次密码不一致,弹出对话框,提示“密码前后不一致”异常事件流无后置条件会员的个人资料有了变动,并且数据存入数据库注释已登录的会员修改个人信息业务流程描述(如图3-6):结束开始基本资料设置登录信息设置个人资料设置图3-6 个人资料设置流程图表3-6 公告管理用例规约表用例名称公告管理用例标识号4.1参与者成为了版主的会员简要说明版主或者管理员可以通过论坛公告向版区内的所有用户发布提示、活动等信息前置条件版主进入了“版主管理”页面基本事件流1) 版主点击“添加公告”,系统进入“添加公告”页面,在此页面,版主要输入公告的主题,以及公告的内容,然后点击“完成”,系统显示对话框“公告完成”,并且进入版主所公告的页面2) 版主点击“删除公告”,系统进入“删除公告”页面,此页面显示目前存在的公告及相关的信息,版主点击“删除公告”,弹出对话框“是否确定删除公告”,点击确定后,弹出对话框显示“公告删除成功”,并且返回“公告管理”页面3) 版主点击“公告查询”,系统进入“公告查询”页面,此页面显示公告的标题、发帖用户、发帖时间、帖子内容、回复总数、最新回复时间其他事件流无异常事件流1b1当你的公告包含非法字符,系统将会弹出对话框“公告存在不和谐信息,公告失败”后置条件发布了一个新公告或删除了一个正在发布的公告注释版主添加、删除、查询公告业务流程描述(如图3-7):结束开始删除公告添加公告版块管理图3-7 公告管理流程图表3-7 版块管理用例规约表用例名称版块管理用例标识号4.2参与者成为了版主的会员简要说明版主通过“板块管理”功能来设置板块的描述信息前置条件版主进入了“版主管理”页面基本事件流1) 版主选择要编辑的板块2) 点击“编辑”3) 系统进入编辑页面4) 在该页面,版主输入板块的描述信息5) 点击“完成”,系统弹出对话框“编辑完成”6) 系统返回板块页面,并且板块下面出现版主编辑的板块描述7) 编辑的信息,系统自动存储入数据库其他事件流5a1如果编辑不符合规范,系统会弹出对话框“编辑不符合规范”,点击“确认”后,版主继续编辑修改异常事件流无后置条件会员的个人资料有了变动,并且数据存入数据库注释已登录的会员修改个人信息业务流程描述(如图3-8):开始开始编辑板块选择板块板块管理图3-8 板块管理流程图南昌航空大学软件学院东软班学士学位论文 第4章 系统设计第4章 系统设计4.1 模块设计根据用户的操作方式和目的,将系统用户分为五类角色:会员、版主、分区版主、超级会员、管理员。不同的角色权限也不同。通过需求分析,系统具有以下模块:(前台)会员登录模块、个人信息管理模块、帖子管理模块和版主公告管理模块,(后台)版块管理模块、帖子管理模块、用户管理模块(如图4-1)。而我所负责的是前台的会员登录模块、个人信息管理模块和版主公告管理模块(如图4-2)。图 4-1 BBS论坛系统模块结构图前台模块:会员登录模块主要功能:会员注册、会员登录、注销登录个人中心管理模块主要功能:我的中心、个人资料设置版主模块主要功能:公告管理、版块描述管理BBS前台管理模块会员注册模块会员登录模块版主模块用户信息管理模块公告管理模块板块描述管理模块权限信息查询模块回复信息查询模块发帖信息查询模块个人信息设置模块密码设置模块4.2 数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库和设计的概述:数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密地结合在一个以及如何结合的关键所在。数据库设计是信息系统开发和建设的重要组成部分【6】。4.2.1 数据库概念结构设计1)用户信息实体用户的属性包括:用户名、密码、电子邮箱、性别、生日、籍贯、个人网站、QQ、自我介绍、个人签名、头像、发帖总数、精华帖总数、回复总数、用户类型生日性别电子邮箱密码用户名个人签名发帖总数回复总数用户个人网站用户类型自我介绍头像籍贯精华帖总数QQ图 4-2 用户信息E-R图2)用户管理信息版块描述删除公告添加公告查询公告版主图 4-3 用户管理信息E-R图4.2.2 数据库逻辑结构设计根据系统的需求分析和概要设计,基本可以确定数据项和相应的数据结构,找出系统基本的实体和这些实体之间的关系,得到的实体有用户实体、主题实体、回帖实体、附件实体、公告实体、分区实体、版块实体、版主实体,用户等级实体,这些实体之间包含着各种具体信息和相互作用形成的数据流动。具体请参考系统数据库表结构(如图4-8所示)。图 4-4 数据库表结构根据数据库表结构,我们可以设计出数据库,名称为“BBS”。在该数据库中共包了13个表,以下是本次项目中所需要的主要信息表:表4.1 会员基本信息表(USERINFO)字段名注释类型可为空(主外键)默认值备注USERNAME用户名varchar(20)主键无无EMAIL邮件地址varchar(50)不为空无无PASSWORD密码varchar(12)不为空无无TYPEID类型ID Int外键无参照用户类型表类型ID表4.2 会员详细信息表(USERDETAILINFO)字段名注释类型可为空(主外键)默认值备注USERNAME用户名varchar(20)主键无无SEX性别Int可为空无1:男0:女BIRTHDAY生日varcahr(20)可为空无无NATIVEPLACE籍贯Varchar(10)可为空无无HOMGPAGE个人网站Varchar(50)可为空无无QQQQVarchar(13)可为空无无SELFINTRO自我介绍Varchar(200)可为空无无PERSONALSIGN个人签名Varchar(100)可为空无无ESSENCEPOSTNUM精华帖总数Int不为空0无POSTNUM发帖总数Int不为空0无LASTLOGINTIME上次登陆时间Varchar(20)可为空无系统提供HEADADD头像地址Varchar(50)可为空无无REGISTIME注册时间Varchar(20)不为空无系统提供INTEGRALROLEID积分等级ID Int外键无参照积分角色表积分等级IDUSERTYPEDESC用户权限描述Varchar(200)可为空无无表4.3 用户类型表(USERTYPE)字

温馨提示

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

评论

0/150

提交评论