本科毕业设计新闻发布管理系统.docx
《本科毕业设计新闻发布管理系统.docx》由会员分享,可在线阅读,更多相关《本科毕业设计新闻发布管理系统.docx(59页珍藏版)》请在冰点文库上搜索。
本科毕业设计新闻发布管理系统
新闻发布管理系统
摘要
随着互联网的普及和迅速发展,人们对获取外界信息的实时性要求也有所提高。
而媒体作为新闻消息的提供者,其报道模式对人类生活质量有着重要影响。
针对新闻发布管理这一环节,传统的报纸杂志电视已经不能跟上生活节奏越来越快的步伐,开发高效实用的新闻发布管理系统是有必要的。
该毕业设计采用ASP.NET的三层架构模型,基于Browser/Server结构,在VisualStudio开发工具下,把C#作为开发语言,SQLServer作为数据库,按照软件工程的方法开发新闻发布管理系统。
系统主要分为前台功能模块和后台管理模块,其中前台功能模块主要包括用户注册模块、用户登录模块、新闻浏览模块、新闻评论模块、个人信息管理模块;后台管理模块包括类别管理模块、新闻管理模块、评论管理模块、用户管理模块。
该系统与传统纸质新闻媒体相比,将广大浏览者、新闻消息、新闻记者和新闻发行者紧密联系在一起,有效缩短了新闻的发布时间,大大提高了工作效率。
经过系统测试,达到了预期目标。
关键字:
新闻发布系统;ASP.NET;三层架构;数据库;
NewsIssuingAndManagementSystem
ABSTRACT
WiththepopularityandrapiddevelopmentoftheInternet,peopleneedtoobtainthereal-timeinformationoftheoutsideworld.Andthemediaasanewsprovider,itsreportwayhasasignificantimpactonthequalityofhumanlife.FortheaspectofNewsissuing,thetraditionalnewspapers,magazinesandtelevisionhasbeenunabletokeepupwiththepaceoflife,itisnecessarytodevelopanefficientandpracticalmanagementsystem.ThisgraduationprojectbasedonBrowser/Serverstructureadopts3-TierArchitectureofASP.NET,usesVisualStudioasthedevelopmenttools,thedevelopmentlanguageismadebyusingC#,thedatabaseisbuiltbySQLServer,andthedevelopmentofsystemiscompletelyaccordingtothemethodofthesoftwareengineering.Thissystemisdividedintothebackgroundmanagementmoduleandfrontfunctionmodule.functionmoduleofthefrontdeskincludesuserregistrationmodule,theuserloginmodule,newsbrowsingmodule,newscommentarymodule,personalinformationmanagementmodule;Backgroundmanagementmoduleincludescategorymanagementmodule,newsmanagementmodule,commentmanagementmodule,usermanagementmodule.Comparedwiththetraditionalpapermedia,thesystembindsreaders,news,journalistsandchiefeditortogether,effectivelyshortensthereleasetime,greatlyimprovestheworkefficiency.Afterthesystemtest,theanticipatedgoalisachieved.
Keywords:
Newsissuingsystem;ASP.NET;3-Tierarchitecture;Database
1 引言
1.1 课题的背景
ENIAC的诞生使得信息不再被单调地记录在纸质传统媒介上;ARPANET的出现让人类看到了计算机间信息共享的希望;而Web技术的发展,让人们可以方便快捷地在桌面上完成信息交互。
近年来,计算机参与到了人类衣食住行的各个方面,也改善了人们的生活品质。
在获取外界信息方面,传统的报纸杂志等渠道已经远远不够,尤其是生活节奏越来越快、信息量越来越大、新闻内容形形色色,传统的新闻发布和管理工作日趋繁重复杂。
因此基于Web技术的新闻发布管理系统应运而生。
1.2 国内外研究现状及发展趋势
1.2.1 国内外研究现状
西方发达国家步入互联网时代的时间较早,国外的新媒体已经由功能单一向初具规模发展,其掌握的相关技术也比较成熟。
中国在这方面发展较晚,经历了不断的摸索和实践,目前国内的网络硬件设施基本上已经覆盖了大部分地区,国内的发展重点在于学习先进的互联网技术,使新媒体更好地为人们服务。
在国外,新媒体技术经历了十几年甚至更多年的发展,他们的核心功能基本上已经能够适应社会的飞速发展和人们更高的要求。
另外,他们会把客户的实际需求作为最基本的考虑因素,尽量实现易操作高集成化的系统,从新闻的采集工作开始,新闻的提交,审核,修改,发布等各个环节都实现无缝对接。
网络新闻会涉及到多领域的实时动态,也可以完成和用户的交互,还可以将传统媒体的文字转化为声音、图像、视频,使用户一目了然。
美国的BuzzFeed通过网络从大量新闻博客中搜集新闻,为用户提供最新热门事件;美国有线电视新闻网CableNewsNetwork全天候无休息直播新闻报道,CNN的用户还可以通过评论或电子邮件进行投稿,经编辑审核通过的稿件可在新闻网呈现;英国最大的新闻广播公司BBC的新闻服务BBCNews会在各新闻版块显示出最受欢迎领域的最新消息;澳大利亚ABC新闻网站也会特别注重为公众提供最新的实时新闻资讯。
在国内,过去的时候,大部分网站采用静态HTML页面,管理人员必须手动制作新的网页,上传新的网页之后还需要修改链接;对于用户来说,管理人员发布新的网页时,用户无法访问网站。
随着中国经济实力和科技实力的增强,新闻发布管理系统的技术也在不断进步,现在的技术已经可以解决静态网页的问题了。
中国的新华网、人民网、网易新闻、搜狐新闻、央视网、中国网、中国青年网、北青网、中国日报网、光明网、腾讯新闻、凤凰资讯、新浪新闻等也都是比较成熟的新闻发布管理网站。
1.2.2 发展趋势
网络以势不可挡的姿势成为了一种新型媒介,计算机的使用已经非常普及,过去人们看报纸、听收音机、看电视的时间已经大量转移到了互联网上,网络新闻的实时性、互动性、多元化使得新闻发布管理系统成为人们生活学习中不可缺少的工具。
新闻发布管理系统使得新闻工作的各个环节都得到了极大的便利,新闻的采集通过系统上传,使不同地区的记者都得到了极大地便利;主编可以通过新闻发布管理系统进行新闻的审核和发布,大大加快了新闻更新的速度,保证了新闻的时效性;而普通用户更是可以随时随地了解最新资讯。
新闻发布管理系统的使用和普及已经成为趋势。
1.3 系统设计目标
新闻发布管理系统的主要目标是管理新闻的投稿、审核、发布。
使得在不同地区采集新闻的编辑都可以通过这个系统上传稿件;主编可以审核稿件,审核通过的可以发布到网站前台显示;该系统也要满足普通用户的浏览、搜索、评论等功能。
除了这些基本功能外,新闻发布管理系统还应该界面简洁,操作简单。
1.4 论文构成及研究内容
本论文将按照软件工程的方法,首先做需求分析,然后是概要设计,设计出整个系统的功能模块和数据流图,最后是详细的页面设计和编码。
详细来说,第一章对新闻发布管理系统进行了简要的介绍;第二章对新闻发布管理系统进行整体分析;第三章对系统做出总体设计;第四章对新闻发布系统做详细设计;第五章是开发工具介绍;第六章是系统实现。
2 系统分析
2.1 可行性研究
可行性研究是整个项目规划中的第一步,我们需要综合考虑系统实施过程中可能遇到的各种问题,确定系统是否有实施的必要。
本系统是在对凤凰网、中国新闻网、网易新闻等较成熟的新闻门户网站进行调研和体验之后进行设计的,因此具有较大的针对性。
下面将就系统的技术可行性、经济可行性、操作可能性和法律可行性进行具体分析。
2.1.1 技术可行性
技术可行性是对现有Web技术和硬件条件进行分析,确定在技术层面上能否实现本系统。
本系统的硬件条件要求不高,现有计算机的硬件标准基本都能满足系统开发和运行。
在软件层面上,本课题拟在Windows8系统下使用微软公司的VisualStudio2012开发平台和SQLServer2012,按照软件工程的方法开发整个系统。
Browser/Server结构可以完成用户在浏览器中的阅读;SQLServer的图形化界面和SQL语句的结合使用令数据操作变得更加便利;C#语言可以使程序员快速高效地编写应用程序;ASP.NET技术将脚本语言和高级程序设计语言以及数据库结合,使得新闻可通过Web程序动态管理。
因而具有技术可行性。
2.1.2 经济可行性
对系统从开发者的经济状况和用户的使用费用进行分析。
本系统使用的VisualStudio、SQLServer都可以从网上免费下载,而计算机是已经具备的装置,开发者不需要在系统开发上花费相关费用。
对于使用者来说,本课题在服务器端采用.NET4.0框架平台,在客户端测试IE、GoogleChrome、火狐浏览器等页面CSS兼容性,这样使得系统的兼容性和版本更新以及系统维护变得更加简便,为使用者减少了相关费用。
从经济角度讲可行性较高。
2.1.3 操作可行性
本新闻发布管理系统采用B/S模式,无需另外安装别的软件,使用者很容易掌握并熟练使用。
系统实施成功以后也会大大减少管理新闻的时间,容易得到推广使用,因此具有操作可行性。
2.1.4 法律可行性
本系统作为本科生毕业设计,不用于商业目的,不侵犯专利也不会妨碍他人,所使用的开发软件也都是免费版本的,符合国家法律规定,具有法律可行性。
通过以上四方面的可行性分析,我们可以确定新闻发布管理系统是可行的。
2.2 需求分析
接下来将从系统用户需求、系统业务流程分析、系统功能需求和数据流分析几方面进行需求分析。
2.2.1系统用户需求
本系统的用户总共有四类,分别是主编、编辑、后台管理员和普通用户,不同用户有不同的权限。
主编需要通过登录进入后台管理界面,实现对新闻的管理和发布,未经审核和审核不通过的都不可以显示在前台界面;编辑可以在世界各地采集新闻并通过本系统上传新闻稿件,但是上传的新闻需要通过主编的审核后才能在前台界面显示;后台管理员可以实现类别管理、新闻管理、评论管理和用户管理;普通用户可以在前台界面浏览和评论新闻。
对系统用户进行分类之后,就可以分别对各类用户进行需求分析。
这样可以保证系统的需求分析更加完善,有利于之后的系统设计。
2.2.2 系统业务流程分析
对系统用户进行分类之后,可通过系统业务流程分析对需求分析进一步细化,将前台功能模块和后台管理模块的工作流程描述出来,从而使用户和开发者之间更好的沟通,而系统业务流程图就是一个很好的交流工具。
新闻发布管理系统的总业务流程如图2-1所示:
图2-1 新闻发布管理系统的总业务流程图
普通用户登录成功后的业务流程如图2-2所示:
图2-2 普通用户业务流程图
后台管理界面的业务流程如图2-3所示:
图2-3 后台用户业务流程图
2.2.3 系统功能需求
新闻发布管理系统分为前台功能模块和后台管理模块,主要实现以下功能:
●前台功能模块
(1)新闻主页:
新闻主页提供用户注册和用户登录的入口;提供搜索框来搜索新闻,会显示最新新闻和最热新闻,还会显示新闻类别,各个模块界线划分清楚,清晰易读。
(2)用户注册:
系统用户通过填写用户名、密码和电子邮箱等基本信息来实现用户的注册。
(3)用户登录:
系统用户有主编、编辑、后台管理员和普通用户。
前台和后台用户在不同的界面输入用户名和密码后,后台业务逻辑会判断用户权限,根据不同的权限来初始化登录成功后的界面。
(4)个人信息管理:
登录后的用户可以修改个人基本信息和密码。
(5)用户搜索:
提供用户通过新闻标题和内容关键字搜索新闻的功能,搜索到的所有新闻会以列表形式展现,用户可以点击查看。
(6)新闻阅读:
新闻阅读模块主要负责新闻的格式,包括新闻类别,新闻标题,新闻作者,新闻发布日期,新闻内容,新闻评论等,这些都会按照一定的模板呈现给用户。
(7)新闻分类:
用户可以查看自己感兴趣的领域的新闻,例如国际新闻、财经新闻、房产新闻等。
各类新闻分页显示,用户可以通过翻页浏览更多新闻。
(8)用户评论:
用户可以发表新闻评论,也可以重置评论,用户的评论也可以被其他用户看到。
●后台管理模块
(1)类别管理:
管理新闻类别,可以对新闻类别进行添加、修改和删除操作。
(2)新闻管理:
对新闻的基本信息进行管理,包括新闻的标题、新闻内容、新闻评论、等信息,可以对新闻进行删除、添加和修改操作。
主编要对新闻进行审核,未经审核和审核不通过的新闻不可以显示在前台界面。
(3)用户管理:
后台管理员拥有系统的最高权限,可以对系统用户进行管理。
(4)评论管理:
管理新闻评论,可以对新闻评论进行删除操作。
2.2.4 数据流分析
根据系统用户需求和功能需求,得知新闻发布管理系统的总体数据流图如下
图2-4 新闻发布管理系统数据流图
用户登录数据流图如下
图2-5 用户登录数据流图
主编登录成功后数据流图如下
图2-6 主编数据流图
编辑登录成功后的数据流图如下
图2-7 编辑数据流图
普通用户登录成功后的数据流图如下
图2-8 普通用户数据流图
后台管理员登录成功后的数据流图如下
图2-9 后台管理员数据流图
3 系统总体设计
3.1 总体设计的原理
总体设计原理包括:
(1)模块化。
模块化就是把整个程序划分为多个模块,每个模块有自己的名字并可以被独立访问。
所有模块的功能集合起来就可以满足用户需求。
(2)抽象。
抽象是暂时忽略软件的细节,集中精力将软件的本质特征提取出来。
(3)逐步求精。
总体设计需要先解决主要问题,再将问题一步步细化。
(4)信息隐藏和局部化。
设计和确定模块时,使得一个模块内包含的信息对于不需要这些信息的模块来说,是不能访问的;并且应该在相近的物理地址上放置关系较密切的软件元素。
(5)模块独立。
模块之间应该遵循高内聚,低耦合的原则。
3.2 系统的功能层次结构图
图3-1 新闻发布管理系统的功能结构层次图
前台功能模块:
可以在前台Web浏览器中查看这些功能。
用户注册模块:
将用户信息记录到用户表
用户登录模块:
用来区分三种用户,普通用户、编辑和主编。
个人信息管理:
用户登录后可以修改用户表中的个人信息
新闻主页模块:
在类别表和新闻表中读取新闻信息并按照一定模板显示在首页。
新闻搜索模块:
将新闻表中所有新闻的标题或内容关键字与搜索框中输入的字段进行比对,找到所有包含输入字段的新闻纪录;再根据该新闻记录中的新闻类别ID,在类别表中找到类别名称;从而将新闻的所属类别,新闻标题和发布时间展示给普通用户。
新闻阅读模块:
系统根据新闻ID从新闻表中取出新闻的主体内容。
分类阅读模块:
系统根据类别ID在新闻表中取出该类别下的所有新闻。
新闻评论模块:
将想要评论的新闻的ID号和评论的内容以及评论人的信息和评论时间记录到评论表中。
也可以根据想要查看的新闻的ID号,在评论表中调出所有他人评论。
后台管理模块:
针对编辑、主编和后台管理员
添加类别:
将类别信息添加到类别表,此类别可被选择。
修改类别:
根据类别ID,将类别表中相应的类别信息进行更新。
删除类别:
根据该类别ID找到新闻表中该类别下的所有新闻,并通过新闻ID从评论表中找到所有相关评论,先删除所有评论再删除新闻,最后删除类别本身。
添加新闻:
将新闻的类别ID和新闻标题以及新闻内容等记录到到新闻表中,经主编审核通过后,此新闻可以被浏览者查看。
修改新闻:
根据新闻ID,在新闻表中找出相应记录并进行更新。
删除新闻:
根据该新闻ID从评论表中找到所有相关评论,先删除所有评论再将新闻本身从新闻表中进行删除。
审核新闻:
将主编ID、新闻ID、审阅时间等记录到审阅表,经主编审核通过后的新闻才可以在前台界面显示。
删除评论:
将该评论记录从评论表中移除。
删除用户:
将该用户从用户表中移除。
3.3 数据库设计
在系统的开发过程中,数据库的设计是非常关键的一步。
良好的数据结构设计不仅可以减少数据冗余、提高查询效率,而且还可以降低应用程序的编写难度,提高工作效率。
3.3.1 实体E-R图
本系统在数据库中存放了七个表,分别是主编表(chiefEditor)、用户表(user)、类别表(category)、新闻表(news)、审阅表(review)、评论表(comment)、权限表(rights)。
新闻发布管理系统的主要实体间关系E-R图如图3-2所示:
图3-2 新闻发布管理系统主要实体间关系E-R图
用户实体E-R图如下:
图3-3 用户实体E-R图
类别实体E-R图如下:
图3-4 类别实体E-R图
新闻实体E-R图如下:
图3-5 新闻实体E-R图
审阅的E-R图如下:
图3-6 审阅E-R图
评论实体E-R图如下:
图3-7 评论实体E-R图
权限实体E-R图如下:
图3-8 权限实体E-R图
3.3.2 数据库的逻辑结构
根据以上E-R图可以得到如下关系模式:
●user(id,userName,password,E-mail,rightId)
用户表(用户id号,用户名,密码,电子邮箱,所属权限)
●category(id,caName)
类别表(类别id号,类别名称)
●news(id,title,content,createTime,caId,updateTime,author,imagePath)
新闻表(新闻id号,新闻标题,新闻内容,发布时间,所属类别,修改时间,新闻作者,图片路径)
●review(id,cfeditorId,newsId,reviewTime)
审阅表(审阅id号,主编id号,新闻id号,审阅时间)
●comment(id,content,createTime,commentator,newsId)
评论表(评论id号,评论内容,发表时间,评论人姓名,所属新闻)
●rights(id,rightName)
权限表(权限id号,权限名称)
综上,本系统在数据库中存放的表如表3-1所示:
表3-1 数据库中的表介绍
数据库表名
说明
user
存放用户信息
category
存放新闻类别信息
news
存放新闻信息
review
存放新闻审核信息
comment
存放新闻评论
rights
存放权限信息
4 详细设计
4.1 数据库的实现
本节在SQLServer2012中利用SQL语句和图形界面相结合的方法建立各个表并设置其主外键联系,并在项目中对数据库的连接进行详细设计。
4.1.1 数据库的建立
首先,将用户表、类别表、新闻表、审阅表、评论表和权限表的基本元素建立起来,如图4-1、图4-2、图4-3、图4-4、图4-5、图4-6:
用户表:
图4-1 用户表
类别表:
图4-2 类别表
新闻表:
图4-3 新闻表
审阅表:
图4-4 审阅表
评论表:
图4-5 新闻评论表
权限表:
图4-6 权限表
接下来,将评论时间、新闻发布时间、新闻修改时间和审核时间的默认值设置为getdate(),如图4-7:
图4-7 时间的默认值设置图
最后,通过数据库关系图来设置用户表、新闻表和评论表的外键,如图4-8、图4-9、图4-10、图4-11、图4-12、图4-13、图4-14:
图4-8 新闻发布管理系统数据库关系图
图4-9 用户表外键设置图
图4-10 新闻表外键设置图
图4-11 审阅表外键设置图
(1)
图4-12 审阅表外键设置图
(2)
图4-13 评论表外键设置图
(1)
图4-14 评论表外键设置图
(2)
4.1.2 数据库的连接
如果将数据库的连接字符串写在cs文件中,当数据库的用户名或密码发生改变时,项目需要重新生成,这样会耗费大量资源。
比较好的解决方法是将其写在Web.config中。
Web.config中数据库连接字符串如下:
另外需要建立一个数据库助手类来执行基本的数据库增删改查工作,在cs文件建立数据库连接的主要代码是:
stringconnStr=ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
SqlConnectionconn=newSqlConnection(connStr);
每次执行数据库的基本操作时询问数据库的连接状态,若处于关闭状态则连接数据库:
conn.Open();执行完数据库的基本增删改查工作后需要断开连接:
conn.Close()。
4.2 系统设计流程
以下将分别介绍各个模块的设计流程。
(1)用户注册模块
图4-15 用户注册流程
(2)用户登录模块
图4-16 用户登录流程图
(3)新闻主页模块
图4-17 新闻主页模块流程图
(4)新闻搜索模块
图4-18 新闻搜索流程
(5)新闻阅读模块
图4-19 新闻阅读流程
(6)分类阅读模块
图4-20 分类阅读流程
(7)新闻评论模块
图4-21 新闻评论流程
(8)类别管理模块
图4-22 类别管理流程
(9)新闻管理模块
图4-23 新闻管理流程
5 开发工具及相关技术介绍
5.1 开发工具介绍
开发工具介绍主要介绍使用到的软件,包括VisualStudio、SQLServer和IIS服务器。
5.1.1 VisualStudio介绍
VisioStudio是一个可视化编译环