新闻发布系统.doc

上传人:精*** 文档编号:1160698 上传时间:2024-12-28 格式:DOC 页数:34 大小:1.28MB
下载 相关 举报
新闻发布系统.doc_第1页
第1页 / 共34页
新闻发布系统.doc_第2页
第2页 / 共34页
新闻发布系统.doc_第3页
第3页 / 共34页
新闻发布系统.doc_第4页
第4页 / 共34页
新闻发布系统.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、 学号:XXXXXXXXXXXXXXXXXXXXXX学院毕业论文新闻发布系统 X X专业名称 软件技术(WEB应用方向) 指导教师 XX 2010 年 12 月 目 录1 绪论11.1 新闻发布系统需求分析11.2 开发工具的选用及介绍11.3 数据库的选用及介绍41.4 B/S模式介绍51.5 该系统特点介绍52 概要设计62.1 系统结构分析62.2 系统模块分析63. 数据库设计83.1数据库关系的设计83.2 USER表的设计83.3 NEWS表的设计83.4 CATEGORY表的设计93.5 COMMENT表的设计94 详细设计104.1普通用户模块104.1.1 新闻浏览功能104

2、.1.2 新闻搜索功能134.1.3 显示新闻及评论功能144.2 管理员登录模块174.3 新闻管理模块204.3.1 新闻添加、修改功能204.3.2 新闻审核功能224.3.3 新闻或其评论删除功能234.4 类别管理模块254.5 用户管理模块274.5.1 添加用户功能274.5.2 删除用户功能285 总结29致 谢30参考文献311 绪论1.1 新闻发布系统需求分析1 新闻发布系统(News Release System)是上个世纪九十年代互连网技术发展以后才出现的技术,最初表现是解决一些网站的信息动态发布而开发,最初只是简单的发布和显示,应用对于各种不同的站点需要构建不同的系统

3、来满足需要,而且功能十分单一,在九十年代后期,互连网技术进一步发展,网络作为新起的新闻媒介工具,其用户大大增加,对系统的要求也越来越高,新闻发布系统在这样的一个环境中提出、开发、并改进,到现在,新闻系统开发的成功案例已经不计其数,而且已经应用到各种站点上,可以说,各行各业的绝大部分的网站都使用到了新闻发布系统,大量的用户引发了新闻发布系统功能的进一步扩大和深化,给新闻发布系统提出了更高的要求。当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功

4、能。简单地说,新闻发布系统就是充当一个网络新闻媒介的功能,主要实现对新闻的分类、上传、审核、发布,模拟了一般新闻媒介的新闻发布的过程,通过不同权限的账号分别实现以上所说功能,当然这些功能也可以是某一个账号全部具有。新闻发布系统,又称为信息发布系统,是将网页上的某些需要经常变动的信息,类似新闻、新产品发布和业界动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。网站信息通过一个操作简单的界面加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上。它的出现大大减轻了网站更新维护的工作量,通过网络数据库的引用,将网站的更新维护工作简化到只需录

5、入文字和上传图片,从而使网站的更新速度大大缩短,在某些专门的网上新闻站点,如新浪的新闻中心等,新闻的更新速度已经缩短到五分钟一更新,从而大大加快了信息的传播速度,也吸引了更多的长期用户群,时时保持网站的活动力和影响力。1.2 开发工具的选用及介绍7 开发工具选用Microsoft Visual Studio 2005,其中开发语言Active Server Pages.NET语言,缩写为ASP.NET,其测试版曾经成为ASP+,但并不仅仅是ASP的简单升级,而是MicroSoft推出的新一代Active Server Pages脚本语言。ASP.NET是微软发展的新型体系结构.NET的一部分,

6、它的全新技术架构会让每一个人的网络生活都变得更简单。 首先需要特别指出的是,ASP.NET不仅仅只是有了一个新界面并且修复了一些缺陷的ASP3.0的升级版本(即不同于ASP2.0升级到ASP3.0的转变)。更为重要的是,ASP.NET吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。从Internet兴起的那一天起,人们就开始了开发Web技术的进程,从最初的静态页面(HTML)到后来的动态交互式页面技术(DHMTL,CGI,ASP,JSP,PHP)的发展,短短十多年,这个网络世界已经变得丰富多彩了。现在,微软推出了全新的

