基于SSH的新闻发布系统的设计与实现毕业论文(设计)

上传人:1666****666 文档编号:38337760 上传时间:2021-11-06 格式:DOC 页数:64 大小:2.69MB
收藏 版权申诉 举报 下载
基于SSH的新闻发布系统的设计与实现毕业论文(设计)_第1页
第1页 / 共64页
基于SSH的新闻发布系统的设计与实现毕业论文(设计)_第2页
第2页 / 共64页
基于SSH的新闻发布系统的设计与实现毕业论文(设计)_第3页
第3页 / 共64页
资源描述:

《基于SSH的新闻发布系统的设计与实现毕业论文(设计)》由会员分享,可在线阅读,更多相关《基于SSH的新闻发布系统的设计与实现毕业论文(设计)(64页珍藏版)》请在装配图网上搜索。

1、4 PINGDINGSHAN UNIVERSITY 毕业论文(设计)题 目: 基于SSH的新闻发布系统 的设计与实现 平顶山学院本科毕业设计基于SSH的新闻发布系统的设计与实现摘 要随着Internet的普及,越来越多的企业纷纷建立了自己的门户网站,来展示产品、与用户进行交流、与合作伙伴建立联系以及开展电子商务等。新闻发布系统是企业门户网站的重要组成部分,因此开发新闻发布系统是适应企业发展的一种需要。系统采用Java语言,浏览器/服务器(B/S)模式,Struts、Hibernate和Spring(SSH)三层架构进行开发,实现了新闻栏目的分类、新闻的添加、审核、发布、评论、回复等功能。在新闻

2、管理模块中,将通过审核的新闻生成静态Html文件存放在服务器指定位置并发布,提高了用户的访问速度。论文首先对系统的功能、架构、数据库等进行了分析与设计,然后对系统的栏目管理、新闻管理、评论管理等模块进行了详细设计与实现。系统测试表明各项功能达到了预期效果,具有较好的安全性和容错性。下一步考虑增加在后台根据需要定制前台显示模板的功能,不断完善系统。关键词:新闻发布系统,B/S,SSHThe Design and Implementation of the News Released System Based on SSHAbstractWith the great popularity of n

3、etwork, an increasing number of enterprises are looking forward to establishing their own websites, through which they can display products, communicate with clients, establish partnership, as well as develop e-commerce. In a word, it has been a necessity for enterprises to establish their own news

4、release system which is one of the most important parts for enterprises to keep pace with the social development.The system is designed and implemented based on SSH three-tier architecture using Java language and browser/server (B/S) mode. The functions of the news release system include news catego

5、ries, adding, auditing, releasing, commenting, recovery and etc. It is worthwhile mentioning that it is through the generated static HTML files which have been examined and stored on the server specified location that news are released, thus being greatly helpful in speeding up the users browse rate

6、. First of all, the essay analyses and designs the functions, the architecture ,the database of the system; then presents a detailed design and implementation aiming at column management, news management, comment management, system management and so on.At present, the system has realized the functio

7、ns that are expected on the whole, which has better security, fault tolerance. Even so, it cant deny that the system hasnt accomplished the function of customizing background display template without any special requirements considering the workload and time permission. More study and improvement on

8、 the news release system will be implemented in the future.Keywords: news released system, B/S, SSH目录1 绪论11.1 开发背景及意义11.2 应用现状11.3 本文工作21.4 论文结构安排31.5 本章小结42 技术及工具介绍52.1 B/S模式52.2 UML52.3 相关技术62.3.1 SSH框架62.3.2 AJAX72.3.3 JSON-RPC框架72.4 开发工具72.4.1 Tomcat服务器72.4.2 MySQL数据库管理工具82.4.3 MyEclipse编程工具82.5

9、 本章小结83 需求分析93.1 业务流程93.2 设计目标103.3 功能需求103.4 性能需求153.5 本章小结164 总体设计174.1 架构设计174.2 功能设计184.3 数据库设计与实现194.3.1 数据需求194.3.2 概念结构设计214.3.3 逻辑结构设计224.3.4 数据库实现234.4 接口设计244.5 本章小结265 详细设计与实现275.1 界面设计275.1.1 设计原则275.1.2 详细设计285.2 功能详细设计与实现295.2.1 栏目管理295.2.2 新闻管理315.2.3 评论管理335.2.4 系统管理345.2.5 前台交互365.3

10、 关键问题解决方案405.3.1 无限级栏目树设计405.3.2 文本编辑器使用415.3.3 静态新闻文件生成415.4 本章小结426 测试436.1 测试计划436.1.1 测试目的436.1.2 测试环境436.1.3 功能测试计划446.2 功能测试446.3 用户界面测试456.4 问题严重程度描述456.5 测试结果466.6 本章小结467 结束语477.1 总结477.2 展望48附 录49参考文献53致 谢54571 绪论本章首先介绍新闻发布系统的开发背景及意义,然后介绍应用现状,接着介绍本文主要工作,最后是论文结构安排。1.1 开发背景及意义21世纪是信息的时代,是网络的

