当前位置:文档之家› 在线新闻发布系统

在线新闻发布系统

在线新闻发布系统学院:软件学院专业:网络工程学号:***********姓名:***目录一、引论 (3)1.1项目背景及意义 (3)1.2.创新难点 (3)二、背景........................................................................................ 错误!未定义书签。

2.1.应用背景........................................................................... 错误!未定义书签。

2.2.技术背景 (4)2.2.1.开发环境 (4)三、需求分析 (5)3.1.功能性需求 (5)3.2系统流程图 (8)3.1.非功能性需求 (8)四、系统设计 (9)4.1设计原则 (9)4.2架构设计 (9)4.3开发和运行环境 (10)五、数据库设计 (10)5.1数据库表结构 (10)5.2数据库关系E-R模型图 (12)六、详细设计与实现 (12)6.1网站前台设计与实现 (12)6.1.1网站前台运行结果 (13)6.1.2前台功能描述 (14)6.1.3前台代码设计 (15)6.2网站后台设计与实现 (20)6.1.1网站后台运行结果 (20)6.1.2后台功能描述 (22)6.1.3后台代码设计 (23)6.3系统的优点与不足 (28)七、总结 (29)参考文献 (29)一、引论1.1项目背景及意义目前的信息传输技术的实时性、安全性和可靠性已经发展的相对成熟,像光纤非常强大以至于你可以迅速地从全球获取信息,它可以几乎实时地传送大量的信息。

Internet上有丰富的信息资源,人们可以通过Internet方便的寻求各种各样的信息。

随着网络技术的发展,网民越来越多,人们在连入Internet后有一半的时间都在和Web打交道,浏览网页获取信息等。

因此利用网络技术将稿件实时的传输至读者面前是可行也是必要的。

1.2创新难点新闻发布系统后台对新闻作了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻网时分类查看新闻信息的要求,同时会员可对有兴趣的新闻进行评论。

新闻网后台则通过对总管理员设置和管理员添加等模块对网站管理员进行管理,保证了网站的安全性。

二、背景2.1应用背景现在新闻行业大都实现了稿件以及排版的电子化,在现有技术的基础上实现稿件传输以及Web页面排版的自动化和规律化是可行的。

2.2技术背景2.2.1开发环境开发环境所用到的服务器是IIS,所用的技术是、C#、javascript,数据库为access。

为什么此次系统要应,因为是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。

相比较ASP,ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。

允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NET Framework。

ASP是解释运行的编程框架,所以执行效率加较低。

是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。

ASP把界面设计和程序设计混在一起,维护和重用困难。

把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。

与以前的 Web 开发模型相比, 提供了数个重要的优点:(1)增强的性能。

(2)世界级的工具支持。

(3)威力和灵活性。

(4)简易性。

(5)可管理性。

(6)可缩放性和可用性。

(7)自定义性和扩展性。

(8)安全性。

三、需求分析3.1功能性需求本新闻发布系统提供了不同类型的新闻,如体育新闻、军事新闻、娱乐新闻等。

系统将用户分为两类,一是普通用户,二是管理员用户,普通用户可以浏览新闻、搜索新闻、留言。

管理员可以管理整个在线新闻发布系统,包括新闻分类管理(添加分类、删除分类和删除分类)、新闻信息管理(添加新闻、修改新闻和删除新闻)和管理员管理,还有留言管理,有权对留言进行隐藏或者发布。

以下是本系统模块结构图:图1.模块结构图●用户活动的基本过程:1. 对本站内的新闻进行浏览。

2. 对自己需要的新闻进行搜索阅读。

3. 留言●管理员活动的基本过程:1.进入用户管理界面。

2.管理管理员信息。

3.进入类别管理界面,进行类别管理,对类别进行相应的增加、删除、修改。

4.进入栏目管理界面,进行栏目管理,对栏目进行相应的增加、删除、修改。

5.进入新闻管理界面,进行新闻内容管理,对新闻进行相应的增加、删除、修改,对新闻进行分类并删除过期的新闻。