7、Microsoft.NET,这是一个革命性的新平台,建立在开放的Internet协议和标准之上,通过工具和服务将计算机和通讯以崭新的方式融合到一起。其中ASP.NET便是.NET框架中的重要成员。如果了解过网络编程语言的话,就一定知道ASP是微软发布的建立Web应用程序的语言。ASP.NET是ASP的全新版本。ASP.NET是一个用于Web开发的全新框架,其中包含了许多新的特性。ASP.NET提供了更易于编写,结构更清晰的代码,这些代码很容易进行再利用和共享;ASP.NET使用编译后的语言,从而提升性能和伸缩性;ASP.NET使用Web表单使开发更直观,利用面向对象技术促进组件的再利用。另外,

8、ASP.NET中还包括有页面事件、Web控件、缓冲技术以及服务器控件和对数据捆绑的改进。在旧版本的ASP中,程序员只能使用VB Script和Java Script这两种脚本语言来进行程序开发,由于语言的限制而无法让ASP发挥强大的功能。现在,ASP.NET使用了全新的编程概念,已经从原来简单的脚本语言升级到支持以下几种主要的程序语言:VB.NET、C#.NET、J#.NET和Jscript等。ASP.NET作为开发网络应用程序的新一代语言,它的工作原理是基于网络传输的,并改变了传统的ASP的工作原理,将部分原来由服务器执行的工作给了客户机。MicroSoft .NET平台的基本思想是: 侧重

9、点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像孤岛那样,由用户提供唯一的集成。企业可以提供一种方式,允许用户将它们的产品和服务无缝地嵌入自己的电子构架中。这种思路将扩展二十世纪八十年代首先由PC赋予的个人权限。 MicroSoft .NET将开创互联网的新局面,基于HTML的显示信息将通过可编程的基于XML的信息得到增强。XML是经“万维网联盟”定义的受到广泛支持的行业标准,Web浏览器标准也是由该组织创建的。微软公司为开发它投

10、入了大量精力,但它并不是MicroSoft的专有技术,XML提供了一种从数据的演示视图分离出实际数据的方式,这是新一代互联网的关键。 Microsoft.NET平台带来的重要意义:对于开发人员,MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。.NET对最终用户来说非常重要,因为计算机的功能将会得到大幅度提升,同时计算机操作也会变得非常简单。特别地,用户将完全摆脱人为

11、的硬件束缚:用户可以自由冲浪于互联网的多维时空,而不是束缚在便携式电脑的方寸空间可通过任何桌面系统、任何便携式电脑、任何移动电话或PDA进行访问,并可对其进行跨应用程序的集成。 .NET可使用户轻松进行互联网连接,并轻松完成那些在当今看来十分费时而且费力的事务,它们往往要求用户进行数据重输入并需运行几个小时才能完成。通过将多项安全数据流合并到单一的用户界面(或者甚至是可编程决策引擎),.NET架构将用户从充斥于当今Web的数据竖井的束缚中解脱出来。用户可以自由访问、自由查看、自由使用他们的数据。 .NET对开发人员来说也十分重要,因为它不但会改变开发人员的开发应用程序的方式,而且使得开发人员能

12、创建出全新的各种应用程序。 在过去,开发人员通过集成本地系统服务来构建应用程序。在这种模型下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。这样,开发人员便可把精力集中在充分挖掘软件独特的商业价值,而不是构建基本结构上。可喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最终把质量上乘的软件呈现给用户。 我们正在进入一个崭新的计算时代一个由互联网(尤其是Internet核心技术XML)实现的时代。利用XML,能够创建出可供任何人从任何地方使用的、功能非常强大的应用程序。它极大地拓展了应用程序的功能,并实现了软件的动态提供。在这种情况下,软件已不完全指那些从