11、时代。传统的报纸杂志已经远远满足不了人们的需求,人们更加希望能够在网上快速及时地浏览新闻,因此获取各种各样的网上信息,已成为人们日常生活的一部分。信息技术的发展使得整个世界越来越小,这也意味着企业的竞争环境由区域化向全球化发展,企业所处的宏观环境实际上已经不仅仅是通过信息技术员连接起来的狭义网络,而是将技术环境与经济环境结合在一起考虑,形成一种大网络的概念。企业对信息的掌握程度、信息获取是否及时、信息能否得到充分利用、对信息的反应是否敏感准确,已越来越成为衡量一个企业市场竞争能力的重要因素。因此企业纷纷建立起自己的门户网站,通过网站来展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立

12、联系,以及开展电子商务等。新闻发布系统是一个基于新闻和内容管理的全站管理系统,它是基于浏览器/服务器(Browser/Server,B/S)模式的Web系统,可以将杂乱无章的信息经过组织,合理有序地呈现在大家面前,主要实现对新闻的分类、添加、审核、发布、评论等,模拟一般新闻媒介发布新闻的整个过程。新闻发布系统是构成企业门户网站的重要组成部分,担负着双重作用,一方面,可以用来动态发布有关新产品或新开发项目;另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群1。所以建立新闻发布系统是适应企业发展的一种需要,其意义是巨大的。1.2

13、 应用现状目前业内新闻发布系统主要分为两类,下面将分别介绍其特点和应用范围。1.前台动态显示的新闻发布系统该类系统大约占60%的份额,其主要特点为:前台采用Java语言动态读取数据库的内容,随时更新,该类系统设计简单,适合大多数中小企业建站需要。其通用性不强,一般需要量身定做,不适合大型新闻站点,当用户过多时,系统采用Java语言动态读取数据库就势必消耗大量的服务器资源,造成系统运行缓慢,甚至崩溃。2.前台静态显示的新闻发布系统该类系统大约占30%的市场份额,其主要特点为:前台新闻全部生成静态HTML文件,用户浏览新闻时无须从数据库中动态读取,只需要直接下载HTML文件即可,浏览速度得到提高,

14、同时也大大减轻了数据库服务器的压力。该系统后台设计复杂,需要处理复杂的模板标签和各个模板之间的逻辑,一般采用三层模式实现,该类系统灵活性大,可以通过自定义模板实现界面复杂的前台页面,一般不需要为某一个企业而定做,该系统具有良好的通用性,适合各类新闻站点,同时,把前端用户和数据库分割开来,系统的安全性得到大大的提高2。本文将在现有新闻发布系统基础上作如下改进:开发一个前台静态浏览、动态查询的新闻发布系统,即在新闻审核通过时生成静态HTML文件存放在服务器指定的目录下,同时将该新闻标题及存放路径存入数据库。用户浏览新闻时,直接加载HTML文件;以特定关键字搜索新闻时,进行动态查询并将查询结果展示给

15、用户。这样在一定程度上,不但解决了系统运行效率低及安全性差的问题,而且减轻了数据库服务器压力。1.3 本文工作本文针对目前大多数新闻发布系统运行速度慢、扩展性不强、管理不方便等问题,设计并实现了一个基于SSH(Struts、Spring和Hibernate)框架的新闻发布系统。主要工作如下:1.分析系统需求通过查阅相关资料及分析现有新闻发布系统具有的功能,同时在调研某公司新闻管理及发布工作流程基础上,认真分析、总结各类人员负责的相关工作,由此得出用户的功能需求和系统的性能需求。2.选择系统架构针对系统需求,采用模型-视图-控制器(Model-View-Controller,MVC)模式作为系统

16、架构,不仅实现了系统的代码复用,而且便于日后的升级和维护。3.设计系统主要功能模块对各个模块的功能及任务进行了定义和划分。本系统有四类角色,即普通用户、信息编辑员、信息审核员和系统管理员。系统功能划分为五个模块:(1) 栏目管理模块:包括栏目信息的添加、修改、删除及栏目名称以栏目结构树形式显示,使得新闻可以分类管理。(2) 新闻管理模块:包括新闻的添加、修改、批量删除、审核、按条件查询、查看新闻评论等功能。(3) 评论管理模块:包括评论的查询、批量审核及批量删除等,其中设置评论审核可避免垃圾评论产生。(4) 系统管理模块:包括用户分类管理、用户权限划分、数据库备份与恢复及个人密码修改等功能。(

17、5) 前台展示模板:包括浏览、搜索、评论新闻及评论回复、注册用户信息和找回密码等功能。4.实现新闻发布系统在完成系统功能需求和数据库设计的基础上,采用SSH作为总体开发框架,Java作为开发语言,异步JavaScript和XML(Asynchronous JavaScript and XML,AJAX)、JSON-RPC组件作为异步通信技术,实现了一个比较完整的新闻发布系统。5.进行系统测试从制定测试计划,到选择测试环境,再到针对某一功能编写测试用例,逐步进行测试,并分析测试结果。1.4 论文结构安排本文从软件开发生命周期的角度阐述了系统开发过程,首先介绍了项目开发背景、意义及应用现状,然后简

