新闻发布管理系统 - 毕业论文

更新时间:2024-06-04 09:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

河北大学2016届本科生毕业论文(设计)

新闻发布管理系统

摘 要

随着互联网的普及和迅速发展,人们对获取外界信息的实时性要求也有所提高。而媒体作为新闻消息的提供者,其报道模式对人类生活质量有着重要影响。针对新闻发布管理这一环节,传统的报纸杂志电视已经不能跟上生活节奏越来越快的步伐,开发高效实用的新闻发布管理系统是有必要的。该毕业设计采用ASP.NET的三层架构模型,基于Browser/Server结构,在Visual Studio开发工具下,把C#作为开发语言,SQL Server作为数据库,按照软件工程的方法开发新闻发布管理系统。系统主要分为前台功能模块和后台管理模块,其中前台功能模块主要包括用户注册模块、用户登录模块、新闻浏览模块、新闻评论模块、个人信息管理模块;后台管理模块包括类别管理模块、新闻管理模块、评论管理模块、用户管理模块。该系统与传统纸质新闻媒体相比,将广大浏览者、新闻消息、新闻记者和新闻发行者紧密联系在一起,有效缩短了新闻的发布时间,大大提高了工作效率。经过系统测试,达到了预期目标。

关键字:新闻发布系统;ASP.NET;三层架构;数据库;

河北大学2016届本科生毕业论文(设计)

News Issuing And Management System

ABSTRACT

With the popularity and rapid development of the Internet, people need to obtain the real-time information of the outside world. And the media as a news provider , its report way has a significant impact on the quality of human life. For the aspect of News issuing , the traditional newspapers ,magazines and television has been unable to keep up with the pace of life,it is necessary to develop an efficient and practical management system.This graduation project based on Browser/Server structure adopts 3-Tier Architecture of ASP.NET,uses Visual Studio as the development tools, the development language is made by using C#, the data base is built by SQL Server,and the development of system is completely according to the method of the software engineering.This system is divided into the background management module and front function module.function module of the front desk includes user registration module, the user login module, news browsing module, news commentary module, personal information management module;Background management module includes category management module, news management module, comment management module, user management module.Compared with the traditional paper media,the system binds readers,news, journalists and chief editor together,effectively shortens the release time,greatly improves the work efficiency.After the system test, the anticipated goal is achieved.

Key words: News issuing system;ASP.NET;3-Tier architecture;Database

河北大学2016届本科生毕业论文(设计)

目 录

1 引言 ................................................... 1 1.1 课题的背景 ................................................ 1 1.2 国内外研究现状及发展趋势 .................................. 1 1.2.1 国内外研究现状 .......................................... 1 1.2.2 发展趋势 ................................................ 1 1.3 系统设计目标 .............................................. 2 1.4 论文构成及研究内容 ........................................ 2

2 系统分析 ............................................... 3

2.1 可行性研究 ................................................ 3 2.1.1 技术可行性 .............................................. 3 2.1.2 经济可行性 .............................................. 3 2.1.3 操作可行性 .............................................. 3 2.1.4 法律可行性 .............................................. 3 2.2 需求分析 .................................................. 3 2.2.1 系统用户需求 ............................................ 4 2.2.2 系统业务流程分析 ........................................ 4 2.2.3 系统功能需求 ............................................ 5 2.2.4 数据流分析 .............................................. 6

3 系统总体设计 ........................................... 9

3.1 总体设计的原理 ............................................ 9

河北大学2016届本科生毕业论文(设计)

3.2 系统的功能层次结构图 ...................................... 9 3.3 数据库设计 ............................................... 10 3.3.1 实体E-R图 ............................................. 10 3.3.2 数据库的逻辑结构 ....................................... 13

4 详细设计 .............................................. 14

4.1 数据库的实现 ............................................. 14 4.1.1 数据库的建立 ........................................... 14 4.1.2 数据库的连接 ........................................... 17 4.2 系统设计流程 ............................................. 18

5 开发工具及相关技术介绍 ................................ 22

5.1 开发工具介绍 ............................................. 22 5.1.1 Visual Studio介绍 ..................................... 22 5.1.2 SQL Server介绍 ........................................ 23 5.1.3 IIS介绍 ............................................... 23 5.2 开发模式B/S介绍 ......................................... 23 5.3 开发技术介绍 ............................................. 24 5.3.1 ASP.NET介绍 ........................................... 24 5.3.2 ADO.NET介绍 ........................................... 24

6 系统实现 .............................................. 25

