新闻发布系统的设计与实现毕业论文.doc
新闻发布系统的设计与实现 摘要:新闻发布系统是在信息提供资源共享、信息交流和协同工作的计算机网络信息系统。随着网络技术的发展和Internet应用的普及,互联网已成为人们获取信息的重要来源。由于现在社会对信息的需求越来越高,信息对人们的生活、实事等等都有很重要的影响。本毕业设计主要采用了B/S设计模式,基于ASP.NET +SQL2008技术开发了一个新闻发布系统。本新闻发布系统实现了如下功能:1 新闻浏览;2 系统管理员对系统和用户的管理;3 新闻管理员发布新闻。本系统其功能灵活并易于使用,能够实现网站新闻的动态管理,使得对新闻的管理更加及时,高效。本毕业论文将对该系统的开发过程和功能进行详细的阐述。The Design and Implementation of News SystemAbstract:This news system is developed by ASP.NET and SQL technology based on the B/S model and it provides an efficient database stored procedures. The system realized three functions: news browsing, news publish, system and user management. The system realized a dynamic website management, and make news management efficiently, and improve work efficiency. In this paper the process of the development will be introduced in detail. 关键词: 新闻发布、新闻浏览、B/S、ASP.NETKey words: News publish 、News view 、B/S、ASP.NET 第 3 页 共 3 页目 录1.项目介绍11.1 引言11.2研究的目的及意义11.3课题研究的主要内容12.相关技术22.1开发语言C#22.2 .NET3.5开发技术22.3 ASP.NET技术32.4 ADO.NET42.5 SQL200842.6 B/S模式53.需求分析53.1系统功能需求53.2系统性能需求63.3运行环境要求63.4系统可行性分析64.系统设计与实现64.1 数据库设计74.1.1 数据库的设计与实现74.1.2 数据库需求分析94.1.3 数据库存储过程设计94.2系统基本框架94.3各功能模块的设计与实现104.3.1公共模块设计104.3.2管理员登录系统114.3.3系统管理主界面124.3.4新闻浏览界面134.3.5发布新闻模块134.3.6删除新闻模块144.3.7修改新闻模块145.测试155.1 测试环境155.2 测试过程155.3 测试结果15毕业设计总结16参考文献16软件技术专业 毕业论文1.项目介绍1.1 引言随着网络技术的发展和Internet应用的普及,特别是现在社会的信息化,网络化在飞速的发展,互联网已成为人们获取信息的重要来源,新闻是信息的重要内容之一。信息网对人们的生活、时事等等都起了非常重要的作用,社会很重视新闻发布系统的发展。新闻发布系统,是将网页上的某些需要经常变动的信息,类似体育新闻,焦点新闻,事实政治等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。网站信息通过一个操作简单的界面加入数据库,然后通过已有的网页模板格式与审核流程发布到网站上。 本系统的出现大大减轻了网站更新维护的工作量,通过数据库的引用,将网站的更新维护工作简化到只需录入文字等,从而使网站的更新速度大大缩短,在某些专门的网上新闻站点,如新浪的新闻中心等,新闻的更新速度已经是即时更新,从而大大加快了信息的传播速度,也吸引了更多的长期用户群,时时保持网站的活动力和影响力。当然本系统还不能与新浪网媲美,但是它基本上达到了一般的新闻发布系统的要求,用户能进行新闻浏览,新闻搜索,管理员能对新闻进行管理等等。1.2研究的目的及意义随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。1.3课题研究的主要内容随着Internet的普及,越来越多的企业建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态信息,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。其中新闻管理系统是构成企业网站的一个重要组成部分,它担负着双层作用:一方面可以用来动态发布有关新产品或新开发项目。另一方面又可以及时向顾客公告企业经营业绩、技术与研发进展、特别推荐或优惠的工程项目、产品和服务,从而吸引顾客,扩大顾客群。该系统使用ASP.NET(C#语言)和ADO.NET技术开发, 实现了网站新闻的动态管理,使得对信息的管理更加及时、高效,提高了工作效率。该新闻系统具有一般新闻系统的功能,主要包括前台新闻查看区和后台管理区,可为学校各部门发布新闻,为校园网站提供新闻发布与管理的服务。该系统是基于B/S(Browser/Server,浏览器/客户端)模式实现,基于.NET平台架构开发设计,主要实现对校园新闻的发布与管理功能,对新闻内容信息的浏览阅读等。随着Internet/Intranet技术的兴起,将原本在单机或本地局域网上运行的数据库系统移植到因特网中,即开发基于B/S模式的新一代MIS(Management Information System,管理信息系统)系统,正成为技术发展的趋势。为了保证系统性能的高效性、可扩展性,以及达到数据共享和网络化管理的目的,本系统采用B/S体系结构进行设计开发。2.相关技术2.1开发语言C#C#语言是可用于创建要运行在.NET CLR上的应用程序的语言之一,是一种全面支持面向对象的编程语言。它从C和C+语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#出现的时间相对比较晚的缘故,它改进了以往众多编程语言的不足,并吸取了其他语言的许多优点,解决了他们的问题,是一种先进的全面实现面向对象的编程语言。虽然C#语言只是.NET开发中支持的众多语言中的一种,但它确是Microsoft主力推荐的,唯一为.NET Framework设计的语言,是在移植到其他操作系统上的.NET版本中使用的主要语言。比如要使语言VB.NET尽可能类似于其以前版本的语言,且仍要遵守.NET的CLR,就不能完全支持.NET代码库的某些功能。但C#能使用.NET Framework代码库提供的每一种功能。.NET的最新版本还对C#语言进行了几处改进,这都是为了满足开发人员的要求,使之更为强大。2.2 .NET3.5开发技术NET Framework 2.0 Beta 扩展了.NET Framework 1.1版本,得到许多新的特性,并且提升了已有的特性,这些都被以文档的形式记录下来。这篇文章主要提供一些关键信息和修改的内容。对64位平台的支持:新一带64位计算机使得应用程序运行得比32位应用程序更快并更能充分利用内存。新增加的对64位应用程序的支持使得用户可以创建托管代码库或者很容易的使用非托管代码库于64位计算机之上。访问控制列表被用来授予和回收访问计算机资源的权限。已经被添加到.NET Framework上的新类允许托管代码访问和修改访问控制列表,这样利用一个访问控制列表就可以把新成员添加到I/O、注册表和线程类上。2.3 ASP.NET技术ASP.NET结构是一个三层系统:UI层、业务逻辑层和数据层,结构模型。如图1所示: 图1 ASP.NET的结构模型 UI层负责与用户交互,接收用户输入并将服务端传来的数据呈现给客户。 业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。它由Web表单、XML Web Services和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础。 数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据结果、返回数据检索结果等。ADO.NET 有两个核心组件:Data Set 和 .NET Framework 数据提供程序,后者是一组包括 Connection、Command、Data Reader 和 Data Adapter 4个对象在内的组件,其组件结构。如图2所示:图2 ADO.NET的组件结构图Data Set对象是 ADO.NET 的断开式结构的核心组件,实现独立于任何数据源的数据访问。Connection 对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的惟一会话。Command 对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。Data Reader 对象从数据源中读取只进且只读的数据流。Data Adapter 对象是Data Set 对象和数据源之间关联的桥梁,用数据源填充Data Set并解析更新。设计 ADO.NET 组件的目的是为了从“数据操作”中分解出“数据访问”。2.4 ADO.NET ADO.NET的新特点包括对用户自定义类型(UDT)的支持;对数据库的异步操作;XML数据类型;大容量数值存储类型;快照镜像(snapshot isolation);并且新的属性允许应用程序支持从SQL Server 2005获得的多个激活的结果集(MARS,multiple active result sets)。2.5 SQL2008在计算机的应用领域,数据才是公司或家庭计算机化的真正帮手。早期的程序设计员大都是靠替人设计数据库系统为生,众多的考勤系统、库存管理系统、进销存系统等等。简单地说这些都是数据库系统。目前,数据库系统本身就是一套应用程序,用户在不编写任何程序代码的情况下都可以使用。只有在比较复杂的系统中,程序开发者才会编写语言设计客户所需的应用系统。开发数据库系统的过程就是建立数据的使用界面和决策结构,目的是针对不同的需求使用数据库记录。至于数据库系统本身,其目的只是存取数据,作为应用系统保存数据的地方。在转换到Web舞台后,数据库的本质并没有改变,只是数据的使用界面变成了网页,数据库成为网页内容的来源。网页数据库就是一个结合前台网页使用界面,加上后台Web服务器和数据库系统的一种全新的应用程序。不仅如此,结合后台的数据库系统后,网页正式成为一个Web应用程序的开发环境,而不仅仅是一个展示的舞台。应用程序将彻底打破地域的限制,只要连上Internet的计算机都能够使用Web应用程序访问数据库的内容。2.6 B/S模式B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S架构管理软件更是方便、快捷、高效。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。3.需求分析3.1系统功能需求本系统的目的是实现校园新闻发布系统的基本功能。本新闻发布系统提供了不同类型新闻(如国际新闻、国内新闻和体育新闻等),满足不同用户需求;系统将用户分为:普通用户和系统管理员。普通用户能在本系统中进行新闻浏览,阅读。每条新闻的标题被做成一个链接,用户点击它们就能跳转页面进行新闻阅读;新闻阅读页面,每条新闻的详细信息将被取出,包括内容、标题等。系统管理员可以进行新闻分类管理、添加新闻、修改新闻和删除新闻,同时系统管理员能完成用户管理如包括系统用户管理、添加用户和更改账号。新闻管理员拥有添加新闻和更改新闻的权限。3.2系统性能需求操作的简易实用性是本新闻发布系统的一大特点。在此系统的开发中就很好的体现了这一点,系统的界面美观,典雅,充满了人性化。用户操作起来也容易上手。对于一个新闻发布系统而言,新闻信息是很多的,而且使用人数较多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同用户的权限,数据的修改必须由合法用户操作。3.3运行环境要求客户机需要安装Windows XP或更高版本的操作系统,安装一种IE6.0版本以上的浏览器的主流配置的计算机即可。服务器需要Windows XP Server操作系统,并且安装IIS以及SQL Server 2008的较高配置的计算机。3.4系统可行性分析系统的可行性分析是在和众公司的的要求和调研下进行的,对系统的开发从社会、经济、技术、管理等方面进行分析,并得出系统的可行还是不可行,需要修改,追加资金,暂缓开发,分步实施等方案得出结论,最后完成可行性分析。可行性分析一般包括以下几方面:(1)新系统的目标可行性分析:分析新系统是否适合当前本公司现状,及发展需要。(2)技术可行性分析:根据新系统的目标来衡量是否具有相应的开发技术,是否具有相应的开发技术人员,是否具备软硬件需求。4.系统设计与实现我们的新闻发布系统分为前台和后台两大部分,前台主要功能有用户浏览、新闻分类和登录功能,后台有新闻管理,分类管理和用户管理等。新闻发布系统前台后台用户浏览新闻分类登陆系统新闻管理分类管理用户管理图3 功能结构图4.1 数据库设计4.1.1 数据库的设计与实现根据需求分析,共设计五个表,分别为新闻文章表、用户表、分类表、公告表和系统信息表。数据库E-R图。图4 数据库E-R图表1 新闻文章表列名数据类型是否可为空说明NewsIdint否新闻编号,标识属性,主键NewsTitlenvarchar(200)否新闻标题NewsBadyntext否新闻内容UserIdint否发布人编号KindIdint否分类编号PubDatedatetime否发布时间 表2 用户表 列名数据类型是否可为空说明UserIdint否用户编号,标识属性,主键UserNamenvarchar(50)否用户名UserPwdnvarchar(200)否用户密码UserEmailnvarchar(200)是用户电子邮件 表3 分类表 列名数据类型是否可为空说明KindIdint否分类编号,标识属性,主键KindNamenvarchar(50)否分类名称KindRemarksnvarchar(100)是分类备注表4 公告表列名数据类型 是否可为空 说明AnnouncementIdint否公告编号,标识属性,主键AnnouncementContentnvarchar(200)否公告内容表5 系统信息表列名数据类型 是否可为空 说明SIIdint否系统信息公告编号,标识属性,主键SInformationnvarchar(50)否系统信息内容4.1.2 数据库需求分析数据库设计的第一个阶段,也是非常重要的一个阶段是数据库需求分析。需求分析的结果是系统开发的基础。在这个阶段主要是收集基本数据以及数据处理的流程,为以后进一步设计打下基础。4.1.3 数据库存储过程设计根据需求,我们详细设计了24个存储过程,存储过程囊括了新闻、新闻分类、用户的增加、删除、查找、修改以及特殊查找和分页查询等,充分满足了新闻发布系统的需求。大幅度提升了系统运行速度,优化了查询过程。4.2系统基本框架公共模块DataBase.csNews.csNewsKinds.csUsers.cs新闻浏览最终页面ShowNews.aspx新闻浏览主界面Default.aspx管理员登录系统Login.aspx系统管理主界面Admin.aspx发布新闻模块AddNews.aspx修改新闻模块UpdateNews.aspx分类管理模块KindNews.aspx图5 系统基本结构图公共模块中一共有个类文件:“News.cs”包含对新闻操作的方法,例如增加、删除、修改和查找。“DataBase.cs”文件主要用来连接数据库,由于这段代码在大部分页面中会出现,属于重复代码所以可以将他作为一个单独的类文件。“NewsKinds.cs”文件用于对新闻文章的分类就行管理,例如增加、删除、修改和查找分类等操作。“Users.cs”文件用来判断是否可以系统管理员的身份登陆了系统,防止非法用户直接进入系统管理后太对系统进行破坏。一般用户不需要登陆就可以打开新闻浏览页面“Default.aspx”查看新闻列表,单击其中某一条新闻的标题,就可以打开新闻浏览最终页面“ShowNews.aspx”。查看新闻。由于新闻的标题和内容都存放在数据库中,所以最终的新闻页面是根据数据库中的记录动态生成的。只有管理员才能输入正确的用户名和密码,通过登陆系统“login.aspx”,才能登陆到系统管理主页面“Admin.aspx”。在这个主页面中,管理员可以发布新闻、修改新闻、删除新闻、管理分类以及用户管理。4.3各功能模块的设计与实现4.3.1公共模块设计本系统的公共模块均为一个功能类,本系统共包含6个公共模块类:DataBase数据库处理类、Files文件处理类、Strings字符串处理类、News新闻内容处理类、Users用户信息处理类、NewKinds新闻分类处理类。图6 类图DataBase.cs:用来连接数据库以及声明相关变量,连接数据库时首先装载驱动,然后建立Connection对象与指定的数据库进行连接。News.cs:包含对新闻操作的方法,例如增加、删除、修改和查找。我们直接调用News中的方法对新闻进行操作,由于这些方法在大部分页面中会出现,所以我们就把它们封装到一个类中。NewsKinds.cs:用于对新闻文章的分类就行管理,例如增加、删除、修改和查找分类等操作。Users.cs:用来判断是否以系统管理员的身份登陆系统,防止非法用户登陆到系统管理后台对系统进行破坏,程序中使用了会话(session)对象。会话对象类似与普遍应用程序中的全局变量。在一个WEB应用程序中,当一个用户访问该应用程序时,这个会话对象使这个用户在该WEB应用的所有页面共享数据。Files:文件上传处理类。Strings:字符串处理类。4.3.2管理员登录系统新闻管理系统的后台管理用来发布、修改、删除新闻。拥有相应权限的管理员才能管理系统,所以新闻管理系统需要管理员登陆系统。登陆系统主要包括“Login.aspx”这个页面。login.aspx:主要用来让管理员输入用户名和密码(1)程序开头使用语句将“Users.cs”包含进来。(2)使用C# 编写函数ValidateUser()用来判断管理员是否输入了用户名和密码,如果没有输入,则给出提示。当用户单击登陆按钮,提交表单时,就会执行这个函数。(3)用户输入用户名和密码,或者没有登陆,直接在浏览器地址栏中输入地址,企图进入管理页面时,他们都会由相应的aspx文件重定向到本页面。(4)出现错误时,程序首先设置session对象,将session判断是哪种错误,并打印出来。Users.cs:在数据库的表中查询,验证用户名和密码的正确性。 图7 管理员登录界面4.3.3系统管理主界面当管理员输入正确的用户名和密码后就进入到了Admin.aspx,在该页面可以发布,修改,删除新闻。 图8 系统管理主界面4.3.4新闻浏览界面Default.aspx:用户浏览新闻的主页面,该页面的作用是将所有的新闻标题以列表形式显出来,ShowNews.aspx:读者在新闻浏览主页面“Default.aspx”中单击感兴趣的新闻标题时,就会打开新闻浏览最终页面“ShowNews.aspx”,查看新闻内容。“ShowNews.aspx”的任务就是接受主页面传入的新闻ID,然后以此ID在数据库新闻文章表New中查找符合条件的记录,然后取出新闻标题、新闻内容等信息,并显示在“ShowNews.aspx”页面上。 图9 新闻浏览界面4.3.5发布新闻模块如果想发布新闻。单击发布新闻,就进入了发布新闻模块。发布新闻模块有一个文件组成:“AddNews.aspx”。AddNews.aspx:负责在页面中添加新闻,然后提出表单,再将添加的新闻保存到数据库News_Db的数据表News中。 图10 发布新闻界面4.3.6删除新闻模块根据需要还可以删除新闻,NewsShow.aspx文件就负责这种功能。4.3.7修改新闻模块新闻发布后,如果发现输入的标题或者内容出现错误,可以使用修改新闻模块,对新闻进行修改。就修改新闻模块共有一个ASPX文件:“UpdateNews.aspx”。UpdateNews.aspx:将待修改的新闻和内容显示出来,供管理员修改,然后将修改后的新闻保存到数据库中。 图11 修改新闻界面5.测试 测试是对一个系统的最后检验.只有在它符合结果才能正式的应用.测试的过程一般要有测试的环境,科学的测试过程,准确的测试结果。5.1 测试环境系统软件:Windows 7。数据库管理系统:MS SQL Server 2008。硬件要求:Pentium IV 以上,1G RAM。5.2 测试过程本系统的测试过程分了三个步骤:(1)模块测试:测试了每个模块的程序;(2)页面测试:测试了模块页面的连接;(3)需求测试:测试了整个系统的功能和性能需求满意成度;5.3 测试结果经过三个步骤的测试,也进行了详细的修改,最系统未发生错误,接口正常,功能和性能均能满足系统应有的功能。过程一般要有测试的环境,科学的测试过程,准确的测试结果。毕业设计总结在功能上,基本上满足了系统的预期要求,但是由于本身能力有限,有些模块还是不能够做的很完美,希望在今后的学习工作中能够把他做的更好。在毕业设计完成之际,我的心情万分激动。从系统设计和论文的编写,我得到了许多的热情帮助。我首先要感谢魏一搏老师,在设计期间,魏一搏老师经常在百忙之中抽出时间来指导我的毕业设计,刚开始做毕业设计时,对毕业设计的认识简直是一无所知,魏一搏老师每个星期都专门抽出时间来给我们辅导,才渐渐有了思路,在收集资料方面,魏老师也时常发送一些重要的资料给我们参考。其次,要感谢和我一起研究毕业设计项目的小组成员,我们在一起非常融洽地合作了一个多月的时间,在一起发现问题、分析问题和解决问题,大家良好的团队精神使得该项目在众多困难下能够顺利进行。和他们愉快的合作使得该项目成功的完成。最后还要感谢三年来所有教育过我的老师,为我们打下了坚实的基础;感谢所有的同学们,正因为有你们的鼓励,我的大教师工作量活才能够充满激情和活力。参考文献1 徐超.net高级应用开发M.徐州工业职业技术学院印刷,2007.122 李存斌.net程序设计及其应用开发M.中国水利水电出版社.2002.33 飞思科技.net数据库开发M电子工业出版社.2002.14 丁宝康.数据库原理M.电子工业出版社.2000.35 飞思科技.net开发者手册M.电子工业出版社.2005.126 米旭.软件工程J.大连理工大学出版社.2003.87 奚江华.圣殿祭司的ASP.NET 2.0开发详解使用C#.北京:电子工业出版社,2006第 16 页 共 16 页