18、单介绍了系统采用的技术及开发工具,接着重点论述系统需求分析、总体设计和详细设计与实现过程,最后做系统测试以及总结。共分为七部分,具体内容安排如下:第一部分:绪论。介绍项目背景及意义、应用现状和论文结构安排等。第二部分:技术及开发工具。介绍开发系统用到的相关技术及工具等。第三部分:需求分析。从实际业务流程、设计目标、功能需求和性能需求四个方面对系统进行需求分析。第四部分:总体设计。从系统架构设计、功能设计、数据库设计和接口设计四个方面对系统进行总体设计。第五部分:详细设计与实现。首先设计系统界面,然后按照SSH三层框架的整合思想,实现本系统主要模块。第六部分:测试。按照测试计划对系统进行测试。第

19、七部分:结束语。总结系统功能和优点,并对系统后续工作进行展望。1.5 本章小结本章首先介绍了项目开发背景及意义,明确了开发本系统的重要性。然后介绍了应用现状,指出了现有新闻发布系统的优缺点,接着给出本文工作,对整个系统设计与实现过程做了一个系统性的说明,最后给出论文结构安排。2 技术及工具介绍本章主要从系统开发所用到的相关技术、方法及开发工具等方面进行简单介绍。2.1 B/S模式本系统面向的用户群体是中小型企业,企业在使用系统时,需要借助互联网来发布最新产品、最新动态及与客户在线交流等。基于此,需要采用B/S模式来设计系统。B/S模式又称B/S结构。它是随着Internet技术的兴起,对客户端

20、/服务器(Client/Browse,C/S)模式的扩展。随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是出现了B/S模式。该模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音等信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交

21、给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。B/S模式的优点主要有:1.具有分布性特点,可以随时随地进行查询、浏览等业务处理;2.业务扩展简单方便,通过增加网页即可增加服务器功能;3.维护简单方便,只需要改变网页,即可实现所有用户的同步更新;4.开发简单,共享性强。2.2 UML统一建模语言(Unified Modeling Language,UML)被对象管理组织(Object Management Architecture,OMG)采纳为标准建模语言,成为业界的标准。UML作为一种定义良好、易于表达、功能强大且普遍适用的建模语言,融入了软件工程领域的新思想、新

22、方法和新技术,成为面向对象技术学习中不可缺少的一部分。UML的作用不仅在于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程3。UML作为一种建模语言,在项目开发过程中的作用,总结起来主要有以下几个方面:1.UML作为一种建模语言,为用户提供了一种易用的、具有可视化建模能力的语言,能够使用户使用该语言进行系统的开发工作,并且能够进行有意义的建模互换;2.UML为面向对象建模语言的核心概念提供了可扩展性和规约机制;3.支持高级的开发概念;4.集成了优秀的开发实践成果和经验。2.3 相关技术2.3.1 SSH框架SSH是一个轻量级组合框架,能更好的实现MVC模式,充分发挥了各自的优势

23、。其中通过Struts在表示层中处理页面请求和转发工作;通过Spring的依赖注入(Inversion of Control,IoC)技术降低了程序之间的耦合性,也使程序员养成用接口编程的好习惯;通过Hibernate完成在持久层与数据库的交互工作。三层框架的整合形成一个结构良好、功能强大,层次清晰的框架体系。1.StrutsStruts是一个独立的MVC模式框架,很好的实现了显示处理和业务处理逻辑之间的低耦合性4。但Struts主要是针对表示层设计的,对业务逻辑方面的支持不是很强,比如事务管理、安全检查等本属于系统层面的,实现代码也穿插在整个业务逻辑中,降低了代码的可维护性,而Spring则

24、可以很好地解决这些问题。2.SpringSpring也是独立的MVC模式框架,通过IoC技术,降低各组件之间的依赖,而Spring提供的面向切面编程(Aspect Oriented Programming,AOP)技术,在事务管理上具有独特优势5。Spring框架不仅能有效地服务中间层对象,而且易于同其他层框架进行无缝集成,使各层之间相互独立,实现了在架构上各框架间的低耦合性。3.HibernateHibernate作为一个优秀的持久化工具,通过对象关系映射(Object Relational Mapping,ORM)架起了Java对象与关系数据库间的桥梁,很好的协调对象与数据库的交互,提供数

