• 1.69 MB
  • 2022-04-22 13:51:09 发布

网络留言簿系统的设计与开发毕业设计.doc

  • 16页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'天津大学网络学院专科毕业设计论文网络留言簿系统的设计与开发毕业设计一、网络留言薄系统概述(一)留言薄系统的概念留言薄系统是一个由人、计算机等组成的能进行管理信息收集、传递、储存、加工、维护和使用的系统。网络留言薄作为网站与用户交流的方式,被越来越多的人所接受。网络留言薄最大程度的方便了用户与网站之间的信息交流,可以通过www浏览器实现web留言。本系统基本实现网上留言的动作过程,同时提供了后台管理的功能,可方便的对前台的界面、用户的留言及与本留言薄相关的信息进行动态管理。留言薄系统的一般模式如图1所示。系统管理员授权用户计算机口令密码留言子系统查看子系统回复子系统其他子系统图1留言薄系统的一般模式(二)留言薄系统的特点⑴设置系统用户登陆功能,即时对系统数据进行安全设置与保护。⑵友好的用户界面,业务操作简单,进入系统即能使用。⑶成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能更稳定。⑷强大的数据处理能力和开放的数据接口,选用具有大型数据库安全机制的数据库系统,提供各种级别的数据保护和权限控制方式,确保数据的安全可靠。⑸系统的每种操作快捷、方便。易懂易会。系统集输入、维护、查询、计和各种处理为一体,信息导入导出方便共享。第16页/共16页 天津大学网络学院专科毕业设计论文⑹数据集中统一采用数据库、数学模型的应用、、有预测和控制能力、面向决策。(一)留言薄系统的功能1.留言功能:用户进入留言本后,可以将整个系统的各项功能尽收眼底,留言方式主要设计为用户先填写个人信息和留言内容,系统确认后保存用户的留言。2.查看功能:主要是为了用户能够准确无误地看到自己的留言内容,确认留言内容的正确性,以此来实现查看留言的功能。3.版主管理功能:版主可以方便的登陆到后台,对留言信息进行方便的管理。4.留言本的管理功能:用来对用户留言信息的回复或删除功能;5.密码管理功能:对后台登录密码进行管理二、网络留言薄系统分析(一)系统的目标系统的根本出发点是网络用户,必须以方便用户为首要目标,其次是管理员对系统的特点和功能有些什幺要求,即该系统都能做什么工作。因此网络留言薄系统应该实现如下目标:1.比较完备的功能,系统应该能够有效的处理日常的工作。如:签写留言、回复留言、查询检索等业务工作。2.简单友好的操作界面。3.易于维护和升级,系统的设计要方便维护,包括硬件的维护,软件的维护(更改,升级等)和网络的维护。4.使用性,以网络用户需求为目标,以方便用户为原则,尽可能降低使用前的培训、实施和使用中的维护时间。5.高可靠性,本系统要求具有较高的可靠性,。6.安全性,该网络要具有极高的安全性。(二)系统的可行性分析1.经济可行性网络留言薄系统系统开发需要投资费用和未来的运行维护费用,其中投资费用主要包括设备费用、人员费用等。系统的收益主要通过新系统提高工作效率,指导经营策略来实现。2.技术可行性现在计算机网络技术的应用已经非常成熟,只要拥有较高性能的计算机和内部的局域网络,应该能够运行此系统,C/S结构也能方便运用于网络上。3.操作可行性第16页/共16页 天津大学网络学院专科毕业设计论文由于本系统的操作简单,不用必须学习数据库和VB方面知识,只要加以演示,即可熟练掌握本管理系统的使用。(一)用户需求分析需求分析阶段的任务是通过详细调查现实世界处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。这一阶段收集的基础数据和数据流程图(DFD)为下一阶段系统的结构设计提供了依据。本系统的数据流图如图2所示。P1留言管理留言D1用户D2P2用户管理管理员P5查询版主D3P3版主管理用户P4签写留言留言D4图2本系统的数据流程图二、网络留言薄系统设计(一)总体设计1.结构设计网络留言薄系统的功能结构如图3所示。2.代码设计本系统的用户名编码采用顺序码。编码由6位字符组成,例如:张三110101李四1101023.数据库设计网络留言薄系统数据库中各个表格的设计结果如表1和表2所示。其中每个表格表示在数据库中的一个表。第16页/共16页 天津大学网络学院专科毕业设计论文网络留言薄前台管理后台管理信息浏览签写留言信息删除信息回复版主管理信息浏览发送邮件图3网络留言薄系统的功能划分表1.用户鉴定表字段名称数据类型ip1数字ip2数字country文本city文本表2.用户信息表字段名称数据类型ID自动编号标题文本内容备注作者文本性别文本主页文本信箱信箱QQ文本回复备注时间日期/时间头像文本第16页/共16页 天津大学网络学院专科毕业设计论文(一)程序设计1.网络留言薄系统总体程序流程图如图4所示。进入该系统输入口令正确错误查看留言用户请求回复留言签写留言发送邮件结束yesN图4.系统程序流程图2.用户签写留言程序流程图(见图5)用户签写留言检查用户有效性留言存入数据库前台调用显示YN图5.用户签写留言程序流程图第16页/共16页 天津大学网络学院专科毕业设计论文进入后台回复留言删除留言查看留言结束1.后台留言管理流程图(见图6)图6.后台留言管理流程图2.用户登录系统程序流程图(见图7)使用本系统的用户必须先进行登录,如果是合法用户则打开系统主窗口,否则系拒绝登录,不能使用系统。用户登录验证身份进入主窗口YN图7.用户登录系统程序流程图二、网络留言系统实施(一)系统界面用VB.NET设计的网络留言薄系统界面如图8所示(代码见附录)第16页/共16页 天津大学网络学院专科毕业设计论文图8.系统界面(一)用户留言模块主要有如下两个部分组成,一是用户填写内容检查,填写昵称、邮箱等,检查用户的有效性,如为有效用户留言,将用户留言信息存入数据库的过程;二是用户留言信息的前台显示。其工作界面如图9所示。(代码见附录)第16页/共16页 天津大学网络学院专科毕业设计论文图9.工作界面(一)管理员登录界面管理员可以通过权限进入后台对系统进行管理。其界面如图10所示。(代码见附录)图10.管理员登录(二)留言回复管理员进入后台通过回复模块可以对用户的留言做出答复并在前台显示出来,这样有利于系统的有效更新,使用户及时了解到网站的最新资料。其界面如图11所示。(代码见附录)第16页/共16页 天津大学网络学院专科毕业设计论文图11.留言回复界面(一)留言删除管理员进入管理员登录模块并输入密码,系统审查通过后进入后台删除留言。其界面如图12所示。(代码见附录)图12.留言删除二、总结通过这次毕业设计我感受良深,也从中学到不少在学校在课堂上学不到的东西.通过实次实践我深刻的感觉到系统开发的艰辛及问题解决后的喜悦,它培养我们独立思考问题的能力,同时也增强了我的动手能力,为以后自己在所要从事工作奠定了基础。此软件用网络编程语言ASP.NET编成。具备一定的实用功能,但还是有很多的不足之出。在编写过程中也遇到了很多的困难,老师在百忙之中抽出时间帮我解决很多困难。在这里我衷心的感谢我的指导老师对我的指导和启发。没有您的指导和帮助,我不可能顺利圆满地完成论文的工作。在这里学生董晶对您说声:“谢谢老师,您辛苦了。”第16页/共16页 天津大学网络学院专科毕业设计论文参考文献[1]魏海.ASP.NET职业技能培训教程(高级管理员级)[M].北京:北京希望电子出版社.2006.4[2]张登辉,刘益红.ASP编程基础及应用[M].北京:机械工业出版社.2006.5[3]刘瑞新,张兵义,常永英.ASP动态网站开发毕业设计指导及实例[M]北京:机械工业出版社,2005.3[4]杨冬青,唐世渭.数据库系统概念[M].北京:机械工业出版社,2000.6[5]萨师煊,王 珊.数据库系统概论[M].北京:高等教育出版社,2000.7第16页/共16页 天津大学网络学院专科毕业设计论文附录部分源代码主窗体的程序代码PublicClassWebForm1InheritsSystem.Web.UI.Page#Region"Web窗体设计器生成的代码""该调用是Web窗体设计器所必需的。PrivateSubInitializeComponent()EndSubProtectedWithEventsLabel2AsSystem.Web.UI.WebControls.LabelProtectedWithEventsPostnewAsSystem.Web.UI.WebControls.LabelProtectedWithEventsTextBox1AsSystem.Web.UI.WebControls.TextBoxkProtectedWithEventsHyperLink3AsSystem.Web.UI.WebControls.HyperLinkProtectedWithEventsHyperLink4AsSystem.Web.UI.WebControls.HyperLinkProtectedWithEventsselAsSystem.Web.UI.WebControls.DropDownList"注意:以下占位符声明是Web窗体设计器所必需的。"不要删除或移动它。PrivatedesignerPlaceholderDeclarationAsSystem.ObjectPrivateSubPage_Init(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Init"CODEGEN:此方法调用是Web窗体设计器所必需的"不要使用代码编辑器修改它。InitializeComponent()EndSub#EndRegion"定义每一页显示的记录数PublicRecord_Per_PageAsShort=10PrivateScript_NameAsString"页面加载PublicSubPage_Load(ByValSourceAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load第16页/共16页 天津大学网络学院专科毕业设计论文Script_Name=GetPageName()"第一种方式来分页显示数据ShowRecords()EndSub"得到起始浏览超链接字符串FunctionGetPageName()AsStringDimStrAsStringDimPosAsShortStr=Request.ServerVariables("Script_Name").Trim()Pos=Str.LastIndexOf("/")IfPos>=0ThenReturnStr.Substring(Pos+1)ElseReturnStrEndIfEndFunction"此函数的功能是分页显示数据库中的记录PrivateSubShowRecords()DimstrConnAsString"定义数据连接字符串DimSQLAsString"定义SQL语句DimodConnAsOleDb.OleDbConnectionDimodAdaptAsOleDb.OleDbDataAdapterDimDSAsDataSet"创建DataSet对象DimDTAsDataTable"创建DataTable对象DimnRecCountAsInteger"保存记录总数DimnPageCountAsInteger"保存总共的数据页面数目DimnPageAsInteger"存放要浏览当前数据页面号DimnStartAsInteger"存放当前页面的起始记录序号DimnEndAsInteger"存放当前页面的终止记录序号DimIAsInteger"确认要浏览的页面序号nPage=Convert.ToInt32(Request.QueryString("Page"))"response.write(cint(Request.QueryString("Pagex")))IfCInt(Request.QueryString("Pagex"))>0ThenRecord_Per_Page=第16页/共16页 天津大学网络学院专科毕业设计论文Convert.ToInt32(Request.QueryString("Pagex"))EndIf"TextBox2.text=Record_Per_PageSQL="SELECTleaveword.id,thename,picaddr,ttype,caption,ddate,content,reply,redate,homepage,qq,emailFROMleaveword,facesheetwherefaceid=facesheet.idorderbyleaveword.iddesc""SQL="SELECT*FROMLeaveword""创建数据连接字符串strConn="Provider=Microsoft.Jet.OLEDB.4.0;"&_"DataSource="&Server.MapPath("leaveword.mdb")&";"&_"UserID=;Password=;"Try"得到数据记录总数odConn=NewOleDb.OleDbConnection(strConn)odAdapt=NewOleDb.OleDbDataAdapter(SQL,odConn)DS=NewDataSetodAdapt.Fill(DS)DT=DS.Tables(0)nRecCount=DT.Rows.CountCatcheAsExceptionResponse.Write("错误信息:"&e.Message&"

