新闻管理系统项目报告.docx
《新闻管理系统项目报告.docx》由会员分享,可在线阅读,更多相关《新闻管理系统项目报告.docx(23页珍藏版)》请在冰豆网上搜索。
![新闻管理系统项目报告.docx](https://file1.bdocx.com/fileroot1/2022-12/14/d3394e42-e5ea-48da-b8fe-f5e1298c4556/d3394e42-e5ea-48da-b8fe-f5e1298c45561.gif)
新闻管理系统项目报告
项目课程报告
课程名称:
WEB项目开发
项目名称:
管理系统
专业班级:
软件11301
学号:
1104030120
姓名:
秋实
1项目概要
1.1引言
Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点、人们更多的开始关注网络新闻。
由于互联网所容纳的信息量大、容丰富、信息及时、准确,更有相关信息的全面介绍与比较,大方便了人们的阅读,因此在短短几年的时间里,互联网便跻身于众多媒体之间,并具有相当一部分媒体人群。
1.2项目名称
《新闻管理系统》
1.3项目背景
新闻容丰富,涉及商业、工业、农业、银行、财政、教育、娱乐和信息等各个产业,信息量大,不仅有时事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特征,在全球网络化、信息化的今天,新闻有很大的发展空间。
2可行性研究报告
2.1概论
新闻管理系统运用.NET、数据库、和C#相关技术,本案通过对其相应的研究确定开发可行性及注意事项。
2.2可行性研究的前提
2.2.1项目的基本功能要求
通过相关调查,要求新闻具有以下功能:
(1)通过网络,浏览各行业新闻及相关信息;
(2)新闻分类显示相关信息;
(3)提供站新闻全面搜索功能;
(4)设置本站为首页和搜藏本站;
(5)支持其他的友情;
(6)为后台管理提供管理入口;
(7)后台编辑各行业新闻中心并且管理新闻信息。
2.2.2项目实现的目标
可以实现新闻的查询,新闻分类显示相关信息,支持其他的友情,后台编辑各行业新闻中心并且管理新闻信息。
2.2.3可行性分析
新闻发布系统后台管理对新闻做了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览器新闻时分类查看新闻信息的要求,前台提供查询新闻信息功能,方便浏览者查找相关的新闻信息。
新闻发布系统后台由管理员进行管理维护,保证了的安全性。
2.2.4保证可行性的主要因素
(1)经济可行性:
系统建设不需要很大的投入。
(2)运行上可行性:
本系统只是开发的一部分,所耗费的资源非常的小。
(3)从各种社会因素可行性分析:
可提高文件的利用率,提高效率更有利于网友的交流,会得到人们的一致同意的。
综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。
2.3程序业务流程图
图2.1程序业务流程图
2.4技术可行性分析
2.4.1系统的简要阐述
该系统分为的前台浏览和后台的新闻编辑。
2.4.2需用技术
.NET开发技术,C#程序设计语言,sqlserver数据库。
2.5结论意见
通过研究具备相关的开发条件,可以开发本项目。
开发过程中仍需进一步钻研、进取,结合所学知识综合运用,在实践中加深对知识的理解。
3需求规格说明书
3.1概论
新闻管理系统功能的实现需要相应的开发和运行环境,本案介绍该项目在开发和运行过程中所需要的准备工作和相关规格需求,以规该项目,保证功能的完整性。
3.2新闻概述
3.2.1项目目标
通过相关调查,要求新闻具有以下功能:
1).通过网络,浏览各行业新闻及相关信息;
2).新闻分类显示相关信息;
3).提供站新闻全面搜索功能;
4).设置本站为首页和搜藏本站;
5).支持其他的友情;
6).为后台管理提供管理入口;
7).后台编辑各行业新闻中心并且管理新闻信息。
3.2.2开发运行环境
系统开发环境:
MicrosoftVisualStudio2008
系统开发语言:
ASP.net+C#
运行平台:
WindowsXP
数据库:
SQLServer2008
Web服务器:
IIS
3.2.3系统规要求
(1)界面设计友好、美观。
(2)数据存储安全、可靠。
(3)信息分类清晰、准确。
(4)提供灵活、方便的权限设置功能,使整个系统的管理分工明确。
(5)具有易维护性和易操作性。
(6)能够进行文件上传及下载。
4概要设计说明书
新闻发布系统是一个功能完善的新闻类,由前台新闻浏览和后台新闻管理两大部分组成。
前台功能模块
该模块主要包括新闻分类、显示新闻详细信息、新闻信息查询、设置本站为首页和收藏本站、提供友情、提供后台登陆入口等功能。
后台功能模块
该模块主要包括后台系统管理员设置的密码修改、添加管理员、管理员信息设置、新闻类型管理、新闻详细类型管理、新闻信息管理、连接管理、后台安全退出等功能。
新闻发布系统前台功能模块图如图,如图3-1所示。
图3-1新闻发布系统前台功能结构图
新闻发布系统后台功能结构图,如图3-2所示。
图3-2新闻发布系统后台功能结构图
4.1模块说明
4.1.1前台功能模块
该模块主要包括新闻分类、显示新闻详细信息、新闻信息查询、设置本站为首页和收藏本站、提供友情、提供后台登陆入口等功能。
4.2.2后台功能模块
该模块主要包括后台系统管理员设置的密码修改、添加管理员、管理员信息设置、新闻类型管理、新闻详细类型管理、新闻信息管理、连接管理、后台安全退出等功能。
5详细设计说明书
本案主要介绍各个页面的主要控件及功能实现,通过实例展现出项目开发的详细过程。
文件组织结构图,如图5.1所示。
图5.1,文件组织结构图
5.1数据库设计
本系统采用sqlserver2008数据库系统,在该数据库中创建3个数据表,分别为用户信息表(tbuser)、新闻信息表(tbnews)、和友情连接表(tblink)。
Tbuser(用户信息表)
用户信息表主要用于保存管理员的基本信息,tbuser数据表的结构如表5.1所示。
表5-1用户信息表(tbuser)结构
字段名称
类型
长度
是否可为空
说明
ID
Int
4
否
主键
Name
Varchar
20
否
用户
Passwd
Varchar
50
否
用户密码
AddData
Datatime
8
否
添加时间
Tbnews(新闻信息表)
用户信息主要用于保存新闻的基本信息,Tbnews数据表的结构如表5-2所示。
表5-2新闻信息表(tbnews)结构
字段名称
类型
长度
是否可为空
说明
ID
Int
4
否
主键
Title
Varchar
50
否
新闻标题
Content
Text
16
否
新闻容
Style
Varchar
50
否
新闻类别
Type
Varchar
50
否
新闻围
IssuDate
Smalldatatime
8
否
新闻发布时间
Tblink(友情)
友情连接表(tblink)主要用于保存其它信息。
该表的结构如表5-3所示。
表5-3友情表(tblink)结构
字段名
数据结构
长度
主键否
描述
Id
Int
4
是
数据库流水号
Picpath
Varchar
50
描述
Linkname
Varchar
50
名称
Linkaddress
Varchar
50
地址
Adddate
Datatime
8
发布的日期
5.2代码封装技术
在开发时,如果实现某个功能的代码段需要在不同的网页多次应用。
可以考虑将代码写到公共类中,使用该功能时,在网页中直接调用即可,本系统中将代码封装到公共类commonclass中,代码如下。
publicSqlConnectionGetConnection()
{
stringmystr=ConfigurationManager.ConnectionStrings["Con"].ToString();
SqlConnectionmyconn=newSqlConnection(mystr);
returnmyconn;
}
publicDataSetGetDataSet(Stringsqlstr,StringTableName)
{
SqlConnectioncon=newSqlConnection();
con=GetConnection();
con.Open();
SqlDataAdaptermydapter=newSqlDataAdapter(sqlstr,con);
DataSetmyset=newDataSet();
mydapter.Fill(myset,TableName);
con.Close();
returnmyset;
}
publicvoidDBlind(stringstr,DataListDL)
{
CommonClasscommon=newCommonClass();
stringstrsql="selecttop5*fromtb_Newswherestyle='"+str+"'";
DataSetds=common.GetDataSet(strsql,"tb_News");
DL.DataSource=ds;
DL.DataBind();
}
}
5.3主页面设计
主页面是用户浏览各种新闻的主页面,可以方便用户的各种浏览要求,主页面如图5.3所示。
图5.3
5.4后台新闻管理模块设计
5.4.1后台登陆模块设计
前台任何页面底部都设置了后台登陆入口的超级。
后台登陆页面(login.aspx)中使用了验证技术,主要用来防止用户使用非法手段恶意登陆本站后台。
后台登陆模块运行结果如图5.4所示。
图5-4后台登陆模块
单击“登陆”按钮时,将会触发该按钮的click事件,该事件下,主要调用commanClass类的checkLogin方法,判断用户是否为合法用户,如果正确则跳转到后台页面,代码如下。
privateSqlConnectionLoginConn()
{
SqlConnectioncon=newSqlConnection("server=localhost;uid=sa;pwd=admin123;database=db_news");
returncon;
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
stringuserName=TextBox1.Text.Trim();
stringpasswd=TextBox2.Text.Trim();
stringcode=TextBox4.Text.Trim();
SqlConnectioncon=LoginConn();
con.Open();
//cc.GetConnection();
try
{
stringstr2="selectcount(*)fromtb_UserwhereName=NameandPassWord=PassWord";
SqlCommandcmd=newSqlCommand(str2,con);
cmd.Parameters.Add("Name",SqlDbType.VarChar,50);
cmd.Parameters["Name"].Value=userName;
cmd.Parameters.Add("PassWord",SqlDbType.VarChar,50);
cmd.Parameters["PassWord"].Value=FormsAuthentication.HashPasswordForStoringInConfigFile(passwd,"MD5");
intcount=Convert.ToInt16(cmd.ExecuteScalar());
if(count>0&&Session["checkCode"].ToString()==code)
{
this.TextBox4.Text="";
Session["_Login"]="true";
//stringstr3="insertintoregister_logvalues('"+userName+"','"+System.DateTime.Now.ToString()+"')";
//cmd.Connection=con;
//cmd.CommandText=str3;
//cmd.ExecuteNonQuery();
Response.Redirect("ShowNews.aspx");
}
else
{
Response.Write("");
}
}
catch
{
Response.Write("");
}
finally
{
con.Close();
}
}
5.4.2新闻添加功能模块设计
用户进入图5-5所示的后台管理首页后,单击菜单栏中任一新闻类别(如:
时政要闻)下的“添加”按钮,都会进入图5-6的新闻添加界面,在该界面中,用户可以添加新闻的详细信息。
图5-5后台管理界面
图5-6新闻添加界面
在page_lode事件中,调用commonclass类中的getdataset方法,获取需要编辑的新闻信息,并将其显示出来,代码如下。
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
//调用CommonClass类中的GetDataSet获取数据集
DataSetds=CC.GetDataSet("select*fromtb_Newswhereid='"+Request.QueryString["id"]+"'","tbNews");
DataRow[]row=ds.Tables["tbNews"].Select();
foreach(DataRowrsinrow)
{
//显示编辑的新闻类别名
this.txtNewsTitle.Text=rs["title"].ToString();
//显示编辑的新闻容
this.txtNewsContent.Text=rs["content"].ToString();
//显示编辑的新闻标题
this.labTitle.Text=rs["Style"].ToString();
//显示编辑的新闻类型
switch(rs["type"].ToString())
{
case"国新闻":
this.ddlNewsType.SelectedIndex=1;
break;
case"国际新闻":
this.ddlNewsType.SelectedIndex=0;
break;
default:
break;
}
}
}
}
protectedvoidbtnSave_Click(objectsender,EventArgse)
{
CC.ExecSQL("UPDATEtb_NewsSETTitle='"+this.txtNewsTitle.Text+"',Content='"+this.txtNewsContent.Text+"',Style='"+this.labTitle.Text.Trim()+"',Type='"+this.ddlNewsType.SelectedValue.ToString()+"'WHERE(ID='"+Request.QueryString["id"]+"')");
Response.Write(CC.MessageBox("数据修改成功!
","list.aspx"));
}
protectedvoidbtnReset_Click(objectsender,EventArgse)
{
this.txtNewsTitle.Text="";
this.txtNewsContent.Text="";
}
}
5.4.3新闻类别页
在用户点击站导航条中的任意新闻类别,都会跳转到新闻类别页(newlist.aspx),该页的运行结果如图5-7所示。
图5-7新闻类别页
在自定义bind方法中,首先使用switch语句,获取新闻类别名,其次调用commonclass类的getdatdaset方法查询新闻信息,并将其绑定到datalist空间上,让后使用pagedatasource类实现datalist空间的分页功能,其代码如下。
protectedvoidbind()
{
intn=Convert.ToInt32(Request.QueryString["id"]);
switch(n)
{
case1:
mystyle="时政要闻";
this.LabelTitle.Text="新闻中心->时政要闻";
this.Image2.ImageUrl="~/Images/时政要闻图片.jpg";
this.Image1.ImageUrl="~/Images/二级页时政要闻.jpg";
break;
case2:
mystyle="经济动向";
this.LabelTitle.Text="新闻中心->经济动向";
this.Image2.ImageUrl="~/Images/经济动向图片.jpg";
this.Image1.ImageUrl="~/Images/二级页经济动向.jpg";
break;
case3:
mystyle="世界军事";
this.LabelTitle.Text="新闻中心->世界军事";
this.Image2.ImageUrl="~/Images/世界军事图片.jpg";
this.Image1.ImageUrl="~/Images/二级页世界军事.jpg";
break;
case4:
mystyle="科学教育";
this.LabelTitle.Text="新闻中心->科学教育";
this.Image2.ImageUrl="~/Images/科学教育图片.jpg";
this.Image1.ImageUrl="~/Images/二级页科学教育.jpg";
break;
case5:
mystyle="体育世界";
this.LabelTitle.Text="新闻中心->体育世界";
this.Image2.ImageUrl="~/Images/体育世界图片.jpg";
this.Image1.ImageUrl="~/Images/二级页体育世界.jpg";
break;
case6:
mystyle="法治道德";
this.LabelTitle.Text="新闻中心->法制道德";
this.Image2.ImageUrl="~/Images/法制道德图片.jpg";
this.Image1.ImageUrl="~/Images/二级页法制道德.jpg";
break;
case7:
mystyle="时尚娱乐";
this.LabelTitle.Text="新闻中心->时尚娱乐";
this.Image2.ImageUrl="~/Images/时尚娱乐图片.jpg";
this.Image1.ImageUrl="~/Images/二级页时尚娱乐.jpg";
break;
case8:
mystyle="社会现象";
this.LabelTitle.Text="新闻中心->法制道德";
this.Image2.ImageUrl="~/Images/法制道德图片.jpg";
this.Image1.ImageUrl="~/Images/二级页法制道德.jpg";
break;
}
intcurpage=Convert.ToInt32(this.LabelPage.Text);
PagedDataSourcemyps=newPagedDataSource();
//stringstr="select*fromtb_Newswherestyle='"+mystyle+"'orderbyissueDateDesc";
//DataSetmydset=newDataSet();
//mydset=CC.GetDataSet("select*fromtb_Newswherestyle='"+mystyle+"'orderbyissueDateDesc","tb_News");
DataSetmydset=CC.GetDataSet("select*fromtb_Newswherestyle='"+mystyle+"'orderbyissueDateDesc","tb_News");
myps.DataSource=mydset.Tables["tb_News"].DefaultView;
myps.AllowPaging=true;
myps.PageSize=3;
myps.CurrentPageIndex=curpage-1;
this.lnkbtnOne.Enabled=true;
this.lnkbtnUp.Enabled=true;
this.lnkbtnNext.Enabled=true;
this.lnkbnBack.Enabled=true;
if(curpage==1)
{
this.lnkbnBack.Enabled=false;
this.lnkbtnOne.Enabled=false;
}
if(curpage==myps.DataSourceCount)
{
this.lnkbtnUp.Enabled=false;
this.lnkbtnNext.Enabled=false;
}
this.Label6.Text=Convert.ToString(myps.PageCount);
this.DataList1.DataSource=myps;
this.DataList1.DataKeyField="i