13、光盘进行安装的程序,而是演变成了一种服务类似于ID调用程序或按收看次数进行收费的电视人们可通过通信媒体订购的服务。 1.3 数据库的选用及介绍2在此次设计中,我们采用了SQL SERVER2005数据库, SQL(Structured Query Language,译为结构化查询语言)在关系型数据库中的地位就犹如英语在世界上的地位。它是数据库系统的通用语言,利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作。比如“select * from 数据表名”代表要从某个数据表中取出全部数据,在Oracle 9i、SQL Server 2000、FoxPro等关系型数据库中都可以使用这

14、条语句。SQL已经被ANSI(美国国家标准化组织)确定为数据库系统的工业标准。在数据库的版本上,我们选用Microsoft SQL Server2005简称SQL Server),它是由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。SQL Server提供了在服务器系统上运行的服务器软件和在客户端运行的客户端软件,连接客户和服务器计算机的网络软件则由Windows NT/2000提供。它的数据库系统的服务器运行在Windows NT/2000系统上,负责创建和维护表和索引等数据库对象,确保数据完整性和安全性,能够在出现各种错误时恢复数据。客户端应用程序

15、可以运行在Windows9x/NT/2000系统上,完成所有的用户交互操作。将数据从服务器检索出来后,可以生成拷贝,以便在本地保留,也可以进行操作。SQL Server建立于Microsoft Window NT的可伸缩性和可管理性之上,提供了功能强大的客户服务器平台,高性能客户服务器结构的数据库管理系统可以将Visual FoxPro、Visual Basic、Visual C#、.NET作为客户端开发工具,而将SQL Server作为存储数据的后台服务器软件。它是基于客户/服务器的数据库管理系统。用户通过使用客户系统从服务器检索信息并进行本地操作,服务器关注数据库进程,而客户则关注信息的表

16、示。 1.4 B/S模式介绍12B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,采用“瘦”客户机,“胖”服务器的方式来设计系统是相对合理的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,

17、WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。特别是在.NET这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。1.5 该系统特点介绍16本新闻发布系统具有以下特点:(1) 可视性:对新闻的处理(包括发布、修改、删除)将立即在主页的对应栏目显示出来,达到即时发布、即时见效的功能;(2) 功能完善:包括常见网站的新闻(消息)管理的各个方面:新闻发布、浏览、删除、修改、检索等各个方面;完整地实现了网站对即时新闻的管理要求;(3) 操作简单、界面友好:完全控件式的页面布局,使你即便不熟悉文字录入,

18、仍可以用拷贝+粘贴的方式录入新闻内容;一些选项包括新闻类别等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。(4) 代码少:新闻浏览、查询输出两大功能也使用了同一页面(NewsContent.aspx),极大地减少了程序代码。(5)安全性强:此系统中比较核心的功能都用在数据库中用存储过程来实现,不仅提高了反应速度,同时安全性大大加强。(6)易于管理:此系统采用三层架构来实现功能的,遇到问题可以准确找到出错的位置,对号入座,提高了后期维护的效率。 2 概要设计2.1 系统结构分析13通过对各网站新闻发布系统的调查,本系统需要设计两个角色访问模块:普通用户模块、管

19、理员模块、记者模块。浏览新闻普通用户评论新闻查看新闻搜索新闻添加、修改、删除分类类别管理系统管理员添加、删除用户用户管理更改账号添加、修改新闻后台登录审核新闻新闻管理删除新闻或其评论添加修改新闻新闻管理 记者图1 系统结构图普通用户模块功能包括浏览新闻、搜索新闻、查看新闻和评论新闻功能。后台管理模块又包括系统管理员模块和记者模块。系统管理员模块功能包括新闻管理、分类管理和用户管理等功能。 记者模块功能则只包括新闻管理中添加修改新闻,添加的新闻状态未发布。2.2 系统模块分析该系统主要包括5个功能模块:(1) 普通用户模块:普通用户模块包括浏览新闻、搜索新闻、查看新闻和评论新闻的功能。(2) 管