25、据查询和恢复机制,实现了与底层数据库的分离。2.3.2 AJAXAJAX是一种运用JavaScript和可扩展标记语言(EXtensible Markup Language,XML),在网络浏览器和服务器之间传递或接收数据的技术。AJAX的工作原理相当于在用户和服务器之间加了一个中间层,使用户请求与服务器响应异步化。这样把以前的一些服务器负担的工作转交给客户端,利用客户端闲置的处理能力来处理,减轻服务器和宽带的负担。通过AJAX,JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。通过这个对象,JavaScript可在不重载页面的情况与Web

26、服务器交换数据。2.3.3 JSON-RPC框架JSON-RPC是一个客户端远程调用服务器端方法的框架。JSON-RPC-Java是一个用Java来实现动态JSON-RPC的框架6。利用它内置的一个轻量级JSON-RPC JavaScript客户端,可以透明地在客户端JavaScript中调用服务器端的Java代码。在Web应用中,使用JSON-RPC组件的一般步骤如下:1.首先导入jsonrpc.jar包和jsonrpc.js文件到指定的位置;2.在web.xml中配置servlet和servlet-mapping;3.在JSP页面中引入jsonrpc.js文件和JSONRPCBridge类

27、;4.将服务器端的JavaBean放置到要使用JSOM-RPC的JSP文件中。5.将服务器端的JavaBean注册到JSONRPCBridge对象中。6.在JavaScript脚本中创建一个JSONRpcClient对象,如:jsonrpc=new JSONRpcClient(“JSON-RPC”);7.利用创建的JSONRpcClient对象即可在JavaScript中直接调用服务器端的Java程序。2.4 开发工具2.4.1 Tomcat服务器Tomcat是一个便捷的小型Web服务器,耗费资源少,故采用Tomcat作为服务器。Tomcat是在SUN的JSWDK基础上发展起来的一个优秀的JS

28、P服务器,是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。同样Tomcat也是一个开源软件,对系统开发成本的降低有很大帮助。Tomcat不但支持Servlet,而且还提供了Web服务器的基本功能,处理HTML页面,可以和目前大部分的主流服务器一起工作,有着相当高的运行效率。2.4.2 MySQL数据库管理工具从系统开发成本及数据量大小角度考虑,采用MySQL数据库管理系统来存储和管理系统数据。MySQL是一种关联数据库管理系统,其将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样不仅提高了速度而且提高了灵活性。MySQL的SQL“结构化查询语言”,是用

29、于访问数据库的最常用标准化语言。MySQL软件采用了GNU通用公共许可证(General Public License,GPL)。其具有体积小、速度快、总体拥有成本低等特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。2.4.3 MyEclipse编程工具MyEclipse本身就集成了Struts、String和Hibernate这三种框架插件,不需要再下载安装,而本系统开发恰好是采用SSH三层框架进行整合开发,故选择MyEclipse编程工具开发本系统。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench,简称My- Ec

30、lipse)是对Eclipse的扩展,利用它用户可以在数据库和J2EE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML、Struts、JSP、CSS、JavaScript、SQL以及Hibernate等。所以本系统的开发工具采用MyEclipse,提高开发效率。2.5 本章小结本章首先介绍了B/S开发模式,然后介绍了UML相关知识及其在项目开发中的作用,接着介绍了系统使用的相关技术,最后对系统开发工具做了简单介绍。3 需求分析在软件工程中,需求分析指的是在建立一个新的或修改一个现存的系统时描

31、写系统的目的、范围、定义和功能所要做的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定用户的需要7。本章将从系统业务流程、设计目标、功能需求和性能需求四个方面进行描述。3.1 业务流程以一家企业为例,通过调研发现,参与到系统核心业务流程中的人员主要有信息编辑员、信息审核员、普通用户三类。核心业务流程如下:1.信息编辑员划分新闻栏目;2.信息编辑员在已存在的新闻栏目下撰写相应新闻;3.信息审核员审核编辑员撰写的新闻;4.审核通过就发布,反之打回重新修改;5.新闻审核通过后印刷成公司宣传册;6.信息编辑员发宣传册给客户,宣传公司以及产品,收集客户意见;7.客户针对

32、新闻反馈意见;8.信息编辑员收集有用的意见归档。核心业务流程如图3-1所示。图3-1 核心业务流程图3.2 设计目标本系统主要面向的用户群体为中小型企业,需要实现的主要目标如下:1.通过本系统可以使企业很方便的对信息进行发布和管理。2.可以在本系统基础上进行二次开发,为其他企业定制门户网站。3.可以通过新闻评论及评论回复达到企业与客户的简单在线交互目的,注册用户具有此功能。4.用户浏览新闻时直接读取静态页面以提高访问速度。5.采用模块开发增加系统可维护性和可扩展性。6.栏目以目录结构树形式显示,结构清晰,便于用户获知栏目的上下级。7.具有高度的稳定性和安全性。3.3 功能需求功能需求是指系统必

