论坛系统 c# 课程设计.doc_第1页
论坛系统 c# 课程设计.doc_第2页
论坛系统 c# 课程设计.doc_第3页
论坛系统 c# 课程设计.doc_第4页
论坛系统 c# 课程设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

xxxxx软件课程设计2报告摘 要当今出现的网上论坛,与其它一切媒体相比,可以更加自由地发表、交流各种观点,可以非常及时地,广泛、深入地,具体讨论、辩论各种重要,但常有尖锐分歧。办好网上论坛,就能非常及时地:使许多创新的思想、观点得以交流、展示,使正确的,能更加明确、丰富,更加普及、传播;使错误的,能得到及时批判、纠正,而不致造成泛滥、毒害;使真理,越辩越明,更加深入发展。因而,网上论坛是世界上真正最为民主、自由的乐土,是贯彻执行“百花齐放、百家争鸣”方针的有力工具,是培育、发展各种创新思想的重要苗圃。本系统的主要功能模块有登录模块、注册模块、密码找回模块等。本文将使用ASP.NET和SQL2005作为论坛的开发工具。关键词:网上论坛;ASP.NET; SQL2005 。目 录第1章 绪论3第1.1节 课题来源4第1.2节 国内外研究现状和发展趋势4第1.3节 开发目的4第2章 开发工具的介绍4系统开发和运行环境4第3章 需求分析与可行性分析5第3.1节 可行性分析5(1)技术可行性和方法5(2)经济可行性5(3)操作可行性5第3.2节 需求分析5(1)系统的功能需求6(2)系统的性能需求6(3)系统的数据流图6第4章 总体设计7第4.1节 数据库设计7(1)SQL Server关系数据库简介37(2)SQL Server数据库系统有关开发的特点48第4.2节 系统逻辑模型9第4.3节 系统逻辑结构设计12第5章 详细设计与具体实现15第5.1节 登陆模块界面15第5.2节 注册模块界面及功能17第5.3节 密码找回界面及功能20第5.4节 管理员登陆界面及功能22第5.5节 注册用户界面及功能24第5.6节 浏览网民界面及功能25第6章 运行结果与测试26结束语27参考文献28第1章 绪论当今出现的网上论坛,与其它一切媒体相比,可以更加自由地发表、交流各种观点,可以非常及时地,广泛、深入地,具体讨论、辩论各种重要,但常有尖锐分歧。办好网上论坛,就能非常及时的使许多创新的思想、观点得以交流、展示。使正确的东西能更加明确、丰富的普及和传播;使错误的理念能得到及时批判、纠正,而不致造成泛滥、毒害;使真理,越辩越明,更加深入发展。因而,网上论坛是世界上真正最为民主、自由的乐土,是贯彻执行“百花齐放、百家争鸣”方针的有力工具,是培育、发展各种创新思想的重要苗圃。因为作者本人喜欢体育运动,尤其对NBA篮球情有独钟,于是开发了这个简单的关于NBA篮球的论坛,既兴趣所向,又锻炼了自己的专业能力。第1.1节 课题来源随着网络的流行与发展,网络逐渐成为人们发表言论的主要部分。以网络为载体最大程度地利用网络资源的共享、方便、快捷等优点,实现人们的言论自由。根据我们在一起论坛的基本流程,我们永远在一起论坛有以下两个模块组成:后台管理员模块:实现管理员对论坛的维护。前台用户模块:实现用户对个人发表言论的增删改查,发表言论,和对其他用户详情的查看。第1.2节 国内外研究现状和发展趋势我国网上论坛随着经济的迅猛增长,电脑的日益普及,网上论坛已经越来越受到广大网名的青睐,网上论坛的功能也越来越强,国外也是如此。第1.3节 开发目的一是为提高软件编写人员的实际应用能力;二是为了和广大球迷相互发表自己的意见和看法,以及对自己所爱球队的见解。本需求的编写目的在于研究网上论坛的开发途径和应用方法第2章 开发工具的介绍本系统主要是针对大学生设计的,考虑到本系统的性能要求,和现有的条件,我们选择了windows xp作为开发、测试和运行的平台。系统采用Microsoft Office中的sql sever2005 设计数据库,并使用当前优秀的开发工具visual stdio 2008,它有着最为灵活的数据库结构,对数据库应用有着良好的支持。系统开发和运行环境系统的开发环境:操作系统:Windows xp/7平台。文件系统:FAT32系统最低运行环境:操作系统:Win32系统 NT平台系列;内存要求至少在128MB以上。推荐使用环境:操作系统:Win xp 或 Win 7;文件系统:NTFS内存要有512MB以上,并且装有visual studio2008,SQL Server2005第3章 需求分析与可行性分析本章的主要内容是对系统进行可行性分析和需求分析。第3.1节 可行性分析(1)技术可行性和方法ASP所做的程序是当今流行且日益成熟的技术,而本人作为开发者,学过ASP、C、C+、C#、JAVA等编程语言,有一定的编程经验。学过SQLSERVER数据库语句及一些基本操作。系统为票务管理系统,我将尽最大努力,结合自己水平及实际需要,将自己所学到的知识应用到本系统的设计之中,并将借此进一步学习C#技术的性能提升、代码安全、控件设计及面向对象程序的设计思想等。依据当前所掌握的技术与学习进度而言,完全有能力实现该系统,技术上是可行的。(2)经济可行性系统所需的开发环境是要有一台能够联网的计算机,并安装了Windows xp的操作系统;所安装的应用软件为VS2008和SQLSERVER2005数据库。而本人已经有了计算机,具有Windows xp的操作系统,并且SQLSERVER 2005已安装,是完全免费的;而所需的参考资料大多都是在网络上找和在图书馆借书,这些消费很小。因此在经济上是可行的。(3) 操作可行性本网站论坛以操作简单,功能完善,运行速度快,本着一切为用户着想作为其设计目标,本系统主要为大学生用,具备一定的计算机基础知识,在计算机操作方面不会存在问题。因而用户操作上具有可行性。第3.2节 需求分析利用计算机实现自动的理势在必行。对于大学生来说,利用计算机互相交流,促进同学之间的关系。而且利用计算机进行管理,不仅能够保证各项信息准确无误、快速输出,同时计算机具有手工管理所无法比拟的优点.例如:查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是科学化、正规化管理,与世界接轨的重要条件。(1)系统的功能需求本网上论坛系统需要在.net3.5的环境下配置运行,具有SQL数据库的简单配置。(2)系统的性能需求1、运行环境Server要求内存256以上,cpu 2.0GHz以上.Clinet内存128以上,cpu奔腾III以上。2、支持软件操作系统windos系统、数据库管理系统:SQL2008数据库系统。运行平台:visual studio 2005/2008。(3)系统的数据流图数据流图(DFD,data flow diagram)是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流图的基本图形元素有4种: :箭头,表示数据流; :圆或椭圆,表示加工;:双杠,表示数据存储;:方框,表示数据的源点或终点。本系统的数据流图如图31所示:论坛管理员浏览网民注册用户NBA网上论坛 浏览登陆登陆登陆结果登陆结果系统维护用户操作维护结果操作结果图31网上论坛系统数据流图第4章 总体设计上章对系统进行了需求分析和可行性分析,证明此系统完全可行,这章就对系统的总体设计通过图文并茂的形式进行介绍。第4.1节 数据库设计(1)SQL Server关系数据库简介31、SQL Server是由Microsoft开发和推广的关系数据库系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。2、关系数据库(RDBMS)管理系统功能:维护数据库数据之间的关系;保证数据存储的正确性;当出现系统故障的时候,将所有数据恢复到能够保证一致行的某种状态3、RDBMS:SQL Server,Oracle,DB/2,Sybase,Informix4、Non-RDBMS(File-based):Foxpro,Access(2)SQL Server特点: 与因特网的集成:SQL Server的数据库引擎全面支持XML(Extensive Markup Language,扩展标记语言),能使用户很容易地将数据库中的数据发布到Web页面上。 可伸缩性与可用性:可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。另外,对联合服务器,索引视图等的支持,使得SQL Server企业版可以升级到最大Web站点所需的性能级别。 企业级数据库功能:SQL Server分布式查询可以引用来自不同数据库的数据,而且这些对于用户来说是完全透明的;分布式数据库将保证任何分布式数据更新时的完整性;复制可以使我们能够维护多个数据复本,这些用户能够自主地进行工作,然后再将所做的修改合并到发布数据库;SQL Server关系数据库引擎能够充分保护数据完整性,还可以将管理并发修改数据库开销到最小。易于安装,部署和使用:SQL Server由一系列的管理和开发工具组成,这些工具使得在多个站点上进行SQL Server的安装,部署,管理和使用变得更加容易。开发人员可以更加快速地交付SQL Server应用程序,而且只需要进行最少的安装和管理就可以实现这些应用程序。数据仓库: 数据仓库是SQL Server中包含的用于分析取和分析汇总数据以进行联机分析处理的工具。这个功能只在Oracle和其他更昂贵的DBMS中才有。 SQL Server新特性:全面扩展了SQL Server 7.0的性能,可靠性和易用性。增加了一系列的功能,具体如下:在关系数据库方面的增强图形管理增强增强的联合数据库服务器 SQL Server工具和实用程序:1、企业管理器 2、服务管理器 3、查询分析器 4、事件探查器5、导入和导出数据 6、服务器网络使用工具 7、客户端网络使用工具 8、联机帮助文档(2) SQL Server数据库系统有关开发的特点4.NET 框架主机使用SQL Server 2005,开发人员通过使用相似的语言,例如微软的Visual C# .NET和微软的Visual Basic,将能够创立数据库对象。开发人员还将能够建立两个新的对象用户定义的类和集合XML 技术在使用本地网络和互联网的情况下,在不同应用软件之间散步数据的时候,可扩展标记语言(XML)是一个重要的标准。SQL Server 2005将会自身支持存储和查询可扩展标记语言文件。ADO.NET 2.0 版本从对SQL类的新的支持,到多活动结果集(MARS),SQL Server 2005中的ADO.NET将推动数据集的存取和操纵,实现更大的可升级性和灵活性。增强的安全性SQL Server 2005中的新安全模式将用户和对象分开,提供fine-grain access存取、并允许对数据存取进行更大的控制。另外,所有系统表格将作为视图得到实施,对数据库系统对象进行了更大程度的控制。Transact-SQL 的增强性能SQL Server 2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT, APPLY, ROW_NUMBER和其他数据列排行功能等等。SQL 服务中介SQL Server 2005为开发可升级的数据库应用软件,提供了新的语言功能。这些增强的性能包括处理错误、递归查询功能、关系运算符PIVOT, APPLY, ROW_NUMBER和其他数据列排行功能等等。通告服务通告服务使得业务可以建立丰富的通知应用软件,向任何设备,提供个人化的和及时的信息,例如股市警报、新闻订阅、包裹递送警报、航空公司票价等。在SQL Server 2005中,通告服务和其他技术更加紧密地融合在了一起,这些技术包括分析服务、SQL Server Management Studio。Web服务使用SQL Server 2005,开发人员将能够在数据库层开发Web服务,将SQL Server当作一个超文本传输协议(HTTP)侦听器,并且为网络服务中心应用软件提供一个新型的数据存取功能。报表服务利用SQL Server 2005, 报表服务可以提供报表控制,可以通过Visual Studio 2005发行。上述九个方面构成了数据库系统的主要特征。第4.2节 系统逻辑模型E-R图是直观表示概念模型的工具,它有四个基本成分: 矩形框,表示实体类型(考虑问题的对象)。 菱形框,表示联系类型(实体间的联系)。 椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。 直线,联系类型与其涉及的实体类型之间以直线连接。网上论坛系统网民论坛管理员用户登陆或注册找回密码操作浏览管理用户1111NNN1图41总体网上论坛管理系统E-R图图42是网上论坛网民浏览E-R图:网民浏览注册模板帖子浏览浏览NMNM图42网上论坛网民浏览E-R图图43是网上论坛管理员E-R图:论坛管理员浏览模板用户模块帖子浏览帖子精华帖子普通帖子浏览浏览管理发表评论帖子1N11NNNNNM图43网上论坛管理员E-R图图44是网上论坛注册用户E-R图:注册用户模板帖子精华帖子普通帖子帖子个人信息浏览浏览发表修改NMN1M1NM 图44网上论坛注册用户E-R图第4.3节 系统逻辑结构设计表41为论坛管理员的属性。此表中包含属性为:AdminID号,AdminName管理员名,和登陆密码。表41论坛管理员信息表表42为论坛注册用户信息的属性。此表中包含属性为:UserID号,UserName用户名,UserSex,Userpaw密码等。表42论坛注册用户信息表表43为论坛版块信息的相关属性。此表中包含属性为:ModueID号,ModuleName版块名称和对应的发表时间ModuleDate。表43论坛版块信息表表44为论坛帮助信息的相关属性。此表中包含属性为:HelpID号,HelpNmae帮助名称和对应的帮助内容HelpContent。表44论坛帮助信息表表45是论坛回帖信息的相关属性。此表中包含属性为:RevertCardID回帖号,CardID帖子号,回帖内容以及Date时间。表45论坛回帖信息表表46是论坛帖子信息的相关属性。此表中包含属性为:CardID帖子号,UserID号,ModueID号,CardName帖子名称,CardContent内容以及CardIsPride(是否是精华帖)等。表46论坛帖子信息表第5章 详细设计与具体实现本章为了使用户更直观的对系统进行了解,主要介绍了一些模块的界面、功能及代码。第5.1节 登陆模块界面首先,为论坛管理员和注册用户都设置了相应的登陆密码,为的是确保论坛的数据不会被非法修改,要求正确的输入用户名和密码。如图51。如果输入的用户名,密码以及用户ID正确则进入论坛,否则该论坛系统就会提示你输入用户名或密码错误。点击确定按钮则系统要求重新输入。以免数据被不明原因破坏和篡改,而造成无法估计的损失。图51 登陆界面登陆界面主要代码5:public partial class BackDesk_Login_Login : System.Web.UI.Page DataCon myCon = new DataCon(); ValidateCode code = new ValidateCode(); protected void Page_Load(object sender, EventArgs e) protected void btnLogin_Click(object sender, EventArgs e) SessionUserID = txtUserID.Text;/给DeliverCard.aspx页传值 SessionName = txtUserName.Text;/给Index.aspx页传值 SqlConnection sqlconn = myCon.getCon(); sqlconn.Open(); SqlCommand sqlcom = sqlconn.CreateCommand(); if (cbAdminLogin.Checked = true) sqlcom.CommandText = select count(*) from tb_Admin where AdminID= + txtUserID.Text + and AdminName= + txtUserName.Text + and AdminPwd= + txtPassword.Text + ; int countAdmin = Convert.ToInt32(sqlcom.ExecuteScalar();/获取SQL语句的值 强制转换成数值类型 if (countAdmin 0) Page.Response.Redirect(AdminLogined.aspx); else Response.Write(alert(用户名或密码有误!);location=javascript:history.go(-1); return; else sqlcom.CommandText = select count(*) from tb_User where UserID= + txtUserID.Text + and UserLoginName= + txtUserName.Text + and UserPwd= + txtPassword.Text + ; int countUser = Convert.ToInt32(sqlcom.ExecuteScalar(); if (countUser 0) Page.Response.Redirect(UserLogined.aspx); else Response.Write(alert(用户名或密码有误!);location=javascript:history.go(-1); return; sqlconn.Close(); 第5.2节 注册模块界面及功能如果浏览网民想发表自己的看法或者是评论相关的帖子,就要点击注册按钮,进入注册界面来完成相关的注册手续,如图52 所示:图52 注册界面注册界面主要模块代码:public partial class FrontDesk_Login_UserRegister : System.Web.UI.Page DataCon myCon = new DataCon(); DataOperate sqlBind = new DataOperate(); protected void Page_Load(object sender, EventArgs e) protected void btnRegister_Click(object sender, EventArgs e) string sqltest = select * from tb_User where UserID= + this.txtUserID.Text + ; SqlConnection sqlconn = myCon.getCon(); sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqltest, sqlconn); SqlDataReader read = sqlcom.ExecuteReader(); read.Read(); if (read.HasRows) if (this.txtUserID.Text.Trim() = readUserID.ToString().Trim() Response.Write(alert(该用户ID已经注册过);localtion=UserRegister.aspx); return; string sqlstr = insert into tb_User + (UserID,UserLoginName,UserSex,UserPwd,UserName, + UserQuePwd,UserAnsPwd,UserTel,UserEmail,UserAddress,UserPostCode,UserQQ) + values( + txtUserID.Text + , + txtLoginName.Text + , + ddlSex.Text + , + txtPwd.Text + , + txtTName.Text + , + txtQuePwd.Text + , + txtAnsPwd.Text + , + txtTel.Text + , + txtEmail.Text + , + txtAddress.Text + , + txtPostCode.Text + , + txtQQ.Text + ); sqlBind.DataCom(sqlstr); Response.Redirect(SuccessReg.aspx); protected void btnTest_Click(object sender, EventArgs e) string sqlstr = select * from tb_User where UserID= + this.txtUserID.Text + ; SqlConnection sqlconn = myCon.getCon(); sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(sqlstr, sqlconn); SqlDataReader read = sqlcom.ExecuteReader(); read.Read(); if (read.HasRows) if (this.txtUserID.Text.Trim() = readUserID.ToString().Trim() Response.Write(alert(该用户ID已经注册过);localtion=UserRegister.aspx); return; else Response.Write(alert(您可以进行正常注册);localtion=UserRegister.aspx); read.Close(); sqlconn.Close(); 第5.3节 密码找回界面及功能如果已经注册的用户因不小心而忘记了密码,则可以通过单击“找回密码”按钮进入密码找回界面,回答正确的密码提示问题来找回密码。如图53所示:图53 密码找回界面密码找回界面主要代码:public partial class FrontDesk_FindPwd_FindPwd : System.Web.UI.Page DataCon myCon = new DataCon(); protected void Page_Load(object sender, EventArgs e) SqlConnection sqlconn = myCon.getCon(); sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(select UserQuePwd from tb_User where UserID= + Convert.ToString(SessionUserID) + , sqlconn);/接受FillUserID页传值 txtQuePwd.Text = Convert.ToString(sqlcom.ExecuteScalar(); sqlconn.Close(); protected void btnSure_Click(object sender, EventArgs e) SqlConnection sqlconn = myCon.getCon(); sqlconn.Open(); SqlCommand sqlcom = new SqlCommand(select count(*) from tb_User where UserAnsPwd= + txtAnsPwd.Text + and UserID= + Convert.ToString(SessionUserID) + , sqlconn); int count = Convert.ToInt32(sqlcom.ExecuteScalar(); if (count 0) Page.Response.Redirect(FindPwd.aspx); else Response.Write(alert(提示问题答案输入有误!);location=javascript:history.go(-1); return; sqlconn.Close(); 第5.4节 管理员登陆界面及功能管理员输入正确的管理员用户名以及密码,则登陆管理界面,在这里管理员可以对整个论坛的信息进行浏览,评价以及修改。如图54所示图54 管理员主界面管理员界面主要代码1:public partial class FrontDesk_Login_AdminLogined : System.Web.UI.Page DataCon myCon = new DataCon(); DataOperate sqlBind = new DataOperate(); SqlConnection sqlconn; protected void Page_Load(object sender, EventArgs e) if (SessionName = null) Response.Redirect(././FrontDesk/Login/Login.aspx); else labAdminName.Text = SessionName.ToString() + ,; dlBind(); public void dlBind() int curpage = Convert.ToInt32(this.labPage.Text); PagedDataSource ps = new PagedDataSource(); sqlconn = myCon.getCon(); sqlconn.Open(); string sqlstr = select a.*,b.* from tb_Card as a join tb_Module as b on a.ModuleID=b.ModuleID; SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlconn); DataSet ds = new DataSet(); MyAdapter.Fill(ds, tb_Card); ps.DataSource = ds.Tablestb_Card.DefaultView;第5.5节 注册用户界面及功能注册用户输入正确的用户名以及密码,则登陆个人界面,在这里用户可以对整个论坛的信息进行浏览,评价以及对个人信息修改。如图55所示图55 注册用户界面注册用户界面主要代码5:public int CalculateUserPoint() int P_Int_UserPoint; sqlconn = myCon.getCon(); sqlconn.Open(); string strCount = select count(*) as id from tb_Card where UserID= + SessionUserID.ToString() + ; SqlCommand MyComm = new SqlCommand(strCount, sqlconn); SqlDataReader dr = MyComm.ExecuteReader(); if (dr.Read() P_Int_UserPoint = Int32.Parse(drid.ToString(); string sqlstr = update tb_User set UserMark= + P_Int_UserPoint * 2 + where UserID= + SessionUserID.ToString() + ; sqlBind.DataCom(sqlstr); else P_Int_UserPoint = 0; return P_Int_UserPoint; sqlconn.Close(); 第5.6节 浏览网民界面及功能普通浏览网名在逛论坛时的界面,在这里只能浏览版块和帖子以及相应的回帖,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论