在线新闻发布系统.docx
《在线新闻发布系统.docx》由会员分享,可在线阅读,更多相关《在线新闻发布系统.docx(30页珍藏版)》请在冰豆网上搜索。
在线新闻发布系统
在线新闻发布系统
学院:
软件学院
专业:
网络工程
学号:
20121120222
姓名:
杨伟亮
3
3...
、引论
1.1项目背景及意义
二、背景
错...误!
未定义书签。
2.1.应用背景
错..误!
未定义书签。
2.2.技术背景
..4...
2.2.1.开发环境
.4...
三、需求分析
..5...
3.1.功能性需求
..5...
3.2系统流程图
..8...
3.1.非功能性需求
.8...
.9...
.9...
.9...
四、系统设计
4.1设计原则
4.2架构设计
4.3开发和运行环境1..0.
五、数据库设计1..0.
5.1数据库表结构1..0.
5.2数据库关系E-R模型图1..2.
六、详细设计与实现1..2.
6.1网站前台设计与实现1..2
6.1.1网站前台运行结果1..3
6.1.2前台功能描述1..4
6.1.3前台代码设计1..5
6.2网站后台设计与实现2..0
6.1.1网站后台运行结果2..0
6.1.2后台功能描述2..2
6.1.3后台代码设计2..3
6.3系统的优点与不足2..8
七、总结2..9..
参考文献2..9..
引论
1.1项目背景及意义目前的信息传输技术的实时性、安全性和可靠性已经发展的相对成熟,像光纤非常强大以至于你可以迅速地从全球获取信息,它可以几乎实时地传送大量的信息。
Internet上有丰富的信息资源,人们可以通过Internet方便的寻求各种各样的信息。
随着网络技术的发展,网民越来越多,人们在连入Internet后有一半的时间都在和Web打交道,浏览网页获取信息等。
因此利用网络技术将稿件实时的传输至读者面前是可行也是必要的。
1.2创新难点新闻发布系统后台对新闻作了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览新闻网时分类查看新闻信息的要求,同时会员可对有兴趣的新闻进行评论。
新闻网后台则通过对总管理员设置和管理员添加等模块对网站管理员进行管理,保证了网站的安全性。
二、背景
2.1应用背景
现在新闻行业大都实现了稿件以及排版的电子化,在现有技术的基础上实现稿件传输以及Web页面排版的自动化和规律化是可行的。
2.2技术背景
2.2.1开发环境
开发环境所用到的服务器是IIS,所用的技术是ASP.NET、C#、javascript,数据库为access。
为什么此次系统要应ASP.NET,因为ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。
相比较ASP,ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。
ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜加巨大的.NETFramework。
ASP是解释运行的编程框架,所以执行效率加较低。
ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。
ASP把界面设计和程序设计混在一起,维护和重用困难。
ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。
与以前的Web开发模型相比,ASP.NET
提供了数个重要的优点:
(1)增强的性能。
(2)世界级的工具支持。
(3)威力和灵活性。
(4)简易性。
(5)可管理性。
(6)可缩放性和可用性。
(7)自定义性和扩展性。
(8)安全性。
三、需求分析
3.1功能性需求
本新闻发布系统提供了不同类型的新闻,如体育新闻、军事新闻、娱乐新闻等。
系统将用户分为两类,一是普通用户,二是管理员用户,普通用户可以浏览新闻、搜索新闻、留言。
管理员可以管理整个在线新闻发布系统,包括新闻分类管理(添加分类、删除分类和删除分类)、新闻信息管理(添加新闻、修改新闻和删除新闻)和管理员管理,还有留言管理,有权对留言进行隐藏或者发布。
以下是本系统模块结构图:
图1.模块结构图
用户活动的基本过程:
1.对本站内的新闻进行浏览。
2.对自己需要的新闻进行搜索阅读。
3.留言
管理员活动的基本过程:
1.进入用户管理界面。
2.管理管理员信息。
3.进入类别管理界面,进行类别管理,对类别进行相应的增加、
删除、修改。
4.进入栏目管理界面,进行栏目管理,对栏目进行相应的增加、删除、修改。
5.进入新闻管理界面,进行新闻内容管理,对新闻进行相应的增加、删除、修改,对新闻进行分类并删除过期的新闻。
6.对留言进行管理,选择是否发布留言。
以下是本系统的用例图:
3.2系统流程图
3.3非功能性需求
此在线新闻发布系统管理需要登录后台进行管理,后台登录需要输入账号及密码,这样非管理员就无法进入后台对此系统进行操作。
提高了系统的安全性。
四、系统设计
4.1设计原则
页面模板化:
将页面中的一些常用的部分模板化,如页
面的头部、尾部等,这样在设计页面时,如果有重复的
部分,只需要用现成的模板来拼装即可。
这样可以实现代码重用和全局的控制。
后台和前台的独立:
将后管理模板和前台新闻浏览模板
独立起来,便于管理员管理和维护数据,也便于用户浏
览。
同时,对用户的权限进行控制,可以增加系统的安全性。
4.2架构设计
本在线新闻发布系统采用ASP.NET三层架构进行开发,以
下是系统结构说明:
文件/文件名
说明
Admin
后台管理文件
Bin
应用程序所需可部署程序集
Data
数据库文件
ErrorPages
错误页
Images
图片
Admin.master
后台母版页
Mainpage.master
前台母版页
Web.config
配置文件
图4.系统结构说明
4.3开发和运行环境
新闻发布系统的开发和运行需要以下软件平台的支持:
操作系统:
Windows7旗舰版
数据库:
access
开发工具:
VisualStudio2013
Web服务器:
IIS
浏览器:
:
GoogleChrome
五、数据库设计
5.1数据库表结构
本系统采用access数据库,一共有10张数据表。
Announce(公告信息表)表结构如下:
字段名称
数据类型
ID
自动编号
Title
文本
Content
备注
State
数字
EditDate
日期/时间
UserID
数字
Articles(新闻信息表)表结构如下:
字段名称
数据类型
ID
自动编号
Title
文本
Content
备注
Level2ID
数字
ImageURL
文本
Hits
数字
EditDate
日期/时间
UserID
数字
State
数字
Level1(一级目录表)表结构如下:
字段名称
数据类型
ID
自动编号
Level1Name
文本
ShowNo
数字
State
数字
EditDate
日期/时间
Level2(二级目录表)表结构如下:
字段名称
数据类型
ID
自动编号
Level2Name
文本
Leve1ID
数字
ShowNo
数字
State
数字
EditDate
日期/时间
Users(后台管理员表)表结构如下:
字段名称
数据类型
ID
自动编号
Title
文本
Content
备注
State
数字
EditDate
日期/时间
UserID
数字
LMessage(留言用户信息表)表结构如下:
字段名称
数据类型
ID
自动编号
GuestName
文本
Email
文本
Message
备注
State
数字
EditDate
日期/时间
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)主界面代码
母版页
vidanewstop;text-align:
center;">
systemtitle
|
|
contentplaceholderid="ContentPlaceHolder1"runat="server">
contentplaceholder>
|
|
publicpartialclassMainPage:
System.Web.UI.MasterPage
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
Initialize();
}
else
{
InitMenu();
}
}
privatevoidInitialize()
{
tdTitle.InnerText=SingleInitials.SystemTitle;//调用系统标题
InitMenu();
}
privatevoidInitMenu()
{
//menuList.Items.Clear();
//menuList=SingleInitials.MenuList;
tdMenu.Controls.Add(SingleInitials.MenuList);
//for(inti=0;i//{
//menuList.Items.Add(menuTemp.Items[0]);
//}
}
}
主页面
20%"valign="top">AnnounceID="Announce1"runat="server"/>
SearchSmallID="SearchSmall1"runat="server"/>
ArticalListID="alHot"runat="server"/>
80%"valign="top">
ShowImgID="ShowImg1"runat="server"/>
ArticalListID="alNewest"runat="server"/>
|
80%"/>
DataListID="DataList1"runat="server"Width="100%"
OnItemDataBound="DataList1_ItemDataBound"SkinID="Level1">
ArticalListID="alDetail"runat="server"/>
DataList>
|
Content>publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
Initialize();
}
}
privatevoidInitialize()
{
//调用最近发布文章alNewest.ListTitle="最新更新@";alNewest.InitializeNewest();
//调用热点alHot.ListTitle="热点排行@";alHot.InitializeHotest(15,0,0);
//绑定第一级分类列表DataList1.DataSource=SWArtical.BusinessLogic.Level1.GetAllWithOrder();DataList1.DataBind();
}
protectedvoidDataList1_ItemDataBound(objectsender,DataListItemEventArgse)
{
if(e.Item.DataItem!
=null)
{
DataRowdr=e.Item.DataItemasDataRow;
if(dr!
=null){
UserControls_ArticalListalDetail=e.Item.FindControl("alDetail")asUserControls_ArticalList;
if(alDetail!
=null){
//初始化列表控件alDetail.ListTitle=dr[SWArtical.FrameWork.ColDefine.ColLevel1.Level1Name.ToString()].ToString();
alDetail.InitializeLevel1(int.Parse(dr[SWArtical.FrameWork.ColDefine.ColLevel1.ID.ToString()].ToString
2)搜索栏目代码
LabelID="lbTitle"runat="server">
Label>TextBoxID="txtTitle"runat="server"MaxLength="10"Width="80%"> TextBox> | |
LabelID="lbContent"runat="server">
Label>TextBoxID="txtContent"runat="server"MaxLength="10"Width="80%"> TextBox> | |
center;height:
24px;">ButtonID="btnSearch"runat="server"Text="搜索"OnClick="btnSearch_Click"Width="70px"/>