新闻发布系统的设计和实现.docx
- 文档编号:23123321
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:43
- 大小:2.06MB
新闻发布系统的设计和实现.docx
《新闻发布系统的设计和实现.docx》由会员分享,可在线阅读,更多相关《新闻发布系统的设计和实现.docx(43页珍藏版)》请在冰豆网上搜索。
新闻发布系统的设计和实现
1.引言
多年来,Internet高速发展带动了整个世界新闻传输速度,我们每一刻全部能够从网络上知晓世界上发生事情。
电脑普及,移动视频,智能手机等传媒终端快速发展。
使传统信息传输媒体如电视、广播、报纸等逐步被大家抛弃,满足不了大家对外界瞬息万变信息好奇心,所以大家越来越习惯依靠网络新闻媒体。
新闻传输方法发生了巨大改变,大家更多开始关注网络新闻媒体。
这种媒体不仅含有新闻传输特点:
立即、正确。
还含有信息量大、方便管理、方便阅读等特点。
有了新闻公布系统后,能够随意查询新闻,快速找到自己喜爱新闻,并能够发表自己评论,也方便了管理员使其能够愈加清楚管理新闻,很好地提升了管理者效率。
当今,网络已成为了大家日常生活信息起源关键路径,大家全部习惯于经过上网来获取信息,在这种发展形势下,网络新闻逐步深入我们生活,成为取得信息一个关键手段。
因为Internet信息容量大,传输范围广,信息传输立即而且内容正确,大大满足了大家需要。
把全部信息全部上传到网络,供大家相互浏览、评论,使网络信息量越来越大,所以我们迫切需要开发一个基于网络新闻信息浏览系统。
2.新闻公布系统需求分析
2.1性能需求
该系统在性能功效上应达成以下需求:
1)操作简单、界面友好:
完全控件式页面布局,使得新闻录入工作更简便,很多选项包含新闻分类、起源部门等只需关键点击鼠标就能够完成;另外,跟踪出现提醒信息也让用户随时清楚自己操作情况。
对常见网站新闻管理各个方面:
新闻录入、浏览、删除、修改、搜索等方面全部大致实现,实现了网站对即时新闻管理要求;
2)即时可见:
对新闻处理(包含录入、删除)将立即在主页对应栏目显示出来,达成“即时公布、即时见效”功效;
3)系统运行应该快速、稳定、高效和可靠;
4)在结构上应含有很好可扩展性,便于未来功效扩展和维护。
用户依据对新闻系统需求分析上述要求及新闻系统模型结构,新闻功效模块分为四个大部分,新闻管理,新闻查询,新闻类别管理,用户管理。
新闻管理包含新闻浏览,新闻添加和新闻删除;新闻查询是根据新闻公布时间进行查询;新闻类别管理包含新闻类别浏览,添加和删除;用户管理包含对用户基础信息浏览,添加和删除。
制订出新闻系统系统功效模块图。
该新闻系统系统功效模块划分图4-1所表示
图4-1新闻系统功效模块图
2.2运行环境要求
2.2.1硬件设备要求
用户机硬件要求:
含有PentiumIII处理器以上且满足以下要求计算机:
最低64MB内存,最小2.1GB硬盘。
服务器硬件要求:
含有PentiumIII处理器以上且满足以下要求计算机:
最低256MB内存,最小8GB硬盘。
2.2.2软件设备要求
用户端
操作系统:
Windows98/NT//XP或更高版本
浏览器:
IE5.0以上或Netscape相同版本以上
服务端
系统设计工具:
VisualStudio或VisualStudio
数据库:
SQLserver
3.系统设计
3.1新闻系统设计模型结构
3.1.1系统功效模块
新闻功效模块分为四个大部分,新闻管理,新闻查询,新闻类别管理,用户管理。
新闻管理包含新闻浏览,新闻添加和新闻删除;新闻查询是根据新闻公布时间进行查询;新闻类别管理包含新闻类别浏览,添加和删除;用户管理包含对用户基础信息浏览,添加和删除。
系统功效模块图图3-1所表示
图3-1系统功效模块图
3.1.2用户管理功效模块关系
本新闻系统用户分为管理员用户和一般用户。
一般用户在新闻管理上能够浏览新闻基础信息,添加新闻;在新闻查询上能够根据新闻公布时间对新闻进行查询。
管理员用户除了拥有一般用户功效外,还能够在用户管理上对用户进行用户基础信息浏览,用户管理和新闻类别管理是管理员用户所特有操作,用户管理包含对全部用户添加、浏览和删除;新闻类别管理是在进行新闻类别界面对新闻界面浏览,添加和删除。
用户功效模块图图3-2所表示
图3-2用户功效模块图
3.1.3系统工作步骤分析
用户进入系统后,根据其身份不一样,可进入不一样操作界面。
不过其工作步骤是大致相同。
假如是管理员用户,则进入管理员身份新闻系统,管理员能够进行新闻管理、新闻查询、用户管理和新闻类别管理,管理员新闻管理不仅有新闻添加和浏览,还能够对新闻进行删除操作;新闻查询是根据时间对新闻进行正确地查询,并在查询界面返回查询结果;用户能够在每个页面新闻之间相互跳转,只关键点击对应页面连接就能够实现。
其工作步骤图图3-3所表示
图3-3系统工作步骤图
3.2新闻系统功效模块介绍
新闻功效是新闻系统关键模块,深入了解和熟悉新闻系统功效模块,才能够很好完成新闻系统,掌握新闻系统工作步骤,明确每一个新闻系统界面功效。
下面是对新闻管理系统功效模块部分说明。
3.2.1.新闻类别管理
管理员公布WebServices,使得用户能够经过WebServices向数据转换服务器发送实施作业请求。
用户调用公布WebServices,输入相关参数,服务器调用合适作业服务器和作业来处理请求,最终将需要结果返回。
(1)新闻类别录入,包含类别编号和类别名称等信息;
(2)新闻类别增加;
(3)新闻类别删除;
3.2.2.新闻管理
经过对后台数据库相关内容修改能够实现对新新闻内容进行添加和讲过去新闻删除,为此系统关键部分。
(1)基础新闻信息录入,包含新闻标题、新闻内容和所属类别等;
(2)基础新闻信息增加;
(3)基础新闻信息删除;
3.2.3.新闻查询模块
(1)根据新闻类别分页显示新闻;
(2)根据日期分页显示新闻。
3.2.4.编辑用户信息
(1)系统用户信息录入,包含用户名和密码等信息;
(2)系统用户信息增加;
(3)系统用户信息删除。
4.具体设计
4.1数据库设计
本系统定义数据库中包含以下3个表:
新闻类别表:
category、新闻基础信息表:
news、和用户信息表:
xtuser。
首先依据新闻系统设计计划表内容及相关属性,并使用数据库工具创建表。
下面分别介绍这些表结构及相关内容,表建立好后,新闻系统用户能够依据具体新闻系统实现新闻系统功效。
4.1.1新闻类别表category
新闻类别表category用来保留新闻类别数据,结构如表4.1所表示。
表4.1新闻类别表category结构
编号
字段名称
数据结构
说明
1
cateID
int
新闻类别编号
2
catename
varchar(50)
新闻类别名称
(其中cateID是表category主键)
在设计数据库结构时,很多表全部需要设计一个整型字段作为标识列,这几乎已经成为通例,比如表category中cateID字段。
所谓标识列,就是能够惟一标识一行统计列,在表中不会存在两条标识列相同统计。
假如其它表需要引用表category中数据,则在表中添加一个cateID字段就能够了。
有程序设计人员习惯于直接使用名称字段作为标识列,比如表category中catename字段。
这么,假如修改catename字段值,就需要同时修改其它全部表对应字段值,从而造成无须要麻烦。
在系统中,cateID字段对于用户来说是透明,用户感觉不到它存在,也无法对其进行修改。
其中新闻类别编号int是自增加。
在SQLserver中创建category表图4-1所表示
图4-1新闻类别表category
4.1.2基础新闻表news
基础新闻表news用来保留网上新闻基础信息,结构如表4.2所表示。
表4.2基础新闻表news结构
编号
字段名称
数据结构
说明
1
ID
int
新闻编号
2
title
varchar(50)
新闻标题
3
[content]
text
新闻内容
4
postTime
datetime
提交时间
5
poster
varchar(50)
提交人
6
cateId
int
新闻类别编号
(其中ID是表news主键,主键ID自增加)
在SQL Server 中,能够使用char、varchar和text等3种数据类型存放非Unicode字符数据。
char和varchar只能存放最多8000个字符,其中char用于存放固定长度字符数据,varchar用于存放可变长度字符数据。
假如需要存放数据很大,则能够使用text数据类型,比如表News中Content字符,因为新闻内容数据量通常会超出8000个字符。
text数据类型也是可变长度,最多可为个字符。
其中新闻编号ID是自增加。
在SQLserver中创建news表图4-2所表示
图4-2基础新闻表news
4.1.3用户信息表xtuser
用户信息表xtuser用来保留用户基础信息,这个表关键包含新闻系统用户各项基础信息,每个用户基础信息包含用户ID、用户名、密码、真实姓名、电子邮件和是否是管理员6项,其结构如表4.3所表示
表4.3用户信息表xtuser结构
编号
字段名称
数据结构
说明
1
userID
int
用户ID号
2
username
varchar(50)
用户名
3
userpwd
varcahr(50)
密码
4
Ename
varchar(50)
用户姓名
5
varchar(50)
电子邮箱
6
admin
int
是否为管理员
((0为是管理员,1为不是管理员),userId是表xtuser主键,用户ID号userId是自增加。
)SQLserver中创建xtuser表图4-3所表示
图4-3用户信息表xtuser
4.2各关键窗体页图形界面介绍
新闻系统页面设计是基于各个窗体图形界面。
新闻系统各个关键界面包含用户登录界面,新闻管理界面,新闻查询界面,新闻类别管理界面和用户管理界面5个大部分。
设计者依据需求分析中新闻系统要求,完成对新闻系统页面设计。
4.2.1登录界面
登录界面包含用户名和密码,及一个身份选择,在VisualStudio中工具栏中分别选择Label、DropList、TextBox和Buttton控件,选中每个控件,修改每个控件属性中“text”,更改为要显示出内容,依据需要调整其位置及大小,如修改密码属性为password,使其显示为密码形式等。
登录界面设计图4-4所表示
图4-4用户登录界面
4.2.2新闻管理界面
新闻管理界面是显示新闻内容一个关键界面,在上面不仅能够浏览到用户提交新闻,还能够连接到其它管理界面,并能够转到新闻添加界面。
所要用到控件是Hyperlink、Label、TextBox和Buttton,并需要添加一个GridView表,依据新闻数据库中相关新闻信息,完善GridView表内容。
因为是GridView表格,所以完成表格列基础信息后要对表格进行数据绑定,在数据绑定时绑定列名称一定要和数据库中列名称一致,GridView表中包含删除一项,所以要对删除RowDeleting属性进行修改完善。
添加后新闻管理界面设计显示图4-5所表示
图4-5新闻管理界面
新闻管理界面还应包含新闻添加界面,点击新闻添加按钮,就能够跳转到新闻添加页面。
添加新闻界面是用户填写新闻基础信息界面。
设计者要依据需要把控间每个属性进行完善,比如新闻各项基础信息选项不可为空,假如为空,则新闻添加不成功,并要给出提醒等等。
添加新闻设计图4-6所表示
图4-6添加新闻界面
4.2.3新闻查询界面
新闻查询界面是用户根据新闻提交时间来进行查询一个操作界面,新闻查询也要使用一个GridView表,其显示格式要和新闻管理中新闻表一样,一般用户和管理员用户全部能够经过单击“开始查询”来查找新闻,并能够点击“重新查询”来进行重新查询。
所以新闻查询界面设计图4-7所表示
图4-7新闻查询界面
4.2.4新闻类别管理界面
新闻类别管理是新闻进行分类和添加新闻时进行新闻选择一个关键管理,管理员用户能够添加和删除新闻类别,添加和删除新闻类别在一个界面之上,用户并能够在此界面上连接到其它管理界面,所要用到控件是Hyperlink、Label、TextBox和Buttton,及一个GridView新闻表格,表格形式应和新闻管理中新闻表格一致(没有新闻删除一列)新闻类别管理界面设计图4-8所表示
图4-8新闻类别管理界面
4.2.5用户管理界面
用户管理包含管理员用户对全部用户添加和删除,在用户管理界面上能够看到全部用户各项基础信息,经过点击“添加用户”按钮来进入用户添加界面,对用户基础信息进行添加,经过返回用户管理界面进行添加后用户信息查看。
点击“删除”来删除用户。
用户管理界面设计图4-9所表示
图4-9用户管理界面
用户管理应包含一个添加用户基础信息界面,同新闻基础信息添加一样。
用户各项基础信息空间属性也需要进行相关完善。
除了各项必需要填写信息外,密码要设置成不可见形式,另外确定密码属性也要设置为源输入密码一致。
添加用户操作设计图4-10所表示
图4-10添加用户界面
4.3系统部分关键功效及代码
新闻系统设计用户登录,新闻管理,新闻添加,新闻删除,新闻查询,新闻类别管理,新闻类别添加,新闻类别删除,用户管理,添加用户,删除用户等,在新闻系统每个前台创建好新闻系统各个界面以后(ASPX界面),需要连接调用WebServices方法。
WebServices所用到WebMethod一共有2个,其中一个是userWebServices.cs,包含登录时CheckUser(),添加用户时用到AddUser(),登录用户管理界面时出现数据表DataTableUserManage(),和删除删除用户DeleteUser()等等,另一个newsWebServices.cs,包含添加新闻时用到AddNews(),新闻类别管理时出现数据表格用到Category(),删除新闻时用到DeleteNews(),删除新闻类别时用到DeleteCategory(),查对新闻数据表格时用到CheckNews()等等。
新闻系统所要用到全部WebServices方法图4-11(a)和图4-11(b)所表示
图4-11(a)NewWebServices方法
图4-11(b)UserWebServices方法
4.3.1用户登录
用户登录界面包含用户名,密码和用户身份选择,首先要创建名为“Login.aspx”文件。
在设计好文件样式后,要编辑每个功效按钮代码。
对于“登录”按钮,在“Login.aspx.cs”中代码为:
protectedvoidButton_Login_Click(objectsender,EventArgse)
{
UserWebServiceuserWS=newUserWebService();
stringusername=TextBox_Username.Text;
stringpwd=TextBox_Password.Text;
intchr=userWS.CheckUser(username,pwd);
if(chr==0)
{
Response.Redirect("~/NewsManage.aspx");
}
elseif(chr==1)
{
Response.Redirect("~/NewsManage2.aspx");
}
else
{
Label_Result.ForeColor=Color.Red;
Label_Result.Text="用户名和密码不一致,请重新输入!
";
}
上述部分代码功效是用户输入用户名和密码后,点击登录系统会依据用户输入用户名和密码,作出判定:
假如是管理员,则进入到管理员新闻管理界面;假如是一般用户,则进入到一般用户新闻管理界面;假如输入用户名和密码不符,则不能成功登陆,系统会自动提醒“用户名和密码不一致,请重新输入!
”
上述代码是在“Login.aspx.cs”文件中编写,而在上述代码里面调用了WebServices方法,在UserWebServices.cs文件下WebMethodCheckUser()代码以下:
[WebMethod]
publicintCheckUser(stringusername,stringpwd)
{
//连接用户数据库判定
DBdb=newDB();
db.Connect();
stringsql="SELECT*FROMxtuserWHEREusername='"+username+"'anduserpwd='"+pwd+"'";
SqlDataReaderreader=db.QueryReader(sql);
if(reader.Read())
{
return(int)reader["admin"];
}
else
{
return-1;
}
}
在Login.aspx.cs页面进行调试,调用WebMethod中用于判定和联络数据库方法,就能够登录在本系统中还需要一个通用类DB.cs用于数据库连接,能够避免反复编写,通用类DB关键代码以下:
publicvoidConnect()
{
if(conn==null)
{
conn=newSqlConnection(DB.connString);
}
if(conn.State!
=ConnectionState.Open)
{
conn.Open();
}
}
publicvoidClose()
{
if(conn!
=null&&conn.State!
=ConnectionState.Closed)
{
conn.Close();
}
}
///
///获取SqlDataReader
///
publicSqlDataReaderQueryReader(stringsql)
{
SqlCommandcmd=newSqlCommand(sql,conn);
returncmd.ExecuteReader(CommandBehavior.CloseConnection);
}
///
///实施非查询语句
///
publicintQueryInt(stringsql)
{
SqlCommandcmd=newSqlCommand(sql,conn);
returncmd.ExecuteNonQuery();
}
用户在填写好用户名和密码以后,就能够顺利登陆系统,假如用户名或密码错误,则系统会给出提醒,提醒用户更正错误,是否是管理员身份选择用户能够进行选择,也能够不用选择,系统会依据数据库中用户身份自动判定用户是否是管理员。
新闻系统登录界面图4-12所表示(图4-12就是登陆失败情况)
图4-12用户登录
4.3.2新闻管理
用户成功登陆后,就进入了新闻管理界面,新闻管理界面包含和其它新闻系统页面相互跳转级新闻添加和删除,进入新闻管理界面首先能够浏览到一个新闻基础信息表,所以在“NewsManage.aspx.cs”文件中首先应有以下代码;
protectedvoidPage_Load(objectsender,EventArgse)
{
//一个新闻表格
NewsWebServicenewsWS=newNewsWebService();
DataTabledt=newsWS.News();
GridView_News.DataSource=dt;
GridView_News.DataBind();
}
显示新闻表格GridView_News调用了WebServices方法,在NewsWebServices.cs中News方法代码以下:
[WebMethod]
publicDataTableNews()
{
DBdb=newDB();
db.Connect();
stringsql="SELECT*FROMnews";
SqlDataReaderreader=db.QueryReader(sql);
DataTabledt=newDataTable();
dt.Load(reader);
db.Close();
returndt;
}
用户成功登陆后,就进入了新闻管理界面,新闻管理界面包含和其它新闻系统页面相互跳转级新闻添加和删除,点击相关连接,用户就能够跳转到相关页面,进入新闻管理界面首先能够浏览到一个新闻基础信息表,用户点击添加新闻按钮,就能够对新闻进行添加,新闻管理界面图4-13所表示(图4-13登陆身份是管理员用户)
图4-13新闻管理
另外点击“添加新闻”按钮进入到添加新闻界面,跳转到添加新闻页面(Addnews.aspx)代码以下:
protectedvoidButton1_Click(objectsender,EventArgse)
{
Response.Redirect("~/Addnews.aspx");
}
一般用户和管理员全部能够对新闻进行添加,填写新闻相关基础信息,然后提交。
提交成功后,能够在新闻管理界面浏览到刚刚添加新闻。
新闻添加界面包含新闻基础信息新闻类别、新闻题目、新闻公布人、公布时间、新闻内容,在进入新闻添加界面时,要首先获取一个新闻类别下拉框,新闻类别内容是依据数据库中新闻类别(category)自动获取,获取新闻类别代码以下:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
//经过WebService获取分类信息
NewsWebServicenewsWS=newNewsWebService();
ArrayListlst=newsWS.GetCategory();
for(inti=0;i { object[]news=(object[])lst[i]; DropDownList_Category.Items.Add(newListItem(news[1].ToString(),news[0].ToString())); } } } 因为在上述代码中调用了WebServices方法,在NewsWebServices.cs中获取分类GetCategory方法代码以下: [WebMethod] publicArrayListGetCategory() { ArrayListlst=newArrayList(); DBdb=newDB(); db.Connect(); stringsql="SELECT*FROMcategory"; SqlDataReaderreader=db.QueryReader(sql); while(reader.Read()) { obje
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新闻 发布 系统 设计 实现