33、须提供的服务。通过需求分析来划分系统必须具备的功能,即要分清系统中的角色,并且要理清每个角色拥有的功能权限8。通过对系统进行分析,系统角色分为四类,分别为普通用户、系统管理员、信息编辑员、信息审核员,其中后三类角色是普通用户的泛化,拥有前台用户的所有功能。普通用户可以浏览、搜索、评论企业新闻,也可对浏览的新闻进行评论或对评论进行回复,其中只有注册过的用户才能对新闻进行评论或回复。普通用户用例图如图3-2所示。图3-2 普通用户用例图在普通用户用例图中,以评论新闻用例为例给出用例描述,如表3-1所示。表3-1 评论新闻用例描述用例编号UC_addComments用例名称评论新闻用例概述普通用户对

34、新闻进行评论,审核通过的评论最终显示在评论页主参与者普通用户次要参与者无项目相关人利益说明项目相关人利益普通用户能够成功添加评论前置条件用户是注册用户后置条件成功添加评论成功保证新闻管理人员在后台能够看到普通用户添加的评论基本事件流步骤活动1普通用户点击新闻页面右下角的“评论”按钮,打开评论页面2普通用户输入用户名、密码、验证码以及评论内容3普通用户点击“提交”按钮,提示评论添加成功,待审核4用例终止扩展事件流3a普通用户输入用户名、密码或者验证码错误,提交时提示相应的错误提示3b普通用户输入评论内容为空,提交时提示评论不能为空子事件流无规则与约束1.用户登录成功才能评论2.评论内容不能为空信

35、息编辑员在登录系统后,可以添加、删除、修改新闻所属栏目,可以添加、修改、删除、查找、审核新闻,也可查看、审核、批量删除评论等。信息编辑员用例图如图3-3所示。图3-3 信息编辑员用例图在信息编辑员用例图中,以添加新闻用例为例给出详细用例描述,如表3-2所示。表3-2 添加新闻用例描述用例编号UC_addNews用例名称添加新闻用例概述信息编辑员添加新闻信息,经信息审核员审核通过后才能发布到网站前台主参与者信息编辑员次要参与者无项目相关人利益说明项目相关人利益信息编辑员能够成功添加信息前置条件1.信息编辑员已经成功登录系统2.要添加的新闻所属的栏目已经创建后置条件成功添加新闻成功保证信息审核员在

36、新闻管理模块能看到该条信息处于待审核状态基本事件流步骤活动1信息编辑员点击“添加新闻”菜单,打开添加新闻页面2信息编辑员输入标题、关键词,选择所属栏目,输入要发布的信息内容,设置新闻是否允许评论,并选择新闻展示模板3信息编辑员点击“提交”按钮,提示信息添加成功,待审核4用例终止扩展事件流3a若带*号的项为空,则提示不能为空子事件流无规则与约束1.带*号的项目为必填项目,不能为空2.搜索关键字要用逗号隔开信息审核员在登录系统后,可以查找、审核信息编辑员添加的新闻及修改个人密码,其中只有审核通过的新闻才能发布到网站前台。信息审核员用例图如图3-4所示。图3-4 信息审核员用例图在信息审核员用例图中

37、,以审核新闻用例为例给出详细用例描述,如表3-3所示。表3-3 审核新闻用例描述用例编号UC_approveNews用例名称审核新闻用例概述信息审核员对信息编辑员添加的新闻进行审核,信息审核成功之后才能发布到网站前台,审核不通过可以提出修改意见,信息编辑员再进行修改主参与者信息审核员次要参与者无项目相关人利益说明项目相关人利益信息审核员能对信息编辑员添加的新闻进行审核,可提出修改意见,然后信息编辑员再做修改前置条件1.信息审核员已经成功登录系统2.有待审核的新闻信息后置条件信息审核通过,在网站新闻栏目成功发布成功保证1.信息审核通过,在网站新闻栏目成功展示2.审核不通过,信息编辑员在新闻管理模

38、块可以看到审核不通过的新闻信息基本事件流步骤活动1新闻审核员点击“新闻审核”菜单,打开新闻审核主界面2新闻审核员对待审核状态的新闻进行审核,点击“审核”打开审核页面3新闻审核员添加审核意见,点击“提交”按钮,提示审核成功,返回新闻审核主界面4用例终止扩展事件流3a信息审核员审核通过,生成静态html文件,新闻成功发布3b信息审核员审核不通过,添加修改意见,然后信息编辑员再修改子事件流无规则与约束1.审核成功的新闻才能够发布到网站前台2.审核成功时要生成新闻静态HTML文件3.审核不通过要给出不通过缘由,并且能够展示给信息编辑员系统管理员在登录系统后,可以对用户、用户所属角色、新闻展示模板进行管