6.1 前台功能模块的实现 ....................................... 25 6.1.1 新闻主页模块 ........................................... 25 6.1.2 用户注册模块 ........................................... 26

河北大学2016届本科生毕业论文(设计)

6.1.3 用户登录模块 ........................................... 26 6.1.4 个人信息管理模块 ....................................... 26 6.1.5 新闻搜索模块 ........................................... 27 6.1.6 新闻阅读模块 ........................................... 28 6.1.7 分类阅读模块 ........................................... 29 6.1.8 新闻评论模块 ........................................... 30 6.2 后台管理模块的实现 ....................................... 31 6.2.1 后台登录模块 ........................................... 31 6.2.2 类别管理模块 ........................................... 33 6.2.3 新闻管理模块 ........................................... 34 6.2.4 用户管理模块 ........................................... 36 6.2.5 评论管理模块 ........................................... 37 6.3 系统出错界面 ............................................. 38

7 结论 .................................................. 39 参考文献 ................................................. 40 致谢 ..................................................... 41 附录 ..................................................... 41

河北大学2016届本科生毕业论文(设计)

用户登录成功后浏览新闻页面输入评论语发表该评论返回相关评论界面请求重置评论修改评论

图4-21 新闻评论流程

(8)类别管理模块

进入类别管理添加类别修改现有类别删除现有类别录入类别信息编辑类别信息删除类别提交类别已启用NY保存抛出业务逻辑异常退出

图4-22 类别管理流程

(9)新闻管理模块

进入新闻管理模块添加新闻修改新闻删除新闻审核新闻添加新闻信息(类别、标题、新闻内容等)N是否已通过审核Y查看新闻并决定其是否通过审核对新闻进行修改或删除等待审核查看新闻发布详情审核通过的新闻在前台显示返回新闻管理界面

图4-23 新闻管理流程

21

河北大学2016届本科生毕业论文(设计)

5 开发工具及相关技术介绍

5.1 开发工具介绍

开发工具介绍主要介绍使用到的软件,包括Visual Studio、SQL Server和IIS服务器。

5.1.1 Visual Studio介绍

Visio Studio是一个可视化编译环境,它为开发者提供了很大的便利,从编写源代码到编译链接,从调试到最终发布,可以通过预设的菜单及选项很方便的完成。

Visual Studio .NET是为建立.NET Framework应用而设置的集成开发环境(IDE),它在.NET Framework和公共语言规范CLS(Common Language SPecification)基础上可运行VB、C++、C#、Jscript、J#等多种语言。它的体系结构如下:

VBC++C#JscriptJ#Common Language SpecificationVisio Studio .NET公共语言规范基于XML和SOAPWeb FormsWindows FormsXML & SOAPWeb ServiceData&XMLBase Class LibraryCommon Language Runtime基于XML的数据存取基础类库公共语言运行库

.Net Framework图5-1 Visio Studio .NET的结构

其中CLR公共语言运行时的结构如下:

通用类型系统(CTS)基础类库(Base Class Library)支持线程支持COM Marshaler类型检查器安全引擎MSIL编译器异常管理器调试引擎代码管理器垃圾回收器

类加载器(Class Loader)图5-2 CLR的结构

22

河北大学2016届本科生毕业论文(设计)

5.1.2 SQL Server介绍

现代计算机中存储的数据呈现暴涨的趋势,这样就需要一款高效的数据库管理工具来定义数据和操纵数据,使得数据在计算机中的存储更加有秩序,降低数据的冗余度,提高数据的独立性,也让数据的操纵更加方便。SQL Server采用图形界面,使用方法一目了然。

(1)SQL Server是一款Relational Database Management System (2)SQL Server与Windows系统完美结合 (3)SQL Server对计算机的硬件条件要求不高 (4)SQL Server具有良好的可伸缩性

(5)SQL Server具有良好的灵活性,它可以适应快速变化的环境

5.1.3 IIS介绍

IIS(Internet Information Server)是微软公司推出的Web服务器,具有安全、高效、易于管理的特点,是目前主流的Web服务器之一,可支持HTML、ASP、ASP.NET等。IIS在管理与配置上继承了Windows的特点,全部是图形界面的方式,操作起来十分简单。

5.2 开发模式B/S介绍

B/S模式也就是浏览器/服务器模式,它的界面部分是在浏览器端展示,而主要工作是由服务器端进行实现的,用户的请求由浏览器端提交给服务器端进行处理,而服务器将处理结果反馈给浏览器端,在浏览器端界面描画给用户查看。采用B/S模式不仅可以避免用户必须安装专业软件才能开发系统或者访问系统的局限性,而且更加便利。另外,软件系统的更新换代速度越来越快,采用B/S模式开发的系统的升级工作主要在服务器端进行,这样不管系统的用户群是多么的庞大,都不会影响系统维护工作的工作量,降低了系统的维护成本,这也是B/S模式的一大优点。

