bs软件设计报告.docx
《bs软件设计报告.docx》由会员分享,可在线阅读,更多相关《bs软件设计报告.docx(14页珍藏版)》请在冰豆网上搜索。
bs软件设计报告
《B/S架构应用软件设计》
题目:
文章发布管理系统
学号:
班级:
姓名:
专业:
计算机科学与技术
指导老师:
2011年10月8号
目录
一、设计目的与要求1
二、设计内容1
1、问题描述1
2、基本要求1
三、程序运行环境1
四、总体设计2
五、系统的详细设计2
1、创建数据库2
2、系统主页面3
3、文章显示页面3
4、管理员登陆页面4
5、管理员管理页面4
6、文章添加页面4
7、文章删除修改页面5
六、总结10
一、设计目的与要求
《B/S架构应用软件设计》是《WEB程序设计》课程之后进行的实践环节。
通过该课程设计,使学生进一步加深对Web程序设计基本概念、B/S架构及开发流程和动态网站设计方法等知识的理解,提高Web技术编程能力和调试能力,牢固掌握ASP.NETWeb程序设计技术,培养学生综合运用面向对象程序设计、数据库原理、web程序设计和软件工程等相关课程知识独立解决实际问题的能力。
通过该课程设计,达到下列基本要求:
1.熟练掌握C#和Web程序设计的基本知识和技能;
2.基本掌握web程序开发的基本思路和方法,熟悉web程序开发过程,并初步具备利用面向对象的编程思想和web程序设计技术等综合知识完成网站开发的能力;
3.初步具备自学参考书籍及查阅手册、图表和文献资料的能力;
4.初步养成重视软件测试、重视文档写作、重视界面设计的程序开发习惯;
5.初步养成团队协作能力。
二、设计内容
1、问题描述
了解文章发布管理的流程,分析其功能,建立文章数据库,实现B/S模式的文章发布管理系统。
2、基本要求
(1)数据库设计要符合范式要求。
(2)能对文章资料进行添加、删除、修改操作。
(3)提供查询功能,输入文章名称,能查找出该文章的相关信息。
(4)用户权限控制,一般用户只能查询,管理员用户可以修改数据。
三、程序运行环境
文章发布系统开发平台:
Microsoftvisualstudio2008。
文章发布系统开发语言:
C#。
运行平台:
windowsXP\windowsVista等。
四、总体设计
经过一段时间的分析,并根据对文章发布管理管理的具体要求及需要本软件实现的功能,将本软件分为3个大的模块,分别是:
第一部分:
文章浏览;第二部分:
管理员登陆;第三部分:
分类管理。
程序流程图如下:
五、系统的详细设计
1、创建数据库
根据研究需要,我们添加了两个表:
①content表:
包括要插入的文章具体内容
②types表:
主要包括文章的分类
2、系统主页面
系统由该页面进入,用户可以直接浏览网页能容。
管理员可以通过“文章管理”进入管理页面进行登录管理操作。
进入页面如下:
(主要是采用2个gridview控件实现)
3、文章显示页面
4、管理员登陆页面
5、管理员管理页面
本页面实现选择要实现的操作:
添加文章和删除修改文章。
6、文章添加页面
管理员通过该页面实现向数据库中添加要发布的文章。
界面如下:
7、文章删除修改页面
该页面包含删除、修改以及查询文章
主界面如下:
后台代码如下:
publicpartialclassdelnews:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
//建立数据连接
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
//创建OleDbDataAdapter对象,按照指定的查询语句获取结果
OleDbDataAdapterodr=newOleDbDataAdapter("select*fromtypes",myconn);
DataSetds=newDataSet();
odr.Fill(ds,"types");
this.ddlType.DataSource=ds.Tables["types"].DefaultView;
this.ddlType.DataTextField="typename";
this.ddlType.DataValueField="id";
this.DataBind();
this.GridView1.DataSource=myBind();
this.GridView1.DataBind();
}
}
//数据绑定
publicDataViewmyBind()
{
//建立数据连接
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
OleDbDataAdapterodr=newOleDbDataAdapter("select*fromcontentswheretypeid="+ddlType.SelectedValue+"orderbyshijiandesc",myconn);
DataSetds=newDataSet();
odr.Fill(ds,"contents");
returnds.Tables["contents"].DefaultView;
}
protectedvoidGridView1_PageIndexChanging(objectsender,GridViewPageEventArgse)
{
//获取当前显示页索引
GridView1.PageIndex=e.NewPageIndex;
//重新绑定
this.GridView1.DataSource=myBind();
this.GridView1.DataBind();
}
protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse)
{
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
myconn.Open();
//使用Value属性确定记录的主键值。
//设置
Stringid=GridView1.DataKeys[e.RowIndex].Value.ToString();
Stringsql="deletefromcontentswhereid="+id;
//Response.Write("");
OleDbCommanddelcmd=newOleDbCommand(sql,myconn);
try
{
delcmd.ExecuteNonQuery();
Response.Write("");
}
catch(OleDbExceptionex)
{
}
myconn.Close();
//重新绑定
this.GridView1.DataSource=myBind();
this.GridView1.DataBind();
}
//按新闻类别确定按钮事件
protectedvoidbtnConfrim_Click(objectsender,EventArgse)
{
this.GridView1.DataSource=myBind();
this.GridView1.DataBind();
}
//查找按钮事件
protectedvoidbtnZhao_Click(objectsender,EventArgse)
{
if(txtSou_suo.Text=="")
{
lblMsg.Text="请输入搜索的内容!
";
this.GridView1.DataSource=myBind();
this.GridView1.DataBind();
return;
}
else
{
lblMsg.Visible=false;
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
OleDbDataAdapterodr=newOleDbDataAdapter("select*fromcontentswhere"+ddlContents.SelectedValue+"like'%"+txtSou_suo.Text.ToString()+"%'",myconn);
DataSetds=newDataSet();
try
{
odr.Fill(ds,"tt");
if(ds.Tables["tt"].Rows.Count!
=0)
{
this.GridView1.DataSource=ds.Tables["tt"].DefaultView;
this.GridView1.DataBind();
}
else
{
Response.Write("");
}
}
catch(Exceptionex)
{
}
}
}
}
点击标题时进入修改页面如下:
后台代码如下:
publicpartialclassxiu:
System.Web.UI.Page
{
publicDataRowdr;
publicStringnewsid;
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!
IsPostBack)
{
newsid=Request.Params["id"];
//Response.Write("newsid==="+newsid);
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
OleDbDataAdapterodr=newOleDbDataAdapter("select*fromcontentswhereid="+newsid,myconn);
DataSetds=newDataSet();
odr.Fill(ds,"contents");
dr=ds.Tables["contents"].Rows[0];
txtBiaoti.Text=dr["biaoti"].ToString();
txtNeirong.Text=dr["neirong"].ToString();
txtZuozhe.Text=dr["zuozhe"].ToString();
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
newsid=Request.Params["id"];
stringstrConnnection=@"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=";
strConnnection+=Server.MapPath(".\\DB\\news.mdb");
OleDbConnectionmyconn=newOleDbConnection(strConnnection);
myconn.Open();
OleDbCommandupdatecmd=newOleDbCommand("updatecontentssetbiaoti='"+txtBiaoti.Text+"',neirong='"+txtNeirong.Text+"',zuozhe='"+txtZuozhe.Text+"'whereid="+newsid,myconn);
updatecmd.ExecuteNonQuery();
myconn.Close();
Response.Redirect("delnews.aspx");
}
}
六、总结
在大四的开始,我们进行了为期10天的B/S软件设计,在此期间我对C#基础知识的又温习了一遍,并和小组人员进行了努力的思考和制作。
一开始,通过和小组成员的探讨、以及慢慢的上网查资料,我们开始慢慢上路入手了。
鉴于小组的分工,我负责了一些网页框架布局及文章修改删除等功能设置的实现。
由于C#基本知识掌握熟练,同时有的模块完成功能需要我下了一些努力,但在其中我收获了不少。
锻炼了我的独立动手的能力,同时让我加强了查阅资料学习材料的能力。
对于一些自己的不知道的范围,知道了该怎样去学习。
完成后收获颇多,但同时也让我看到了自己的不足。
对C#知识的掌握不够深,以及不懂的及时复习而让知识遗忘,这些都是我以后需要注意的问题。
最后,感谢老师的辛勤指导。
这次软件设计,让我提升了很多能力,并为我以后工作、学习打下良好的基础。