39、理,也可对数据库进行备份、恢复及删除备份数据。其中角色管理包括添加角色、修改角色、删除角色、给角色分配权限和成员管理,成员管理包括批量删除、批量添加及查找成员等;用户管理包括添加、修改、注销、恢复用户及分配用户角色和查看用户所属角色等;模板管理包括增加、修改、删改新闻模板等操作。系统管理员用例图如图3-5所示。图3-5 系统管理员用例图在系统管理员用例图中,以管理角色用例为例给出用例描述,如表3-4所示。表3-4 管理角色用例描述用例编号UC_userGroup用例名称管理角色用例概述系统管理员对系统角色及权限进行管理,可以添加、修改、删除角色,可以对角色权限进行管理,也可对角色成员进行管理主

40、参与者系统管理员次要参与者无项目相关人利益说明项目相关人利益系统管理员对系统角色及权限进行管理前置条件系统管理员成功登录系统后置条件成功对角色及权限进行管理成功保证添加的角色可以进行权限以及成员管理基本事件流步骤活动1系统管理员点击“角色管理”菜单,打开角色管理主界面2输入角色名称、角色说明,点击“添加”按钮,添加角色3点击“权限管理”按钮,打开权限管理页面,对角色进行权限管理4点击“修改”按钮,打开修改界面,对角色信息进行修改5点击“删除”按钮,删除角色6点击“成员管理”按钮,对角色成员进行管理7用例终止扩展事件流3a选择或者去掉相应的权限,点击“提交”按钮,权限管理成功,返回角色管理主界面

41、4a修改角色名称或者角色说明,点击“提交”按钮,修改成功,返回角色管理主界面6a点击“批量添加”按钮,打开成员选择页面,选择要添加的成员,点击“提交”,添加成功,发挥角色成员管理页面6b点击“删除”按钮,删除相应成员6c选中要删除的成员,点击“删除”按钮,批量删除成员子事件流无规则与约束1.对用户进行分角色管理,不同角色拥有不同权限2.权限直接赋予角色,拥有该角色的用户即拥有该角色的所有权限3.4 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,新闻发布系统应该满足以下的性能需求:1.系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考

42、虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求9。在系统开发过程中,必须采用一定的方法保证系统运行的正确性。2.系统的易用性新闻发布系统是面向用户的,若用户对计算机并不是非常熟悉,这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用户熟悉的术语和中文信息的界面。3.系统的标准性在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。4.系统的安全性由功能性需求可知,系统管理员可对用户进行管理,这样一定程度上降低了数据的安全,因此要使用MD5对用户密码进行加密,这

43、样即使是系统管理员也无法知道其他用户的密码,这样一定程度上提高系统的安全性。3.5 本章小结本章首先描述了系统实际的业务流程,然后阐述了系统所要达到的目标,接着从用户角度出发,进行了功能性分析,最后从系统准确性、易用性、安全性等角度进行了性能需求分析,为后续系统设计、实现打下了一个坚实的基础。4 总体设计总体设计主要指在系统需求分析基础上,将整个系统模块划分、机器设备(包括软、硬设备)配置和数据的存贮等进行合理的安排10。本章将从系统架构设计、功能模块设计、数据库设计和接口设计四个方面进行介绍。4.1 架构设计本系统采用轻量级SSH三层框架来实现MVC模式。MVC是一种设计模式,它的出现不仅实

44、现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性,可扩展性,可移植性和组件的可复用性。它的主要思想是将应用程序分成三个部分:模型(Model),视图(View),控制器(Controller)。三者之间的协作关系:视图即与用户交互的界面,接收用户输入的数据,并将数据传送给控制器,控制器接受视图的请求后,交给某一个模型来处理,模型在控制器的控制下,将处理的结果送给某个视图来显示,视图再将结果显示给用户11。采用MVC设计模式,可以减弱业务逻辑接口和数据接口之间的耦合性并让视图层更富于变化,它还有利于软件工程化管理。由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过

45、工程化、工具化产生管理程序代码。SSH是一个成熟的轻量级组合框架,采用SSH来实现MVC模式,即JSP、HTML负责实现View层,Struts和Spring共同实现Control层,Spring和Hibernate来实现Model层。SSH三层框架的组合,充分发挥了各自的优势,进而形成一个结构良好、功能强大,层次清晰的框架体系。SSH三层框架在系统中的集成过程,即在表示层,首先通过JSP页面实现交互,负责传送请求(Request)和接收响应(Response),然后Struts将ActionServlet接收到的Request委派给Spring的DelegatingActionProxy托管