")nRecCount=0EndTry"判断是否存在数据记录IfnRecCount>0Then"确定数据记录要显示的页面数nPageCount=nRecCountRecord_Per_PageIfnRecCountModRecord_Per_Page>0ThennPageCount+=1EndIf"确认浏览命令中的页面参数是否越界,如果越界则重置页面序号IfnPage<1ThennPage=1EndIf第16页/共16页 天津大学网络学院专科毕业设计论文IfnPage>nPageCountThennPage=nPageCountEndIf"确认当前页面的开始记录和终止记录nStart=Record_Per_Page*(nPage-1)nEnd=nStart+Record_Per_Page-1IfnEnd>nRecCount-1ThennEnd=nRecCount-1EndIf"在屏幕中输出记录ForI=nStartTonEnd"calltabx(DT.Rows(I)("Itemid").tostring(),DT.Rows(I)("ItemName").tostring(),DT.Rows(I)("Itemtext").tostring())"表格0行c00.RowSpan=3DimiiAsString=(DT.Rows(I)(2).ToString())c00.InnerHtml="

"&DT.Rows(I)("thename").ToString()&""Dimc01AsHtmlTableCellc01=NewHtmlTableCellc01.InnerHtml="发言主题:"&DT.Rows(I)(4).ToString()&""c01.ColSpan=3Dimc02AsHtmlTableCellc02=NewHtmlTableCell"c02.InnerHtml="c02"c02.InnerHtml="发言日期:  "&DT.Rows(I)(5).ToString()&""c11.InnerHtml="
"&Replace(Replace(Replace(Replace(Replace(Replace((DT.Rows(I)(6).ToString()),"&","&"),"<","<"),">",">"),Chr(13),"
"),Chr(34),"""),Chr(32)," ")&"
 