6.对留言进行管理,选择是否发布留言。

以下是本系统的用例图:图2.用例图3.2系统流程图图3.流程图3.3非功能性需求此在线新闻发布系统管理需要登录后台进行管理,后台登录需要输入账号及密码,这样非管理员就无法进入后台对此系统进行操作。

提高了系统的安全性。

四、系统设计4.1设计原则●页面模板化:将页面中的一些常用的部分模板化,如页面的头部、尾部等,这样在设计页面时,如果有重复的部分,只需要用现成的模板来拼装即可。

这样可以实现代码重用和全局的控制。

●后台和前台的独立:将后管理模板和前台新闻浏览模板独立起来,便于管理员管理和维护数据,也便于用户浏览。

同时,对用户的权限进行控制,可以增加系统的安全性。

4.2架构设计本在线新闻发布系统采用三层架构进行开发,以下是系统结构说明:文件/文件名说明Admin 后台管理文件Bin 应用程序所需可部署程序集Data 数据库文件ErrorPages 错误页Images 图片Admin.master 后台母版页Mainpage.master 前台母版页Web.config 配置文件图4.系统结构说明4.3开发和运行环境新闻发布系统的开发和运行需要以下软件平台的支持:●操作系统:Windows7 旗舰版●数据库:access●开发工具:Visual Studio 2013●Web服务器:IIS●浏览器: :Google Chrome五、数据库设计5.1数据库表结构本系统采用access数据库,一共有10张数据表。

Announce(公告信息表)表结构如下:字段名称数据类型ID 自动编号Title 文本Content 备注State 数字EditDate 日期/时间UserID 数字Articles(新闻信息表)表结构如下:字段名称数据类型ID 自动编号Title 文本Content 备注Level2ID 数字Level1(一级目录表)表结构如下:Level2(二级目录表)表结构如下:Users(后台管理员表)表结构如下:LMessage(留言用户信息表)表结构如下:5.2数据库关系E-R模型图图5. E-R图六、详细设计及实现6.1网站前台设计与实现6.1.1网站前台运行结果1)首页图6.网站前台首页2)阅读新闻图7.阅读新闻页3)新闻搜索图8.新闻搜索4)留言页图9.留言页6.1.2 前台功能描述1.新闻导航。

新闻分为军事新闻、社会新闻、体育新闻、科技新闻、财经新闻、娱乐新闻。

2.新闻分类显示及内容显示。

军事新闻分为:国内军事和国际军事。

娱乐新闻分为:影视娱乐、综艺娱乐和乐坛新闻。

体育新闻分为:足球、篮球和其他。

3.新闻搜索,可以通过关键字和内容来搜索新闻。

4.用户留言,用户留言需要填写个人信息。