46、,再转交给相应的Action处理。在业务层中,管理服务组件Spring的IoC负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(Data Access Object,DAO)组件完成业务逻辑。在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求数据,并返回处理结果。系统架构如图4-1所示。图4-1 系统架构4.2 功能设计新闻发布系统分为前台设计和后台设计两部分。1.前台设计前台设计包括栏目显示、新闻信息显示,浏览、搜索新闻信息,对新闻进行评论,对评论进行回复,注册用户,修改注册信息,根据注册邮箱找回密码等。系统前台功能结构如图4-2所示

47、。图4-2 前台功能结构图2.后台设计系统后台功能划分为四大模块,即栏目管理、新闻管理、评论管理、系统管理。其中栏目管理模块包括添加、修改、删除栏目及栏目以目录结构树形式显示;新闻管理模块包括添加、修改、批量删除、移动新闻、审核、按条件查找新闻和查看新闻对应评论等,当新闻审核成功后,新闻标题便以超链接形式显示,点击可以查看发布后的新闻;评论管理模块包括审核评论及批量删除评论等;系统管理模块包括角色管理、用户管理、模块管理、修改密码、数据库恢复及备份,其中角色管理包括角色的增加、删除、修改角色及权限分配和成员管理,成员管理包括批量删除、批量添加成员等;用户管理包括添加、修改、注销、恢复、按条件查

48、询用户及查看用户所属角色等;模板管理包括基本的增加、删除、修改操作。系统后台功能结构图如图4-3所示。图4-3 后台功能结构图4.3 数据库设计与实现数据库是整个项目设计中的关键,一个合理的数据库能有效的管理后台中的数据,提高软件的实用性12。数据库设计主要包括两个方面内容:数据库设计与实现。数据库的设计主要经过数据需求、概念结构设计和逻辑结构设计三个阶段。4.3.1 数据需求在设计系统时,主要从模块组成、数据连接、功能实现、应用意义等方面着手,而模块组成主要包括系统的主要组成模块以及每个模块所要达到的功能。所以,要对每个模块的数据需求进行详细的分析。根据需求分析,针对各模块的特点,可以总结出

49、如下数据需求:1.新闻信息需包含新闻类别、标题、内容、关键字、作者、入库时间、发布时间、新闻所选择的静态模板等数据特征。2.新闻类别信息需包含类别名称、类别描述、类别顺序、类别的上级名称、类别所选择的静态模板等数据特征。3.新闻审核信息需包新闻标题、审核状态、审核意见、审核时间等数据特征。4.新闻评论信息需包含评论的新闻标题、评论内容、用户、评论时间、评论审核状态等数据特征。5.用户信息需包含用户名、网名、密码、用户所属角色、性别、邮箱、用户是否有效、注册日期等数据特征。6.角色信息需包含角色名称、角色描述等数据特征。7.模板信息需包含模板名称、模板标签、模板类型、对应的模板文件等数据特征。8

50、.权限信息需包含权限名称、权限描述等数据特征。9.模块信息需包含模块名称等数据特征。10.一个新闻类别可以包含多条新闻。11.一个模板可以被多条新闻所选。12.一条新闻可以被多个用户评论。13.一条新闻可以被多次审核。14.一个用户可以进行多次评论。15.一个角色可以包含多个用户。16.一个用户也可以属于多个角色。17.一个权限可以被多个角色拥有。18.一个角色可以拥有多个权限。经上述系统功能分析和需求总结,设计如下所示的数据项和数据结构:栏目信息:栏目名称、栏目描述、栏目是否有效、栏目顺序、父级栏目、栏目路径、栏目展示模板。新闻信息:标题、作者、新闻添加时间、发布时间、内容、新闻所属栏目、关

51、键字、新闻生成静态页面存放的地址、修改日期、是否允许评论、新闻状态、所选模板。新闻审核信息:新闻审核意见、审核结果、审核新闻的日期、新闻标题。模板信息:模板名称、模板描述、模板类型、模板文件、生成静态文件要替换的标签。评论信息:评论内容、用户、评论回复、评论的日期、评论状态、评论的新闻。角色信息:角色名称、角色描述。用户信息:网名、用户名、密码、性别、邮箱、用户状态、注册日期。权限信息:权限名称、权限描述、权限所属模块名称、权限操作后触发的请求。模块信息:模块名称。4.3.2 概念结构设计概念结构是独立于任何一种数据模型的信息结构。数据库概念结构设计的目标是将需求分析得到的用户需求抽象为信息结