"第16页/共16页 天津大学网络学院专科毕业设计论文EndIf"定义导航条Dima1AsStringa1=Script_Name&"?Page=1&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))HyperLink1.Text="首页"HyperLink1.NavigateUrl=a1Dima2AsStringa2=Script_Name&"?Page="&(nPage-1).ToString()&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))HyperLink2.Text="上页"HyperLink2.NavigateUrl=a2Dima3AsStringa3=Script_Name&"?Page="&(nPage+1).ToString()&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))HyperLink3.Text="下页"HyperLink3.NavigateUrl=a3Dima4AsStringa4=Script_Name&"?Page="&(nPageCount).ToString()&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))HyperLink4.Text="尾页"HyperLink4.NavigateUrl=a4Label1.Text="页次"&nPage&" / "&nPageCount&"  共"&nRecCount&" 条留言""提示没有记录IfnRecCount=0ThenEndSub"下拉列表项目被选后的动作SubSubmitBtn_Click1(ByValSenderAsObject,ByValEAsEventArgs)Dima5AsStringa5=Script_Name&"?Page="&sel.SelectedItem.Text.ToString()&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))Response.Redirect(a5EndSub第16页/共16页 天津大学网络学院专科毕业设计论文SubButton1_Click(ByValSenderAsObject,ByValeAsEventArgs)IfPage.IsValidThenDima6AsStringIfTrim(TextBox1.Text)<>""Thena6=Script_Name&"?Page="&Trim(TextBox1.Text)&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))Elsea6=Script_Name&"?Page="&Convert.ToInt32(Request.QueryString("Page"))&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))EndIfResponse.Redirect(a6)EndIfEndSub"定义每页显示的记录条数目PublicSubButton2_Click(ByValSenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickIfPage.IsValidThenDima7AsStringIfTrim(TextBox2.Text)<>""Thena7=Script_Name&"?Page=1"&"&pagex="&Trim(TextBox2.Text)Elsea7=Script_Name&"?Page="&Convert.ToInt32(Request.QueryString("Page"))&"&pagex="&Convert.ToInt32(Request.QueryString("Pagex"))EndIfResponse.Redirect(a7)EndIfEndSub第16页/共16页'