6.1.3前台代码设计1)主界面代码母版页<title>vida news</title></head><body><form id="form1" runat="server" style="vertical-align: top; text-align: center;"> <div><table cellpadding="1" cellspacing="1" width="980px"><tr><td id="tdTitle" runat="server" align="left" class="SystemTitle">system title</td></tr><tr ><td class="TableTitle" id="tdMenu" runat="server"></td></tr><tr><td><asp:contentplaceholder id="ContentPlaceHolder1" runat="server"></asp:contentplaceholder><br /></td></tr><tr><td>&nbsp;</td></tr></table></div></form><p>public partial class MainPage : System.Web.UI.MasterPage{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){Initialize();}else{InitMenu();}}private void Initialize(){tdTitle.InnerText = SingleInitials.SystemTitle; //调用系统标题InitMenu();}private void InitMenu(){//menuList.Items.Clear();//menuList = SingleInitials.MenuList;tdMenu.Controls.Add(SingleInitials.MenuList);//for (int i = 0; i < menuTemp.Items.Count; )//{// menuList.Items.Add(menuTemp.Items[0]);//}}}主页面<br /><table cellpadding="2" cellspacing="0" width="100%"><tr><td id="tdLeft" runat="server" style="width:20%" valign="top"><uc2:Announce ID="Announce1" runat="server" /><br /><uc4:SearchSmall ID="SearchSmall1" runat="server" /><br /><uc1:ArticalList ID="alHot" runat="server" /></td><td id="tdRight" runat="server" style="width:80%" valign="top"> <table cellpadding="2" cellspacing="0" width="100%"><tr><td valign="top"><uc3:ShowImg ID="ShowImg1" runat="server" /></td><td valign="top"><uc1:ArticalList ID="alNewest" runat="server" /></td> </tr></table><hr style="width:80%" /><asp:DataList ID="DataList1" runat="server" Width="100%" OnItemDataBound="DataList1_ItemDataBound" SkinID="Level1"><ItemTemplate><uc1:ArticalList ID="alDetail" runat="server" /><br /></ItemTemplate><ItemStyle HorizontalAlign="Left" VerticalAlign="Top" /> </asp:DataList></td></tr></table><br /></asp:Content>public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){Initialize();}}private void Initialize(){//调用最近发布文章alNewest.ListTitle = "最新更新 @";alNewest.InitializeNewest();// 调用热点alHot.ListTitle = "热点排行 @";alHot.InitializeHotest(15, 0, 0);// 绑定第一级分类列表DataList1.DataSource = SWArtical.BusinessLogic.Level1.GetAllWithOrder();DataList1.DataBind();}protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e){if (e.Item.DataItem != null){DataRow dr = e.Item.DataItem as DataRow;if (dr != null){UserControls_ArticalList alDetail = e.Item.FindControl("alDetail") as UserControls_ArticalList;if (alDetail != null){// 初始化列表控件alDetail.ListTitle =dr[SWArtical.FrameWork.ColDefine.ColLevel1.Level1Name.ToString()].ToString();alDetail.InitializeLevel1(int.Parse( dr[SWArtical.FrameWork.ColDefine.ColLevel1.ID.ToSt ring()].ToString2)搜索栏目代码<hr /><div align="center"><table cellpadding="0" cellspacing="2" width="60%"><tr align="left"><td><asp:Label ID="lbTitle" runat="server"></asp:Label><asp:TextBox ID="txtTitle" runat="server" MaxLength="10"Width="80%"></asp:TextBox></td><td></td></tr><tr align="left"><td><asp:Label ID="lbContent" runat="server"></asp:Label><asp:TextBox ID="txtContent" runat="server" MaxLength="10" Width="80%"></asp:TextBox></td><td></td></tr><tr align="left"><td colspan="2" style="text-align: center; height: 24px;"><asp:Button ID="btnSearch" runat="server" Text="搜索" OnClick="btnSearch_Click" Width="70px" /></td></tr></table></div><uc1:ArticalPages ID="ArticalPages1" runat="server" /></asp:Content>public partial class Displays_Search : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){ArticalPages1.ListTitle = "文章搜索@";lbTitle.Text = "标题关键字";lbContent.Text = "内容关键字";btnSearch.Text = "搜索";string title = Request.Params["t"];string content = Request.Params["c"];txtContent.Text = string.IsNullOrEmpty(content) ? "" : content;txtTitle.Text = string.IsNullOrEmpty(title) ? "" : title;Search();}}private void Search(){ArticalPages1.InitializeTop(txtTitle.Text, txtContent.Text);}protected void btnSearch_Click(object sender, EventArgs e) {Search();}}6.2网站后台设计与实现6.2.1网站后台运行效果1)管理员登陆界面图10.管理员登陆2)后台主界面图11.后台主界面3)文章管理图12.文章管理界面4)一级目录管理图12.一级目录管理5)二级目录管理图13.二级目录管理6)添加新闻图14.添加新闻7)留言管理图15.留言管理8)管理员管理图16.管理员管理6.2.2 后台功能描述1.管理员登陆2.管理员添加、查看。

相关主题