B/S模式的结构模型如下:

Web浏览器Web服务器事务处理过程功能层数据库服务器数据处理过程数据层

输出结果表示层发送请求发送请求数据库返回结果返回结果图5-3 B/S模式及其工作过程

23

河北大学2016届本科生毕业论文(设计)

5.3 开发技术介绍

开发技术介绍主要介绍系统中使用到的关键技术,包括ASP.NET和ADO.NET。

5.3.1 ASP.NET介绍

ASP.NET是一种动态网页技术,它开发的是Web应用程序,可以和数据库以及其他程序进行交互,是一种快捷的动态服务器页面开发工具。另外,ASP.NET的代码和页面分离,大大提高了代码的可读性,这样使得功能的扩展更加容易。

本课题将采用ASP.NET的三层架构,三层架构模型如下:

表示层业务逻辑层XML WebSOAP服务组件服务数据访问层客户端浏览器Web表单ADO.NET二进制DBMS 图5-4 三层架构

表示层用来和用户交互,接受用户的请求,并且将服务器的处理结果展示给用户。 业务逻辑层位于表示层和数据访问层之间,它在两者之间传递数据,按功能需求调用数据访问层中的方法,并向客户展示数据和信息。

数据访问层使用了一个强类型的DataSet,通过ADO.NET操纵数据,不涉及具体业务,它为业务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。

5.3.2 ADO.NET介绍

数据库是ASP.NET动态网站的基石,离开了数据库,ASP.NET的魅力将大大减少,所以ASP.NET支持ADO.NET以实现对数据库的访问。通过ADO.NET能够建立起用户与数据库之间的桥梁。用户只需在网页中执行SQL指令,即可对Web服务器上的数据库进行添加、修改和删除操作。

ADO.NET的结构模型如图5-5所示:

.NET Framework数据提供程序ConnectionDataAdapter事务SelectCommandCommand参数DataSetDataTableCollection数据表DataRowCollectionDataColumnCollectionConstraintCollectionDataRelationCollectionInsertCommandUpdateCommandDeleteCommandDataAdapter数据库XML

图5-5 ADO.NET的结构

24

河北大学2016届本科生毕业论文(设计)

6 系统实现

6.1 前台功能模块的实现

本系统是用作毕业设计,IIS在本机上开启一个服务器,系统实现的功能局限在本机使用。本章将对前台功能模块的实现界面及核心代码进行阐述。

6.1.1 新闻主页模块

在浏览器的地址栏里输入http://localhost:1675/default.aspx地址,就可以跳转到新闻发布管理系统的首页,这里也是浏览者访问系统的入口,如图6-1所示。

图6-1 新闻主页模块

其中展示最新新闻的主要代码如下: public DataTable SelectNewNews() {

return sqlhelper.ExecuteQuery(\CommandType.StoredProcedure); }

其中调用的数据库存储过程为:

CREATE PROCEDURE [dbo].[news_selectNewNews] AS BEGIN

select top 5 n.id,n.title,n.createTime,c.[name],c.id as caId from news n

25

河北大学2016届本科生毕业论文(设计)

GO

inner join category c on n.caId = c.id order by n.createTime desc

END

6.1.2 用户注册模块

点击主页上方的注册会弹出如下登录框:

图6-2 用户注册界面

6.1.3 用户登录模块

点击主页上方的登录会弹出如下登录框:

图6-3 前台用户登录界面

6.1.4 个人信息管理模块

用户登录成功后,点击右上方的管理个人信息即可进入个人信息管理模块。

26

河北大学2016届本科生毕业论文(设计)

图6-4 前台用户登录成功界面

图6-5 个人信息管理界面

6.1.5 新闻搜索模块

本系统可以根据新闻标题或者新闻内容来搜索新闻,如图6-6所示:

27

河北大学2016届本科生毕业论文(设计)

图6-6 搜索新闻界面

根据标题搜索新闻代码:

public DataTable SelectByTitle(string title)//title是新闻标题关键字 {

DataTable dt = new DataTable(); string cmdText = \

SqlParameter[] paras = new SqlParameter[] {new SqlParameter(\dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); return dt; }

调用的数据库存储过程为:

