资源描述
JavaWeb新闻发布系统课程设计
0
2020年4月19日
文档仅供参考
武汉工商学院
信息工程学院
项目名称: 新闻发布系统
学生姓名: 刘伟
学 号: 14404036
班 级: 14计科实验班
指导教师: 陈涛、魏明
7月4日
目 录
1 绪论 1
1.1 系统应用意义 1
1.2 主要设计任务 1
每个用户都能够使用系统进行方便的信息查看。 1
1.3 相关技术概述 1
2 系统需求分析 2
2.1 功能需求分析 2
3 系统设计与实现 4
3.1 模块划分 4
3.2 系统功能模块图 4
4 数据库结构设计与实现 7
4.1 数据库设计 7
4.2数据库需求分析 7
4.3 数据库创立 8
5 功能测试 10
5.1 登录注册测试 10
5.2 后台管理测试 12
5.3 前台用户操作测试 14
参考文献 17
1 绪论
1.1 系统应用意义
随着计算机技术的发展,网络技术对我们生活和工作显得月来越重要,特别是现在信息高度发达的今天,人们对最新信息的需求和发布迫切的需要及时性。而动态交互式网页刚好提供了这些功能,本系统就是一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统计和记录的网上交互系统。新闻发布系统,广泛应用于大型专业网站、政府网站、企业网站等几乎所有的网站上,是将新闻、信息栏目和业界动态等信息集中起来发布、管理、查询等的一种网站应用程序。无论企业网站管理人员身处何地,只要能够上网就能对网站信息进行更新及维护。所有的操作能够经过浏览器完成,不需要掌握其它应用软件,用户不需培训。人寿保险公司也离不开这样的管理。用信息化手段改造传统产业,提高工作效率已是不可争辩的事实。那么,本系统管理信息系统主要解决的就是企事业单位领导们所关心的人、资源、信息和业务等方面的管理问题。当今时代的两个显著特点就是世界经济一体化和以计算机为代表的信息技术的快速发展。一个组织要在激烈的竞争中保持优势和不断发展,必须对迅速变化的环境灵敏地做出有效地反应。信息管理系统的应用能够提供这种有效的决策支持。
1.2 主要设计任务
(1)新闻信息的查看
每个用户都能够使用系统进行方便的信息查看。
(2)新闻信息的发布
每个用户都能够使用系统进行快捷的信息发布。
(3)一般用户
查看新闻信息:用户查看完成后,记录阅读次数,而且不限次数。
发布新闻信息:信息发布后不能够进行信息的修改,发布前必须校对正确,本着为大众着想的心态等。
(4)系统管理员
系统管理员经过此项功能,可对错误信息进行修改,对不合法和恶意性信息进行删除等操作
1.3 相关技术概述
1. 本系统使用的技术概述
(1)MySQL
MySQL数据库管理系统是用于关联数据库并将数据保存到所创立的表中,在本次设计中涉及到数据的存储过程,因此必须要有数据库管理系统来进行管理。当前来说MySQL一般比价适用于中小型企业的,如果数据规模非常庞大一般会选择Oracle数据库管理系统进行开发。本次设计数据非常有限因此选择MySQL,除此之外她还有便于学习,成本低,开源等特点。
(2)WEB服务器Tomcat
Tomcat是Apache底下的一个项目,它拥有免费、开放源码的特点因此Tomcat成为许多程序开发、调试时所选择的服务器,在本次设计过程中主要使用它来进行程序的调试。同时在本次设计中需要用到JSP和Servlet技术,Tomcat对于这些技术也是兼容的,因此它成为了我对服务器选择的首选。
在本系统中我们选用稳定版本Tomcat6.0进行开发
(3)JAVA/JDBC语言编程
JAVA语言是一种面向对象、易移植、多线程控制的语言,可经过JDBC去连接数据库。用JAVA/JDBC编写的软件可移植性强,适用于多种操作系统,但其执行效率和执行速度还不理想,当前无法建立高效、高速的应用。
(4)动态服务器页面ASP
ASP是微软公司最新推出的WEB应用开发技术,着重于处理动态网页和WEB数据库的开发,编程灵活、简洁,具有较高的性能,是当前访问WEB数据库的最佳选择。
(5)MyEclipse
是当前最流行的Java集成开发工具。MyEclipse一经出现就以其快速、丰富的特性赢得了认可,其主要的属性有快速的性能、重构性能、快速修复错误、调整组织导入包、弹出窗口进行代码自动装配而且它能够很好地与MySQL、Tomcat进行集成。
2.系统测试环境
a 被测试软件系统的名称
新闻发布系统
b 系统任务提出者
陈涛老师
c 系统开发者
计科实验班刘伟
d 测试环境:
JDK1.7 Tomcat7 MyEclipse10 MySQL5.5
2 系统需求分析
2.1 功能需求分析
(1)新闻浏览
1)新闻分类
按新闻类别分类显示新闻标题链接。新闻类别分类包括一级标题和二级标题两层,例如一级标题有”国际”,“国内”等,每个一级标题下面又分二级标题。用户可根据一级标题或者二级标题查看相应的新闻。
2)新闻排行
新闻点击排行:用户浏览新闻后点击量会增加,根据升序进行排行然后显示在首页上。用户可自行选择后查看相应的新闻上。
即时新闻排行:根据管理员发布的新闻的时间进行排行,将最新发布的新闻放在首页上,用户可自行选择后查看相应的新闻上。
3)新闻检索
可根据新闻标题,关键字进行模糊检索到相应的新闻。
4)新闻显示
点击任意页面的新闻标题后均可进入该条新闻的详细内容页面,该页面应包括新闻标题、作者、发布时间、点击量完整内容等信息。
(2)新闻评论
1) 未注册用户或未登录用户只能查看新闻评论。
2) 注册/登录
普通用户只能够浏览新闻及相应评论,如果用户相对相应的新闻进行评论,用户选择注册后用户登录成功可对任一新闻发表评论并可查看评论。
(3)新闻发布和管理
1)管理员发布新闻
后台管理员可经过发布页面编辑新闻的标题,图片和内容,保存新闻后,新闻将显示在新闻标题栏中。
2)管理员管理新闻
后台管理员可对发布的新闻进行操作,对不满意的新闻进行删除或者编辑。
(4)新闻标题操作
1) 一级标题操作
管理员能够针对用户的要求对一级标题进行操作,添加一级标题栏或者修改删除一级标题。
2) 二级标题操作
管理员能够针对用户的要求对二级标题进行操作,添加二级标题栏或者修改删除二级标题。
(5)人员管理
1) 前台用户管理
管理员能够查看所有注册用户,然后对注册用户能够进行删除,也能够添加用户,但不可修改用户信息。
2)后台用户管理
后台超级管理员可管理所有管理员,查看所有管理员信息修改管理员信息,添加或者删除管理员。
(6)新闻评论管理
后台管理员可查看到所有的评论,对不合格的评论进行禁言或者删除。
经过对系统的分析,顶层数据流图如图2-1所示,系统数据流图如2-2所示
图2-1 顶层数据流图
图2-2 系统数据流图
3 系统设计与实现
3.1 模块划分
设计一个备忘录管理系统,具体分为四大模块,如下:
(1)用户管理模块:实现新增用户,查看和修改用户信息功能;
(2)管理员管理模块:实现新增管理员,查看、修改和删除管理员信息功能;
(3)权限管理模块:实现对管理员、对管理的模块和管理的评论赋权功能;
(4)新闻管理模块:实现有相关权限的管理员对新闻的增加、查看、修改和删除功能;
(5)评论管理模块:实现有相关权限的管理员对评论的审核和删除功能;
3.2 系统功能模块图
系统结构图是用树形结构的一系列多层次的矩形框来描绘系统的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表各个模块的子集,最底层的各个框代表组成这个系统的独立功能模块。
本系统的总体结构图如图3-1所示:
网站新闻发布与管理系统
用户管理
管理员管理
权限管理
新闻管理
评论管理
注册新用户
查看用户信息
修改用户信息
注册新管理员
管理管理员信息
管理新闻信息
新增新闻信息
审核评论
删除评论
评论赋权
栏目赋权
管理员赋权
图3-1 系统功能模块图
新闻类别管理主要管理新闻的分类,新闻发布具体实现了该系统的主要功能,新闻的发布管理,删除等操作。新闻发布过程中有时候需要用到图片,在新闻管理模块中的添加新闻里面会有图片的上传功能,这样丰富了新闻的多样性,不止是单一的文字说明了,同时有图片显示。当用户登陆了系统能够经过查询新闻来查找自己想要找到的新闻内容。网友还能够对看的新闻进行评论,在此特地做了一个评论模块管理。系统用户管理则主要是对用户的管理,主要进行添加,修改,删除用户等。新闻发布管理系统里有这样几个部分:如果是普通用户只有新闻浏览、新闻阅读、填写评论和新闻查询的权限,经过用户的登陆判断出用户的权限,然后分配给你所拥有的功能;如果是管理员就除了上述权限外还有新闻管理权限,分别为新闻录入、新闻修改和新闻删除的权限。
新闻类别管理经过后台系统管理,提供各种数据,以实现新闻类别的添加以及修改和删除。本系统是使用数据库服务器支持后台的正常流畅的运行,在数据库的管理下进行新闻类别的管理。前台系统就能够经过查阅新闻看到修改过后的新闻类别。在新闻浏览中有个重要的当前很流行的模块,就是网友评论,浏览新闻的同时能够对新闻做出评论,如果是没有登陆的情况则显示匿名留言。这样就组成了新闻发布及管理系统的功能模块关系如图3-2所示:数据库介于前台后台之间,经过数据库跟新数据,以实现前台和后台数据保持一致。
前台系统
后台系统
新闻类别管理
数据库
基本信息发布
新闻信息修改
新闻查询管理
发表网友评论
图3-2 新闻发布及功能
在本系统中,用户管理模块的功能比较简单。在系统初始化时,有一个默认的“系统管理员”用户Admin。Admin用户能够创立用户、修改和删除用户;普通用户则只能修改自己的用户名和密码。所示:admin 经过登陆系统进行用户密码的修改,还能够创立新的用户。这里的管理员的权限设置比较齐全。如果是普通用户登陆的,只能修改自己的一些基本信息,包括自己的密码,个人信息。当所有的东西修改完成之后就能够保存到数据库里面,这信息就得到了修改。服务器里面得到了更新。
在admin 和普通用户登陆过程中都有登陆的信息确认过程,确认密码是否与原服务器上的一致,只有一致的时候才能登陆成功。否则失败。当修改信息的时候也会有这样的确认过程,确保信息的正确性有效性。这里是经过连接access数据库,用户的所有信息都存放在数据库的用户表里面,更新的信息也经过点击实现与数据库的交互,直接修改数据库里面相关表的内容。这里的管理员跟普通用户的实现原理基本上是一样的。都是经过连接数据库进行修改。数据库占了很重要的地位。大部分关键内容都保存在数据库里面。方便修改和维护。
系统用户信息管理
修改Admin用户密码码
创立、修改、删除普通用户信息
修改自身信息
普通用户
Admin
用户
图3-3 用户管理功能模块
4 数据库结构设计与实现
4.1 数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据设计的优劣将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计能够提高数据存取效率,保证数据完整性和一致性,从而有利于程序的实现。
设计数据库系统时应该首先充分了解系统需求的各个方面的需求,包括现有的和将来可能增加的需求。
4.2数据库需求分析
需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库结构能充分满足各种信息的输出和输入。经过收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据词典,为后面的具体设计打下基础。
在仔细分析和调查系统的基础上,针对新闻管理发布系统的需求,经过对管理新闻发布过程的内容和数据分析,设计如下所示的数据项和数据结构:
新闻信息:包括的数据项有新闻编号、新闻标题、新闻内容、新闻发布者的编号、新闻发布时间、新闻类别编号、是否有图片。
新闻评论信息:包括的数据项有新闻评论编号、评论者名称、评论时间、新闻评论内容、新闻编号。
新闻类别信息:包括的数据项有新闻类别编号、新闻类别。
用户信息:包括的数据项有用户编号、用户名、用户密码、用户的真实姓名、用户电子信箱地址、用户权限标志。
其E-R图如图4-1所示:
图4-1 用户管理功能模块
4.3 数据库创立
表4-2 后台管理员表
t_admin(后台管理员表)
字段名
类型
说明
adminId
Int
(Primary key)管理员ID
name
varchar(30)
管理员名
password
varchar(30)
管理员密码
type
Int
权限级别
以上为数据库中后台管理员的表,当登录时在表中取出相关记录就能够进行登录了,其中权限级别以级别码的形式进行划分,将管理员划分为四个级别,级别越高,权利更大,最高权限能够管理其它管理员。
在前台用户表(t_user)中,有六个字段,详情如表4-2。
表4-3 前台用户表
t_user(前台用户表)
字段名
类型
说明
userId
Int
(Primary key)用户ID
username
varchar(30)
用户名
password
varchar(30)
用户密码
email
varchar(30)
用户注册邮箱
phone
varchar(30)
联系方式
address
varchar(30)
家庭住址
在新闻表(t_news)中,有八个字段,详情见表4-3。
表4-4 新闻表
t_news(新闻表)
字段名
类型
说明
newsId
Int
(Primary key)新闻ID
sectypeId
Int
(外键)新闻类型(二级)
newsTitle
varchar(300)
新闻标题
newsContent
text
新闻内容
newsDate
varchar(30)
新闻发布时间
adminId
varchar(30)
新闻发布者
newsPicpath
varchar(30)
新闻图片路径
newsKeyword
varchar(30)
新闻关键字
在二级模块表(t_sectype)中有三个字段,详情见表4-4。
表4-5 二级模块表
t_sectype(模块表二级)
字段名
类型
说明
sectypeId
Int
(Primary key)类型ID
typeName
varchar(30)
二级标题名
firtypeId
int
一级标题(外键)
在一级模块表(t_fietype)中有两个字段,详情见表4-5。
表4-6 一级模块表
t_firtype(模块表一级)
字段名
类型
说明
firtypeId
Int
(Primary key)类型ID
firtypeName
varchar(30)
一级标题名
在评论回复表(t_reply)中有六个字段,详情见表4-6
表4-7 评论回复表
t_reply(评论回复表)
字段名
类型
说明
replyID
Int
(Primary key)回复ID
replyContent
text
回复内容
replyDate
varchar(30)
回复时间
replyType
bool
回复是否匿名(用0或1表示)
userId
Int
(外键)用户ID
newsID
Int
(外键)新闻编号
5 功能测试
5.1 登录注册测试
新闻发布系统有两种用户:会员用户(包含游客)和管理员,分别有不同的权限,但都是从同一界面登陆,此系统首页采用DIV+CSS框架,使得页面看起来美观舒适。能自动获取系统当前时间,展示新闻列表内容和广告等信息。
用户只要在浏览器地址栏输入改项目的地址,即可访问该系统的相关信息;需要说明的是:因为该系统并未真正发布成正规的网站,只是将项目部署到了Tomcat服务器上面;
图5-1 登录界面
图5-2 注册界面
本系统是一套实时,多类型管理的新闻发布系统,管理为超级管理员,她能够对系统的所有管理信息进行管理: 管理员登录界面如5-3所示:
图5-3 后台登陆界面
5.2 后台管理测试
成功登录后,进入新闻发布系统后台管理页面,可添加管理员如图5-3所示:
图5-4 添加管理员界面
成功添加管理员后,可查看每个管理员的信息和用户的信息如图5-5与5-6所示:
图5-5 管理员信息界面
图5-6 用户信息界面
管理员可对新闻进行添加与删除操作如图5-7所示:
图5-7 管理员对新闻操作界面
5.3 前台用户操作测试
首页由一级标题,二级标题组成,并提供最新新闻和热点新闻,如图5-8所示:
图5-8 首页界面
当用户浏览新闻时页面会显示标题,发布时间,作者以及点击量等相关信息,如图5-9所示:
图5-9 新闻浏览界面
当用户浏览完新闻后可对新闻进行评论,评论随即会显示在新闻下方如图5-10所示:
图5-10 新闻浏览界面
总结
经过了一个多月的学习,完成对网站新闻发布系统的分析和数据库的实现。在此过程中,我们重点分析系统并设计数据库。根据对网站新闻发布系统地了解,初步分析系统需求,在需求分析基础上,对网站新闻发布系统进行总体设计。经过画E-R图,完成对数据库的概念结构设计;将E-R图转化为关系模式,完成数据库的逻辑结构设计;将关系模式转化为数据库中的表,完成数据库的物理结构设计。并利用SQL语句完成数据库中对象的创立、插入数据记录、查询记录、创立数据存储等。
新闻发布与管理系统的设计过程,是对软件工程与数据库课程相关内容的温习。整个完成过程严格按照软件开发流程与数据库设计步骤进行,为后期的系统实现打下了坚实的基础。由于我们缺乏对项目的开发经验,我们走了许多的弯路,不过在指导老师的辅导下,我们还是克服了重重困难,在预定的时间内完成了老师所分配的任务。我们虽然遇到了很多的困难,可是只有自己真正的在实践中得到的才是你所需要的。本次数据库课程设计我们都收获很大!
参考文献
[1] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,
[2] 林小玲.数据库原理及应用[M]. 北京:机械工业出版社,
[3] 苗雪兰,刘瑞新,宋会群.数据库系统原理及应用教程(第2版)[M].北京:机械工业出版社,
[4] 向阳.信息系统分析与设计(第1版)[M].北京:清华大学出版社,
[5] 卫红春.信息系统分析与设计[M].西安:西安电子科技大学出版社,
[6] 郑炜.朱怡安.软件工程[M].西安:西北工业大学出版社,
Java Web开发技术课程设计
成绩评定
成绩评定: (百分制)
指导教师签字:
检查时间:
年 月 日
展开阅读全文