信息与电气工程学院
软件程序设计 CDIO三级项目
设计说明书
(2013/2014学年第一学期)
题 目 : 新闻发布与后台管理 专业班级 : 电子信息工程11级2班 学生姓名 :
指导教师 :设计周数 : 2周 设计成绩 :
20xx年1月10日
一、项目设计目的
近年来,Internet技术得到迅速的发展,已经成为计算机产业的一个技术热点。促成Internet高速发展的因素之一就是Web技术。Web技术由最初的静态HTML发展到动态网页技术DHTML,CGI(Command Gateway Interface),脚本语言与ASP(Active Server Pages)后来居上,并且大有取代CGI的趋势。Web已经不再局限于仅仅提供大量的信息服务,Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。浏览Web有着执行Windows程序一样的感觉和操作性。随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。
本课题的研究在信息交流领域有其一定的价值,对于了解网络编程、构建个人或商业网站都有较大的帮助,是步入网络时代必不可少的组成部分。
本课题的主要任务是建造一个新闻发布与管理系统的网站,整个课题的设计工作分三步进行,首先是相关资料的收集和与相关人员的沟通和交流,随后是网站的实质性设计,最后是网站的测试工作。
系统分为前台和后台部分,前台主要是实现新闻的查阅,新闻搜索和对本系统的评价。后台主要是实现新闻管理、添加新闻、分类管理、用户管理、投票管理和投票结果显示等。本系统采用动态网页及数据库相结合的方法来进行设计,系统设计关键是ASP.NET与HTML相互结合、互相嵌套。通过本系统的设计,可以帮助管理员减轻工作负担,动态发布新闻,可以简化新闻发布和管理工作,提高工作效率。
二、系统分析
新闻发布系统是一个基于新闻和内容管理的全站管理系统,该系统可以将杂乱无章的信息(包括文字,图片和影音)经过组织,合理有序地呈现在大家面前。当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能。
新闻发布及管理系统包括后台管理和前台两部分。前台管理包括:社会新闻、娱乐新闻、财经新闻、体育新闻的查看、新闻搜索功能、用户对本页面的评价、用户注册等。后台管理包括:新闻管理、添加新闻、分类管理、投票管理和用户管理。
系统前台功能分析:
1.查看新闻:用户可以根据自己的需求分类查看自己的新闻。
2.新闻搜索:用户根据自己所输入的新闻关键字搜索出符合自己条件的新 闻。
3.投票:用户可以进行对本网的投票,便于管理员收集意见,并对页面进 改进。
系统后台功能分析:
1.新闻管理:管理员通过本模块实现对新闻的修改和删除。
2.添加新闻:可以动态的添加新闻,实现本页面的关键是获取选择的新闻
分类的值
3.分类管理:可以查看不同的新闻分类,并可以进行删除和修改,同时可
以增加新的分类。
4.投票管理:查看投票的结果,将的票最高的结果显示在最上面并可以对
票结果进行修改。
5. 用户管理:实现对用户的管理。
三、系统设计
3.1 关键设计流程图
图3-1-1新闻发布与后台管理总体结构设计
3.2数据库设计 3.2.1数据库需求分析
根据实际的分析,系统主要需要4张表,具体如下:
1.新闻表:新闻编号、类型编号、新闻标题、新闻内容、新闻发布时间、新闻作者、新闻出处。
2.用户表:用户编号,用户名,用户密码、用户邮箱。 3.类别表:类别编号,分类名称。
图3-1-2新闻发布系统流程图
4.投票表:编号,投票标题、投票统计。 3.2.2 数据库概念结构设计
图3-2-2新闻发布系统整体E-R图
3.2.3 数据表设计
表3.2.3-1 用户信息表userInfor
表3.2.3-2 投票表 toupiao
表3.2.3-3 类别表 class
表3.2.3-4 新闻表 news
3.2.4 数据库的创建和访问
根据要求建立自己的数据库,并建立相应的表,设置好表之间主键与外键的关系 3.3 系统实现 3.3.1 登录界面
普通用户和管理员之间在登陆系统之前需要进行身份认证,若用户名为admin则进入后台管理,若为其它则进入普通操作界面,还可以通过登陆界面进入用户注册界面。如果用户名或密码为空,会提示:用户名或密码不能为空。如果密码错误,也会提示:密码出错。 登陆界面如下所示:
图3.3.1登陆界面
3.3.2 用户注册界面
用户可以通过本页面直接进入新闻首页,或者通过注册进入前台界面,如果用户名、登录密码或者确认密码框有空,会提示:内容不能为空,如果登录密码和确认密码不一致,也会提示:两次输入的密码不一致。注册成功就会直接进入前台界面。
图3.3.2用户注册页面
3.3.3前台界面
3.3.3-1 系统首页
新闻发布与管理系统整体采用蓝色,这样这个网页传达出严肃、认真的讯息,使新闻更加具有可信性、为了不让系统太过于单调、乏味、网页插入了图片。网页最上一栏为最小字体,当用户登录时在此网页上就会显示:当前用户为:...,链接免费注册界面,注销功能。网页前台的主要功能分为:首页、社会、娱乐、财经、体育;将其放在表格中,背景设为深蓝色,这样会更加醒目。让用户一眼便能找到需要的新闻、操作简单、方便;系统整体为表格组成使得页面整齐;网页的左边为新闻搜索和投票功能,当搜索到相关的新闻时就可以查看相关的新闻,若没有查到会提示没有搜索到新闻。首页页面如下:
图3.3.3-1新闻首页
3.3.3-2 财经新闻页面
此页面显示财经新闻,分类清晰、明了。
图3.3.3-2财经新闻首页
3.3.3-3 新闻搜索页面主要代码
搜索后台代码:
protected void btnSearch_Click(object sender, EventArgs e)
{
Session["til"] = txtSearch.Text.Trim().ToLower();
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);
conn.Open();
string sql = "select * from news where title like'%" + txtSearch.Text.ToLower() + "%'";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Response.Redirect("searchShow.aspx");
dr.Close();
conn.Close();
}
else { Response.Write("<script>alert('没有搜索到相关新闻?
')</script>"); }
}
跳转页面代码:
protected void Page_Load(object sender, EventArgs e)
{ SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString);
conn.Open();
string id=Request.QueryString["newsID"].ToString();
string sql = "select * from news";
string sql_string="select title,content,updatatime,original from news where newsID='"+id+"'";
SqlCommand cmd = new SqlCommand(sql,conn);
SqlDataAdapter da = new SqlDataAdapter(sql_string,conn);
DataSet ds = new DataSet();
//da.SelectCommand = cmd;
da.Fill(ds);
Label1.Text = ds.Tables[0].Rows[0][0].ToString();
Label2.Text = ds.Tables[0].Rows[0][1].ToString();
Label3.Text = ds.Tables[0].Rows[0][2].ToString();
Label4.Text = ds.Tables[0].Rows[0][3].ToString();
conn.Close();
}
投票后台代码:
protected void Button1_Click(object sender, EventArgs e)
{
string Title = RadioButtonList1.SelectedValue;
SqlConnection conn = new
SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString); conn.Open();
string sql = "update toupiao set totalcount=totalcount+1 where title='" + Title + "'"; SqlCommand cmd = new SqlCommand(sql, conn);
int i = cmd.ExecuteNonQuery();
if (i == 1)
{ Response.Write("<script>alert('提交已成功')</script>"); }
else { Response.Write("<script>alert('提交失败')</script>"); }
conn.Close();
}
3.3.4后台管理
3.3.4-1新闻管理页面
当管理员登陆成功时,会进入后台管理页面,后台管理分为:新闻管理、添加新闻、分类管理、投票管理、用户管理模块。新闻管理界面主要是可以对新闻实现编辑和删除,若点击删除按钮时,就会弹出是否删除的对话框。点击编辑,就可以根据自己的需求进行编辑。
图3.3.4-1新闻管理页面
3.3.4-2 添加新闻页面
添加新闻模块为该系统的主要功能模块,可以说是整个系统的灵魂。添加内容包括:题目、作者、出处、分类和内容,当所有的信息都输入后点击下面的【添加】按钮,一条新的新闻就发布出去了,同时这条新闻会添加进入数据库表News中,新闻添加界面如图所示。
图3.3.4-2添加新闻页面
后台代码为:
public partial class admin_adAdd : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
int classid = Convert.ToInt32(this.dplClass.SelectedValue);
DateTime d = DateTime.Now;
string lj = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\lmx.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conn = new SqlConnection(lj);
conn.Open();
string sql = "insert into news(classID,title,author,updatatime,original,content) values('" +classid + "','" + txtTitle.Text.Trim() + "','" + txtAuther.Text.Trim() + "','" + d + "','" + txtoriginal.Text.Trim() + "','" + txtContent.Text.Trim() + "')";
SqlCommand cmd = new SqlCommand(sql,conn);
int i = cmd.ExecuteNonQuery();
if (i == 1)
{ Response.Write("<script>alert('信息插入成功!')</script>"); }
else { Response.Write("<script>alert('信息插入失败!')</script>"); }
conn.Close();
}
protected void Button2_Click(object sender, EventArgs e)
{
txtTitle.Text = "";
txtAuther.Text = "";
txtContent.Text = "";
txtoriginal.Text = "";
}
}
3.3.4-3 分类管理页面
可以对分类进行修改和删除,分类是根据数据库表classID来进行分类的。主要类别有:社会新闻,娱乐新闻,财经新闻和体育新闻。如下图所示:
图3.3.4-3分类管理页面
添加分类代码:
protected void Button1_Click(object sender, EventArgs e)
{
string connString = @"Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\lmx.mdf;Integrated
Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
string cd = "insert into class(classname) values('"+txtClass.Text.Trim().ToLower()+"')"; SqlCommand cmd = new SqlCommand(cd, conn);
int i = cmd.ExecuteNonQuery();
if (i==1)
{
Response.Write("<script>alert('添加类别成功')</script>");
conn.Close();
}
else { Response.Write("<script>alert('添加类别失败')</script>");
}
3.3.4-4 投票管理页面
投票管理页面可以对投票结果进行编辑与删除,投票结果显示根据totalcount投票数量进行排列,将得票最高的显示在最上方。
图3.3.4-4投票管理页面
3.3.4-5 用户管理页面
用户管理的功能是对注册用户的信息进行修改和删除,界面如下图所示。
图3.3.4-5 用户管理页面
四、系统测试 1、登陆测试:测试管理员与用户根据不同的登陆名进入不同的主界面,管理员进入后台 管理页面,普通用户进入新闻首页。
2、搜索测试
用户在搜索栏中输入字段后,然后点击搜索,页面会显示出他所搜索的内容。
3、新闻查看测试
用户可以查看不同分类的新闻标题,然后根据标题后的查看,来查看详细信息。
4、添加评论
当点击评论时数据库表中的投票数量会自动加1,后台显示的新闻投票结果也会随之变 化。
5、后台管理系统的测试
管理员进入后台管理页面,在这个页面里,可以操作的有添加新闻、新闻管理、投票管 理、分类管理和用户管理。在后台管理测试中可以通过修改其中一个模块,然后通过前 台页面看是否修改成功。
五、参考文献
[1] 启明工作室编著.ASP.NET网络应用系统开发与实例[M].北京:人民邮电出版社,
2005. 7
[2] 王鹏. ASP网络编程实例[M]. 北京:中国电力出版社,2005.
[3]马健兵等编著.突破JavaScript编程实例五十讲.中国水利水电出版社.2003.1
[4]陈峰棋 策划 资讯教育小组 编著.ASP与SQL网站数据库程序设计.2002
[5](美)内格尔(nagel.c).c#高级编程.2008.10.01
合肥学院计算机科学与技术系课程设计报告20xx20xx学年第一学期课学学专指业导班教生姓程JAVA语言信息发布系统09网络工程2班…
XXX产品发布总结报告仅供内部使用第1页共4页目录1234567发布活动清单3发布计划执行总结3市场工作总结3技术支持工作总结3文…
哪些平台定期发布报告据网贷ABC统计专门披露三季报的平台有人人贷拍拍贷爱钱进你我贷每月定期披露运营月报的平台有投哪网和信贷鑫合汇合…
一单项选择题1根据发布证券研究报告执业规范第十四条的规定证券公司证券投资咨询机构应当建立发布证券研究报告制度必要的信息资料调研纪要…
20xx中国大学生就业报告发布光明日报20xx年6月10日615版麦可思研究院调查编著的20xx中国大学生就业报告9日正式发布这份…
XXX产品发布总结报告(仅供内部使用)目录1234567发布活动清单...............................…
新闻发布系统总结报告项目HTML5与ASPNET程序设计教程组长XXX成员XXXXXXXX1项目简介新闻发布系统是一个可在线登录和…
陕西星月网络通信有限公司星月智慧社区暨星WiFi产品发布会总结报告一目的通过此次活动庆祝星月智慧社区020模式的落地并借此推出产品…
XXX产品发布总结报告仅供内部使用第1页共4页目录1234567发布活动清单3发布计划执行总结3市场工作总结3技术支持工作总结3文…
实习报告课程名称ASP.NET程序设计实训设计题目新闻发布网站系(部)计算机学院班级信息管理1133实习时间20##.12.30-…
首先感谢大家在我实习期间两个多月来的教导与关爱!在泉州电视台实习的两个多月时间里,无论从理论上还是实践上都有不少收获,使我更真实、…