20、理员登录模块:该系统管理员分为两类,即系统管理员和记者,其中,系统管理员权限高于记者。(3) 新闻管理模块:该系统中,系统管理员能够赋予或收回记者管理某一类新闻的权利。该模块能够实现添加新闻、修改新闻、审核新闻、删除新闻或其相应评论的功能。(4) 分类管理模块:该系统中,只有系统管理员具有管理分类的权限。该模块能够实现分类的添加、修改和删除。(5) 用户管理模块:该模块能够实现用户的添加与删除,用户角色的修改以及账号密码的更改。其中用户的添加、修改和用户权限的修改只有系统管理员才能操作,而记者只具有更改自己账号密码的权限。3. 数据库设计4 数据库是系统的灵魂,数据库设计的好坏直接关系到后边系

21、统的可维护性、可扩展性等。但只有在全面了解业务流程的前提下才能设计出完善的数据库。3.1数据库关系的设计图1 数据关系图3.2 User表的设计 表User用于记录所有用户的所有信息,表db_Admin的设计视图如表1所示:表1 User表字段名数据类型长度主键必填字段含义idint4是是user编号loginIdchar100是是管理员姓名loginPwdchar100否否密码userNamechar20否否管理员类别userRolenchar200否否新闻评论 3.3 News表的设计 表News用于记录新闻的所有信息,表News的设计视图如表2所示:表2 news表字段名数据类型长度主键

22、必填字段含义idint4是是新闻编号titlentext16否是新闻标题contentvarchar100否是新闻内容createTimedatetime8否是新闻发布时间caIdint4否是新闻所属类别(外键)picvarchar100否是新闻图片authorvarchar50否是发布人姓名statuschar10否是新闻状态 3.4 category表的设计 表comment用于记录分类的所有留言信息,表comment的设计视图如表3所示:表3 category表字段名数据类型长度主键必填字段含义idint4是是分类编号namevarchar20否是类别名称 3.5 comment表的设计

23、 表comment用于记录新闻评论的所有信息,表comment的设计视图如表4所示:表4 comment表字段名数据类型长度主键必填字段含义idint4是是评论编号contenttext否是评论内容createTimedatetime8否是评论时间userIpvarchar15否是用户ipnewsIdint4否是 新闻类别(外键)4 详细设计4.1普通用户模块普通用户模块包括新闻浏览功能、新闻搜索功能、新闻阅读功能和新闻评论功能。4.1.1 新闻浏览功能本系统首页便是新闻浏览页面,整个页面显示了新闻的分类,将所有新闻分为热点新闻、分类新闻和最新新闻三大块。并且列出了网站所有新闻的信息, 包括标

24、题、类型、发布日期, 每条新闻的标题被做成一个超链接, 直接点击它们就能跳转页面进行新闻阅读。如图2所示: 图2 系统首页 新闻浏览功能部分代码如下: 使用的存储过程:(1) set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo- =- Author:- Create date:- Description:取出最新条新闻(所属分类、新闻标题、发布时间)- =ALTER PROCEDURE dbo.news_selectNewNewsASBEGINselect top 8 n.id,n.title,n.createTime,n.pic,c.name,c.id a

25、s caId from news ninner join categoryc on n.caId=c.id where status=已发布order by n.createTime descEND(2)set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo- =- Description:取出条热点新闻(评论最多的条)- =ALTER PROCEDURE dbo.news_selectHotNewsASBEGINselect top 10 n.id,n.title,n.createTime,c.name,count(com.id) as comCount,c.

26、id as caId from news ninner join categoryc on n.caId=c.idinner join comment com on com.newsId=n.idgroup by n.id,n.title,n.createTime,c.name,c.idorder by comCount descEND DAL层主要代码: #region 选择10条热点新闻 / / 取出10条热点新闻 / / public DataTable SelectHotNews() return sqlhelper.ExecuteQuery(news_selectHotNews, C

27、ommandType.StoredProcedure); #endregion / / 取出最新10条新闻(所属分类、新闻标题、发布时间) / / public DataTable SelectNewNews() return sqlhelper.ExecuteQuery(news_selectNewNews, CommandType.StoredProcedure); public partial class index : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if(!Page.IsP

28、ostBack) /第一次进入该页面时 NewsManager nm = new NewsManager(); /绑定最新新闻 gvNewNews.DataSource = nm.SelectNewNews(); gvNewNews.DataBind(); DataListNewNews.DataSource = nm.SelectNewNews(); DataListNewNews.DataBind(); / / 将指定字符串按指定长度进行剪切超出部分用“.”代替 / / 需要截断的字符串 / 字符串的最大长度 / 超过长度的后缀 / 如果超过长度,返回截断后的新字符串加上后缀,否则,返回原

