1、江西理工大学应用科学学院学位论文毕业设计(论文)系 别: 信息工程系 专 业: 网络工程 班 级: 网络 121 姓 名: 田振宁 学 号: 08061312128 毕业题目: 新闻发布系统的设计与实现 指导老师: 陈 淦 完成时间: 2016 年 5 月 25 日 江西理工大学应用科学学院学位论文I摘 要如今的大多数新闻发布系统网站,其运营管理平台,都是以查询,更新,删除,分类为主要功能,通常从管理台传入数据到数据库,前台查询数据显示在界面供用户阅读体验。新闻发布系统作为一个门户网站,每天访问的用户量非常庞大,对新闻的更新要求自然很高,一般的直接输入发布新闻自然会变得工作量很大,针对此问题,
2、我们引入了一键导入功能,将新闻内容一键导入,实时更新,给用户提供最新的新闻资讯。让用户更好的了解身边的新闻事实,提高每一个用户对新闻真实性的了解。本文主要介绍了系统开发所采用的关键技术,对系统各个功能和模块设计进行了需求分析,详细了解了各模块功能实现所需的技术,设计并实现系统各模块功能,最后介绍了各模块功能及操作流程。新闻发布系统的设计最终达到了初期设计的需求,各模块功能达到了预期要求,页面的美观也达到了用户的需求,初步解决了用户评论,互动,实时查看新闻的需求,加入了用户权限控制的用户管理,更好的发放权限给每一个人,目前系统优化全面,未来将继续维护系统各个方面的不足之处,加入更多功能,为用户提
3、供更好的新闻发布系统。【关键词】 门户网站;真实性;用户体验;新闻发布;系统维护田振宁:新闻发布系统的设计与实现IIAbstractSite now most of the news release system, its operation management platform, is based on the query, update, delete, classified as the main functions, usually from manage incoming data to the database, the front desk query data display
4、ed in the interface for users to reading experience.News release system as a web portal, users access to every day is very large, natural high to news update request, general news will naturally become the direct input of a lot of work, aiming at this problem, we introduce a key import function, the
5、 news content is a key to import, updated in real time, provide users with the latest news and information.Allow the user to better understand the news fact, around improve each user understanding of news authenticity.This article mainly introduced the system development, the key technologies adopte
6、d by every function and module design of system requirements analysis, the technology needed to understand the function of each module in detail, designing and implementing system has the function of each module, and finally introduces the each module function and operation process.Early news releas
7、e system design and eventually reached the design requirements, each module function has reached the expected requirement, beautiful of the page to the users demand, the preliminary solved the user reviews, interactive, real-time demand for news, joined the user access control of user management, be
8、tter access to each one, the current system optimization, comprehensive all aspects of the future will continue to maintain system deficiency, add more features, to provide users with better news release system【Key words】Web portals;Authenticity;User experience;News release System; maintenance江西理工大学
9、应用科学学院学位论文III目录第一章 绪论 .11.1 研究背景与意义 .11.2 研究内容与目标 21.3 论文结构 2第二章 相关技术简介 .42.1 开发整体框架 .42.2 系统开发相关技术 .42.2.1 MVC模式 42.2.2 Ckeditor .52.2.3 BootStrap 62.2.4 jQuery .62.3 开发平台与工具 .72.3.1系统软件 72.3.2工具软件 7第三章 需求分析 83.1 可行性分析 .83.2 用例分析 .93.2.1 系统超级管理员 .93.2.2 用户人员用例图 103.3 系统总体设计 .113.3.1 菜单权限管理分析 113.3.
10、2 角色管理流程分析 123.3.3 新闻管理流程分析 13第四章 系统设计与实现 .154.1 数据库设计与实现 .154.1.1 前台用户表(user) 154.1.2 后台用户表(sys_user) 154.1.3评论表(comment) 164.1.4图片上传表(image_sequence) .174.1.5新闻表(news) .174.1.6点赞表(prise) 184.1.7数据字典定义表(sys_dict) .184.1.8菜单表(sys_menu) .194.1.9角色表(sys_role) .194.1.10角色权限表(sys_role_right) 204.1.11用户角
11、色表(sys_user_role) .204.2 功能模块设计与实现 .214.2.1功能模块设计 .21田振宁:新闻发布系统的设计与实现IV4.2.2数据字典设计 .214.2.3 CSV导入导出模块 .224.3 管理台页面设计与实现 .244.3.1登录页面设计 .244.3.2登录后系统页面设计 .244.3.3用户管理角色管理页面 .264.3.4 新闻管理页面设计 274.3.5 评论管理页面设计 274.4 前台页面设计与实现 .284.4.1 前台登录页面设计 284.4.2 前台首页页面设计 284.4.3 新闻阅读页面设计 294.4.4 新闻评论页面设计 304.4.5
12、新用户注册页面设计 30第五章 系统测试结果 .315.1 系统总界面 315.2 系统各个功能测试 315.2.1 角色管理测试 315.2.2 用户管理测试 325.2.3 新闻管理测试 34总结 38致谢 39参考文献 40江西理工大学应用科学学院学位论文1第一章 绪论1.1研究背景与意义随着互联网时代的发展,如今的 Internet 的迅速发展给人们带来了很多的方便,无论是手机还是 PC 端都给人们带来了极大的便利,使人们的生活得到了翻天覆地的变化,获得新闻资讯的途径不仅仅只是通过电视、广播或者报纸,这样获得新闻资讯的途径显然不是最快的,而且人们获得的新闻不是实时更新的,这些途径已经不
13、能满足人们了解最新新闻资讯的要求,看过时的新闻让人们对新闻的了解显得很落后。所以新闻发布系统是面向大众用户开发的一款实时更新新闻资讯,每天第一时间发布最新发生的新闻头条、动态,人们可以通过手机或 PC 端在任何时间任何地点,打开新闻发布系统就能实时观看最新新闻,让你身临其境,真正感受到各地的新闻变化,人文习俗,还能更快的了解各地的文化和人们的生活习惯,让每一个人都能更快的学习到更多的知识,丰富人们的日常生活。在今天的互联网发达的年代,互联网已经成为人们不可缺少的一部分,人们通过各种互联网工具来丰富他们的生活,新闻发布系统有很大一部分用户,用户浏览新闻发布系统的数量每天成千上万,新闻发布系统具有
14、很大的发展前景,给人们带来的便捷和实时更新更是吸引人们的主要特色,如今的新闻发布系统在互联网中也有很多,比如网易新闻,腾讯新闻,新浪新闻等等,而这些新闻发布网站都是大同小异的,功能也是相似,所以要在新闻发布系统中立足,有自己的独特的特性在许多网站脱颖而出,本文加入了新闻发布系统的许多功能,后台管理平台加入用户管理、角色管理、操作日志、新闻发布、评论管理功能。用户管理可以在新闻发布系统中管理用户,通过角色管理每个用户设置不同的权限,进入不同的菜单,从而形成了多个用户管理,每个用户可以管理不同种类的新闻,为不同类型的多个用户在同一时间不同的地方不同的新闻,所以您可以确保用户可以看到各种类型的消息,
15、确保系统的真实性和可靠性,因此在相同的新闻发布系统中就具有优势,人们喜欢看最新的,真实的,可信的新闻,实现这些功能,系统有一个竞争优势。首页新闻发布系统添加评论,点赞,热度,分类查询新闻功能,评价整个系统与用户交互,用户在看新闻可以与许多个人评论,同时互相讨论新闻细节消息。新闻发布系统分为前台系统和后台管理系统,前台系统功能强大,界面友好,符合用户操作习惯,后端接口逻辑清晰,功能模块化,操作现实化,模仿显示新闻发布的操作过程,编辑、发布、存档,可扩展性强,新闻可以分类、评论等,很容易二次开发,并且可维护性强,还有严格的权限控制,可以实现多个用户拥有不同权限,拥有不同功能,从而让系统的价值有了很
16、大的提升,让用户用起来更方便,更喜欢,所以新闻发布系统就有了存在的价值,他的商业价值也就得到了体现,新闻发布系统这样的创新和实时给用户提供最新的咨询,新闻,社会动态,无疑都是用户最需要的,他的社会价值也得到了体现,而且新闻发布系统运用了最受欢迎的 SpringMVC 框架,这样的框架是目前最流行的框架,二次开发对于程序员来说,一点也不难,这也是新闻发布系统的优势所在。因此新闻发布系统的诞生必将有很大的价值。田振宁:新闻发布系统的设计与实现2新闻发布管理信息系统通过互联网随时随地可以观看到自己想要的内容,所以新闻发布系统的出现对于依赖用网络来获取新闻消息的用户是极大的便利,用户不仅可以在新闻发布
17、系统上获取最新的新闻消息,还可以在浏览消息的同时与其他用户互动,评论新闻的真实性,让用户体验到不仅只有自己在看这条新闻,从而使用户从中体会到极大的乐趣,新闻发布系统很适合这类人群的习惯,新闻是人们日常生活中不可缺少的,所以新闻发布系统的建立必将是成功的,而且拥有大量的用户。1.2 研究内容与目标本文主要对新闻发布系统的前台系统和后台管理系统功能进行了分析,并对每个功能的实现技术做了概述,对该项目的特色功能进行了阐述。本文主要工作包括:1.重点叙述新闻发布系统项目的大致功能,包括新闻内容的揭晓、评论内容的监督、新闻内容的分类、项目未来前途以及应用到每一个领域的可能。2.研究新闻发布系统对用户带来
18、的方便,给用户提供资源的可靠性,用户互动的真实性。3. 介绍新闻发布系统的大致背景,发展前景和存在的价值以及创建该系统的目的和现实意义,此系统运用了多种 JAVA 框架,实现了后台管理和前台管理一体化,并实现了用户管理的信息安全化,防止被恶意攻击盗取用户资料。4.在 JAVA 框架下实现了平台的每个功能,通过连接 MySql 数据库来储存用户数据和新闻内容。1.3 论文结构论文共分为五章,组织结构如下:第一章 绪论,介绍新闻发布系统的大致背景,发展前景和存在的价值以及创建该系统的目的和现实意义。第二章 相关技术简介,列出设计新闻发布系统主要用到的相关技术,每一个技术的意义和所用的价值,该技术是
19、如何实现的,该系统实现的大致方法。第三章 需求分析,主要讲述新闻发布系统应用到的技术,该系统做成什么样的功能,达到什么样的效果以及有哪些特色设计,包括各技术之间的联系和优缺点。第四章 系统的设计与实现,根据需求分析,提出自己的解决方案,以及如何做好新闻发布系统的各个功能,实现系统中各个功能的具体技术及方法。第五章 系统测试结果及总结,对系统的各个功能进行测试,分别测试各功能的实用性和 BUG 结系统的不足之处,列出系统的优点。最后总结了本文主要讲述的所有内容,指出本文的主要优势,贡献和不足,进一步加强系统功能的方法。本文的论文结构图如图 1-1 所示:江西理工大学应用科学学院学位论文3图 1-
20、1 论文结构图第 1 章 绪论 第 4 章 系统的设计与实现第 2 章 相关技术简介第 3 章 需求分析第 5 章 系统测试结果总结田振宁:新闻发布系统的设计与实现4第二章 相关技术简介2.1开发整体框架该系统采用 Spring MVC+MyBatis 的面向开源开发框架,Spring MVC 可以与其他 JSP 框架,JAVA 后台封装框架无缝结合,MyBatis 使用 XML 注解用于配置SQL 语句和原始映射,将接口和 Java 的 POJOs( Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录,Spring MVC 更是能很好的与MyBatis
21、 框架集成,使得整个系统的开发变得快速,简单。Spring MVC 是当前最优秀的 MVC 框架之一,互联网中大多数系统都在使用Spring MVC 框架,在市场中占有很大一部分份额。Spring MVC 的配置相对其他框架比较简单,使用起来非常灵活,而且与 Spring 的集成较好,核心是控制反转(ioc)和面向切面编程(aop),控制反转是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,也是轻量级 Spring 框架的核心,ioc 由容器管理初始化,自动装配,通过配置管理,用起来灵活易用,依赖注入,生命周期是懒加载,到用的时候才 new 一个对象。而面向切面编程 aop 的实现是使
22、用JDK 的动态代理和反射实现切面编程,利用 AOP 对业务逻辑的各个部分进行分开隔离,使得业务逻辑的各个部分的耦合度降低,从而提高程序的可重用性和程序员的开发效率得到提高,AOP 主要功能是日志记录,性能统计,安全控制,事务处理,异常处理等等。Spring MVC 真正做到了将 MVC 清晰的分离,运用灵活的配置来实现多种功能,同时支持面向接口编程,和其他目前流行的主流框架整合的良好。通过 XML 配置建立 WEB 工程,导入 Spring 的支持,利用Spring 框架来更好的编程,后台传参利用 spring rest 映射,也就是“RequestMapping”加路径来进行传参,前台页面
23、传值则可以直接用 ajax 加路径传参,也可以用 EL 表达式获取参数。MyBatis 是 apache 的一个开源项目 iBatis,2010 年迁移到了 google code,并且改名为 MyBatis,iBatis 是一个基于 JAVA 的持久层框架,能够和 Spring MVC 很好的集成开发,MyBatis 主要应用于和数据库的实体交互,通过配置 XML的方法来执行 SQL 语句,从而进行数据库的操作,MyBatis 将 SQL 语句与 JAVA代码分离开来,使整个系统后期的维护变得简单,易上手。MyBatis 的功能架构分为三层:API 接口层,为其他系统使用该系统接口提供 AP
24、I,开发人员可以通过本地使用的 API 来操作数据库,API 接口层一旦收到请求就会调用数据处理层来处理数据;数据处理层,负责具体的 SQL 一系列操作处理,主要目的是根据外部接口调用的请求对数据库完成操作;基础支撑层,为数据处理提供最基础的功能支撑,来对接下来的工作和功能进行支持。MyBatis 是半自动映射,大量的 SQL 语句需要亲自动手去配置,它的最强大的特性之一就是动态 SQL 语句功能,动态 SQL 元素需要掌握的元素非常多,而 MyBatis 则基于 OGNL 表达式封装了大部分动态 SQL 元素,使得开发更加容易。2.2系统开发相关技术江西理工大学应用科学学院学位论文52.2.
25、1 MVC模式就目前我们每个人浏览的网站都离不开 MVC 的影子,MVC 不只是一种设计模式,它更多的体现出了在设计系统时的一种设计思想。M(Model):模型,就是指开发项目开发框架,是一个单独的功能组件,是设计整个系统的核心技术;V(View):视图,即每一个打开浏览器的用户,想要进入的每一个网页,都是一个视图,简单点说视图就是普通用户访问的页面;C(Controller):控制器,通过请求类型调用业务层,从而将业务层得到的结果提交给视图(view)进行给用户显示,达到页面的功能展示。在现在设计的网页中,一般的 JSP 页面都可以将 JAVA 代码和 HTML 代码写在同一个页面,这样一来
26、就显得页面代码很混乱,后期维护起来也变得很难,然而把它们分离开来又是一件相当麻烦的事儿,复杂的页面代码和繁琐的逻辑结构,要想分开代码必须先理清页面结构。然而 MVC 设计模式就很好的将这一问题解决了,从设计上强制将代码分开来写,每一个类型和页面结构都得到了很好的处理,在后期的系统维护上更容易,让整个系统都显得整齐清晰,很容易理清系统设计的思路。一个好的系统当然需要一个好的设计思路,MVC 设计模式就很好的应用了这一点,使得一个 WEB 应用可以同时支持多个不同类型的客户端,比如通过 PC端可以浏览多种页面,同时通过手机端也可以浏览多种页面,这就要求开发人员在设计系统时要同时支持 PC 端和手机
27、端的界面,MVC 模式中一个 Model 可以回应多个请求,同时处理多个请求,这样使得代码得到重复使用。MVC 模型图如下图 2-1 所示:图 2-1 MVC 模型图解MVC 设计模式分为三个独立的模块,在开发系统时,有着很大的优势,一旦系统设计完善后,通过测试,系统代码的复用性将会很大,二次开发也会变得简单,容易。MVC 设计模式是非常重要的一个系统设计思想,开发好一个系统将会有非常大的价值。2.2.2 Ckeditor*.jsp/*.vm*.jsp/*.vmServlet业 务业 务数 据 层数 据 层数 据 层数 据 层数 据 库控 制 层 ( Controller)显 示 层 ( Vi
28、ew)HTML、 JavaScript、CSS、 EL、 JSTL 接 收 请 求 、判 断 数 据 、调 用 服 务 层 、实 现 跳 转独 立 逻 辑 业 务( Model)田振宁:新闻发布系统的设计与实现6Ckeditor 是目前网页编辑器里最优秀的之一,使用强大的 JavaScript 脚本语言编写封装而成,功能十分多,写成的控件也很齐全,控件很容易加入到网页中,兼容多种浏览器,支持多种网页编辑语言,并且是一个开源控件,开发人员很容易上手,加入到网页里,可以让你的网页编辑更加方便,美观,而且支持多种文字编辑,可以任意修改字体,颜色,上传图片,排版文字格式。让你的文字排版变得更加绚丽。作
29、为一个视觉的 HTML 编辑器,它的强大的功能让它成为最受欢迎的网页编辑器。在配置该控件时只需要根据它的 API 来配置到网页中即可,配置简单,功能强大。2.2.3 BootStrapBootStrap 是一个 WEB 前端 CSS 框架,是由 Twitter 的设计师 Mark Otto和 Jacob Thornton 两人合作开发的,BootStrap 是基于CSS、HTML、JavaScript 的一个 CSS/HTML 框架,它封装了很多样式的 API,间接易用,使得 WEB 开发变得简单、快捷,开发人员不再需要写原生的JavaScript 和 CSS 就能实现 WEB 页面的美观,绚
30、丽。BootStrap 由动态的 CSS语言 Less 编写而成,它不仅兼容各种 PC 端浏览器,而且还自动适应手机端WEB 网页,这就是 BootStrap 的响应式 CSS 设计,可以同时在手机和 PC 端浏览同一个网页,使得开发者的代码量大大降低,提高了系统的开发速度。BootStrap 一经推出就受到了广大开发者的喜爱,一直是非常热门的开源项目,包括 NASA 的 MSNBC(微软全国广播公司)的 Breaking News 都使用了该项目。BootStrap 引导丰富的 WEB 组件,方便开发人员可以构建一个美丽、聪明、强大的网站,包括以下形式的组件:排版、表格、表单、按钮、图片、字
31、体图标、下拉菜单、按钮下拉菜单、输入框组、导航元素、导航栏、分页、标签、模态框、弹出框等一系列组件,运用起来非常得心应手。BootStrap 框架的研究很简单,只要熟悉 HTML 和 CSS 的基础知识,能快速掌握框架,并可以开发一个漂亮的网站,很容易学习,很多开发人员都希望利用BootStrap 框架,给开发人员带来了巨大的方便,减少大量的工作,这就是BootStrap 框架为什么广受欢迎的原因。BootStrap 为开发人员创建接口提供了一个简单的统一解决方案,每一个CSS 样式都封装成了一个个类,系统配置了 BootStrap 框架后,开发人员只需要在添加样式时调用可以使用的样式,即可改
32、变页面的样式风格,不受任何影响,而且 BootStrap 提供好了大量的样式风格,完全可以满足系统开发的需求,这就是 BootStrap 的力量。BootStrap 还自带了 13 个 jQuery 插件,这些插件使得 BootStrap 变得灵活有“生命” ,使得前后台交互变得简洁,不用编写大量的 JavaScript 代码,就可以轻松解决想要的功能。2.2.4 jQueryjQuery 是 JavaScript 封装的一个简单易用的库,在如今浏览器泛滥的年代里,开发一个成熟的系统必须要做到对每一个 WEB 浏览器进行兼容,这是件非常头疼的事儿,但是 jQuery 却做到了这点,它支持多种浏
33、览器的样式兼容,江西理工大学应用科学学院学位论文7用户可以很容易地处理 HTML 代码,实现多种多样的动画效果,处理 AJAX 交互。jQuery 封装的许多成熟易用的插件可以提供给开发人员选择,使整个网页设计变得更加简单,快速,动画效果更绚丽。jQuery 是开源的,免费的语法设计,不但拥有多种选择器,还可以进行多种事件处理。jQuery 多种模式的选择器才是它的真正威力,选择器包括 id 选择器、类选择器、标签选择器、属性选择器、位置选择器等等,也可以说是它可以遍历HTML 文档,执行动画和向 web 页面添加 AJAX 交互数据。jQuery 将代码简化,JavaScript 需要数十行
34、代码才能完成的事件,而 jQuery 只需要很少的代码就能将问题解决,大大提高了工作效率。2.3开发平台与工具本次新闻发布系统的开发平台采用了 eclipse 开发工具,eclicpse 是一个集成开发环境工具,是开放源代码的、免费的、基于 Java 的可扩展平台,通过插件组件构建开发环境,eclipse 拥有大量的开发插件,可以根据不同的开发环境配置不同的插件,它不只是开发 java 系统,还可以通过不同的外部插件来扩展自身功能支持不同的计算机语言,开发各种强大的系统。2.3.1系统软件操作系统:windows 7 企业版;浏览器:谷歌浏览器、火狐浏览器及百度浏览器;服务器:Tomcat8.
35、0,Jdk 1.8 版本。数据库:MySql5.6。2.3.2工具软件开发工具:Eclipse MARS.2图形处理:Adobe photoshopCS6、Microsoft Office Visio 2013田振宁:新闻发布系统的设计与实现8第 3章 需求分析新闻发布系统作为一个门户网站有着很大一部分用户量,用户选择在门户网站上获得最新新闻资讯,用户对每天的新闻更新快慢有着很高的要求,满足用户这种要求就能让系统在众多相同的门户网站中脱颖而出,因此系统做到了多个管理员同时管理更新新闻的要求,让所有管理员都能在不同时间段不同地点发布不同的新闻资讯,呈现不同的当地新闻。如今的网上言论自由,所以有一
36、部分用户随心所欲在网站发布攻击他人的语言,让很多人无辜受害,所以为了解决这一问题,系统需要加入用户评论导出功能,可以记录下哪些用户发表了攻击性言论,从而处罚该用户,共同维护网络环境的和谐。新闻发布系统最大的功能就是用户管理,用户管理能有效的管理每一个用户,使得他们在系统中形成一个动态的生态圈,能够容纳更多的用户浏览本系统,让系统变得有存在价值的主要核心之一。每个用户分配不同的权限,就可以将一个系统划分为一个个小的范围管理,让整个系统运行起来有规则,这样的系统才能在竞争激烈的互联网中如鱼得水的发展下去。需求分析是一个系统的关键,做好需求分析整个系统的设计才更加游刃有余,设计出来的系统才会使用户满
37、意,才能在竞争中取得胜利。3.1可行性分析可行性分析其实就是对整个系统的用途和在同行业中的竞争力进行评估和分析,并且在系统制作完成后能否顺利运营,对各个方面的影响进行分析,从而得出团队设计该系统是否值得投资和运维。下面对该系统的技术、操作、经济方面进行了分析:(1) 技术可行性新闻发布系统早已是一套成熟的系统体系,该系统采用 JAVA 语言技术开发,运用了当前最流行的 Spring MVC 框架,这个成熟的框架带给系统的不仅是最简便的开发方式,还是让整个系统变得更加透明和易用,使得整个系统开发起来很有层次感,不会让代码变得那么繁琐,提高代码的复用性,该系统运用了大量的轻量级框架,使得系统的性能
38、得到很大的提升,页面加载的速度也得到了提升,让用户进入网站不再那么慢,每一个 SQL语句都进行了系统优化,让查询变得更加快速,新闻发布系统还加入了安全控制,密码运用 MD5 加密,防止用户的资料被盗取,整个系统的安全机制非常高,用户不用担心黑客攻击问题。页面的设计也非常符合当下人们的需求风格,大部分人都会喜欢这样的系统,页面也运用了目前最流行的框架 BootStrap,让整个系统都显得很先进很适合如今的画风,所以技术方面新闻发布系统不管是前端页面还是后台技术都运用了目前最流行的框架结构,技术可行性不用担心。(2) 操作可行性无论是操作系统管理员用户访问页面或后台前台页面,是一个非常简单的操作,
39、只要打开页面操作,操作简单,用户访问页面查看新闻、评论、点赞,注册一个新用户功能,一些基本的功能,管理员的功能更多一些,有用户管理、角色管理、数据字典、在线用户、操作日志、新闻稿、评论江西理工大学应用科学学院学位论文9管理功能,也为管理员加入快捷菜单添加的功能,操作方便、简洁,所以没有任何问题在操作可行性。(3) 经济可行性该系统的开发不需要任何费用,用到的开发软件都是开源,免费的开发工具,系统的开发成本很低。该系统在互联网中拥有很大的用户量,开发完成后,一定会带来很大的经济利益,后期的维护也不需要投入很大的人力和经济,只需要一部分人员来管理和发布新闻即可,耗费的成本很低,所以该系统发布后只会
40、增加更多的经济利益,开发成本低,经济上不需要很大的支出。3.2用例分析3.2.1 系统超级管理员系统超级管理员具有最高权威的新闻发布系统,管理所有用户和整个系统的功能与访问控制权限模块功能,超级管理员是该系统的主要管理者,超级管理员可以分配用户的每个角色角色,加强管理系统运维。系统超级管理员拥有的主要功能有:数据字典维护管理、用户管理、角色管理、在线用户查看、公告管理、操作日志查看、前台用户管理、新闻管理和评论管理九个模块,其中每一个角色对应多个权限,每一个用户可以设置多个不同的角色,不同的角色访问的权限就不同,同时分配管理系统的模块就不同。数据字典维护管理主要是对性别、新闻大类、新闻子类、角
41、色类型和证件类型进行后期维护,使得整个系统维护起来方便快捷,该功能只有超级管理员可以修改和维护,同时超级管理员也可给其他用户设置权限来指定用户来维护该功能。用户管理包含用户信息查询列表、新增用户、导出用户信息功能,列表中有修改用户信息、设置用户角色权限、重置用户密码,停用和恢复用户功能,设置用户角色权限可以为用户分配角色,也可以取消用户角色,通过角色表来关联用户表,从而达到给用户分配角色的目的,停用是用来停用用户账号,重置密码是用户忘记密码后可以由超级管理员为其重置密码。角色管理主要有角色查询、新增角色、权限设置、修改角色和删除角色功能,新增一个角色可以为其设置多个权限,访问不同的菜单功能,管
42、理员可以查看所有的角色,多个角色可以分配给一个用户,不需要的角色可以删除。在线用户查看可以查询到当前在线的所有用户,同时超级管理员还可以注销在线的用户,来达到踢人的效果。公告管理拥有查询所有公告信息、新增公告、修改公告和删除公告功能,新增的公告可以选择拥有哪种权限的用户才能看到公告,公告一旦发布就会在拥有权限的用户登录系统时的首页显示,使得用户第一时间知道系统的公告信息,公告都有有效期过期的公告可以删除。操作日志查看,超级管理员可以查看到哪些用户在什么时间什么地点登录了该系统,并且进行了哪些操作,这样一来就可以知道哪些用户发布了哪些新闻。从而更好的监督每个人的责任。前台用户管理是为前台用户访问
43、的页面进行用户管理,拥有新增用户、导出用户资料、修改用户信息、重置密码、停用和恢复用户账号和删除用户功能,超级管理员可以更好的管理前台的用户,防止恶意注册。田振宁:新闻发布系统的设计与实现10新闻管理功能强大,有发布新闻、导入新闻、导出新闻、修改新闻、删除新闻和查看新闻详情功能,导入新闻可以方便的将一天的新闻一次性导入到系统中,快速发布新闻,减少新闻发布者的工作量。评论管理包括查询所有评论、导出评论和删除评论功能,导出评论可以将那些恶意攻击的评论导出作为证据,防止评论恶意攻击,删除则可以将恶略的评论删除,不影响整个系统的发展环境。系统超级管理员 E-R 图如图 3-1 所示。图 3-1 系统超
44、级管理员 E-R 图3.2.2 用户人员用例图用户人员只能查看前台新闻阅读界面,进入页面后可以查看最新新闻和当前最热新闻,用户还可以通过不同分类来阅读自己想要看的新闻,新闻分类包江西理工大学应用科学学院学位论文11括国内、国际、财经、体育四大分类,以后的维护中还可以加入更多的新闻分类,来完善系统,同时用户还可以通过登录来评论每条新闻,还可以对每条评论进行点赞。没有账号的用户,可以通过登录页面进入注册页面。注册自己的账号新闻分类是通过后台查询根据每个字段的分类不同查出所要的分类的新闻内容,然后通过 AJAX 调用 HTML 遍历出查到的每条新闻,最后呈现在用户页面上。登录是通过 JAVA 代码进
45、行后台验证,实现登录,并且评论新闻和点赞。具体用户人员用例图如图 3-2 所示图 3-2 用户人员用例图3.3系统总体设计3.3.1 菜单权限管理分析该系统分为前台登录和后台登录,前台登录没有权限限制,所有用户都是一样的权限,后台登录加入了权限管理,每个用户拥有不同的权限,登入系统拥有不同的功能菜单,从而达到多个管理员同时管理和维护系统业务。这些权限管理都是通过角色管理来实现的,通过角色管理来维护角色基本信息,配置角色菜单访问权限。1.角色分配:指定哪些用户与该角色关联,使用 sys_user_role 表做关联。2.菜单授权:菜单分为两种,一种是普通管理员只能访问部分菜单;另一种是超级管理员
46、,不受限制,可以访问任何菜单。具体流程图如图 3-3 所示:田振宁:新闻发布系统的设计与实现12江西理工大学应用科学学院学位论文13图 3-3 菜单权限分配图3.3.2 角色管理流程分析模块说明:角色管理为管理系统角色,并对角色设置权限(包含菜单权限) ,不同角色拥有不同的权限,一个角色可以拥有多个权限。模块功能:1.维护角色基本信息,内置超级管理员角色。2.角色权限设置:有角色管理模块访问权限的用户即可管理全部角色与菜单分配。具体流程图如图 3-4 所示 :加 载 菜 单是 否 需 要 权 限控 制 的 菜 单需 要 权 限 控 制 的 菜 单在 角 色 权 限 表sys_role_righ
47、t里 所有 菜 单 都 有 权 限 可以 访 问 , 即 超 级 管理 员不 需 要 权 限 控 制 的 菜 单查 询 用 户 表sys_user, 角 色 表sys_role, 角 色 权 限表 sys_role_right,菜 单 表 sys_menu显 示 该 用 户 所 属 角色 拥 有 的 菜 单结 束田振宁:新闻发布系统的设计与实现14图 3-4 角色管理流程图3.3.3 新闻管理流程分析模块说明:新闻管理具体包括新闻发布、新闻修改、新闻导出、新闻导入、新闻删除和查看新闻详情功能。通过新闻管理可以整个系统的新闻规划完善,发布简单快速,对于大量的新闻要同时发布,可以通过新闻导入功能,
48、一次性将所有新闻以 CSV 的格式导入到系统中,减少新闻发布者的工作量。模块功能:1.发布新闻,拥有很好的排版插件,可以轻松发布新闻,并随意排版,支持图片上传功能,将新闻动态实时上传到网页,供用户观看。2.新闻导出,可以将查询到的所有新闻同时导出一个文档,便于管理新闻。3.新闻导入,将多篇新闻文章导入到系统中,批量发布一部分新闻,系统更新新闻更快,更简单。角 色 管 理新 增 角 色配 置 角 色 权 限访 问 部 分 指 定 权 限的 菜 单普 通 用 户访 问 所 有 菜 单 权 限超 级 管 理 员修 改 或 删 除 角 色结 束江西理工大学应用科学学院学位论文154.新闻修改,将不真实
49、的新闻进行修改,防止用户吐槽系统新闻的不真实。5.新闻删除,将已过时的新闻删除,避免系统新闻发布太多,造成系统拥堵。6.新闻详情,发布后的新闻,管理员可以通过详情查看,有不足的地方可以进行及时的修改。具体流程图如图 3-5 所示:图 3-5 新闻管理流程图新 闻 管 理发 布 新 闻结 束导 出 新 闻导 入 新 闻修 改 新 闻 删 除 新 闻查 看 新 闻 详 情田振宁:新闻发布系统的设计与实现16第 4章 系统设计与实现4.1数据库设计与实现本次系统运用的数据库是 MySql,MySql 是一个小型的关系型数据库管理系统,对于小型的网站,MySql 有着广泛的应用,用起来方便简洁,其安装包自己有五百多兆,对系统环境要求低,基本不需要配置任何环境就可以运行MySql 服务,MySql 总体成本低,源码开放,对于中小型企业来说,这样的数据库更能带来很多的利益,在数据存储方面也是毫不逊色于 Oracle 数据库,对SQL 语句的优化,可以有效,快速的查询。运用了可视化工具 HeidiSql,使得MySql 数据库的操作变得简便,易上手,运用起来方便快捷。本次系统总体设计了十一张表,分