资源描述
2022-11-231宁德师范高等专科学校基于基于的新闻发布系的新闻发布系统的设计开发统的设计开发2014年年4月月20日日101724127王佳慧王佳慧宁德师专计算机系返回2022-11-232112345新闻发布系统背景新闻发布系统背景系统需求分析系统需求分析 系统总体设计系统总体设计数据库设计数据库设计系统测试系统测试宁德师专计算机系返回2022-11-23311新闻发布系统背景新闻发布系统背景宁德师专计算机系返回2022-11-234挨踢新闻发布系统背景挨踢新闻发布系统背景 新闻发布系统就是一个把零散的新闻信息有效得组织起来并以有序的方式呈现给前端客户的一个信息系统,系统主要实现对新闻的分类、管理、检索、浏览等一系列问题,从而为用户提供一个美观、大方、快速的前台新闻阅读界面。宁德师专计算机系返回2022-11-235挨踢新闻发布系统背景挨踢新闻发布系统背景 伴随着网络的出现,网页逐渐融入人们的生活。快速及时的新闻浏览,五彩缤纷的网上信息,使网络与人们的生活息息相关。它打破了地域限制,真正使信息得以共享,改变了人们的工作和生活方式。网站新闻发布系统,是将网站上需要经常变动的信息,类似公司动态、企业新闻、新产品发布、促销活动和行业动态等更新信息集中管理,并通过信息的某些共性进行分类,最后系统化、标准化发布到网站上的一种网站应用程序。宁德师专计算机系返回2022-11-236挨踢新闻发布系统背景挨踢新闻发布系统背景新闻发布系统的需求:l提供新闻发布和管理的功能。l新闻发布要求实现与普通的用户实现交互 l给浏览用户提供评论l发布的新闻要合法、要署名发布人l新闻发布系统要提供足够的信息l提高用户浏览的满意度宁德师专计算机系返回2022-11-2372新闻发布系统需求分析新闻发布系统需求分析宁德师专计算机系返回2022-11-238新闻发布需求分析新闻发布需求分析2.1系统对功能的要求新闻显示评论新闻用户注册新闻添加新闻删除用户删除宁德师专计算机系返回2022-11-239新闻发布需求分析新闻发布需求分析2.2用户对系统的要求 注册后登陆 评论各类新闻 新闻内容准确、真实 新闻信息量有足够多 新闻信息更新速度要快宁德师专计算机系返回2022-11-2310新闻发布需求分析新闻发布需求分析2.3管理员对系统的要求 登陆后修改 对系统的可扩展性 对系统的可维护性 系统的实时动态 对系统的测试宁德师专计算机系返回2022-11-23113数据库设计数据库设计宁德师专计算机系返回2022-11-2312数据库设计数据库设计数据库的 表设计:宁德师专计算机系返回2022-11-2313数据库设计数据库设计数据库的表设计:宁德师专计算机系返回2022-11-2314数据库设计数据库设计3.1关系数据库的设计关系数据库的设计关系数据库的设计过程:需求分析概念设计实现设计物理设计物理数据库结构逻辑数据库结构E-R模型需求说明书宁德师专计算机系返回2022-11-23154系统总体设计系统总体设计宁德师专计算机系返回2022-11-2316系统总体设计系统总体设计4.1系统功能描述 首先打开首页,可以浏览到今日新闻、国际新闻、国内新闻。在用户还未登入时,无法对国内新闻和国际新闻以及今日新闻进行评论或留言。只有通过用户登入成功后才可以评论今日新闻、国内新闻、国际新闻。首次使用本系统的用户要想浏览并评论各种类型的新闻可以单击注册,跳到用户注册页面注册成为高级用户。若单击管理,则页面将链接到管理员登入页面,要求输入用户名和密码。如果输入正确则跳到管理员管理页面,否则,跳到出错页面提示错误信息。在管理员管理页面,可以显示所有的新闻。管理员可以根据需要适当的添加新闻和删除新闻,也可以删除用户。宁德师专计算机系返回2022-11-2317首页用户注册登入今 日新闻国 内新闻国 际新闻管理员登入验证报错管理员登入界面添 加新闻删 除新闻删 除用户宁德师专计算机系返回2022-11-2318系统总体设计系统总体设计4.1.1管理员登录宁德师专计算机系返回2022-11-2319系统总体设计系统总体设计具体操作:正确输入用户名和密码才能登录到管理员管理页面,否则跳转到错误页面,重新登录,直到正确为止,也可以点击”用户浏览”跳转到首页.关键代码如下:OleDbConnection conn;OleDbCommand cmd;string olecmd,oleString;oleString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);olecmd=select*from adminLoad where adminName=;olecmd+=txtAdminname.Text.Trim();olecmd+=and adminPassword=;olecmd+=txtPassword.Text.Trim()+;conn=new OleDbConnection();conn.ConnectionString=oleString;cmd=new OleDbCommand();cmd.Connection=conn;cmd.CommandText=olecmd;conn.Open();OleDbDataReader dr=cmd.ExecuteReader();宁德师专计算机系返回2022-11-2320系统总体设计系统总体设计4.1.2用户注册宁德师专计算机系返回2022-11-2321系统总体设计系统总体设计具体操作:用户名和密码不为空,否则跳到的错误页面,且密码要跟确认密码一样,否则跳转到的错误页面,正确注册后,注册信息才能被插入到数据库里面,这里没有用到验证,用了个判断语句:if(this.userName.Text=|this.userPassword.Text=)Response.Redirect(users.aspx);if(this.userPassword.Text=this.confirmPassword.Text)OleDbCommand cmd=new OleDbCommand();cmd.Connection=cnn;olecmd=insert into userLoad(userName,userPassword,userAddress,userTel,userMailbox)values(;olecmd+=userName.Text;olecmd+=,;olecmd+=userPassword.Text;olecmd+=,;olecmd+=userAddress.Text;olecmd+=,;olecmd+=userTEL.Text;olecmd+=,;olecmd+=userMainbox.Text+);cmd.CommandText=olecmd;cmd.ExecuteNonQuery();else Response.Redirect(userc.aspx);宁德师专计算机系返回2022-11-2322系统总体设计系统总体设计4.1.3新闻显示 显示所有的新闻 点击详细信息可以浏览全部信息宁德师专计算机系返回2022-11-2323宁德师专计算机系返回2022-11-2324系统总体设计系统总体设计具体实现:使用工具箱数据GridView控件来实现新闻浏览功能;首先要在属性中设置AutoGenerateColumns属性为false,即不能让 GridView自动产生列,而是通过编辑Columns属性设置各个列的定义。操作方法如下:(1)选择GridView控件,然后在选择属性Columns命令,接着单击属性输入框后面的图标,弹出GridView的列属性对话框。(2)在列属性对话框中,若要增加一个列,首先在“可用字段”框中选择列的类型BoundField,然后单击“添加”按钮将列添加到GridView中。然后在设置DataField属性,该属性的值来自于数据源中的字段。最后在HeaderText中输入文本,将成为在GridView的BoundField列的列名。(3)双击页面设计视图,部分代码实现如下所示:宁德师专计算机系返回2022-11-2325系统总体设计系统总体设计DataSet GetDataSet()OleDbConnection conn;OleDbCommand cmd;conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+范区Server.MapPath(news.mdb);conn.Open();cmd=new OleDbCommand();cmd.CommandText=select*from newsData;cmd.Connection=conn;OleDbDataAdapter oleDA=new OleDbDataAdapter();oleDA.SelectCommand=cmd;DataSet ds=new DataSet();oleDA.Fill(ds,newsData);/填充DataSet conn.Close();return ds;void loadData()/该函数为绑定数据库 DataSet ds=GetDataSet();GridView1.DataSource=ds;GridView1.DataBind();最后在页面加载事件中调用loadData()函数。宁德师专计算机系返回2022-11-2326系统总体设计系统总体设计4.1.4 新闻添加新闻添加宁德师专计算机系返回2022-11-2327系统总体设计系统总体设计双击提交按钮,可添加如下代码:protected void btnInput_Click(object sender,EventArgs e)OleDbConnection conn;OleDbCommand cmd;string olecmd,oleString;oleString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);olecmd=insert into newsdata(newsauthor,newstitle,newscontent,publicdate,newsclassid)values(;olecmd+=txtNewsauthor.Text;olecmd+=,;olecmd+=txtNewstitle.Text;olecmd+=,;olecmd+=txtNewscontent.Text;olecmd+=,;olecmd+=txtPublicdate.Text;olecmd+=,;olecmd+=ddlClass.SelectedIndex.ToString()+);conn=new OleDbConnection();/实例化对象 conn.ConnectionString=oleString;cmd=new OleDbCommand();cmd.Connection=conn;cmd.CommandText=olecmd;conn.Open();cmd.ExecuteNonQuery();conn.Close();txtNewsauthor.Text=;txtNewscontent.Text=;txtNewstitle.Text=;txtPublicdate.Text=;txtNewsauthor.Focus();Response.Redirect(adminPage.aspx);宁德师专计算机系返回2022-11-2328系统总体设计系统总体设计 cmd.CommandText=olecmd;conn.Open();cmd.ExecuteNonQuery();conn.Close();Response.Redirect(adminPage.aspx);双击上传图片按钮,添加如下代码:protected void Button1_Click(object sender,EventArgs e)string filePath=,fileExtName=,mFileName,mPath;if(!=FileUpload1.PostedFile.FileName)/获得上传图片的路径 filePath=FileUpload1.PostedFile.FileName;fileExtName=filePath.Substring(filePath.LastIndexOf(.)+1);try mPath=Server.MapPath(upFile/);mFileName=filePath.Substring(filePath.LastIndexOf()+1);String str=mPath+mFileName;宁德师专计算机系返回2022-11-2329系统总体设计系统总体设计 FileUpload1.PostedFile.SaveAs(mPath+mFileName);/图片路径为upFile/+mFileName OleDbConnection conn;OleDbCommand cmd;string olecmd,oleString;oleString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);olecmd=insert into newsdata(fileDirectory)values(;olecmd+=upfile/+mFileName;olecmd+=,;Page_Load(sender,e);/Response.Write(alert(上传成功);this.Button1.Text=上传成功;this.Image1.ImageUrl=upfile/+mFileName;catch(Exception error)Response.Write(alert(上传失败);宁德师专计算机系返回2022-11-2330系统总体设计系统总体设计4.1.5新闻删除宁德师专计算机系返回2022-11-2331系统总体设计系统总体设计具体实现:新闻删除也是使用GridView数据控件来实现的,点删除字样则删除对应的新闻,具体的代码:protected void GridView1_RowDeleting(object sender,GridViewDeleteEventArgs e)conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);conn.Open();cmd=new OleDbCommand();cmd.Connection=conn;string oleStr=delete from newsData where newsId=+GridView1.Rowse.RowIndex.Cells0.Text+;cmd.CommandText=oleStr;cmd.ExecuteNonQuery();conn.Close();loadData();宁德师专计算机系返回2022-11-2332系统总体设计系统总体设计4.1.6用户删除 宁德师专计算机系返回2022-11-2333系统总体设计系统总体设计具体实现:用户删除也是使用GridView数据控件来实现的,点删除字样则删除对应的用户,具体的代码:protected void GridView1_RowDeleting(object sender,GridViewDeleteEventArgs e)conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);conn.Open();cmd=new OleDbCommand();cmd.Connection=conn;string oleStr=delete from userLoad where userId=+GridView1.Rowse.RowIndex.Cells0.Text+;cmd.CommandText=oleStr;cmd.ExecuteNonQuery();conn.Close();loadData();宁德师专计算机系返回2022-11-2334系统总体设计系统总体设计4.1.7评论新闻 宁德师专计算机系返回2022-11-2335系统总体设计系统总体设计具体实现:评论内容也是使用GridView数据控件来显示评论信息的,文本框用于输入评论的内容,登录者、插入时间插入到数据库,并显示在GridView中,返回按钮用于返回到上一级页面,提交按钮用于将新闻号、评论内容、登录者、评论时间插入到discuss数据库里面,并刷新,显示刚才评论的内容。绑定数据库操作:代码如下OleDbConnection conn;OleDbCommand cmd;conn=new OleDbConnection();conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);conn.Open();cmd=new OleDbCommand();cmd.CommandText=select*from discuss where discussID=+宁德师专计算机系返回2022-11-2336系统总体设计系统总体设计 cmd.Connection=conn;OleDbDataAdapter oleDA=new OleDbDataAdapter();oleDA.SelectCommand=cmd;DataSet ds=new DataSet();oleDA.Fill(ds,discuss);conn.Close();return ds;DataSet ds=GetDataSet();GridView1.DataSource=ds;GridView1.DataBind();插入数据库操作:代码如下protected void Button1_Click(object sender,EventArgs e)string newsid=Page.Request.QueryStringid;string loginname=(string)Sessionusername;string content=this.TextBox1.Text;string writedt=System.DateTime.Now.ToShortTimeString();OleDbConnection conn;OleDbCommand cmd;string olecmd,oleString;宁德师专计算机系返回2022-11-2337系统总体设计系统总体设计 oleString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);olecmd=insert into discuss(discussID,discussname,discusscontent,discusstime)values(;olecmd+=+Page.Request.QueryStringid+;olecmd+=,;olecmd+=+(string)Sessionusername+;olecmd+=,;olecmd+=+this.TextBox1.Text+;olecmd+=,;olecmd+=#+DateTime.Now.ToString()+#+);conn=new OleDbConnection();/实例化对象 conn.ConnectionString=oleString;cmd=new OleDbCommand();cmd.Connection=conn;cmd.CommandText=olecmd;conn.Open();cmd.ExecuteNonQuery();conn.Close();TextBox1.Text=;/Response.Redirect(ViewStateretu.ToString();/上网找的代码哦 Response.Redirect(Request.Url.ToString();/刷新页面返回到刚才的页面 以上为我制作的新闻发布系统主要功能的实现。宁德师专计算机系返回2022-11-2338系统总体设计系统总体设计4.3 ASP.NET技术访问数据库运用脚本连接数据库:首先引用命名空间:using System.Data.OleDb;建立数据库连接:OleDbConnection conn=new OleDbConnection();/得到一个OleDbConnectionconn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+Server.MapPath(news.mdb);/构造一个连接字符串(使用相对路径连接)conn.Open();/连接打开 即建立了连接操纵数据库:OleDbCommand cmd new OleDbConnection();/得到一个OleDbCommand cmd.CommandText=SQL语句 /利用查询语句赋值OleDbCommand的CommandTextcmd.Connection=conn;/把连接赋给OleDbCommand的Connection.conn.Close();/断开连接 宁德师专计算机系返回2022-11-23395网站的测试网站的测试宁德师专计算机系返回2022-11-2340数据访问层和接口层的设计数据访问层和接口层的设计5.1 测试的步署:测试的步署:对于一个大型网站来说,网站的可扩展性、可靠性、安全性、可管理性是几个很重要的因素。刚开发的系统肯定会有各种各样的问题,需要通过严格的测试,才能成为成品系统。宁德师专计算机系返回2022-11-2341数据访问层和接口层的设计数据访问层和接口层的设计5.2网站的负荷测试网站的负荷测试:进行网站的负荷测试,目的是为了能预测和防止系统瘫痪和不可接受的服务迟缓。主要分为4个关键测试,每个测试可看作是对相互关联的系统和服务器的行为与性能的深入观察。根据完成全面测试所需的时间,能顾及所面临的问题,使网站在极端的负荷下维持可接受的服务水平。脚本验证/数据完整性测试:脚本测试的主要目的是保证测试是按照设计的要求进行的。除了证实所记录的测试步骤可以无错误地重复外,还要进行手工检验数据并在后台进行数据完整性测试。宁德师专计算机系返回2022-11-2342 1.单步测试单步测试 用来确定服务器允许的最大并发用户数和交易数。用来确定服务器允许的最大并发用户数和交易数。2.性能空间测试性能空间测试 3.持续测试持续测试 运行持续测试将证明应用在实际环境下能够持续工作。运行持续测试将证明应用在实际环境下能够持续工作。4.数据库联接测试数据库联接测试 数据库联接测试用来确定数据库服务器是否能够支持期望数据库联接测试用来确定数据库服务器是否能够支持期望的连接数。的连接数。数据访问层和接口层的设计数据访问层和接口层的设计 2022-11-2343宁德师范高等专科学校Thank You!
展开阅读全文