29、字符串 public static string StringTruncat(string oldStr, int maxLength, string endWith) if (string.IsNullOrEmpty(oldStr) return oldStr + endWith; if (maxLength maxLength) string strTmp = oldStr.Substring(0, maxLength); if (string.IsNullOrEmpty(endWith) return strTmp; else return strTmp + endWith; retur

30、n oldStr; 4.1.2 新闻搜索功能每个用户都可以在该系统中进行新闻的搜索,通过标题或是内容的搜索找到自己感兴趣的新闻。 新闻搜索功能和搜索结果界面如图3和图4所示: 图3 新闻搜索 图4 搜索结果相关代码如下:- =- Description:根据内容搜索新闻- =ALTER PROCEDURE dbo.news_selectByContentcontent varchar(1000)ASBEGINselect n.id,n.title,n.createTime,c.name,n.caid from news ninner join category c on n.caId=c.id

31、 where n.content like %+content+%order by n.createTime descEND- Description:根据新闻ID取出该条新闻主体内容ALTER PROCEDURE dbo.news_selectByIdid intASBEGINselect title,content,createTime,caId,author,status from news where id=idEND4.1.3 显示新闻及评论功能点击链接即可进入新闻显示界面,在该界面不仅能够进行新闻的阅读,还能对该条新闻进行评论。新闻显示及评论界面如图5所示: 图5 新闻显示及评论新

32、闻显示及评论功能部分代码如下所示: public partial class NewsContent : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) string newsid = Request.QueryStringnewsid; NewsManager nm = new NewsManager(); /新闻内容 News news = nm.SelectById(newsid); lblTitle.Text = news.Title; lblAu

33、thor.Text = news.Author; lblcontent.Text = news.Content; lblCreateTime.Text = news.CreateTime; DataTabledt=new ommentManager().SelectByNewsId(newsid); if (dt.Rows.Count = 0) emptyData.Visible = true; else emptyData.Visible = false; repComment.DataSource = dt; repComment.DataBind(); protected void lb

34、tnDelComment_Click(object sender, EventArgs e) /当前点击的按钮 LinkButton lb = (LinkButton)sender; /获取传过来的CommentId string comId = lb.CommandArgument; bool b = new CommentManager().Delete(comId); if (b) /重新绑定评论 string newsid = Request.QueryStringnewsid; DataTable dt = new CommentManager().SelectByNewsId(ne

35、wsid); if (dt.Rows.Count = 0) emptyData.Visible = true; repComment.DataSource = dt; repComment.DataBind(); else emptyData.Visible = false; repComment.DataSource = dt; repComment.DataBind(); else Page.ClientScript.RegisterStartupScript(Page.GetType(), message, alert(删除失败!);); protected void btnSub_Cl

36、ick(object sender, EventArgs e) if (SessionLoginName != null) /添加评论 string com_content = txtComment.Text; string newsid = Request.QueryStringnewsid; string userIp = Request.ServerVariablesREMOTE_ADDR; Comment com = new Comment(com_content, userIp, newsid); bool b = new CommentManager().Insert(com);

37、if (b) txtComment.Text = ; /隐藏“该新闻暂无评论” emptyData.Visible = false; repComment.DataSource=new CommentManager().SelectByNewsId(newsid); repComment.DataBind(); else Page.ClientScript.RegisterStartupScript(Page.GetType(), message, alert(评论添加失败!);); else Response.Redirect(login.aspx); 4.2 管理员登录模块 管理员登录模块包括系统管理员和记者登录。登录后会进入相应的操作界面。其登录界面和登录后界面如图6和图7所示: 图6 后台登录界面图7 管理员登录后界面 管理员登录功能部分代码如下:- =- Description:- =ALTER proc dbo.User_GetLogin(LoginId varchar(20),LoginPwd varchar(20)ASBEGINselect LoginId,LoginPwd,userR

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922