52、构,产生反映全组织信息需求的整体数据库概念结构,即概念模式,是整个数据库设计的关键13。根据需求分析得出系统基本E-R图,如图4-4所示。图4-4 新闻发布系统基本E-R图图中栏目实体包含栏目名称、栏目说明、父级栏目名称、栏目顺序、栏目是否有效、栏目路径、所属模板属性。新闻实体包含新闻标题、作者、添加日期、发布日期、内容、关键字、所属栏目、新闻状态、是否允许评论、修改日期、存放地址和所属模板属性。模板实体包含模板名称、模板描述、模板类型、模板文件和模板标签属性。新闻审核实体包含审核意见、审核结果、审核日期和对应的新闻属性。评论实体包含评论内容、评论用户、评论相关的评论、评论时间、评论状态和评论

53、的新闻属性。角色实体包含角色名称和角色描述属性。用户实体包含网名、用户名、密码、性别、邮箱、是否有效和注册日期属性。模块实体包含模块名称属性。权限实体包含权限名称、权限描述和所属模块属性。角色权限关系包含角色名称和权限名称属性。用户角色关系包含用户名称和角色名称属性。4.3.3 逻辑结构设计逻辑结构设计的任务是将概念结构设计阶段设计好的E-R图转化为对应的关系模式,从而完成逻辑结构设计,为数据库实现做准备。栏目关系模式(主键用下划线标出,以下雷同):columns(columns_id,columns_name,columns_description,columns_isactive,colu

54、mns_sortid,columns_parentid,columns_path,template_id)。新闻关系模式:news(news_id,news_title,news_author,news_adddate,news_pubdate,news_content,columns_id,news_keywords,news_url,news_modifydate,news_iscomment,news_status,template_id)。新闻审核关系模式:news_approvals(news_approvals_id,news_approvals_content,news_appr

55、ovals_result,news_approvals_date,news_id)。评论关系模式:comments(comments_id,comments_content,users_id,comments_relateid,comments_date,comments_status,news_id)。模板关系模式:templates(templates_id,templates_name,templates_description,templates_type,templates_file,templates_tags)。角色关系模式:roles(roles_id,roles_name,r

56、oles_description)。用户关系模式:users(users_id,users_name,users_loginname,users_password,users_gender,users_email,users_isactive,users_registdate)。用户角色分配关系模式:users_to_roles(users_to_roles_id,users_id,roles_id)。模块关系模式:models(models_id,models_name)。权限关系模式:permissions(permissions_id,permissions_name,permissio

57、ns_description,models_id)。角色权限分配关系模式:roles_to_permissions(roles_to_perm_id,roles_id,permissions_id)。4.3.4 数据库实现在完成数据需求分析和数据库设计的基础上,对数据库进行具体的实现,数据库共有11张表,所有表及说明如表4-1所示。表4-1 数据库中表及说明编号表名说明1columns栏目信息表2news新闻信息表3news_approvals新闻审核表4comments评论表5users用户表6roles角色表7users_roles用户角色表8permissions系统权限表9roles_

58、to_ permissions角色权限分配表10models系统模块表11templates系统模板表根据系统数据关系模式的设计结果,下面仅给出栏目表(columns)、新闻表(news)、新闻审核表(news_approvals)、评论表(comments)的实现,如表4-2、4-3、4-4、4-5所示,其它不再一一给出。表4-2 columns表设计字段类型是否空字段说明columns_idInt(11)Not null栏目ID,主键columns_nameVarchar(30)Not null栏目名称columns_descriptionVarchar(100)栏目说明columns_i

59、sactivetinyint(1)Not null0无效,1有效columns_sortidInt(4)Not null栏目顺序,default 0columns_parentidInt(11)Not null一级栏目为0columns_pathVarchar(100)判断栏目级别templates_idInt(11)Not null模板id表4-3 news表设计字段类型是否空字段说明news_idint(11)Not null栏目ID,主键news_titlevarchar(80)Not null新闻标题news_authorvarchar(10)Not null新闻作者news_addd

60、ateDatetimeNot null新闻添加日期news_pubdateDatetime新闻发布日期news_contentTextNot null新闻内容columns_idint(11)Not null所属栏目idnews_keywordsvarchar(50)Not null新闻关键词news_urlvarchar(50)Not null静态新闻地址news_modifydateDatetime修改日期news_iscommenttinyInt(1)Not null是否允许评论news_statusChar(1)Not null审核状态templates_idint(11)Not nu

61、ll模板id表4-4 news_approvals表设计字段类型是否空字段说明news_approvals_idInt(11)Not null审核记录ID,主键news_approvals _contentVarchar(200)Not null审核意见news_approvals_resulttinyInt(1)Not null审核结果news_approvals _dateDatetimeNot null审核日期news_idInt(11)Not null新闻ID=news_id表4-5 comments表设计字段类型是否空字段说明comments_ idint(11)Not null主键comments_contentvarchar(1000)Not null评论内容users_idint(11)Not null用户id= users_idcomments_relateidint(11)回复评论comments_date

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