校园新闻管理系统的设计与开发.docx
《校园新闻管理系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《校园新闻管理系统的设计与开发.docx(63页珍藏版)》请在冰豆网上搜索。
![校园新闻管理系统的设计与开发.docx](https://file1.bdocx.com/fileroot1/2023-3/30/7f293d86-44a8-4d2e-8e45-e3b3ae8ca4fe/7f293d86-44a8-4d2e-8e45-e3b3ae8ca4fe1.gif)
校园新闻管理系统的设计与开发
理工类
本科生毕业设计(论文)
(2014届)
题目:
校园新闻管理系统的设计与开发
学院:
数理与信息工程学院
专业:
计算机科学与技术(师范)
学生姓名:
学号:
09788793
指导教师:
蔡平职称:
教授
合作导师:
职称:
完成时间:
2014年04月30日
成绩:
浙江师范大学本科毕业设计(论文)正文
校园新闻管理系统的设计与开发
数理与信息工程学院计算机科学与技术专业方鑫平(05190123)
指导老师:
蔡秀珊(教授)
摘要:
随着网络技术的日益发展,新闻的发布和管理也不再以传统的方式进行,越来越多的学校愿意将自己的信息以数字化、网络化的形式传递出去。
这样不但扩大了信息传递的范围,而且使通讯变得既方便又快捷。
校园新闻管理系统作为学校管理的重要组成部分得到迅速发展。
本系统以ASP.NET(C#语言)和ADO.NET技术开发,以SQLSERVER2000作为后台数据库实现了新闻的动态显示和管理,使得对信息的管理维护更加及时、高效。
ASP.NET的技术的应用,不仅极大的缩短了开发周期,提高了工作效率,更有助于提高学校的影响力。
本系统主要实现新闻的发布和管理功能,因此涉及到前台新闻的浏览和后台新闻的管理。
前台新闻显示模块主要分为最热门新闻、搜索新闻、最近发布新闻以及按分类显示新闻。
后台管理模块主要分为新闻、分类、用户的管理模块,主要实现对新闻、分类、用户的添加、删除、修改的功能。
关键词:
管理系统;ASP.NET;SQLSERVER;新闻管理;B/S模式
DesignandDevelopmentofCampusNewsManagementSystem
Name:
FangxinpingDirector:
Caixiushan
(Dept.ofComputerScience&Engineering,ZhejiangNormalUniversity)
Abstract:
Withthedevelopmentoftheinternettechnology,thenewspressreleasesandmanagementdon'tissuebythetraditionalway.Agrowingnumberofschoolsarewillingtolettheirinformationindigitalandnetworktechnologywaystotheworld.Itisnotonlyexpandedthescopeofthetransmissionofinformation,butalsohavethecommunicationbecomeveryconvenientandfast.Thesystemofthenewsmanagementsystemnowisanimportantpartoftheschools.Soithasbecomeaninevitabledevelopment.ASP.NET(C#Language)andADO.NETtechnologyareservedasthedevelopmenttools,SQLServer2000asthedatabasetoachievethenewsmanagementanddynamicdisplay.Itmakesthemanagementofinformationmoretimely,efficiently.ASP.NETtechnologynotonlygreatlyshortensthedevelopmentcycleandimprovestheworkefficiency,butalsohelpsschoolstoenhancetheirinfluence.Thesystemmainlyconsistsofnewsreleasesandmanagement,whichinvolvesthenewsofbrowsingandthenewsmanagement.Thenewsofbrowsingmoduleconsistsofthemostpopularnews,headlinenews,searchingnews,recentlyreleasednewsandnewsrevealedbyclassification.Thenewsmanagementmoduleconsistsofnews,classificationandusersmanagement.Andithasthefollowingmainfunctionssuchasadding,deletingandcorrectingthenewsinformation.
KeyWords:
managementsystem;;sqlserver;newsmanagement;b/smode
1引言
ASP.NET是微软公司最新推出的一种统一Web开发平台,与最新的数据访问技术ADO.NET一起可构建出强大、安全和可靠的企业级Web应用程序。
ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。
采取了ASP.NET技术的系统在性能上有了很大的改善,主要表现在以下几方面:
●由于ASP页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,直到该页面被修改或Web应用程序重新启动。
这使得在多次访问时速度有了极大的提升;
●由于ASP没有提供任何输出数据为内容的元件,所以在使用ASP撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系;
●ASP.NET支持应用程序的实时更新,管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
应用程序文件永远不会被加锁,因此甚至在程序运行时文件就可以被覆盖,当文件更新后,系统会温和地转换到新的版本;
●ASP.NET采取"CodeBehind(代码分离)技术"方式编写代码使得代码更易于编写,结构更清晰,降低了系统开发与维护的复杂度和费用。
.1选题背景和意义
随着网络技术的高速发展与普及,计算机在各个领域中都发挥着重要的作用。
为了更好的适应中小学的自身的发展,校园网站的开发也显得越来越重要。
现在很多乡村中小学都没有自己的校园新闻发布系统,学校的管理工作繁琐且效率低;或者还在使用多年以前的静态网站,网站维护人员的工作量很大。
ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。
与以前的Web开发模型相比,ASP.NET具有数个重要的优点:
增强的性能、世界级的工具支持、威力和灵活性、简易性、可管理性、可缩放性和可用性、自定义性和扩展性、安全性。
基于.NET的校园新闻发布系统是对学生提供及时信息的有效媒体,利用该系统发布最新动态,与校内外用户做好交互工作,方便简洁且效率高。
.NET采用特殊的方式编译和执行程序,对执行效率的影响几乎可以忽略。
新闻发布及管理在校园中具有广泛的应用,随着时代的进步,信息的社会化,学校作为教育的前沿地带,研究和开发学校新闻发布系统,有着重要的意义。
1.2国内外研究现状、发展动态
在传统的校园新闻发布系统中,其过程往往是很复杂的,管理维护人员的工作量较大,使用较为不便。
常见的新闻发布系统有两种技术。
一类是静态页面,使用HTML,这种方式速度很快,但是由于静态页面的灵活性较差,且仅是一个消息公布平台,无法与用户进行交互,整体的管理上比较繁琐,因此已经渐渐淘汰。
另一类是动态页面,如基于ASP,有数据库,页面里只是写代码,内容保存在数据库里,更新方便,易操作。
但由于ASP技术本身的局限性使得系统有一些不可克服的缺陷。
新闻发布系统,在国内外早已有着成熟的研究成果和广泛的社会应用。
国内众多大型门户网站,如网易,新浪,搜狐等,每天甚至时刻进行海量信息的维护,以保持网站内容及时更新,内容管理系统,起着绝对重要的作用,是当今动态网站内容更新的主要手段,国外更是如此。
动态新闻发布系统拥有强大的编、审、发的信息发布流程;灵活的管理流程;信息属性;模版功能;插入式的动态资源。
多栏目:
可根据需要建立数个新闻栏目。
自动列出相关新闻:
程序将自动将相关连的新闻显示出来,方便浏览者。
在教育领域,及时,准确的信息发布,使同学们方便的获取学校最新信息,而基于.Net的校园新闻信息发布系统则是现代网络教育不可缺少的一部份。
其中论坛也是新闻发布系统的重要组成部分,它可以让不同地方,不同爱好的网友在线同步交流。
存在的问题
数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。
这着重从SQL应用、数据库设计范式和查询优化等方面来分析系统关键技术和实现难点并加以解决。
拟解决的关键问题一:
数据的安全性问题。
网站为了防止用户利用机器人自动注册、登录、灌水,系统将采用验证码技术。
此外,为防止SQL注入式攻击,系统在动态生成SQL命令时对用户输入的数据进行验证,过滤特殊的字符及字符串。
拟解决的关键问题二:
用户的权限问题。
为不同用户设置不同权限,系统管理员与校园新闻发布者的权限分清。
2开发技术介绍
ASP.NET、ADO.NET技术简介
ASP.NET结构是一个三层系统:
UI层、业务逻辑层和数据层,结构模型如图2-1所示:
图2-1ASP.NET的结构模型
●UI层负责与用户交互,接收用户的输入并将服务器端传来的数据呈现给客户;
●业务逻辑层负责接收浏览器传来的请求并将请求传给数据层,同时将请求处理结果发给浏览器。
它由Web表单、XML WebServices和组件服务组成,其中Web表单是ASP.NET应用程序的核心所在,它是向客户呈现数据和信息的基础,也是响应和处理客户与显示的Web表单交互生成的信息和数据的基础;
●数据层是通过ADO.NET操纵数据为事务逻辑层提供数据服务,如存储数据操作结果、返回数据检索结果等。
ADO.NET提供对MicrosoftSQLServer、OLEDB和XML公开的数据源的一致性访问,数据共享用户应用程序可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
ADO.NET有两个核心组件:
DataSet和.NETFramework数据提供程序,后者是一组包括Connection、Command、DataReader和DataAdapter4个对象在内的组件,其组件结构如图2-2所示:
图2-2ADO.NET的组件结构图示
DataSet对象是ADO.NET的断开式结构的核心组件,实现独立于任何数据源的数据访问。
Connection对象提供与数据源的连接,是操作数据库的基础,表示应用程序和数据源之间的唯一会话。
Command对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令,实现对数据源的操作,如查询、插入、修改和删除等。
DataReader对象从数据源中读取只进且只读的数据流。
DataAdapter对象是DataSet对象和数据源之间关联的桥梁,用数据源填充DataSet并解析更新。
设计ADO.NET组件的目的是为了从“数据操作”中分解出“数据访问”。
.NETFramework框架概述
.NETFramework是用于.NET平台的编程模型,其关键组件是公共语言运行库(CLR,CommonLanguageRuntime)和.NETFramework类库(包括ADO.NET、ASP.NET和Windows窗体),它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成,是支持生成和运行下一代应用程序和XMLWebservices的内部Windows组件。
.NETFramework旨在实现下列目标:
提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的;
提供一个将软件部署和版本控制冲突最小化的代码执行环境;
提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境;
提供一个可消除脚本环境或解释环境的性能问题的代码执行环境;
使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致;
按照工业标准生成所有通信,以确保基于.NETFramework的代码可与任何其他代码集成。
公共语言运行库是.NETFramework的基础,可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。
事实上,代码管理的概念是运行库的基本原则。
以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。
.NETFramework类库是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创建的应用程序(如Web窗体和XMLWebServices)。
C#语言简介
C#语言是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言。
C#是面向对象的语言。
在C#中,每一个元素都是对象,例如一些原始类型(变量、数据类型等)。
程序员可以随时调用对象提供的方法和成员。
C#是由C和C++派生而来的一种“简单、流行、面向对象、类型安全”的程序设计语言,C#意在综合VisualBasic的高效率和C++的强大功能。
C#从C和C++继承的特点:
编译:
程序直接编译成标准的二进制可执行形式.但C#的源程序并不是被编译成二进制可执行形式,而是一种中间语言,类似于JAVA字节码。
如果前面的HelloWorld程序被保存成一个文本文件并被命名为Hello.cs,它将被编译成命名Hello.exe的可执行程序。
结构体:
一个C#的结构体与C++的结构体是相似的,因为它能够包含数据声明和方法。
但是,不象C++,C#结构体与类是不同的而且不支持继承。
但是,与Java相同的是,一个结构体可以实现接口。
预编译:
C#中存在预编译指令支持条件编译,警告,错误报告和编译行控制。
2.4系统开发中的关键技术
本系统开发中用到了模板页(即MasterPage),其实是一种模板,通过它可以快速的建立相同页面布局而内部不同的网页,如果一个网站有多个MasterPage,那么新建aspx文件的时候就可以选择需要实现页面布局的MasterPage。
另外,在没有使用MasterPage之前,如果N个相同的页面布局需要改动成另外一个样式,那么就要做很多无聊而又不得不做的工作,对N个页面进行一一更改,如果使用了MasterPage,只要改动一个页面也就是MasterPage文件就可以了。
还有,要部署的web程序越来越大,使用MasterPage在一定程度上会减小web程序的大小,因为所有的重复的html标记都只有一个版本。
另一个技术点是用户控件的使用。
aspx是页面文件,ascx是用户控件,用户控件必须嵌入到aspx中才能使用,相当于模板,其实ascx可以理解为Html里的一部分代码,只是嵌到aspx里而已,因为aspx内容多的时候不太好管理,而且把公共的Html部分写成ascx也可以公用在很多aspx里,如Web页的下面注释部分。
创建标记前缀和自定义控件之间的关联,为开发人员提供了一种在ASP.NET应用程序文件(包括网页、用户控件和母版页)中引用自定义控件的简明方法。
<%@Registertagprefix="tagprefix"namespace="namespace"assembly="assembly"%>
<%@Registertagprefix="tagprefix"namespace="namespace"%>
<%@Registertagprefix="tagprefix"tagname="tagname"src="pathname"%>
其中tagprefix,namespace,assembly,tagname,src的意思分别是标签前缀,命名空间(即类,或则类库),标签名字,源文件地址,其在aspx文件中的使用如下:
1.<%@Registertagprefix="tagprefix"tagname="tagname"src="pathname"%>
Loginid="MyLogin"UserId=""runat="server"/>
其中acme就是tagprefix,Login就是tagname,UserId就是pathname文件中的成员(可以是变量,也可以是函数)
2.<%@Registertagprefix="tagprefix"namespace="namespace"assembly="assembly"%><%@RegisterTagPrefix="cc1"Namespace="WebValidates"Assembly="WebValidates"%>
3系统总体设计
3.1主要功能设计
系统的主要功能是通过以下六个功能模块来实现的。
具体的设计过程如下:
<1>系统登录:
该模块负责将用户分为普通用户和注册用户来实现用户权限的管理。
<2>新闻浏览:
该模块负责分页列出网站所有新闻的信息,包括标题、类型、来源部门字段及发布日期,每条新闻的标题被做成一个超链接,点击它们就能跳转页面进行新闻阅读。
<3>新闻阅读:
在其他页面中点击标题链接即进入新闻阅读页面,此时,每条新闻的详细信息将被取出,包括内容、标题、关键字等,并按照相对固定的格式放置在页面的不同区域,所有新闻使用大致相同的页面布局,只是各字段对应的内容不同而已,另外,页面其它位置,可以动态放置其他元件,如网站标志logo、页面广告banner等链接图片,这样可以很容易地实现图文并茂的阅读效果。
<4>新闻查询:
该模块提供了新闻查询功能,输入待查找的内容及选定分类信息可以快速地找到符合条件的新闻,并输出查询结果。
<5>新闻管理:
该模块负责分页罗列登录的注册用户曾发布过且未删除的新闻信息,用户可以对该条新闻进行删除、修改。
非新闻发布者除系统管理员外不具有对该条新闻的处理权限,所以不同用户进入此页面将显示不同的内容。
<6>新闻录入和修改:
注册用户录入一条新闻所需要的内容,包含标题、关键字、类型、来源部门、发布日期等,同时从登录模块得到用户名,这些信息将被写入数据库中保存。
该模块还负责编辑状态下的更新,这时,它将根据取得的Title字段值对页面控件初始化。
3.2系统模块设计
根据以上功能设计,校园新闻管理系统分为后台新闻管理和前台新闻显示两部分。
后台新闻管理部分包括新闻管理模块、新闻分类管理模块、新闻评论管理模块、系统用户管理模块和友情链接管理模块。
前台新闻显示部分包括新闻显示模块、新闻评论模块、用户登陆模块。
<1>新闻管理模块
主要功能:
搜索新闻、添加新闻、删除新闻、查看新闻、修改新闻
<2>新闻审核模块
主要功能:
查看新闻、新闻审核
<3>新闻评论管理模块
主要功能:
搜索新闻评论、查看评论信息、删除评论(可批量删除)
<4>新闻分类管理模块
主要功能:
查看分类、添加分类、删除分类、修改分类
<5>系统用户管理模块
主要功能:
用户管理、删除用户、添加用户、查看用户、修改用户
<6>友情链接管理模块
主要功能:
查看链接、添加链接、删除链接、修改链接
<7>新闻显示模块、新闻评论模块
主要功能:
新闻浏览、新闻查询、新闻评论
<8>用户登陆模块
主要功能:
用户登陆(不同角色)
3.3功能模块划分
校园新闻管理系统的总体功能模块如图3-1所示,通过此图可以清晰地了解本系统具有的功能以及功能模块之间的关系。
图3-1校园新闻管理系统功能模块示意图
为了更清晰地表现出需求的细节,根据功能概述和模块的划分系统流程图。
图3-2为新闻浏览者浏览新闻的流程图。
图3-2新闻浏览者浏览新闻流程图
工作流程为:
打开该系统网站,普通浏览者能浏览、阅读和搜索新闻,并且可以对现有新闻进行评。
能进行注册,注册后为新闻输入员,登录后,只有添加新闻和修改用户信息的权限;如为系统管理员,其有新闻后台管理区内的所有权限,除具有新闻录入员所有的权限外,还有管理现有新闻、审核最新新闻、管理新闻评论、添加和管理新闻分类、添加和管理用户、添加和管理友情链接设置。
在添加新闻时,除常规的添加新闻标题、新闻内容、新闻作者和新闻简介外,还可选择是否为首页新闻、是否为推荐新闻和是否在首页滚动图片(上传图片)等,对新闻内容的字体、字号和字体颜色可以调整,类似Word的一些简单的编辑功能,还可设置超链接和插入表格等。
如添加新闻者为新闻输入员,其所添加的新闻需要系统管理员经审核后才能发布到网上;如是管理员添加新闻的话,不需要再经谁审核,直接可以发布到网上。
管理新闻功能包括对任一条新闻内容可作相应修改,也可删除任何一条不再需要保留的新闻。
新闻分类管理包括对新闻分类名称作修改,也可将任一分类名删除,删除后其分类下的所有新闻也将被删除;同时也可以设置新闻类别是否显示,当选择不显示时,首页不出现该类目,但其分类下所有新闻仍保留在数据库中。
添加用户时,用户等级可为管理员或者普通用户之一,管理用户包括修改用户名、密码和用户等级,也可将任一用户删除。
友情链接主要是以文字的形式链接到其它网站。
系统的详细功能模块图如3-3所示:
图3-3系统详细功能模块图示
4数据库设计
4.1数据库的基本结构
数据库的基本结构分三个层次,反映了观察数据库的三种不同角度。
(1)物理数据层。
它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。
这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。
(2)概念数据层。
它是数据库的中间一层,是数据库的整体逻辑表示。
指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。
它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
(3)逻辑数据层。
它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
数据库不同层次之间的联系是通过映射进行转换的。
4.2数据库表设计
本系统使