- 658.04 KB
- 23页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'项目课程报告课程名称: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)设置本站为首页和搜藏本站;
(1)支持其他网站的友情链接;(2)为后台管理提供管理入口;(3)后台编辑各行业新闻中心并且管理新闻信息。1.1.1项目实现的目标可以实现新闻的查询,新闻分类显示相关信息,支持其他网站的友情链接,后台编辑各行业新闻中心并且管理新闻信息。1.1.2可行性分析新闻发布系统后台管理对新闻做了详细的分类,前台以分类形式显示新闻的详细信息,满足了人们浏览器新闻时分类查看新闻信息的要求,前台提供查询新闻信息功能,方便浏览者查找相关的新闻信息。新闻发布系统后台由管理员进行管理维护,保证了网站的安全性。1.1.3保证可行性的主要因素(1)经济可行性:系统建设不需要很大的投入。(2)运行上可行性:本系统只是网站开发的一部分,所耗费的资源非常的小。(3)从各种社会因素可行性分析:可提高文件的利用率,提高效率更有利于网友的交流,会得到人们的一致同意的。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发。
1.1程序业务流程图图2.1程序业务流程图
1.1技术可行性分析1.1.1系统的简要阐述该系统分为网站的前台浏览和后台的新闻编辑。1.1.2需用技术.NET网站开发技术,C#程序设计语言,sqlserver数据库。1.2结论意见通过研究具备相关的开发条件,可以开发本项目。开发过程中仍需进一步钻研、进取,结合所学知识综合运用,在实践中加深对知识的理解。2需求规格说明书3.1概论新闻网站管理系统功能的实现需要相应的开发和运行环境,本案介绍该项目在开发和运行过程中所需要的准备工作和相关规格需求,以规范该项目,保证功能的完整性。3.2新闻概述3.2.1项目目标通过相关调查,要求新闻网站具有以下功能:1).通过网络,浏览各行业新闻及相关信息;2).新闻分类显示相关信息;3).提供站内新闻全面搜索功能;4).设置本站为首页和搜藏本站;5).支持其他网站的友情链接;6).为后台管理提供管理入口;7).后台编辑各行业新闻中心并且管理新闻信息。
3.2.2开发运行环境系统开发环境:MicrosoftVisualStudio2008系统开发语言:ASP.net+C#运行平台:WindowsXP数据库:SQLServer2008Web服务器:IIS3.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)结构
字段名称类型长度是否可为空说明IDInt4否主键NameVarchar20否用户姓名PasswdVarchar50否用户密码AddDataDatatime8否添加时间Tbnews(新闻信息表)用户信息主要用于保存新闻的基本信息,Tbnews数据表的结构如表5-2所示。表5-2新闻信息表(tbnews)结构字段名称类型长度是否可为空说明IDInt4否主键TitleVarchar50否新闻标题ContentText16否新闻内容StyleVarchar50否新闻类别TypeVarchar50否新闻范围IssuDateSmalldatatime8否新闻发布时间Tblink(网站友情链接)网站友情连接表(tblink)主要用于保存其它网站信息。该表的结构如表5-3所示。表5-3网站友情链接表(tblink)结构
字段名数据结构长度主键否描述IdInt4是数据库流水号PicpathVarchar50描述LinknameVarchar50链接网站名称LinkaddressVarchar50链接网站地址AdddateDatatime8链接网站发布的日期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.35.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="id";//this.DataList1.DataBind();CC.DBlind(mystyle,this.DataList1);}protectedvoidLinkButton2_Click(objectsender,EventArgse){this.LabelPage.Text="1";CC.DBlind(mystyle,this.DataList1);}protectedvoidlnkbtnUp_Click(objectsender,EventArgse){this.LabelPage.Text=Convert.ToString(Convert.ToUInt32(this.LabelPage.Text)-1);CC.DBlind(mystyle,this.DataList1);}protectedvoidlnkbtnNext_Click(objectsender,EventArgse){this.LabelPage.Text=Convert.ToString(Convert.ToUInt32(this.LabelPage.Text)+1);CC.DBlind(mystyle,this.DataList1);}protectedvoidlnkbnBack_Click(objectsender,EventArgse)
{this.LabelPage.Text=this.Label6.Text;CC.DBlind(mystyle,this.DataList1);}protectedvoidDataList1_ItemCommand(objectsource,DataListCommandEventArgse){intid=Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());Response.Write("window.open("ShowNews.aspx?id="+id+"","","width=520,height=260")");}6项目测试报告6.1目的为了指导软件测试人员有效地设计测试用例,对所测试软件进行全面地测试,以尽可能发现最隐藏问题。检测软件存在的bug,及时发现并改正。6.2测试方法黑盒测试、白盒测试。6.3测试要求屏幕上的显示位置是否正确6.3.1窗口l窗口标题是否正确l窗口中各对象位置是否正确、美观l窗口的系统菜单及按钮操作是否正常l窗口在各种不同分辨率下是否能全部显示
6.3.2对话框l对话框弹出时机及位置是否正确l对话框内各对象位置是否正确l对话框内各对象的文字标题意义是否明确l模式对话框和非模式对话框的属性是否正确6.3.3消息框l弹出时机及位置是否正确l信息意义是否正确、意义是否明确l弹出时必须锁住Mouse消息和键盘输入l必须有正确的对象用于退出MessageBox6.3.4文字l显示位置要美观l文字意义要明确l同一界面上字体及字体大小应统一、美观l显示正确且意义明确6.3.5图像Buttonl应相应的文字说明或意义明确l应有按下和抬起两种状态l在界面中所处位置要美观
6.3.6输入域l字符输入域l为空l任意字符串(中英文)l功能键及符号键l超界字符串的处理6.3.7显示域l显示域中各对象显示位置正确、美观l显示域中文字Label信息正确l显示域中文字Label字体及字体大小应统一且美观l显示域中显示信息应与输入的信息一致l在屏幕显示不下时,应增加滚动条以确保信息显示的完整6.4测试结果经检验,可以进行网站新闻的显示与查询,进行新闻内容的写入和读出,界面布局、控件属性合格,基本符合要求。7项目总结经过与自己的努力以及与同学的合作,完成了新闻网站管理系统这个项目。经过测试,基本功能得到实现。在设计过程中学到了很多东西,同时也深感不足。现在此做一总结。
7.1完成情况(1)窗口布局美观大方,控件属性设置正确搭建较合理;(2)代码编写严谨规范。(3)能够进行新闻的显示与编辑。7.2项目收获在本项目的实现过程中,遇到了很多困难,同时也学到了很多知识,如何编写自定义方法以及如何使用函数数组。了解了项目的组成以及结构。编写能力得到提升,先做出一些总结。(1)将所学知识用于实践,深入理解了所学知识,运用更加熟练。(2)自己查阅资料,扩展了知识面,对项目开发过程有了深入详细了解(3)与他人合作,团队协作能力提升(4)代码编写水平提高7.3存在不足(1)项目开发不是一帆风顺的,开发过程中也有些不足的地方(2)准备不充分,入手困难,导致开发周期长(3)开发环境运用不太熟练,编代码上有一定影响(4)代码书写格式不太规范,易出现语法错误,影响开发进度7.4改进意见(1)要注意细节,掌握基本知识。(2)进一步熟悉开发环境,提高代码编写水平,代码书写规范化(3)在编写过程中尝试自己编写方法,改变方法,发散思维(4)有恒心毅力,刻苦进取(5)多向老师同学请教。'