CREATE PROCEDURE [dbo].[news_selectByTitle] @title varchar(100) AS BEGIN

select top 10 n.id,n.title,n.createTime,c.[name],n.caId from news n inner join category c on n.caId = c.id where n.title like '%'+@title+'%' order by n.createTime desc END GO

6.1.6 新闻阅读模块

在新闻首页或者分类浏览界面点击新闻标题可以查看新闻详细内容,如图6-7所示:

28

河北大学2016届本科生毕业论文(设计)

图6-7 查看新闻内容界面

查看新闻内容的主要代码:

public News SelectById(string id)//id是新闻ID {

News n = new News(); DataTable dt = new DataTable(); string cmdText = \

SqlParameter[] paras = new SqlParameter[] {new SqlParameter(\dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); n.Id = id;

n.Title = dt.Rows[0][\n.Content = dt.Rows[0][\n.CreateTime = dt.Rows[0][\n.CaId = dt.Rows[0][\return n; }

6.1.7 分类阅读模块

浏览者点击左侧导航栏可以分类查看新闻,以浏览财经新闻为例,如图6-8所示:

29

河北大学2016届本科生毕业论文(设计)

图6-8 分类浏览新闻界面

分类浏览新闻是根据类别ID取出该类别下的所有新闻,调用的数据库存储过程为: CREATE PROCEDURE [dbo].[news_selectByCaId] @caid int AS BEGIN GO

select n.id,n.title,n.createTime,c.[name],n.caId from news n inner join category c on n.caId = c.id and n.caId=@caid order by n.createTime desc

END

6.1.8 新闻评论模块

本系统可以对新闻进行评论和查看他人对该条新闻的评论,如图6-9所示:

30

河北大学2016届本科生毕业论文(设计)

图6-9 新闻评论流程

添加评论的主要代码:

public bool Insert(Comment c)//c是评论实体类 {

bool flag = false;

string sql = \

values(@content,@userIp,@newsId)\SqlParameter[] paras = new SqlParameter[] { new SqlParameter(\ new SqlParameter(\ new SqlParameter(\

};

int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text); if (res > 0){flag = true;} return flag; }

6.2 后台管理模块的实现

后台管理模块主要包括类别管理模块、新闻管理模块、用户管理模块、评论管理模块。以下将分别介绍各个模块的实现。

6.2.1 后台登录模块

31

河北大学2016届本科生毕业论文(设计)

后台登录界面如下:

图6-10 后台登录界面

输入用户名、密码和验证码之后点击登陆按钮会进行以下判断:判断验证码是否输入正确,验证码不正确会提示重新输入;判断用户名和密码是否正确,只有当用户名和密码都正确时才会登录成功,否则就会提示登录失败。如图6-11、图6-12所示:

图6-11 登录信息不全界面

32

河北大学2016届本科生毕业论文(设计)

图6-12 登录信息错误界面

6.2.2 类别管理模块

类别管理的界面,如图6-13所示:

图6-13 类别管理界面

增加类别的核心代码:

public bool Insert(string caName)//caName是类别名称 {

bool flag = false;

private SQLHelper sqlhelper =new SQLHelper();

string sql = \SqlParameter[] paras = new SqlParameter[] {

new SqlParameter(\

};

int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text); if (res > 0){flag = true;}//插入成功 return flag; }

删除类别所使用数据库触发器:

CREATE TRIGGER [dbo].[trigCategoryDelete] ON [dbo].[category]

33

河北大学2016届本科生毕业论文(设计)

instead of DELETE AS BEGIN declare @caId int

select @caId=id from deleted

delete comment where newsId in (select ID from news where caId=@caId)- 删除评论 delete news where caId=@caId-- 删除新闻 delete category where id=@caId-- 删除类别 END

6.2.3 新闻管理模块

图6-14 新闻管理界面

删除新闻调用的数据库中的存储过程为: CREATE PROCEDURE [dbo].[news_delete] @id int AS BEGIN

delete comment where newsId=@id-- 先删除该新闻下的评论 delete news where id=@id-- 再删除新闻本身 END GO

34

河北大学2016届本科生毕业论文(设计)

修改新闻的界面,如图6-15所示:

图6-15 修改新闻界面

修改新闻调用的数据库中的存储过程为: CREATE PROCEDURE [dbo].[news_update] @id int,

@title varchar(100), @content text, @caid int AS BEGIN UPDATE news

SET title = @title, [content] = @content, caId = @caid where id=@id END GO

添加新闻的界面,如图6-16所示:

35

本文来源:https://www.bwwdw.com/article/dlm6.html

Top